더북(TheBook)

동사(verb)에 주목하라: 동사는 행동을 강조하고 종종 문제 영역의 윤곽을 자연스럽게 드러낸다. “트랜잭션 X는 어떤 A와 B에서 데이터를 가져와야 합니다.”라고 한다면 일반적으로 여러 서비스가 동작 중임을 암시한다. 이 방식을 O-stock 애플리케이션에 적용하면 “데스크톱 서비스 부서의 마이크(Mike)는 새로운 PC를 셋업할 때 소프트웨어 X에 대한 가용 라이선스 수를 조회하고 라이선스 여분이 있다면 X를 설치한다. 그다음 장부에 사용된 라이선스 수를 업데이트한다.”와 같다. 여기에서 핵심 동사는 조회하다(looks up)업데이트하다(updates)이다.

데이터 응집성(cohesion)을 찾아라: 비즈니스 문제를 개별 부분으로 나눌 때 서로 연관성이 높은 데이터 부분을 찾아야 한다. 통신 중 갑자기 지금까지 논의한 것과 전혀 다른 데이터를 읽고 업데이트한다면 또 다른 서비스 후보가 나타났다고 볼 수 있다. 마이크로서비스는 완전히 자기 데이터를 가져야 하기 때문이다.

이 지침을 바탕으로 소프트웨어 자산 관리에 사용되는 O-stock 소프트웨어 같은 현실 문제에 적용해 보자(이 애플리케이션은 2장에서 소개했다). 다시 말하자면 O-stock은 고객 데이터 센터에서 운영되고, 자바 EE 애플리케이션 서버에 배포되는 Optima Growth사의 모놀리식 웹 애플리케이션이다. 우리 목표는 기존 모놀리식 애플리케이션을 서비스(들)로 분해하는 것이다. 이를 달성하기 위해 우리는 O-stock 애플리케이션 사용자 및 이해 관계자를 인터뷰해서 그들이 애플리케이션과 상호 작용하고 사용하는 방법을 논의하기 시작할 것이다. 그림 3-1에 다양한 비즈니스 고객과 나눈 대화 내용 중에서 일부 명사와 동사를 요약 정리했다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.