본문 바로가기

추천 검색어

실시간 인기 검색어

만들면서 배우는

헥사고날 아키텍처 설계와 구현

자바와 쿼커스를 활용한 빠르고 생산성 높은 애플리케이션 구축
위키북스 IT Leaders 시리즈 37
다비 비에이라 지음 | 김영기 옮김
위키북스

2023년 07월 10일 출간

종이책 : 2022년 09월 29일 출간

(개의 리뷰)
( 0% 의 구매자)
eBook 상품 정보
파일 정보 pdf (5.32MB)
ISBN 9791158394486
지원기기 교보eBook App, PC e서재, 리더기, 웹뷰어
교보eBook App 듣기(TTS) 가능
TTS 란?
텍스트를 음성으로 읽어주는 기술입니다.
  • 전자책의 편집 상태에 따라 본문의 흐름과 다르게 텍스트를​ 읽을 수 있습니다.
  • 전자책 화면에 표기된 주석 등을 모두 읽어 줍니다.
  • 이미지 형태로 제작된 전자책 (예 : ZIP 파일)은 TTS 기능을 지원하지 않습니다.
  • '교보 ebook' 앱을 최신 버전으로 설치해야 이용 가능합니다. (Android v3. 0.26, iOS v3.0.09,PC v1.2 버전 이상)

PDF 필기 Android 가능 (iOS예정)
소득공제
소장
정가 : 22,400원

쿠폰적용가 20,160

10% 할인 | 5%P 적립

이 상품은 배송되지 않는 디지털 상품이며,
교보eBook앱이나 웹뷰어에서 바로 이용가능합니다.

카드&결제 혜택

  • 5만원 이상 구매 시 추가 2,000P
  • 3만원 이상 구매 시, 등급별 2~4% 추가 최대 416P
  • 리뷰 작성 시, e교환권 추가 최대 300원

작품소개

이 상품이 속한 분야

헥사고날 아키텍처는 기술 코드와 비즈니스 코드의 분리, 변경에 더 잘 견디는 소프트웨어, 그리고 많은 양의 리팩터링 없이도 새로운 기술의 발전 및 통합을 허용해 개발자의 생산성을 향상시킨다. 헥사고날 원칙을 고수함으로써, 코드를 이해하고 유지보수에 필요한 노력을 줄이는 방법으로 소프트웨어를 구조화할 수 있다.

이 책은 엔티티, 유스케이스, 포트와 어댑터 같은 헥사고날 아키텍처의 기반 요소에 대한 심도 깊은 분석으로 시작해, 도메인 헥사곤에서 비즈니스 코드를 결합하는 방법, 애플리케이션 헥사곤에서 포트와 유스케이스를 사용해 기능을 만드는 방법, 프레임워크 헥사곤에서 어댑터를 사용해 소프트웨어를 다양한 기술과 호환이 되게 만드는 방법 등을 배운다. 또한 모든 헥사고날 아키텍처의 기반 요소를 적용하는 실제 시나리오를 기반으로 시스템을 직접 개발해 본다.
아울러 헥사고날 시스템을 만들어 보면서 자바 모듈을 사용해 의존성 역전을 강화하고 아키텍처 내의 각 헥사곤에서 격리를 보장하는 방법과 쿼커스를 사용해 헥사고날 애플리케이션을 클라우드 네이티브 시스템으로 바꾸는 방법도 알려준다.

이 책이 끝날 무렵이면, 복잡하고 오랫동안 지속되는 애플리케이션의 개발에 질서와 온전함을 가져올 수 있을 것이다.
[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 기법 적용
__헥사고날 시스템에서의 바운디드 컨텍스트와 서브도메인 구현
포트와 유스케이스의 필요성
다양한 어댑터의 범주 처리
결론 - 헥사고날 여정
요약
연습 문제

▣ 모범 답안

★ 이 책에서 다루는 내용 ★

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

작가정보

Davi Vieira
다비 비에이라는 소프트웨어 설계, 개발, 아키텍처 분야에서 대규모 기업이 직면한 문제에 깊은 관심을 갖고 있는 소프트웨어 장인이다. 다비는 객체지향 언어를 사용해 복잡하고 오래 계속되는 사업에 필수적인 시스템(mission critical system)의 구축 및 유지 관련 분야에서 10년 이상의 경력을 갖고 있다. 그는 자신보다 선배들이 남긴 훌륭한 교훈과 소프트웨어 개발 전통을 귀중하게 여긴다. 이러한 소프트웨어 전통에서 영감을 얻어 자신의 아이디어를 개발하고 발전시키고 있다.

삼성전자 네트워크 사업부 SE 그룹에서 소프트웨어 개발과 관련한 다양한 업무를 수행하고 있다. 주요 이력으로 지능망(IN)과 모바일 자바 애플리케이션 개발, 정적 분석과 소프트웨어 구조 분석, 소프트웨어 개발 도구 및 인프라 관리 등이 있다. 현재는 형상 관리와 개발 전략을 담당하고 있으며, 소프트웨어 개발과 관련된 조직 및 개발 문화, 애자일과 데브옵스, 인프라 자동화에 관심이 많다.

이 상품의 총서

Klover리뷰 (0)

Klover리뷰 안내
Klover(Kyobo-lover)는 교보를 애용해 주시는 고객님들이 남겨주신 평점과 감상을 바탕으로, 다양한 정보를 전달하는 교보문고의 리뷰 서비스입니다.
1. 리워드 안내
구매 후 90일 이내에 평점 작성 시 e교환권 100원을 적립해 드립니다.
  • - e교환권은 적립일로부터 180일 동안 사용 가능합니다.
  • - 리워드는 1,000원 이상 eBook, 오디오북, 동영상에 한해 다운로드 완료 후 리뷰 작성 시 익일 제공됩니다.
  • - 리워드는 한 상품에 최초 1회만 제공됩니다.
  • - sam 이용권 구매 상품 / 선물받은 eBook은 리워드 대상에서 제외됩니다.
2. 운영 원칙 안내
Klover리뷰를 통한 리뷰를 작성해 주셔서 감사합니다. 자유로운 의사 표현의 공간인 만큼 타인에 대한 배려를 부탁합니다. 일부 타인의 권리를 침해하거나 불편을 끼치는 것을 방지하기 위해 아래에 해당하는 Klover 리뷰는 별도의 통보 없이 삭제될 수 있습니다.
  • 도서나 타인에 대해 근거 없이 비방을 하거나 타인의 명예를 훼손할 수 있는 리뷰
  • 도서와 무관한 내용의 리뷰
  • 인신공격이나 욕설, 비속어, 혐오 발언이 개재된 리뷰
  • 의성어나 의태어 등 내용의 의미가 없는 리뷰

구매 후 리뷰 작성 시, e교환권 100원 적립

문장수집

문장수집 안내
문장수집은 고객님들이 직접 선정한 책의 좋은 문장을 보여 주는 교보문고의 새로운 서비스 입니다. 교보eBook 앱에서 도서 열람 후 문장 하이라이트 하시면 직접 타이핑 하실 필요 없이 보다 편하게 남길 수 있습니다. 마음을 두드린 문장들을 기록하고 좋은 글귀들은 ‘좋아요’ 하여 모아보세요. 도서 문장과 무관한 내용 등록 시 별도 통보없이 삭제될 수 있습니다.
리워드 안내
  • 구매 후 90일 이내에 문장 수집 등록 시 e교환권 100원을 적립해 드립니다.
  • e교환권은 적립일로부터 180일 동안 사용 가능합니다.
  • 리워드는 1,000원 이상 eBook에 한해 다운로드 완료 후 문장수집 등록 시 제공됩니다.
  • 리워드는 한 상품에 최초 1회만 제공됩니다.
  • sam 이용권 구매 상품/오디오북·동영상 상품/주문취소/환불 시 리워드 대상에서 제외됩니다.

구매 후 문장수집 작성 시, e교환권 100원 적립

    교보eBook 첫 방문을 환영 합니다!

    신규가입 혜택 지급이 완료 되었습니다.

    바로 사용 가능한 교보e캐시 1,000원 (유효기간 7일)
    지금 바로 교보eBook의 다양한 콘텐츠를 이용해 보세요!

    교보e캐시 1,000원
    TOP
    신간 알림 안내
    헥사고날 아키텍처 설계와 구현 웹툰 신간 알림이 신청되었습니다.
    신간 알림 안내
    헥사고날 아키텍처 설계와 구현 웹툰 신간 알림이 취소되었습니다.
    리뷰작성
    • 구매 후 90일 이내 작성 시, e교환권 100원 (최초1회)
    • 리워드 제외 상품 : 마이 > 라이브러리 > Klover리뷰 > 리워드 안내 참고
    • 콘텐츠 다운로드 또는 바로보기 완료 후 리뷰 작성 시 익일 제공
    감성 태그

    가장 와 닿는 하나의 키워드를 선택해주세요.

    사진 첨부(선택) 0 / 5

    총 5MB 이하로 jpg,jpeg,png 파일만 업로드 가능합니다.

    신고/차단

    신고 사유를 선택해주세요.
    신고 내용은 이용약관 및 정책에 의해 처리됩니다.

    허위 신고일 경우, 신고자의 서비스 활동이 제한될 수
    있으니 유의하시어 신중하게 신고해주세요.


    이 글을 작성한 작성자의 모든 글은 블라인드 처리 됩니다.

    문장수집 작성

    구매 후 90일 이내 작성 시, e교환권 100원 적립

    eBook 문장수집은 웹에서 직접 타이핑 가능하나, 모바일 앱에서 도서를 열람하여 문장을 드래그하시면 직접 타이핑 하실 필요 없이 보다 편하게 남길 수 있습니다.

    P.
    만들면서 배우는 헥사고날 아키텍처 설계와 구현
    자바와 쿼커스를 활용한 빠르고 생산성 높은 애플리케이션 구축
    저자 모두보기
    낭독자 모두보기
    sam 이용권 선택
    님이 보유하신 이용권입니다.
    차감하실 sam이용권을 선택하세요.
    sam 이용권 선택
    님이 보유하신 이용권입니다.
    차감하실 sam이용권을 선택하세요.
    sam 이용권 선택
    님이 보유하신 프리미엄 이용권입니다.
    선물하실 sam이용권을 선택하세요.
    결제완료
    e캐시 원 결제 계속 하시겠습니까?
    교보 e캐시 간편 결제
    sam 열람권 선물하기
    • 보유 권수 / 선물할 권수
      0권 / 1
    • 받는사람 이름
      받는사람 휴대전화
    • 구매한 이용권의 대한 잔여권수를 선물할 수 있습니다.
    • 열람권은 1인당 1권씩 선물 가능합니다.
    • 선물한 열람권이 ‘미등록’ 상태일 경우에만 ‘열람권 선물내역’화면에서 선물취소 가능합니다.
    • 선물한 열람권의 등록유효기간은 14일 입니다.
      (상대방이 기한내에 등록하지 않을 경우 소멸됩니다.)
    • 무제한 이용권일 경우 열람권 선물이 불가합니다.
    이 상품의 총서 전체보기
    네이버 책을 통해서 교보eBook 첫 구매 시
    교보e캐시 지급해 드립니다.
    교보e캐시 1,000원
    • 첫 구매 후 3일 이내 다운로드 시 익일 자동 지급
    • 한 ID당 최초 1회 지급 / sam 이용권 제외
    • 네이버 책을 통해 교보eBook 구매 이력이 없는 회원 대상
    • 교보e캐시 1,000원 지급 (유효기간 지급일로부터 7일)
    구글북액션을 통해서 교보eBook
    첫 구매 시 교보e캐시 지급해 드립니다.
    교보e캐시 1,000원
    • 첫 구매 후 3일 이내 다운로드 시 익일 자동 지급
    • 한 ID당 최초 1회 지급 / sam 이용권 제외
    • 구글북액션을 통해 교보eBook 구매 이력이 없는 회원 대상
    • 교보e캐시 1,000원 지급 (유효기간 지급일로부터 7일)