Top

JBoss AS 7 따라잡기 [강력한 오픈소스 자바 엔터프라이즈 애플리케이션 서버]

  • 원서명JBoss AS 7 Configuration, Deployment and Administration (ISBN 9781849516785)
  • 지은이프란체스코 마르치오니
  • 옮긴이김완철, 신정훈, 김상곤, 안광운
  • ISBN : 9788960774995
  • 30,000원
  • 2013년 12월 23일 펴냄
  • 페이퍼백 | 404쪽 | 188*235mm
  • 시리즈 : acorn+PACKT

책 소개

JBoss 애플리케이션 서버는 전 세계에서 가장 많이 사용하는 애플리케이션 서버다. 오랜 역사만큼 안정적인 배포판과 혁신적인 기술을 지원하는 오픈소스 애플리케이션 서버지만 기술 지원을 받아도 국내에서 가장 많이 사용하는 웹로직에 비해 4분의 1 정도로 비용이 저렴하다. 기술 지원을 받지 않는다면 이마저도 필요 없다. 게다가 성능은 웹 로직보다 더 좋은 평가(EDC Application Servers 2008 Ranking)를 받고 있다. 국내에서도 JBoss 애플리케이션 서버 사용이 늘어나는 추세지만 아직 전문 인력이 부족하고 JBoss 애플리케이션 서버의 매력이 제대로 알려지지 않았다. 이 책은 이러한 JBoss 애플리케이션 서버에 대해 기본적으로 알아야 할 내용을 모두 담고 있다.

이 책에서 다루는 내용

■ 새로운 AS 인프라스트럭처와 AS 7의 설치, 시작, 중지에 대한 이해
■ 데이터베이스 연결, JMS 서브시스템 및 트랜잭션 서비스 등 핵심 AS 7 서비스 설정
■ 관리콘솔 및 새로운 커맨드라인 인터페이스를 사용한 애플리케이션 서버 관리
■ 가능한 모든 툴과 도구를 사용해 AS에 애플리케이션 배포
■ 구성 및 응용프로그램 서버노드의 클러스터를 실행하고 응용프로그램에 고가용성 제공
■ 애플리케이션 서버와 구동애플리케이션 보안
■ 플랫폼로서의 서비스인 오픈시프트를 활용해 클라우드에서 JBoss AS 7 애플리케이션을 수행하는 방법
■ 애플리케이션 서버 튜닝 및 슬림화

이 책의 대상 독자

이 책은 자바 시스템 관리자, 개발자 및 애플리케이션 테스터에게 도움이 될 것이다. 전에 JBoss AS를 사용했든 안 했든 간에 이 책에서 AS 7의 완전 새로운 기능에 대한 지식을 얻을 수 있다.

이 책의 구성

1장. JBoss AS 7 설치에서는 가장 중요한 기능을 설명하고 장비에 설치하는 방법을 보여줄 새로운 애플리케이션 서버를 소개한다.
2장. 애플리케이션 서버 설정에서는 애플리케이션 서버 주요 설정 파일과 스레드 풀 설정과 로깅 서브시스템과 같은 일부 핵심 부분이 포함되어 있다.
3장. 엔터프라이즈 서비스 설정에서는 어떻게 스탠드얼론 설정 파일을 사용해 핵심 자바 엔터프라이즈 서비스를 모델링하는지 알려준다. 4장. JBoss 웹 서버 설정에서는 웹 서브시스템을 확인해 스탠드얼론 서버 구성을 완료한다. 이 장에는 JBoss AS 7에서 자바EE 6 애플리케이션을 만들고 구성하는 방법을 배울 수 있는 전체 자바EE 예제가 포함되어 있다.
5장. JBoss AS 도메인 설정에서는 스탠드얼론 또는 도메인 서버 설정의 선택 기준이 되는 도메인 서버 설정 구성 방법을 알려준다.
6장. JBoss AS 7 애플리케이션 배포에서는 애플리케이션 배포와 관련된 실무 내용이 포함되어 있다. 또한, 애플리케이션이 로드될 때 애플리케이션 서버에 의해 사용되는 클래스로딩 메커니즘을 설명한다.
7장. 애플리케이션 서버 관리에서는 애플리케이션 서버 인스턴스를 제어하는 데 사용할 수 있는 관리 도구를 알려준다.
8장. 클러스터링에서는 애플리케이션에 확장성과 고가용성을 제공하는 필수 컴포넌트 역할인 AS 7 클러스터링 기능이 포함되어 있다.
9장. 웹 애플리케이션 로드밸런싱에서는 여러 서버가 동일한 서비스에 참여하고 동일한 작업을 수행할 수 있는 능력인 클러스터링의 두 번째 중요한 문제인 가용 서버의 리퀘스트 부하를 분산하는 방법에 대해 설명한다.
10장. JBoss AS 7 보안에서는 JBoss의 보안 프레임워크의 기초와 엔터프라이즈 애플리케이션과 서버 관리 인터페이스를 보호하는 방법이 포함됐다.
11장. 클라우드에도 매력적인 JBoss AS 7에서는 레드햇 오픈시프트 플랫폼을 사용하여 클라우드 환경에서 자바EE 애플리케이션을 제공하는 방법을 보여준다.
부록에서는 CLI를 사용하여 애플리케이션 서버를 관리하는 데 사용할 수 있는 가장 일반적인 명령어 및 작업에 대한 요약 정보를 제공한다.

저자/역자 소개

저자 서문

자바EE 표준이 진화하고 성숙해짐에 따라 API는 점점 더 많아지고 복잡해지고 있다. 애플리케이션 서버의 다음 세대는 모듈화되고, 특정 서비스 또는 컨테이너를 실행하도록 구성해야 한다. JBoss AS 7는 이러한 요구 사항을 충족하지만, 복잡한 애플리케이션 서버의 설정은 혼란스럽고, 종종 중복되는 관리 및 운영 업무가 섞여서 구성되어 있다.
『JBoss AS 7 따라잡기』는 JBoss 애플리케이션 서버를 구성하는 모든 컴포넌트 전문가의 경험을 제공한다. 그리고 사용하는 방법과 제품에 대한 학습 곡선을 극적으로 줄여주는 데 도움이 된다.
이 책은 새로운 AS를 설정하는 일반적인 함정을 피하기 위해 논리적인 순서로 설정, 관리, 배포 및 고급 관리를 설명한다. 우선, 이 책은 새 애플리케이션 서버의 구조와 설치 방법을 알려준다. 또한 스레드 풀, 메시징 시스템 및 트랜잭션 서비스 등의 핵심 AS 서비스를 설정하는 방법에 대해 배우게 된다. 마지막으로, 하나의 노드 또는 애플리케이션 서버의 클러스터를 통해 스탠드얼론 또는 도메인 서버를 비롯해 가능한 모든 구성 변형을 통해 애플리케이션 배포 및 관리하는 방법을 배운다. 효율적이고 필수적인 애플리케이션 서버를 만들기 위한 AS 성능 튜닝방법도 배우게 된다. 이 책의 마지막 부분에서는 서비스로서 클라우드에서 애플리케이션을 제공하는 방법도 보여준다.

저자 소개

프란체스코 마르치오니(Francesco Marchioni)

SCEA(Sun Certified Enterprise Architect) 자격을 가진 아키텍트이며 이탈리아 로마에 있는 회사에서 일하고 있다. 1997년에 자바를 배우기 시작한 이래로 썬에서 만든 새로운 API들을 지켜봐 왔다. 제이보스 애플리케이션 서버(이하 JBoss AS)의 버전이 2.x였던 2000년부터 JBoss 커뮤니티에 참여했다. 소프트웨어 컨설턴트로 오랜 시간을 보냈으며, 벤더 기반의 플랫폼을 JBoss AS 같은 오픈소스 제품으로 성공적으로 이전하는 것을 계획해 왔다. 지금처럼 빠듯한 예산 요구사항을 만족시키면서 말이다.

지난 5년간은 오라일리 미디어에서 기술 기사를 작성했으며 JBoss 제품에 초점을 둔 IT 포탈(http://www.mastertheboss.com)을 운영 중이다. 팩트 출판사에서 출간된 『JBoss AS 5 Development』, 『JBoss AS 5 Performance Tuning』, 『JBoss 인피니스팬 따라잡기』(에이콘출판, 2013), 『JBoss AS 7 Development』를 저술했다.

옮긴이의 말

JBoss는 자바를 기반으로 하는 오픈소스 미들웨어의 총칭입니다. 대표적으로 자바 EE 스펙을 구현한 JBoss 애플리케이션 서버(이하 JBoss AS)가 있으며, 인피니스팬(Infinispan), RHQ 등등 매우 다양한 프로젝트가 jboss.org(http://www.jboss.org) 커뮤니티에 의해 개발되고 있습니다.
2006년에는 레드햇에 인수되어 JBoss 프로젝트를 운영하고 있으며, 2007년부터는 각종 컴포넌트의 제공, 보증 및 통합 품질 테스트를 완료한 EAP 버전(JBoss Enterprise Application Server)을 제공하고 있습니다.

아직 국내에서는 톰캣을 가장 많이 사용하고 있고, 금융권에서는 웹로직과 웹스피어 같은 상용 WAS를 많이 사용하고 있습니다. 하지만 국외에서는 오픈소스라는 장점으로 인해 JBoss AS는 매우 인기 있는 WAS로 이미 자리 잡고 있습니다. 최근에는 국내 대기업에서도 많이 도입되어 운영하고 있으며, 계속해서 확산해 가는 추세입니다. 저희 역자들도 프로젝트에 JBoss AS를 다년간 사용해 오고 있습니다.
하지만 현재 JBoss AS와 관련되어 출간된 서적은 그리 많지 않으며, 최신 버전을 다룬 서적은 극히 드문 편입니다. 이번 기회를 통해 여러분에게 JBoss AS와 같은 뛰어난 오픈소스 WAS를 알리고, 오픈소스에 대한 선입관을 없애주고 싶어서 번역서를 출간하게 되었습니다.

우선, 간단하게 JBoss AS 7를 소개하겠습니다. JBoss AS 7은 매우 가벼우면서 강력한 기능을 제공하는 오픈소스 WAS입니다. 기존 5 버전의 무겁고 복잡했던 설정을 7 버전에서는 새롭게 개선하여, 서브시스템을 모듈화시켰고, 설정파일을 단일 파일로 제공하여 손쉽게 수정할 수 있게 했습니다.
또한, 7버전에서는 중앙의 도메인 서버가 각 서버를 관리할 수 있는 도메인 개념의 서버 관리 아키텍처 기능을 선보이게 됐습니다. 5 버전과 비교하면 10배나 빠른 구동속도와 더욱 세련된 관리페이지를 제공하고 있어 여러분은 마치 새로운 솔루션을 만난 것 같은 느낌을 갖게 될 것입니다.

이 책을 통해 스탠드얼론 방식과 도메인방식으로 JBoss AS 7을 구성하는 방식과 웹 애플리케이션 개발 및 EJB 개발 그리고, 오픈 시프트(https://www.openshift.com)라는 JBoss PAAS(Platform as a Service) 클라우드에 대해 배우게 될 것입니다. 톰캣 웹서버만을 다뤄본 자바 엔지니어나 시스템 엔지니어 입장에서는 매우 낯설고 어려운 내용일 수도 있지만, 예제 따라하기 형식의 내용으로 구성되어 있어 천천히 따라 하다 보면 어느덧 WAS, 특히 JBoss AS에 대한 두려움이 완전히 사라진 자신의 모습을 볼 수 있을 것입니다.

옮긴이 소개

김완철

15년차 자바 엔지니어로 과거 SEGA China에서 게임 웹 서비스 개발을 담당했고, 현재는 네오위즈게임즈에서 모바일 프로젝트와 백엔드 시스템으로 빅데이터 관련 프로젝트를 진행하고 있다. Korea JBoss User Group 멤버로 활동하고 있으며, JBoss Community 프로젝트 및 실시간 빅데이터 분석에 관심이 많다.

신정훈

공공 및 텔레콤, 금융프로젝트에서 다년간 AA 및 TA, 개발자로 지내왔으며, 현재는 KT에서 BIT 프로젝트 진행 중이다. SKT 및 KT에서 오랫동안 클라우드 및 빅데이터 프로젝트를 수행해서 이쪽 분야에 관심이 많다.

김상곤

텔레콤, 금융프로젝트에서 미들웨어 SE와 TA로 활동했으며 현재 클라우드 서비스 시스템 기술지원을 하고 있다. 데브옵스 관점에서 미들웨어와 BPM활용 이란 주제로 고민 중이다.

안광운

현재 멜론에서 음악을 쉽게 즐길 수 있는 방법을 고민하는 커머스팀에서 개발을 하고 있다. 모험심이 가득해서 새로운 것을 좋아하고, 개발자로서 할 수 있는 것이 무엇인지에 대해 생각한다.

목차

목차
  • 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 레이어 추가
      • 애플리케이션 웹 컨텍스트 선택
      • 웹 애플리케이션 배포
      • 루트 컨텍스트에 웹 애플리케이션 배포
    • 리모트(remote) 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 스크립트 실행
      • 고급 배치 명령어
    • 파일을 이용한 스크립트 실행
      • 비대화형 출력 리다이렉션
    • 설정의 스냅 샷 찍기
      • 애플리케이션 서버가 자동으로 저장하는 것
      • 스냅 샷 찍기
    • CLI의 히스토리
  • 새로운 웹 어드민 콘솔
    • 어드민 콘솔 접속
    • 서버 프로파일 설정
      • 데이터 소스 설정
      • JMS 목적지 설정
      • 소켓 바인딩 그룹 설정
  • 커맨드라인 인터페이스 혹은 웹콘솔?
  • 요약

  • 8장 클러스터링
  • JBoss 클러스터링 설치
    • 스탠드얼론 서버 클러스터링 설치
      • 다른 장비에서 운영되는 AS 노드 클러스터
      • 같은 장비들에서 서버 클러스터링
      • 도메인 서버 클러스터링 설치
      • 클러스터링 트러블슈팅
  • JBoss 클러스터링 설정
    • 제이그룹스 서브시스템 설정
      • 프로토콜 스택 커스터마이징
  • 인피니스팬 서브시스템 설정
    • 세션 캐시 컨테이너 설정
      • 복제와 분산 선택
    • 하이버네이트 캐시 설정
      • 하이버네이트 캐시를 위한 복제 사용
    • 고급 인피니스팬 설정
      • 인피니스팬 스레드 설정
      • 인피니스팬 전송 설정
  • 메시징 서브시스템 클러스터링
    • 메시징 인증서(credentials) 설정
  • 요약

  • 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 애플리케이션 관리
      • 클라우드에서 애플리케이션 설정
      • 오픈시프트 스토리지 관리

도서 오류 신고

도서 오류 신고

에이콘출판사에 관심을 가져 주셔서 고맙습니다. 도서의 오탈자 정보를 알려주시면 다음 개정판 인쇄 시 반영하겠습니다.

오탈자 정보는 다음과 같이 입력해 주시면 됩니다.

(예시) p.100 아래에서 3행 : '몇일'동안 -> 며칠동안