책 이미지
책 정보
· 분류 : 국내도서 > 컴퓨터/모바일 > 프로그래밍 개발/방법론 > 웹 서비스/웹 프로그래밍
· ISBN : 9788960775244
· 쪽수 : 952쪽
책 소개
목차
『JBoss AS 7 애플리케이션 개발』
1장 JBoss AS 7 시작하기
자바EE와 JBoss AS 7 개요
___자바EE 6
______JSF 2.0
______EJB 3.1
______JPA 2.0
______CDI
______자바 서블릿 API 3.0
______JAX-RS와 JAX-WS
______JAX-WS
______JAXB 2.2
JBoss AS 7의 새로운 기능
서버와 클라이언트 컴포넌트 설치
___자바SE 설치
______설치 완료 후 테스트
______JBoss AS 7 설치
______JBoss AS 구동
______CLI를 통한 서버 접속
______JBoss 중지
______JBoss 재시작
___이클립스 설치 환경
______JBoss 툴 설치
___다른 개발 환경들
___메이븐 설치
______설치 테스트
요약
2장 JBoss AS 7의 새로운 기능
AS 7 핵심 개념
AS 7 파일 시스템
애플리케이션 서버 관리
___웹 인터페이스를 통한 JBoss AS 7 관리
웹 콘솔 실행
JBoss AS 7 애플리케이션 배포
______개선된 이클립스 배포 옵션
______웹 콘솔을 통한 배포 관리
___CLI를 통한 애플리케이션 배포
______도메인으로 애플리케이션 배포하기
요약
3장 자바EE 6 EJB 시작하기
EJB 3.1의 새로운 기능
싱글톤 EJB 개발
___프로젝트 모듈 설정
___EJB 애플리케이션 코딩
___빈 동시성 제어
______빈 관리 기반 동시성 사용
___세션 빈 만들기
___무상태 세션 빈 추가
___상태 유지 세션 빈 추가
EJB 애플리케이션 배포
원격 EJB 클라이언트 생성
___클라이언트 프로젝트 모듈 설정
___EJB 클라이언트 코딩
______EJB 클라이언트 설정 추가
___클라이언트 애플리케이션 실행
______사용자 인증 추가
___EJB 타이머 서비스 사용
______프로그램 기반의 타이머 생성
______타이머 이벤트 스케줄링
___EJB에 비동기 메소드 추가
______Fire-and-forget 비동기 호출 사용
______Future 객체를 클라이언트로 반환
요약
4장 CDI
CDI 소개
___이름 빈
___CDI 범위
___JBoss AS CDI 구현
___티켓 예약 시스템 재검토
______필요한 의존성 추가
___빈 코딩하기
______뷰 만들기
______애플리케이션 실행 준비
______애플리케이션에 스케줄러 연동
___EJB와 JSF 관리 빈은 더 이상 쓸모가 없나?
요약
5장 CDI를 통한 퍼시스턴스 결합
표준을 만난 데이터 퍼시스턴스
___JPA를 통한 작업
애플리케이션에 퍼시스턴스 추가
___데이터베이스 구성
___JBoss AS 7에 JDBC 드라이버 설치
______CLI를 사용한 새로운 데이터 소스 생성
메이븐 프로젝트 생성
___메이븐 설정 추가
___엔티티 만들기
___자바 빈 유효성 추가
퍼시스턴스 설정
___생산자 클래스 추가
___애플리케이션 쿼리 코딩
___애플리케이션에 서비스 추가
___사용자 요청을 처리하는 컨트롤러 추가
___JSF 뷰 코딩
___애플리케이션 실행
요약
6장 애플리케이션 테스팅
단위 테스팅 및 통합 테스팅
___테스팅을 위한 도구
아퀼리언 시작하기
______아퀼리언 테스트 작성
___pom.xml 파일 설정
___첫 번째 아퀼리언 테스트 작성
___아퀼리언 TicketTest 실행
___관리 컨테이너를 통한 아퀼리언 TicketTest 실행
___아퀼리언 테스트 개선
___부가적인 정보
요약
7장 JBoss JMS 프로바이더를 통한 애플리케이션개발
JMS 소개
JMS 빌딩 블록
___JBoss 메시징 서브 시스템
___연결 팩토리 생성 및 사용
___JMS 목적지 사용
___애플리케이션에 메시지 드리븐 빈(MDB) 추가
______MDB 만들기
______JMS 프로바이더 추가
______애플리케이션 컴파일 및 배포
______JMS 연결 최적화
______셀렉터를 활용한 메시지 수신 지정
___외부 시스템을 통합하는 JMS 사용
___호넷큐와 액티브엠큐 통합 예제
______액티브엠큐 리소스 어댑터 설치
______액티브엠큐 메시지 소비
요약
8장 웹 서비스 애플리케이션 개발
SOAP 기반 웹 서비스 개발
___SOAP 웹 서비스 구축 전략
___JBoss SOAP 웹 서비스 스택
___JAX WS 아키텍처 둘러보기
___JBoss AS 7을 이용한 SOAP 웹 서비스 코딩
______POJO 웹 서비스 개발
______콘솔을 통한 웹 서비스 점검
______단순 웹 서비스 테스트
______EJB3 무상태 세션 빈(SLSB) 웹 서비스
______웹 서비스 소비자 개발
______예제 컴파일
REST 기반의 웹 서비스 개발
___REST 리소스 접근
___JBoss REST 웹 서비스
______RESTEasy 활성화
______티켓 예제에 REST 추가
______REST 서비스 호출
______티켓 예제 컴파일
SOAP과 REST 서비스 간 선택
요약
9장 애플리케이션 서버 관리
CLI
___CLI 시작하기
______원격 호스트 연결
______GUI 모드 CLI 사용
___CLI 명령어 생성
______리소스 위치 확인
______리소스 상의 작업 수행
___CLI를 사용한 애플리케이션 배포
______애플리케이션의 JBoss AS 7 도메인 배포
______모든 서버 그룹으로 배포
______단일 서버 그룹으로 배포
___CLI 스크립트 생성
______애플리케이션을 복수의 JBoss AS 7 노드에 배포
______도메인 내의 서버 재시작
______데이터소스를 모듈로 등록
______JMS 리소스 추가
강력한 CLI 스크립트를 생성하는 개선된 언어의 사용
___CLI 실행을 랩핑하는 스크립팅 언어의 사용
애플리케이션 서버를 관리하는 API 사용
___기본 관리 API를 통한 관리 모델 설명 읽기
______Detyped API를 사용한 자원 시계 생성
요약
10장 JBoss AS 7 애플리케이션 클러스터링
클러스터링 기본
JBoss AS 7 클러스터링
___단독 노드 클러스터 시작
___도메인 모드 클러스터 시작
______도메인 컨트롤러 설정
______호스트 설정
___클러스터된 애플리케이션 배포
___EJB 클러스터링
______HA 상태 세션 빈 생성
웹 애플리케이션 클러스터링
___웹 애플리케이션 부하 분산
______mod_cluster 설치
______웹 애플리케이션 클러스터링
요약
11장 JBoss AS 7 애플리케이션 보안
자바 보안 API
___JBoss AS 7 보안 서브 시스템
___로그인 모듈 설정
___티켓 웹 애플리케이션에 로그인 모듈 사용
___FORM 기반 보안 변경
___데이터베이스 로그인 모듈 생성
______패스워드 암호화
______데이터베이스 로그인 모듈을 애플리케이션에 사용
___EJB 보안
______웹 서비스 보안
전송 계층 보안
___JBoss AS SSL 활성화
______인증서 관리 도구
______자체 서명된 인증서를 통한 HTTP 통신 보안
______CA에 의해 서명된 인증서를 통한 HTTPS 통신
______EJB 통신 보안
______서버와 클라이언트 인증서 생성
______SSL 보안 영역 생성
______SSL 보안 영역 생성
요약
부록 JBoss Forge를 사용한 빠른 개발
Forge 설치
Forge 시작하기
JBoss Forge를 사용한 자바EE 6 애플리케이션 생성
___애플리케이션 빌드 및 배포
forge-demo 애플리케이션
『JBoss AS 7 따라잡기』
1장 JBoss AS 7 설치
애플리케이션 서버의 시작
___자바 환경 설치
___JBoss AS 7 설치
___JBoss AS 시작하기
______커맨드 라인 인터페이스 서버 연결
___JBoss 정지
______종료 스크립트 위치
______원격 머신에서 JBoss 정지
___JBoss 재시작
___이클립스 개발환경 설치
______JBoss tools 설치
애플리케이션 서버 파일 시스템 알아보기
___bin 폴더
___docs 폴더
___domain 폴더
___standalone 폴더
___welcome-content 폴더
___modules 폴더
___애플리케이션 서버 모듈 로딩하기
요약
2장 애플리케이션 서버 설정
애플리케이션 서버 설정
___확장(Extensions)
___경로(Paths)
___관리 인터페이스(Management interfaces)
___프로파일(Profiles)
___인터페이스(Interfaces)
___소켓 바인딩 그룹(Socket binding groups)
___시스템 프로퍼티(System properties)
___배포(Deployments)
코어 서브시스템 설정
___스레드 풀 서브시스템 설정
______스레드 팩토리 설정
______제한 스레드 풀
______무제한 스레드 풀
______큐 없는 스레드 풀
______스케줄 스레드 풀
애플리케이션 서버 로깅 설정
___로깅 구현체 선택
______로깅 서브시스템 설정
______로거 설정
___애플리케이션에 Log4j 설정
요약
3장 엔터프라이즈 서비스 설정
데이터베이스 연결 설정
___JDBC 드라이버 설치
___로컬 데이터소스 추가
______커넥션 풀 설정
______명령문 캐시 구성
______xa-datasource 추가
___데이터소스 설치 간소화
______올바른 드라이버 배포 전략 선택
___프로그래밍적 데이터소스 설정
엔터프라이즈 자바 빈 설정
___EJB 컴포넌트 설정
______무상태 세션 빈 설정
______상태유지 세션 빈 설정
______메시지 드리븐 빈 설정
______타이머 서비스 설정
___메시징 시스템 설정
______전송 설정
______커넥션 팩토리 설정
______JMS 목적지 설정
______주소 설정으로 목적지 사용자 정의
______호넷큐 지속성 설정
___트랜잭션 설정
요약
4장 JBoss 웹 서버 설정
웹 컨테이너 설정
___웹 서버 설정은 어디서?
______웹 서버 커넥터 설정
___웹 서버 리소스 설정
______정적 리소스 설정
______동적 리소스 설정
웹 애플리케이션 생성 및 배포
___새로운 동적 웹 프로젝트 생성
______JSF 컴포넌트 추가
______EJB 레이어 추가
______애플리케이션 웹 컨텍스트 선택
______웹 애플리케이션 배포
______루트 컨텍스트에 웹 애플리케이션 배포
___리모트 EJB 클라이언트 추가
___데이터 퍼시스턴트 설정
______JPA 서브 시스템 기본 데이터소스 사용
______엔티티스 설정
______다른 애플리케이션 아카이브 퍼시스턴트 설정
___다른 제공자로 변경
요약
5장 JBoss AS 도메인 설정
JBoss AS 도메인 소개
___기본 도메인 설정 이해
___도메인 시작 및 종료
도메인 설정
___domain.xml 파일 설정
___host.xml 파일 설정
___관리 인터페이스 설정
___네트워크 인터페이스 설정
___도메인 컨트롤러 설정
___JVM 설정
______서버에 JVM 옵션 추가
______요소들 사이의 우선순위
______서버 노드 설정
___도메인 설정 적용
도메인 설정 예제
___런타임에 도메인 설정 변경
요약
6장 JBoss AS 7 애플리케이션 배포
애플리케이션 서버에 리소스 배포
___JAR 아카이브
___WAR 아카이브
___EAR 아카이브
JBoss AS 스탠드얼론에 애플리케이션 배포
___애플리케이션 자동화 배포
______사용자 정의 폴더에 애플리케이션 배포
______애플리케이션 스캐너 작동 변경
______CLI를 사용한 애플리케이션 배포
______웹 어드민 콘솔을 사용한 애플리케이션 배포
______이클립스 환경에서 애플리케이션 배포
______이클립스 배포를 위한 패키징 스타일 선택
___애플리케이션 수동 배포
JBoss AS 도메인 애플리케이션 배포
___CLI를 사용해서 AS 도메인에 배포
______전체 서버 그룹 배포
______단일 서버 그룹 배포
___어드민 콘솔을 사용해서 AS 도메인에 배포
JBoss AS 7 클래스 로딩 설명
___모듈 이름 알아내기
___격리 수준 찾기
______암시적 의존성
______명시적 의존성
______전역 모듈 설정
___고급 배포 전략
______단일 모듈 의존성 설정
______서버의 자동 의존성 제거
______서브 배포 격리
______의존성 해결을 위한 클래스 경로 사용
요약
7장 애플리케이션 서버 관리
커맨드라인 인터페이스
___CLI 사용법
______리소스 탐색과 오퍼레이션 실행
______CLI의 명령어 실행
______CLI에서 도움받기
___배치 CLI 스크립트 실행
______고급 배치 명령어
___파일을 이용한 스크립트 실행
______비 대화형 출력 리다이렉션
___설정의 스냅샷 찍기
______애플리케이션 서버가 자동으로 저장하는 것
______스냅샷 찍기
___CLI의 히스토리
새로운 웹 어드민 콘솔
___어드민 콘솔 접속
___서버 프로파일 설정
______데이터 소스 설정
______JMS 목적지 설정
______소켓 바인딩 그룹 설정
커맨드라인 인터페이스 혹은 웹콘솔?
요약
8장 클러스터링
JBoss 클러스터링 설치
___스탠드얼론 서버 클러스터링 설치
______다른 장비에서 운영되는 AS 노드 클러스터
______같은 장비들에서 서버 클러스터링
___도메인 서버 클러스터링 설치
______클러스터링 트러블슈팅
JBoss 클러스터링 설정
___제이그룹스 서브시스템 설정
______프로토콜 스택 커스터마이징
인피니스팬 서브시스템 설정
___세션 캐시 컨테이너 설정
______복제와 분산 선택
___하이버네이트 캐시 설정
______하이버네이트 캐시를 위한 복제 사용
___고급 인피니스팬 설정
______인피니스팬 스레드 설정
______인피니스팬 전송 설정
메시징 서브시스템 클러스터링
___메시징 인증서 설정
요약
9장 웹 애플리케이션 로드밸런싱
JBoss AS 7과 아파치 웹서버 사용
___mod_jk 설정
___mod_proxy 설정
mod_cluster로 로드밸런싱
mod_cluster 설치
CLI로 mod_cluster 관리
CLI로 웹 컨텍스트 관리
네이티브 관리 기능들 추가
설정파일을 이용해서 웹 컨텍스트 관리
mod_cluster 트러블 슈팅
mod_cluster 테스트
노드 간에 로드밸런싱
___로드 매트릭 사용
___클러스터에서 다이나믹 매트릭 설정 예제
애플리케이션에서 클러스터링 설정
세션빈 클러스터링
엔티티 클러스터링
엔티티 캐싱
쿼리 캐싱
웹 애플리케이션 클러스터링
요약
10장 JBoss AS 7 보안
자바 보안 API에 접근
___JBoss AS 7 보안 서브시스템
___UserRoles 로그인 모듈
___데이터베이스 로그인 모듈
______패스워드 암호화
___LDAP 로그인 모듈
______Jboss AS에 LDAP 연결
___웹 애플리케이션 보안
___EJB 보안
___웹서비스 보안
AS 7 관리 인터페이스 보안
전송계층 보안
___JBoss AS의 보안 소켓 계층 사용
___인증서 관리 도구
___자체 서명된 인증서를 사용한 HTTP 통신 보안
___CA가 서명한 인증서로 HTTP 통신 보안
요약
11장 클라우드에도 매력적인 JBoss AS 7
클라우드 컴퓨팅이란?
___클라우드 컴퓨팅 vs 그리드 컴퓨팅
___클라우드 컴퓨팅의 장점
___클라우드 컴퓨팅의 형태
______침입 탐지 시스템(IDS)
___클라우드 컴퓨팅의 종류
JBoss 클라우드 인프스트럭처
___오픈시프트 온라인 시작
___오픈시프트 클라이언트 툴 설치
___오픈시프트 온라인 도메인 생성
___오픈시프트 온라인 애플리케이션 생성
______서버에 무슨 일이 일어나는지 보기
______AS7 애플리케이션 관리
______클라우드에서 애플리케이션 설정
______오픈시프트 스토리지 관리
요약
부록
『JBoss 인피니스팬 따라잡기』
1장 인피니스팬 설치
___데이터그리드란 무엇인가?
___캐시로서의 인피니스팬
______JSR-107 뛰어넘기
___필수 소프트웨어 설치
______자바 SE 설치
_________설치 확인
______메이븐 설치
_________설치 확인
______인피니스팬 설치
_________모듈로 인피니스팬 확장
_________GUI 데모 프로그램으로 설치 확인 테스트
___요약
2장 인피니스팬 코어 API
___인피니스팬 동작 모드
______내장 모드로 인피니스팬 실행
______클라이언트-서버 모드로 인피니스팬 실행
_________멤캐시디 프로토콜
_________핫로드 프로토콜
_________인피니스팬 REST 인터페이스
_________핫로드 자바 클라이언트 사용하기
___인피니스팬 API 배우기
______첫 번째 프로젝트 생성
______데이터 스토어의 크기 제어
_________데이터 제거
_________데이터 만료
______리스너 사용
_________리스너와 동기성
___인피니스팬과 트랜잭션
___메이븐으로 예제 애플리케이션 실행
___요약
3장 인피니스팬 설정
___선언적 설정 배우기
______전역 설정 세팅
______캐시 설정 세팅
___캐시 로더 설정
______공통 캐시 로더 속성
______특정 캐시로더 속성
___애플리케이션에 적합한 캐시 스토어 선택
______JDBC 캐시 스토어
___캐시로더 체인
___제거와 만료 설정
______제거와 패시베이션 설정으로 티켓 예약 시스템 테스트하기
___프로그램 내에서 인피니스팬 설정
______처음부터 설정 생성하기
______프로그램 내에서 전역 설정을 생성하기
___요약
4장 고급 설정
___클러스터링 소개
___네트워크 송수신 설정
___인피니스팬 클러스터 생성
______클러스터링을 사용하는 애플리케이션 설정
______복제와 분산 중 선택
______고급 데이터 분산
_________가상 노드로 데이터 분산 향상
_________불필요한 원격 접속 방지를 위한 L1 캐시
___인피니스팬 잠금 정책
______격리수준 설정
______데이터 잠금과 트랜잭션
_________명시적, 암시적 데이터 잠금
______노드 잠금 예제
_________잠금 제한시간 설정
_________캐시 키 보호 위한 잠금 풀 사용
_________데드락 감지
___요약
5장 인피니스팬 모니터링
___통계 수집 활성화
___JConsole을 사용한 인피니스팬 데이터 수집
___RHQ로 인피니스팬 관리
______RHQ 설치
______Configuring the RHQ agent
_________에이전트가 인피니스팬 발견하게 하기
_________인피니스팬 플러그인 설치
___RHQ, 인피니스팬으로의 게이트웨이
______간단한 캐시 요약 뷰
___캐시로부터 경고 조건 얻기
______시스템 실시간 모니터링
___요약
6장 인피니스팬과 CDI
___CDI 개요
___인피니스팬과 CDI를 사용하기 위한 준비
___인피니스팬 컴포넌트 설정과 CDI 빈으로 주입
______CDI를 사용하여 캐시 주입
_________주입대상 캐시 설정
______캐시 매니저 설정
_________기본 설정 지정
_________EmbeddedCacheManager 생성 방법 설정
_________RemoteCacheManager 설정
______복수의 설정 다루기
___CDI 애노테이션을 사용한 저장과 검색 제어
______CDI 애플리케이션에서 캐시 애노테이션 활성화
______메소드 실행 결과의 캐싱
_________사용할 캐시 지정
_________캐시된 결과에 대한 캐시 키
_________커스텀 키 생성
______캐시 엔트리 삭제
______캐시 비우기
______캐시 엔트리 갱신
___JBoss AS 7.x와 함께 인피니스팬 CDI 사용
___요약
7장 심화 주제
___비동기 API
______NotifyingFuture
___질의 API
______인피니스팬 질의 기능을 사용하도록 프로젝트 준비
_________캐시 설정
_________객체에 애노테이션 붙이기
_________질의 작성
______인덱스 저장
_________인피니스팬 디렉토리
_________인덱스 저장소와 캐시 모드
___전체 인덱스의 로컬 복제본
______전체의, 공유된 인덱스
_________인피니스팬 커스터마이징
______BaseCustomInterceptor
_________Command와 InvocationContext
______커스텀 인터셉터 만들기
______커스텀 인터셉터 설정
_________인터셉터 위치하기
___요약
부록 A 인피니스팬과 JBoss AS 7
___새로운 모듈화된 애플리케이션 서버
___AS 7 상의 인피니스팬 설정
___설정 자세히 보기
___설정 내 기본 엘리먼트 정의
___설정에서 global 엘리먼트 정의
___스레드 풀 정의
___JBoss AS 애플리케이션에서 인피니스팬 API 사용
부록 B [한국어판 특별 부록] 인피니스팬 6.0
___아파치 라이선스 채택
___모듈변경과 배포 패키지 정리
___사용하지 않는 API, SPI 삭제
___새로운 파일 캐시스토어
___새로운 영속 API(persistence API)
___불균질적인(heterogenous) 클러스터
___내장/리모트 질의에 대한 변화
___요약