책 이미지

책 정보
· 분류 : 국내도서 > 컴퓨터/모바일 > 프로그래밍 언어 > 자바
· ISBN : 9788993827811
· 쪽수 : 628쪽
· 출판일 : 2014-02-18
책 소개
목차
CHAPTER 01 JBoss 소개
1 JBoss EAP 6 개요2
1.1 JBoss란 단어의 의미는 무엇인가?3
1.2 JBoss AS 7, JBoss EAP 6 , Wildfly의 관련성과 의미3
1.3 JBoss 시작과 역사6
1.4 JBoss 라이선스8
1.5 Java 개발자와 오픈소스 미들웨어9
2 JBoss EAP 6의 새로운 기능 및 특징10
3 JBoss EAP 6 지원 표준 11
3.1 웹 서비스 표준 및 API12
3.2 추가 표준 및 API14
4 Java EE 6 표준 이해14
4.1 Java EE 6 Full Profile15
4.2 Java EE 6 Web Profile16
5 JBoss EAP 6의 주요 특징18
5.1 Java EE 6 지원18
5.2 누구도 따라올 수 없는 빠른 부팅 시간18
5.3 개발 시간 단축19
5.4 모듈형 클래스 로딩20
5.5 다이어트된 메모리 사용21
5.6 인덱스를 이용한 성능 향상22
5.7 중앙 집중화된 설정 파일과 편리한 관리 도구22
5.8 CLI를 통한 커맨드 형식의 관리23
6 서브스크립션24
7 JBoss Enterprise Middleware 제품군25
CHAPTER 02 Java 기반 웹 시스템의 이해
1 Java EE에 대한 이해28
1.1 Java EE는 무엇인가29
1.2 Java EE와 Java SE와의 차이점은?31
1.3 Java EE 6의 새로운 기능들33
1.4 MVC 모델37
1.5 서블릿이란?41
1.6 JDBC를 통한 데이터베이스 접속45
2 웹 시스템 아키텍처46
2.1 웹 애플리케이션의 이해46
2.2 먼저 본질을 이해하고 시작하자47
2.3 3-티어 아키텍처51
2.4 웹 서버와 웹 애플리케이션 서버의 분리53
2.5 웹 사이트 특징에 따른 아키텍처54
2.6 서버 자체의 보안 관점에서 구성60
2.7 안정성과 성능을 중시한 클러스터 구성62
2.8 Java 기반의 Integration 방안63
CHAPTER 03 JBoss EAP 6 설치하기
1 기본 환경70
2 JBoss EAP 6의 다운로드와 설치70
2.1 JDK설치70
2.2 JBoss EAP 6 지원 환경73
2.3 JBoss EAP 6 다운로드 74
2.4 JBoss EAP 6 설치74
2.5 관리자 등록76
2.6 JBoss EAP 6시작/정지77
2.7 스탠드얼론 모드에서 시작과 정지77
2.8 도메인 모드에서 시작과 정지78
2.9 서버 실행 파라미터 80
2.10 CLI 사용법81
2.11 JBoss EAP 6 설치 구조 및 정보82
3 JBoss EAP 6 주요 용어84
CHAPTER 04 개발환경 구성
1 Eclipse 설치 및 JBossAS Tools 설치90
1.1 Eclipse 다운로드90
1.2 JBoss Tools 설치하기 90
1.3 JBoss EAP 6 서버 등록98
1.4 메이븐 로컬 레파지토리 구성103
1.5 JBoss EAP 6 퀵스타트 애플리케이션 실행105
1.6 Welcome 애플리케이션 변경109
2 메이븐110
2.1 메이븐 저장소110
2.2 메이븐 POM 파일111
2.3 POM 파일 구조111
2.4 메이븐 설정 파일112
2.5 메이븐 실행114
2.6 메이븐 라이프사이클114
2.7 페이즈와 골115
2.8 의존성 관리115
2.9 플러그인118
CHAPTER 05 JBoss EAP 6 도메인 모드
1 스탠드얼론 모드와 도메인 모드122
1.1 관리 방법 비교123
1.2 프로파일 비교125
1.3 클러스터 구성 비교126
2 도메인 모드127
2.1 단순한 도메인 모드 생성하기128
2.2 도메인 컨트롤러134
2.3 호스트 컨트롤러 135
2.4 서버 그룹136
2.5 서버 137
2.6 프로세스 구성138
2.7 도메인 모드에서 설정 파일들139
2.8 소켓바인딩141
2.9 여러 대의 머신에서 도메인 구성하기144
CHAPTER 06 JBoss EAP 6 모듈 아키텍처
1 클래스 로더 및 모듈 소개157
1.1 JBoss Modules와 MSC158
2 모듈159
2.1 모듈 의존성160
3 배포 시 클래스 로딩162
3.1 클래스 로더의 이해162
3.2 배포 시 클래스 로딩163
3.3 클래스 로딩의 우선순위164
3.4 EAR 배포와 클래스 로딩165
3.5 다이내믹 모듈의 모듈 이름166
3.6 jboss-deployment-structure.xml 파일167
4 다이내믹 모듈(배포 모듈)에 명시적 의존성 추가하기167
4.1 MANIFEST.MF 의존성 추가 방법167
4.2 jboss-deployment-structure.xml 의존성 추가 방법168
4.3 모듈이 암시적으로 로드되지 않도록 설정170
4.4 배포 시 서브시스템을 제외하도록 설정172
5 모듈 서비스의 로드 방법174
6 JBoss EAP의 부트176
CHAPTER 07 JBoss EAP 6 서브시스템
1 서브시스템 개요178
2 프로파일179
CHAPTER 08 웹 서브시스템
1 웹 서브시스템이란?182
2 커넥터 설정183
2.1 웹 관리 콘솔에서 커넥터 설정184
2.2 CLI에서 커넥터 설정 조회184
2.3 HTTP 커넥터 속성들 185
2.4 새로운 커넥터를 추가187
3 JSP 설정188
3.1 JSP 속성 설정188
3.2 개발환경을 위한 JSP 설정190
4 가상 서버191
5 시스템 프로퍼티193
CHAPTER 09 데이터소스 서브시스템
1 데이터소스 서브시스템에 대해198
2 MariaDB 설치199
3 JDBC 드라이버 등록 203
3.1 JDBC 드라이버 다운로드204
3.2 배포를 통한 JDBC 드라이버 설치205
3.3 모듈로 JDBC 드라이버 설치210
3.4 CLI의 module 명령을 사용한 등록 방법213
4 데이터소스 관련 주요 CLI216
4.1 데이터소스 등록하는 CLI 명령216
4.2 데이터소스 확인 하는 CLI 명령216
4.3 데이터소스 Enable/Disable218
4.4 데이터소스 제거하기219
4.5 JDBC 드라이버를 확인하는 CLI 명령219
4.6 JDBC 드라이버를 제거하는 CLI 명령221
5 데이터소스 설정222
5.1 데이터소스 등록하는 CLI 명령222
5.2 웹 관리 콘솔에서 데이터소스 등록 방법223
6 XA JDBC 드라이버와 데이터소스 설정226
6.1 XA데이터소스 226
7 주요 속성 229
7.1 데이터소스 Connection Pool 공통 파라미터229
7.2 데이터소스 장애 감지 옵션230
7.3 데이터소스 시간 관련 파라미터233
CHAPTER 10 EJB 3 서브시스템
1 EJB 3 서브시스템238
2 EJB의 이해239
2.1 EJB란239
2.2 JBoss EJB 3 구현240
3 EJB 3.1의 새로운 기능240
3.1 EJB 3.1 Lite 240
3.2 싱글 톤241
3.3 EJB Timer241
3.4 Interface 없는 빈241
3.5 배포의 단순화 242
4 EJB 컨테이너242
5 EJB 종류244
6 EJB 3 서브시스템 관리 항목245
CHAPTER 11 JPA 서브시스템
1 JPA란?248
2 OR 맵핑 프레임워크248
3 JPA주요 개념249
4 퍼시스턴스 유닛 설정250
4.1 persistence.xml 파일 내용250
4.2 Hibernate 설정251
5 기본 JPA 데이터 소스 설정252
CHAPTER 12 메시징 서브시스템
1 메시징 개념256
2 JMS 메시징 모델257
3 PTP 패턴257
4 게시-가입 패턴259
5 HornetQ260
6 JMS의 이용260
6.1 대상 설정260
6.2 Queue 관리 CLI261
6.3 토픽 관리 CLI262
7 DLQ와 ExpiryQueue262
8 Linux AIO 사용264
8.1 libaio 설치264
8.2 AIO 모듈 설치264
8.3 저널타입 변경265
CHAPTER 13 웹 서비스 서브시스템
1 웹 서비스 개요268
1.1 웹 서비스의 핵심 기술들268
1.2 SOAP268
1.3 WSDL269
1.4 REST270
1.5 UDDI270
2 JAX-WS 웹 서비스271
2.1 JAXB272
2.2 Stub와 Tie273
3 확장 프로토콜 WS-* 표준273
3.1 JBossWS가 제공하는 기능274
4 JAX-RS 웹 서비스276
5 JBossWS 구성276
6 웹 서비스 개발278
7 웹 서비스의 모듈 설정284
CHAPTER 14 보안 서브시스템
1 보안 서브시스템288
2 보안 도메인290
3 보안 영역291
3.1 보안 도메인과 보안 영역의 차이점292
3.2 관리 인터페이스292
4 데이터베이스 패스워드 암호화 방법293
CHAPTER 15 로깅 서브시스템
1 JBoss Logging 이해296
1.1 부트 로거 설정296
1.2 기본 로그 파일 위치298
1.3 서버 로그 설정298
1.4 로그 레벨300
1.5 로거301
1.6 루트 로거303
1.7 로그 핸들러304
1.8 콘솔 로그308
2 애플리케이션 로그 출력308
2.1 JBoss Logging를 사용한 로그 출력309
2.2 애플리케이션 로그 설정309
2.3 애플리케이션에서 Log4j를 사용하는 경우311
3 도메인 로그312
3.1 호스트 컨트롤러의 로그 레벨313
CHAPTER 16 JBoss EAP 6 클러스터링
1 클러스터링 이해316
2 클러스터링의 핵심기술318
2.1 JGroups318
2.2 멀티캐스트 통신320
2.3 멀티캐스트 테스트321
3 웹 애플리케이션 클러스터링323
3.1 로드 밸런싱323
3.2 세션 복제324
3.3 세션 Passivation327
3.4 쿠키 도메인329
3.5 TCP 클러스터링 방법330
4 웹 서버 설치331
5 웹 커넥터 종류334
6 mod_jk 커넥터335
6.1 mod_jk 개요335
6.2 mod_jk 설정 방법335
6.3 mod_jk.conf 설정 항목340
6.4 workers.properties 설정341
6.5 JBoss EAP 6에 AJP설정342
7 mod_cluster 커넥터 354
7.1 mod_cluster 개요 354
7.2 mod_cluster 구성 및 설치355
7.3 mod_cluster 컴포넌트360
8 EJB 애플리케이션 클러스터366
8.1 EJB 클러스터링 테스트368
9 JMS 클러스터링371
9.1 HornetQ 클러스터링372
9.2 클러스터링 구성 확인375
9.3 라이브-백업 클러스터 구성377
10 클러스터 그룹380
10.1 웹, EJB 컨테이너 클러스터 그룹380
10.2 HornetQ 클러스터 그룹382
11 Infinispan383
11.1 캐시 복제 모드384
11.2 캐시 모드 변경 방법387
11.3 통신 방식388
CHAPTER 17 JBoss EAP 6 관리
1 관리 개요392
2 관리 서비스393
2.1 개요394
2.2 도메인 모드 관리394
2.3 JBoss EAP 6 관리자 관리395
2.4 관리 자원 구조398
3 주요 설정 항목399
3.2 도메인 모드의 서브시스템과 extension404
3.3 서브시스템의 삭제404
3.4 프로파일405
3.5 패스406
3.6 매니지먼트407
3.7 인터페이스407
3.8 소켓 바인딩 그룹408
3.9 시스템 프로퍼티409
3.10 JVM410
3.11 VFS410
4 CLI411
4.1 CLI 실행 방법411
4.2 CLI 명령어416
4.3 CLI 오퍼레이션420
4.4 CLI 일반 명령어427
4.5 도메인 모드에서 CLI 사용법431
4.6 배치 모드 사용법433
4.7 CLI GUI 모드436
5 관리 콘솔437
5.1 오퍼레이션 개요437
5.2 서브시스템 관리439
5.3 런타임 정보440
6 Role Based Access Control443
CHAPTER 18 애플리케이션 배포
1 스탠드얼론 모드에서 배포448
2 도메인 모드에서 배포448
3 배포 방식 비교450
4 CLI에서 배포451
4.1 CLI에서 애플리케이션 배포451
4.2 CLI에서 애플리케이션 제거451
5 관리 콘솔에서 배포452
6 Unmanaged 배포455
6.1 관리 콘솔에서 배포456
6.2 CLI에서 배포459
7 배포스캐너를 이용한 배포460
7.1 자동 배포460
7.2 수동 배포462
CHAPTER 19 JBoss EAP 6 모니터링
1 서버 모니터링468
1.1 OS 정보468
1.2 Java 메모리의 정보469
1.3 스레드 정보470
1.4 런타임 상황471
1.5 데이터소스474
1.6 AJP 커넥터476
1.7 EJB478
1.8 트랜잭션479
1.9 배포된 애플리케이션 모니터링481
2 Groovy스크립트를 이용한 모니터링483
2.1 데이터소스 정보 수집 스크립트484
2.2 애플리케이션 세션 정보수집 스크립트487
2.3 Java 코드에서 CLI 명령어 사용하기490
3 JMX 모니터링492
3.1 JConsole492
3.2 연결방법492
3.3 MBean 모니터링495
3.4 Java 코드에서 MBean 호출 방법495
CHAPTER 20 JBoss EAP 6 튜닝
1 왜 성능 튜닝을 해야 하는가?498
1.1 성능 튜닝 목표498
1.2 성능 튜닝의 기본 원칙499
1.3 성능 병목 구간 찾기501
1.4 성능 튜닝 개요502
1.5 부하 테스트 및 프로파일링503
2 OS 튜닝504
2.1 Linux의 Large Page Memory 조정504
2.2 리눅스에서 가상 메모리 매니저 튜닝508
3 Apache HTTPD 튜닝510
3.1 Apache Httpd MPM모듈510
3.2 Prefork MPM과 Worker MPM의 비교511
3.3 Worker MPM으로 전환514
4 JVM 튜닝515
4.1 개요515
4.2 가비지 컬렉션 역할515
4.3 가비지 컬렉션 장점516
4.4 Java 힙 메모리 이해517
4.5 Java 가상 머신 성능 튜닝522
5 웹 애플리케이션 서버 튜닝522
5.1 데이터베이스 커넥션 풀링523
5.2 스레드 튜닝523
5.3 스레드 튜닝 시 유의점524
5.4 웹 서브시스템524
5.5 데이터소스 서브시스템534
5.6 PreparedStatement 튜닝538
5.7 서브시스템의 추가/삭제543
5.8 로깅544
6 관련 시스템 튜닝545
6.1 웹 서버 튜닝545
6.2 데이터베이스 튜닝546
CHAPTER 21 실전 JBoss EAP 6 운영환경 구축 가이드
1 설치 환경550
1.1 디렉터리 구조551
2 운영체제 환경 설정562
2.1 JBoss 사용자562
2.2 리눅스 커널 파라미터 562
2.3 사용자 limit 값 설정564
3 JBoss EAP 6 인스턴스 구성565
3.1 JBoss EAP 6 설치565
3.2 네이티브 모듈 설치566
3.3 인스턴스 구성567
3.4 모듈 설정571
3.5 인코딩 설정574
3.6 alias 설정574
3.7 Exploded 애플리케이션 배포575
3.8 서버 시작575
3.9 JBoss 운영 방법577
4 JBoss EWS 2 설치577
4.1 필요 패키지 설치577
4.2 EWS 설치578
4.3 JBoss EWS설정578
4.4 mod_jk 설정방법580
4.5 JBoss EWS 2 시작 확인584
4.6 JBoss EWS 2 운영방법585
5 마치며586
찾아보기 587
저자소개
리뷰
책속에서
이 책은 그 동안의 경험을 바탕으로 현장에서 JBoss를 운영하는 데 필요한 모든 것을 담으려고 했다. JBoss의 설치 및 애플리케이션의 배포부터 보안, 관리 및 모니터링, 성능 튜닝까지 필수적인 요소들을 모두 소개하고 있다.
전문적인 미들웨어 엔지니어나 개발자들이 알아야 하는 웹 시스템에 대한 배경 지식, 현장에서 직접 사용될 수 있는 기술들과 튜닝과 같은 전문 지식을 이 한 권의 책에 담았다. 또, 이 책을 읽고 나서 실제 운영환경에 바로 JBoss EAP 6를 적용할 수 있도록 실전 운영환경에 대한 노하우를 정리하여 소개하고 있다. 그 동안의 Java 기반 개발 경험과 미들웨어 엔지니어로서의 경험들을 이 책에 담고 싶었다. JBoss EAP 6를 사용하려는 개발자, 운영자, 아키텍트 분들에게 이 책이 도움이 되었으면 좋겠다.
<저자 서문 중>