간편결제, 신용카드 청구할인
네이버페이 1%
(네이버페이 결제 시 적립)
NH(올원페이)카드 12% (31,680원)
(3만원 이상 결제/최대 1만원 할인)
북피니언 롯데카드 30% (25,200원)
(최대할인 3만원 / 3만원 이상 결제)
EBS 롯데카드 20% (28,800원)
(최대할인 3만원 / 3만원 이상 결제)
인터파크 NEW 우리V카드 10% (32,400원)
(최대할인 3만원 / 3만원 이상 결제)
인터파크 현대카드 7% (33,480원)
(최대할인 3만원 / 3만원 이상 결제)
Close

아파치 Camel 따라잡기 : 다재다능한 EIP기반 오픈소스 통합 프레임워크

원제 : Apache Camel Developer's Cookbook

2013년 9월 9일 이후 누적수치입니다.

판매지수 18
?
판매지수란?
사이트의 판매량에 기반하여 판매량 추이를 반영한 인터파크 도서에서의 독립적인 판매 지수입니다. 현재 가장 잘 팔리는 상품에 가중치를 두었기 때문에 실제 누적 판매량과는 다소 차이가 있을 수 있습니다. 판매량 외에도 다양한 가중치로 구성되어 최근의 이슈도서 확인시 유용할 수 있습니다. 해당 지수는 매일 갱신됩니다.
Close
공유하기
정가

40,000원

  • 36,000 (10%할인)

    2,000P (5%적립)

할인혜택
적립혜택자동적립
배송정보
주문수량
감소 증가
  • 이벤트/기획전

  • 연관도서(319)

  • 사은품(2)

책소개

아파치 카멜은 기업 통합 패턴(Enterprise Integration Patterns)을 자바로 구현하게 하는 훌륭한 도구다. 카멜을 통해 일반적인 통합 작업을 쉽게 가능하게 하며, 상황이 요구 할 때에는 개발자가 프레임워크를 커스터마이징하는 수단을 제공한다. 이 책은 아파치 카멜을 이미 조금은 알고 있고 실제적이고 증명된 팁을 빨리 찾길 원하는 개발자들을 위해 예제 형식으로 구성되었다. 각 예제에는 카멜의 더 깊은 기능을 이해하기 위한 참조 링크와 문서도 포함했다.

출판사 서평

이 책에서 다루는 내용

카멜 프로젝트를 구성하는 방법
공통적인 엔터프라이즈 통합 패턴 사용 이해
사용자 메시지 전환
카멜 내장 테스트 프레임워크 사용
기존 코드와 더 잘 동작하도록 카멜 확장
에러 처리 정책 학습
카멜의 병렬 처리와 스레딩 기능 사용
카멜 통합 루트 보안
카멜에서 ACID 트랜잭션 처리 이해

이 책의 대상 독자

이 책은 아파치 카멜에 조금 익숙하고 공통적인 작업들을 수행하는 방법에 대해 실제적이고 증명된 팁들을 빨리 찾아보기를 원하는 개발자들을 위해 쓰여졌다.

이 책의 구성

1장, '루트 구성'에서는 카멜 구성의 기본적인 사항을 소개한다. 자바와 스프링 애플리케이션에서 실행되는 프레임워크를 만들고, 카멜 컴포넌트를 사용하고, 라우팅 로직을 분리하고 재사용한다.

2장, '메시지 라우팅'에서는 카멜에서 메시지를 라우트하기 위해 사용되는 주요 EIP 사용법을 설명한다. if-else 스타일 내용 기반 라우팅부터 좀 더 복잡하고 동적인 옵션까지 모두 살펴본다.

3장, '사용자 코드로 라우팅'에서는 직접 작성한 자바 코드에서부터 카멜 런타임과 어떻게 상호작용하는지와 카멜 루트 내에서 자바 코드가 어떻게 사용되는지 설명한다.

4장, '전환'은 자바 객체, XML, JSON, CSV 같은 일반적인 메시지 형식을 다루고, 그 형식 간 변환을 위해 바로 사용 가능한 정책을 제시한다.

5장, '분리하기와 합치기'에서는 관련된 Splitter와 Aggregator 패턴을 깊이 있게 살펴본다.

6장, '병렬 처리'에서는 스레드풀, 프로파일, 비동기 프로세서를 사용해 처리를 확장하기 위해 카멜이 지원하는 것을 개략적으로 살펴본다.

7장, '에러 처리와 보상'에서는 이미 완료된 비트랜잭션 작업을 위한 보상 라우팅 단계를 시작하는 기능을 포함해, 오류를 다루기 위해 카멜 DSL이 제공하는 메커니즘을 설명한다.

8장, '트랜잭션과 멱등성'은 트랜잭션 리소스(JDBC와 JMS)를 다루기 위한 몇 가지 방법을 보여준다. 메시지 재실행(replay) 또는 복제 이벤트 시 오직 한 번만 불리게 되는 방법으로 비트랜잭션(웹 서비스 같은) 리소스를 다루는 내용도 설명한다.

9장, '테스팅'은 백엔드 시스템을 필요로 하지 않으면서 사용자 루트의 행위를 검증하기 위해 카멜의 테스트 지원을 설명한다. 또한 런타임 시 사용되는 코드를 수정하지 않고, 테스팅 목적으로 부가적인 단계를 거쳐 루트를 변경하는 법을 보여준다.

10장, '모니터링과 디버깅'은 로깅, 추적, 디버깅에 대한 카멜의 지원을 설명한다. 개발자가 직접 속성과 동작을 정의할 수 있는 기능을 포함하는 카멜의 JMX 지원으로 모니터링을 시험한다.

11장, '보안'은 시스템 간 암호화 통신, 민감한 설정 정보 숨기기, 인증서를 사용한 부인 방지, 루트에 인증과 권한부여를 적용하는 것을 다룬다.

12장, '웹 서비스'에서는 카멜을 사용해 백엔드와 프록시 SOAP처럼 행동하는 웹 서비스를 호출하는 방법을 살펴본다.

목차

1장 루트 구성
소개
자바 애플리케이션에서 카멜 사용하기
스프링 애플리케이션에 카멜 내장하기
카멜 컴포넌트 사용하기
루트를 연결해 라우팅 로직 재사용하기
비동기적으로 루트 연결하기
단일 자바 프로세스에서 복수의 카멜 컨텍스트 사용하기
카멜 루트에서 외부 속성 사용하기
엔드포인트 재사용하기
루트 템플릿으로 라우팅 로직 재사용하기
루트 시작과 종료 제어하기

2장 메시지 라우팅
소개
내용 기반 라우팅
원치않는 메시지 제외하기
와이어탭: 메시지 복제본을 다른 곳으로 보내기
멀티캐스트: 동일한 메시지를 여러 엔드포인트로 라우팅하기
수신자 목록: 메시지를 여러 개의 엔드포인트로 라우팅하기
조절기: 엔드포인트로 흐르는 메시지 개수 제한하기
단방향 메시지를 보내는 요청-응답 루트
요청-응답 엔드포인트를 기다리는 단방향 루트
동적 라우팅: 실행 중에 라우팅 결정하기
여러 엔드포인트로 부하 분산하기
라우팅 슬립: 메시지를 고정된 여러 개의 엔드포인트로 라우팅하기

3장 사용자 코드로 라우팅
소개
메시지를 직접 자바 메소드로 라우팅하기
메시지를 직접 카멜 엔드포인트로 라우팅하기
조건서술로 자바 메소드 사용하기
커스텀 카멜 프로세서 작성하기
메시지를 메소드 파라미터에 매핑하기
커스텀 데이터 마샬러 작성하기
커스텀 데이터 타입 변환기 작성하기

4장 전환
소개
단순 표현식을 사용해 전환하기
인라인에서 XQuery를 이용해 전환하기
XSLT를 이용해 전환하기
JAXB를 이용해 자바에서 XML로 전환하기
자바에서 JSON으로 전환하기
XML에서 JSON으로 전환하기
콤마로 구분된 값(CSV) 분석하기
다른 엔드포인트의 도움을 받아 내용 전환하기
공통 XML 형식으로 메시지 표준화하기

5장 분리하기와 합치기
소개
메시지를 조각으로 분리하기
XML 메시지 분리하기
분리된 메시지를 병렬로 처리하기
관련 메시지 합치기
타임아웃을 이용해 합치기
일정 간격으로 합치기
합친 메시지를 병렬로 처리하기
메시지를 분리, 처리하고 응답 합치기
메시지를 분리하고 다른 기준으로 다시 합치기

6장 병렬 처리
소개
여러 개의 엔드포인트 컨슈머로 메시지 소비 향상하기
스레드를 사용해 루트에서 부하 분산하기
요청을 비동기적으로 라우팅하기
커스텀 스레드 풀 사용하기
스레드 풀 프로파일 사용하기
비동기 API 사용해 작업하기

7장 에러 처리와 보상
소개
에러 로깅하기
발송 불가 채널: 추후에 에러 처리하기
동작 재시도 하기
조건적 재시도하기
각각의 재배달 시도를 커스터마이징하기
예외 잡기
예외 처리 상태로 표시하기
doTry...doCatch를 사용해 에러를 세밀하게 처리하기
액션 완료 정의하기
액션 완료를 동적으로 정의하기

8장 트랜잭션과 멱등성
소개
라우팅 로직의 중복 실행 방지하기
트랜잭션을 사용한 파일 소비
데이터베이스에 트랜잭션 사용하기
트랜잭션 범위 제한하기
트랜잭션 롤백하기
메시징에 트랜잭션 사용하기
트랜잭션 내의 멱등성
복수 트랙잭션 자원에 XA 트랜잭션 설정하기

9장 테스팅
소개
자바로 정의한 루트 테스트하기
라우팅 로직 검증을 위한 목 엔드포인트 사용하기
목 엔드포인트로부터 응답하기
스프링에 정의한 루트 테스트하기
OSGi 블루프린트에서 정의한 루트 테스트하기
엔드포인트 자동 모형화하기
부하 시 루트 행위 유효성 검사하기
단위 테스트 프로세서와 빈(bean) 바인딩
AOP를 사용해 고정된 엔드포인트로 루트 테스트하기
조건 이벤트를 사용 고정된 엔드포인트로 루트 테스트하기

10장 모니터링과 디버깅
소개
루트 내에서 단계별로 로깅하기
로그를 사용해 디버깅하기
사용량 로깅
코드에서 단계별 추적 가능하게 하기
JMX 비활성화하기
JMX 설정하기
루트를 모니터링하기 쉽게 이름짓기
JXM 속성과 동작 추가하기
카멜 JMX 컴포넌트를 사용해 다른 시스템 모니터링하기
루트 내에 브레이크포인트 지정하기

11장 보안
소개
설정 속성 암호화하기
디지털 사인하기와 메시지 검증하기
메시지 암복호화하기
XML 메시지 전부 혹은 부분 암호화하기
스프링 시큐리티를 사용한 인증과 권한부여하기

12장 웹 서비스
소개
WSDL로 서비스 스텁 생성하기
카멜에서 원격 웹 서비스 호출하기
카멜 루트로 웹 서비스 구현하기
단일 루트 내에서 여러 개의 웹 서비스 동작 제공하기
웹 서비스 오류 다루기
웹 서비스 대리하기

본문중에서

아파치 카멜은 시스템 통합(system integrations)을 위한 자바 프레임워크다.
왜 이런 프레임워크가 필요한가라고 질문할 수 있겠다. 시스템 통합은 많은 부분이 해결된 주제다. 우리는 다양한 프론트엔드를 오래전부터 웹 서비스, 메시지 브로커, 데이터베이스에 어떻게든 연동해왔다. 확실히 시스템 통합은 추상화를 필요로 하지 않는, 잘 알려진 영역이다.
하지만 꼭 그렇지도 않다.
스프링 프레임워크가 2003년 이후 자바 EE 시장의 판도를 뒤바꿔 놓았던 것처럼, 아파치 카멜은 2007년에 출시된 이후로 시스템 통합 시장의 균형을 흔들어왔다. 카멜은 훨씬 간결하고 쉬운 코드를 생산하는 시스템 통합을 생각하고 행하는 새로운 길을 가능케 하고, 더 적은 노력으로 오류를 줄이고 유지보수를 손쉽게 만들었다. 활발히 움직이는 대규모 아파치 카멜 커뮤니티와 카멜에 기반한 상용 통합 제품의 수가 얼마나 늘었는지, 그리고 미들웨어 개발자 컨퍼런스에서 회자되는 카멜에 대한 논의가 얼마나 많아졌는지 등이 카멜에 대한 호평을 입증할 수 있는 근거가 될 것이다.
이 책은 카멜을 이미 좀 알고 있고, 통합에 관한 복잡한 문제를 풀기 위해 카멜이 어떻게 더 도움이 될지 팁을 찾는 독자들을 대상으로 한다. 이 책은 일반적인 통합 작업을 해결하기 위해 카멜을 사용하는 단계별 설명이 포함된 100개가 넘는 예제가 담겨 있다. 각 예제에서는 카멜이 내부적으로 어떤 작업을 수행하는지를 간단히 설명하고, 심도 있는 학습을 원하는 사람들을 위한 추가 정보 등을 알려줄 것이다.
이 책은 카멜을 처음 시작하는 사람에게는 적합하지 않을 수도 있다. 하지만 다른 통합 기술에 벌써 익숙해 있고, 사용하면서 배우길 원한다면 이 책의 예제들에서 도움을 받을 수 있을 것이다. 따라서 여기서는 카멜의 개념에 대해서 깊은 설명을 하지는 않을 것이다.
많은 예제 코드와 함께 카멜의 개념적인 내용을 더 원하는 독자는, 클라우스 입센(Claus Ibsen)과 조나단 앤스티(Jonathan Anstey)가 저술한 매닝(Manning) 출판사의 『Camel in Action』을 읽어보길 권한다. 한 권 더 소개하자면, 팩트 출판사에서 발간된 빌긴 이브라이엄(Bilgin Ibryam)의 『Instant Apache Camel Message Routing』(2013)을 보라. 카멜 공식 웹사이트(http://camel.apache.org)도 카멜을 사용하는 데 있어서 도움이 되는 글과 문서 리스트를 많이 다룬다.
(/ '저자 서문' 중에서)

2003년에 그레거 호프와 바비 울프의 공동 저작으로 『기업 통합 패턴(Enterprise Integration Patterns)』이 출간되었다(최근 에이콘출판사에서 번역본이 나왔다.) 에디슨웨슬리 출판사의 마틴 파울러 시리즈의 하나인 이 책은 기업용 애플리케이션의 통합과 메시지 기반 미들웨어를 사용하는 다수의 설계 패턴에 대해 설명한다.

아파치 카멜은 이런 기업 통합 패턴의 구현체다. 동일한 목적으로 스프링 인티그레이션(Spring Integration)이나 뮬 ESB(Mule ESB) 같은 프레임워크가 있으나 카멜이 사실상 표준이라고 할 수 있을 정도로 많이 사용되고 있고 이미 성숙도가 높다.

기업용 애플리케이션 통합을 위해서 기업 통합 패턴, 즉 카멜을 사용한다는 것은 비동기 메시지 기반 아키텍처를 도입한다는 것을 뜻한다. 이것은 고성능의 대용량 분산시스템 구축과 통합을 위한 최선의 방법이며, 최근에는 일반 웹 어플리케이션에서도 성능과 확장성을 위해 비동기 메시징을 사용하는 경우가 많다.

카멜을 사용하면 많은 문제에 대해서는 이미 만들어져있는 컴포넌트 등을 조합해 XML 설정이나 간단한 코드로도 원하는 통합이 가능하고, 새로운 문제에 대해서는 직접 컴포넌트를 제작할 수 있다. 그리고 많이들 사용하고 있는 스프링 프레임워크와의 통합도 아주 쉽기 때문에 어렵지 않게 접근할 수 있다.

이 책은 카멜이나 기업 통합 패턴을 설명하기보다는 같이 실행해보면서 배우는 책이다. 카멜에 대해서 들어는 봤지만 실제로 아직 실행해보지 않았거나, 사용하고 있지만 다른 패턴들을 배우거나 참고하고자 하는 개발자들에게 많은 도움이 될 것이다.

이 책은 각 패턴의 개념을 깊게 설명하지 않는다. 요리책같이 실무에서 마주칠 수 있는 문제에 대해 여러 해결 방법 중 하나의 예제를 제시할 뿐이다. 각 예제에는 문제가 있고 그 문제와 해결 방법에 대해 설명하고 있지만, 그것만으로는 부족할 수 있다. 예제 코드를 다운로드하여 실행해보고 조금씩 고쳐서 다시 실행하는 것을 반복한다면 책이 전달하고자 하는 지식을 자기 자신의 것으로 만들 수 있을 것이다.
(/ '옮긴이의 말' 중에서)

저자소개

스콧 크랜튼(Scott Cranton) [저] 신작알림 SMS신청 작가DB보기
생년월일 -
출생지 -
출간도서 0종
판매수 0권

오픈소스 소프트웨어 컨트리뷰터이자 에반젤리스트다. 거의 5년 전 1.5 버전부터 아파치 카멜로 작업을 해왔으며 그리고 미들웨어 개발자, 아키텍트, 컨설턴트로 20년이 넘게 활동해왔다. 퓨즈소스(FuseSource)에서, 그리고 지금 레드햇에 있는 동안 아파치 카멜, ActiveMQ, ServieMix, Karaf, CXF의 핵심 커미터들과 가깝게 일해왔다. 또한 카멜을 비롯한 오픈소스 프로젝트를 사용해 많은 회사가 대용량의 복잡한 통합과 메시징 시스템을 성공적으로 만들고 적용하는 것을 도왔다.
코드를 파고들고, 카멜과 오픈소스에 관한 웨비나(webinar)에서 발표를 하고, 통합 문제

펼쳐보기
야쿱 코랍(Jakub Korab) [저] 신작알림 SMS신청 작가DB보기
생년월일 -
출생지 -
출간도서 0종
판매수 0권

통합과 메시징을 전공한 컨설팅 소프트웨어 엔지니어다. 소프트웨어 공학과 분산 시스템 분야 경력이 있으며 14년 동안 텔레콤, 금융 서비스, 뱅킹 산업의 소프트웨어 분야에서 일해왔다. 웹 개발 일을 하다가 자연스레 시스템 통합으로 옮겼다. 아파치 카멜을 처음 알게 됐을 때, 직접 통합 코드를 작성하는 것과 비교해 얼마나 많은 시간과 노력을 절약할 수 있는지에 대한 확신이 들었다. 그러고 나서는 아파치 카멜에만 매진해 왔다.
지난 몇 년간 컨설턴트로서 많은 클라이언트를 도와서 확장 가능하고 오류로 정지하지 않으면서도 성능이 높은 시스템 통합에 관한 일

펼쳐보기
생년월일 -
출생지 -
출간도서 0종
판매수 0권

한화S&C 기술혁신연구소에서 모바일 플랫폼을 개발하고 있다. 빅데이터, 인메모리 기반 처리, 그리고 행복한 개발자의 삶에 관심이 많으며 한국 JBoss User Group 커뮤니티 내에서 인피니스팬(Infinispan) 소모임을 이끌고 있다.

이 상품의 시리즈

acorn+PACKT 시리즈(총 351권 / 현재구매 가능도서 320권)

펼쳐보기

이 책과 내용이 비슷한 책 ? 내용 유사도란? 이 도서가 가진 내용을 분석하여 기준 도서와 얼마나 많이 유사한 콘텐츠를 많이 가지고 있는가에 대한 비율입니다.

    리뷰

    0.0 (총 0건)

    기대평

    작성시 유의사항

    평점
    0/200자
    등록하기

    기대평

    0.0

    교환/환불

    교환/환불 방법

    ‘마이페이지 > 취소/반품/교환/환불’ 에서 신청함, 1:1 문의 게시판 또는 고객센터(1577-2555) 이용 가능

    교환/환불 가능 기간

    고객변심은 출고완료 다음날부터 14일 까지만 교환/환불이 가능함

    교환/환불 비용

    고객변심 또는 구매착오의 경우에만 2,500원 택배비를 고객님이 부담함

    교환/환불 불가사유

    반품접수 없이 반송하거나, 우편으로 보낼 경우 상품 확인이 어려워 환불이 불가할 수 있음
    배송된 상품의 분실, 상품포장이 훼손된 경우, 비닐랩핑된 상품의 비닐 개봉시 교환/반품이 불가능함

    소비자 피해보상

    소비자 피해보상의 분쟁처리 등에 관한 사항은 소비자분쟁해결기준(공정거래위원회 고시)에 따라 비해 보상 받을 수 있음
    교환/반품/보증조건 및 품질보증 기준은 소비자기본법에 따른 소비자 분쟁 해결 기준에 따라 피해를 보상 받을 수 있음

    기타

    도매상 및 제작사 사정에 따라 품절/절판 등의 사유로 주문이 취소될 수 있음(이 경우 인터파크도서에서 고객님께 별도로 연락하여 고지함)

    배송안내

    • 인터파크 도서 상품은 택배로 배송되며, 출고완료 1~2일내 상품을 받아 보실 수 있습니다

    • 출고가능 시간이 서로 다른 상품을 함께 주문할 경우 출고가능 시간이 가장 긴 상품을 기준으로 배송됩니다.

    • 군부대, 교도소 등 특정기관은 우체국 택배만 배송가능하여, 인터파크 외 타업체 배송상품인 경우 발송되지 않을 수 있습니다.

    • 배송비

    도서(중고도서 포함) 구매

    2,000원 (1만원이상 구매 시 무료배송)

    음반/DVD/잡지/만화 구매

    2,000원 (2만원이상 구매 시 무료배송)

    도서와 음반/DVD/잡지/만화/
    중고직배송상품을 함께 구매

    2,000원 (1만원이상 구매 시 무료배송)

    업체직접배송상품 구매

    업체별 상이한 배송비 적용