장바구니 담기 close

장바구니에 상품을 담았습니다.

만들면서 배우는 헥사고날 아키텍처 설계와 구현

만들면서 배우는 헥사고날 아키텍처 설계와 구현

  • 다비비에이라
  • |
  • 위키북스
  • |
  • 2022-09-29 출간
  • |
  • 412페이지
  • |
  • 188 X 240 X 17 mm
  • |
  • ISBN 9791158393564
판매가

28,000원

즉시할인가

25,200

배송비

무료배송

(제주/도서산간 배송 추가비용:3,000원)

수량
+ -
총주문금액
25,200

※ 스프링제본 상품은 반품/교환/환불이 불가능하므로 신중하게 선택하여 주시기 바랍니다.

출판사서평



★ 이 책에서 다루는 내용 ★

◎ 명세 디자인 패턴을 활용한 비즈니스 규칙 알고리즘의 결합
◎ 강력한 도메인 모델 생성을 위한 도메인 주도 설계 기법과 헥사고날 원칙의 결합
◎ 시스템이 REST, gRPC, 웹소켓 같은 다양한 프로토콜을 지원하기 위한 어댑터의 사용 방법
◎ 헥사고날 원칙에 기반한 모듈과 패키지 구조 생성
◎ 의존성 역전의 적용과 소프트웨어 컴포넌트 사이의 격리를 보장하기 위한 자바 모듈의 활용
◎ 입력 및 출력 포트의 수명주기 관리를 위한 쿼커스 DI 구현


목차


[1부] 아키텍처 핵심 기초

▣ 01장: 왜 헥사고날 아키텍처인가?
기술 요구사항
소프트웨어 아키텍처 검토
__보이지 않는 것들
__악순환
__아키텍처는 모두를 위한 것이 아니다
__모놀리식 시스템과 분산 시스템
__의사결정
헥사고날 아키텍처 이해
__도메인 헥사곤
__애플리케이션 헥사곤
__프레임워크 헥사곤
__헥사고날 접근 방식의 장점
요약
연습 문제
더 읽을거리

▣ 02장: 도메인 헥사곤으로 비즈니스 규칙 감싸기
기술 요구사항
엔티티를 활용한 문제 영역 모델링
__도메인 엔티티의 순수성
__관련 엔티티
__UUID를 이용한 식별자 정의
값 객체를 통한 서술력 향상
애그리게잇을 통한 일관성 보장
도메인 서비스 활용
정책 패턴과 명세 패턴을 활용한 비즈니스 규칙 처리
POJO를 통한 비즈니스 규칙 정의
요약
연습 문제
더 읽을거리

▣ 03장: 포트와 유스케이스를 통한 동작 처리
기술 요구사항
유스케이스를 통한 소프트웨어 동작 표현
__유스케이스 작성 방법
입력 포트를 갖는 유스케이스 구현
출력 포트를 이용한 외부 데이터 처리
__어디에 출력 포트를 사용하는가?
애플리케이션 헥사곤을 통한 동작 자동화
요약
연습 문제
더 읽을거리

▣ 04장: 외부와 상호작용하는 어댑터 만들기
기술 요구사항
어댑터 이해
드라이빙 오퍼레이션 허용을 위한 입력 어댑터 사용
__입력 어댑터 생성
다양한 데이터 소스와 통신하기 위한 출력 어댑터 사용
__출력 어댑터 생성
요약
연습 문제
더 읽을 거리

▣ 05장: 드라이빙 오퍼레이션과 드리븐 오퍼레이션의 본질 탐색
기술 요구사항
드라이빙 오퍼레이션을 통한 헥사고날 애플리케이션에 대한 요청 호출
__웹 애플리케이션을 헥사고날 시스템에 통합
__테스트 에이전트 실행
__애플리케이션 간의 헥사고날 시스템 호출
드리븐 오퍼레이션을 통한 외부 리소스 처리
__데이터 지속성
__메시징과 이벤트
__모의 서버
요약
연습 문제

[02부] 헥사곤을 활용한 견고한 기반 구축

▣ 06장: 도메인 헥사곤 만들기
기술 요구사항
도메인 헥사곤 생성
문제 영역 이해
값 객체 정의
엔티티와 명세 정의
__Equipment와 Router 추상 엔티티
__코어 라우터 엔티티와 명세
__에지 라우터와 명세
__스위치 엔티티와 명세
도메인 서비스 정의
__라우터 서비스
__스위치 서비스
__네트워크 서비스
도메인 헥사곤 테스트
요약
연습 문제

▣ 07장: 애플리케이션 헥사곤 만들기
기술 요구사항
애플리케이션 헥사곤 생성
유스케이스 정의
__라우터 관리 유스케이스에 대한 디스크립션 작성
__라우터 관리를 위한 유스케이스 인터페이스 정의
__스위치 관리 유스케이스를 위한 디스크립션 생성
__스위치 관리를 위한 유스케이스 인터페이스 정의
__네트워크 관리자 유스케이스에 대한 디스크립션 생성
__네트워크 관리를 위한 유스케이스 인터페이스 정의
입력 포트를 갖는 유스케이스 구현
__애플리케이션 헥사곤 테스트
요약
연습 문제

▣ 08장: 프레임워크 헥사곤 만들기
기술 요구사항
프레임워크 헥사곤 부트스트래핑
출력 어댑터 구현
__라우터 관리 출력 어댑터
__스위치 관리 출력 어댑터
입력 어댑터 구현
__라우터 관리 입력 어댑터
__스위치 관리 입력 어댑터
__네트워크 관리 입력 어댑터
프레임워크 헥사곤 테스트하기
요약
연습 문제

▣ 09장: 자바 모듈을 이용한 의존성 역전 적용
기술 요구사항
JPMS 소개
헥사고날 시스템에서 의존성 역전
__유스케이스와 입력 포트를 통한 서비스 제공
출력 포트와 출력 어댑터를 통한 서비스 제공
입력 어댑터가 추상화에 의존하게 만들기
자바 플랫폼의 ServiceLoader 클래스를 사용해 JPMS 공급자 구현체 검색하기
__RouterManagementGenericAdapter 초기화하기
__SwitchManagementGenericAdapter 초기화
__NetworkManagementGenericAdapter 초기화
요약
연습 문제
더 읽을 거리

[03부] 아키텍처 핵심 기초

▣ 10장: 모듈화된 헥사고날 애플리케이션에 쿼커스 추가
기술 요구사항
JVM 다시 살펴보기
__JIT 컴파일러를 통한 런타임 성능 향상
__AOT 컴파일을 통한 시작 시간 개선
쿼커스 소개
__JAX-RS를 통한 REST 엔드포인트 생성
__쿼커스 DI를 통한 의존성 주입
__객체의 유효성 검증
__데이터 소스 구성 및 하이버네이트 ORM 사용
모듈화된 헥사고날 애플리케이션에 쿼커스 추가
요약
연습 문제

▣ 11장: CDI 빈즈를 활용한 포트와 유스케이스 관리
기술 요구사항
쿼커스 DI 배우기
__빈으로 작업하기
포트, 유스케이스, 어댑터를 CDI 빈으로 변환
__라우터 관리 객체에 대한 CDI 구현
__스위치 관리 객체에 대한 CDI 구현
__네트워크 클래스와 인터페이스를 위한 CDI 구현
쿼커스와 큐컴버를 통한 유스케이스 테스팅
요약
연습 문제

▣ 12장: RESTEasy 리액티브를 활용한 입력 어댑터 구현
기술 요구사항
서버 요청을 처리하는 방법
__명령형 접근 방식
__반응형 접근 방식
RESTEasy 리액티브를 통한 입력 어댑터 구현
__라우터 관리를 위한 리액티브 입력 어댑터 구현
__스위치 관리를 위한 리액티브 입력 어댑터 구현
__네트워크 관리를 위한 리액티브 입력 어댑터 구현
OpenAPI와 스웨거 UI 추가
리액티브 입력 어댑터 테스트
요약
연습 문제

▣ 13장: 출력 어댑터와 하이버네이트 리액티브를 이용한 데이터 유지
기술 요구사항
하이버네이트 리액티브와 파나쉬 소개
__하이버네이트 리액티브 기능
__파나쉬 기능
__액티브 레코드 패턴 적용
__리포지토리 패턴 적용
출력 어댑터에 대한 반응형 동작 활성화
__반응형 데이터 소스 구성
__엔티티 구성
__반응형 리포지토리 클래스 구현
__반응형 출력 어댑터 구현
__MySQL 출력 어댑터에 대한 반응형 라우터 관리
__MySQL 출력 어댑터에 대한 반응형 스위치 관리
반응형 출력 어댑터 테스트
요약
연습문제

▣ 14장: 클라우드 배포를 위한 Dockerfile과 쿠버네티스 객체 설정
기술 요구사항
도커 이미지 준비
__우버 .jar 아티팩트를 통한 도커 이미지 생성
__네이티브 실행 파일을 통한 도커 이미지 생성
쿠버네티스 객체 생성
__쿠버네티스의 주요 객체
__헥사고날 시스템을 위한 쿠버네티스 객체 구성
미니큐브에 배포
요약
연습 문제

▣ 15장: 헥사고날 애플리케이션을 위한 모범 설계 실천법
기술 요구사항
DDD를 이용한 도메인 헥사곤 생성
__비즈니스의 이해
__지식 증대를 위한 협업 촉진
__도메인 헥사곤 구축을 위한 DDD 기법 적용
__헥사고날 시스템에서의 바운디드 컨텍스트와 서브도메인 구현
포트와 유스케이스의 필요성
다양한 어댑터의 범주 처리
결론 - 헥사고날 여정
요약
연습 문제

▣ 모범 답안

교환 및 환불안내

도서교환 및 환불
  • ㆍ배송기간은 평일 기준 1~3일 정도 소요됩니다.(스프링 분철은 1일 정도 시간이 더 소요됩니다.)
  • ㆍ상품불량 및 오배송등의 이유로 반품하실 경우, 반품배송비는 무료입니다.
  • ㆍ고객님의 변심에 의한 반품,환불,교환시 택배비는 본인 부담입니다.
  • ㆍ상담원과의 상담없이 교환 및 반품으로 반송된 물품은 책임지지 않습니다.
  • ㆍ이미 발송된 상품의 취소 및 반품, 교환요청시 배송비가 발생할 수 있습니다.
  • ㆍ반품신청시 반송된 상품의 수령후 환불처리됩니다.(카드사 사정에 따라 카드취소는 시일이 3~5일이 소요될 수 있습니다.)
  • ㆍ주문하신 상품의 반품,교환은 상품수령일로 부터 7일이내에 신청하실 수 있습니다.
  • ㆍ상품이 훼손된 경우 반품 및 교환,환불이 불가능합니다.
  • ㆍ반품/교환시 고객님 귀책사유로 인해 수거가 지연될 경우에는 반품이 제한될 수 있습니다.
  • ㆍ스프링제본 상품은 교환 및 환불이 불가능 합니다.
  • ㆍ군부대(사서함) 및 해외배송은 불가능합니다.
  • ㆍ오후 3시 이후 상담원과 통화되지 않은 취소건에 대해서는 고객 반품비용이 발생할 수 있습니다.
반품안내
  • 마이페이지 > 나의상담 > 1 : 1 문의하기 게시판 또는 고객센터 1800-7327
교환/반품주소
  • 경기도 파주시 문발로 211 1층 / (주)북채널 / 전화 : 1800-7327
  • 택배안내 : CJ대한통운(1588-1255)
  • 고객님 변심으로 인한 교환 또는 반품시 왕복 배송비 5,000원을 부담하셔야 하며, 제품 불량 또는 오 배송시에는 전액을 당사에서부담 합니다.