도메인 주도 설계 첫걸음 - IT Leaders 시리즈 35
저자

블라드코노노프

저자:블라드코노노프
여러규모의회사에서웹마스터부터최고아키텍트까지다양한역할을수행한20년이상의경력을가진소프트웨어엔지니어다.블라드는주요미디어에서연설자,블로거,그리고저자로활동하고있다.세계를무대로도메인주도설계,마이크로서비스,소프트웨어아키텍처전반에대해컨설팅과강연을한다.블라드는기업이그비즈니스도메인을이해하고복잡한아키텍처문제를다룰수있게도움을주고있다.그는이스라엘북부에서아내와고양이들과함께살고있다.

역자:김민석
개발자로시작해소프트웨어아키텍트,플랫폼엔지니어로20년이상일하고있다.대규모프로젝트에서소프트웨어수명주기와관련된방법론을적용했고소프트웨어품질개선을위한자동화시스템구축및성능테스트경험이있다.인터넷기업에서대규모분산캐시시스템구축에참여했고빅데이터전문기업에서대규모데이터를다루는시스템개발에도참여했다.피보탈소프트웨어에서클라우드파운드리플랫폼아키텍트로활동했고현재는VMware에서클라우드네이티브아키텍트로서고객이쿠버네티스플랫폼을잘활용하도록돕고있다.옮긴책으로《마스터링스프링클라우드》(위키북스,2018)와《마이크로서비스인액션》(위키북스,2019)이있다.

역자:오창윤
브이엠웨어탄주랩스(VMwareTanzuLabs)에서아시아태평양지역의주요기업을대상으로컨설팅서비스를담당하고있다.또한탄주랩스서울오피스의창립멤버이며,아시아지역최초로VMware의도메인주도설계방법론인스위프트(SWIFT)의공인강사이자전문퍼실리테이터로임명되었다.특히애플리케이션현대화,애자일팀육성,린프로덕트매니지먼트,디지털트랜스포메이션분야에서17년이상의글로벌경험을가지고있는전문가다.VMware이전에는한국씨티은행장이후원하는한국씨티이노베이션랩을창립하여인공지능,블록체인등신기술기반의디지털혁신프로그램을총괄했다.혁신적인리더로서,고객중심혁신과창의적인문제해결을통해인력과조직을발전시키는데열정을가지고있다.또한기술,핀테크및금융국제콘퍼런스와포럼에서기조연설자로활동하고있다.

목차

[Part1]전략적설계

▣01장:비즈니스도메인분석하기
비즈니스도메인이란?
하위도메인이란?
__하위도메인의유형
__하위도메인비교
__하위도메인경계식별
도메인분석예제
__Gigmaster
__BusVNext
도메인전문가는어떤사람인가?
결론
연습문제

▣02장:도메인지식찾아내기
비즈니스문제
도메인지식찾아내기
커뮤니케이션
유비쿼터스언어란무엇인가?
비즈니스언어
__시나리오
__일관성
비즈니스도메인모델
__모델이란무엇인가?
__효과적인모델링
__비즈니스도메인모델링
__지속적인노력
__도구
__도전과제
결론
연습문제

▣03장:도메인복잡성관리
일관성없는모델
바운디드컨텍스트란무엇인가?
__모델경계
__정제된유비쿼터스언어
__바운디드컨텍스트의범위
바운디드컨텍스트대하위도메인
__하위도메인
__바운디드컨텍스트
__하위도메인과바운디드컨텍스트사이의상호작용
경계
__물리적경계
__소유권경계
실생활의바운디드컨텍스트
__시맨틱도메인
__과학
__냉장고구입
결론
연습문제

▣04장:바운디드컨텍스트연동
협력형패턴그룹
__파트너십패턴
__공유커널패턴
사용자-제공자패턴그룹
__순응주의자패턴
__충돌방지계층패턴
__오픈호스트서비스패턴
분리형노선
__커뮤니케이션이슈
__일반하위도메인
__모델의차이
컨텍스트맵
__유지보수
__한계
결론
연습문제

[Part2]전술적설계

▣05장:간단한비즈니스로직구현
트랜잭션스크립트
__구현
__그렇게쉽진않다!
__트랜잭션스크립트를사용하는경우
액티브레코드
__구현
__액티브레코드를사용하는경우
실용적인접근방식
결론
연습문제

▣06장:복잡한비즈니스로직다루기
배경
도메인모델
__구현
__구성요소
__복잡성관리
결론
연습문제

▣07장:시간차원의모델링
이벤트소싱
__검색
__분석
__원천데이터
__이벤트스토어
이벤트소싱도메인모델
__장점
__단점
자주묻는질문
__성능
__데이터삭제
__이렇게하면안될까요…?
결론
연습문제

▣08장:아키텍처패턴
비즈니스로직과아키텍처패턴
계층형아키텍처
__프레젠테이션계층
__비즈니스로직계층
__데이터접근계층
__계층간커뮤니케이션
__변종(variation)
__계층형아키텍처를사용하는경우
포트와어댑터
__용어
__의존성역전원칙
__인프라구성요소의연동
__변형
__포트와어댑터를사용하는경우
CQRS
__폴리글랏모델링
__읽기모델의프로젝션
__도전과제
__모델분리
__CQRS를사용해야하는경우
범위
결론
연습문제

▣09장:커뮤니케이션패턴
모델변환
__스테이트리스모델변환
__스테이트풀모델변환
애그리게이트연동
__아웃박스
__사가
__프로세스관리자
결론
연습문제

[Part3]도메인주도설계적용실무

▣10장:휴리스틱설계
휴리스틱
바운디드컨텍스트
비즈니스로직구현패턴
아키텍처패턴
테스트전략
__피라미드형테스트
__다이아몬드형테스트
__역전된피라미드형테스트
전술적설계의사결정트리
결론
연습문제

▣11장:진화하는설계의사결정
도메인변경
__핵심에서일반으로
__일반에서핵심으로
__지원에서일반으로
__지원에서핵심으로
__핵심에서지원으로
__일반에서지원으로
전략적설계문제
전술적설계문제
__트랜잭션스크립트에서액티브레코드로
__액티브레코드에서도메인모델로
__도메인모델에서이벤트소싱도메인모델로
__전환에필요한과거이력생성
__마이그레이션이벤트모델링
조직변화
__파트너십에서사용자-제공자로
__사용자-제공자에서분리형노선으로
도메인지식
성장
__하위도메인
__바운디드컨텍스트
__애그리게이트
결론
연습문제

▣12장:이벤트스토밍
이벤트스토밍이란?
누가이벤트스토밍에참석하나?
이벤트스토밍에무엇이필요한가?
이벤트스토밍과정
__1단계:자유로운탐색
__2단계:타임라인
__3단계:고충점
__4단계:중요이벤트
__5단계:커맨드
__6단계:정책
__7단계:읽기모델
__8단계:외부시스템
__9단계:애그리게이트
__10단계:바운디드컨텍스트
변형
이벤트스토밍을사용하는경우
진행팁
__활력도살피기
__원격이벤트스토밍
결론
연습문제

▣13장:실무에서의도메인주도설계
전략적분석
__비즈니스도메인이해하기
__현재설계탐색
현대화전략
__전략적현대화
__전술적현대화
__유비쿼터스언어육성
실용적인도메인주도설계
도메인주도설계확산
__실무에활용하는도메인주도설계
결론
연습문제

[Part4]다른방법론및패턴과의관계

▣14장:마이크로서비스
서비스란무엇인가?
마이크로서비스란무엇인가?
__서비스형메서드:완벽한마이크로서비스?
__설계목표
__시스템의복잡성
__깊은서비스로서의마이크로서비스
__깊은모듈로서의마이크로서비스
도메인주도설계와마이크로서비스의경계
__바운디드컨텍스트
__애그리게이트
__하위도메인
마이크로서비스의퍼블릭인터페이스압축하기
__오픈호스트서비스
__충돌방지계층
결론
연습문제

▣15장:이벤트주도아키텍처
이벤트주도아키텍처
이벤트
__이벤트,커맨드,메시지
__구조
__이벤트유형
이벤트주도연동설계
__분산된커다란진흙덩어리
__시간결합
__기능결합
__구현결합
__이벤트주도연동의리팩터링
__이벤트주도설계휴리스틱
결론
연습문제

▣16장:데이터메시
분석데이터모델과트랜잭션데이터모델의비교
__팩트테이블
__디멘전테이블
__분석모델
분석데이터관리플랫폼
__데이터웨어하우스
__데이터레이크
__데이터웨어하우스와데이터레이크아키텍처의도전과제
데이터메시
__도메인기준의데이터분리
__제품관점에서데이터다루기
__자율성활성화
__에코시스템구축
데이터메시와도메인주도설계를엮기
결론
연습문제

▣맺음말
문제
솔루션
구현
추가자료
__고급도메인주도설계
__아키텍처및통합패턴
__레거시시스템현대화
__이벤트스토밍
결론

▣부록A:DDD적용:사례연구
다섯가지바운디드컨텍스트
__비즈니스도메인
__바운디드컨텍스트#1:마케팅
__바운디드컨텍스트#2:CRM
__바운디드컨텍스트#3:이벤트크런처
__바운디드컨텍스트#4:보너스
__바운디드컨텍스트#5:마케팅허브
논의
__유비쿼터스언어
__하위도메인
__바운디드컨텍스트의경계
결론

▣부록B:연습문제정답

출판사 서평

★이책에서다루는내용★

◎개발하는시스템이회사의경쟁전략에어떻게부합하는지알아보기위해회사의비즈니스도메인을분석하는방법
◎비즈니스요건을충족하는효과적인소프트웨어솔루션을설계하기위해DDD의전략적,전술적도구를사용하는방법
◎당면한비즈니스도메인에대한공동의이해를쌓는법
◎시스템을바운디드컨텍스트로분해하는법
◎브라운필드프로젝트에서DDD를점진적으로도입하는법