O-stock 사용자가 이 애플리케이션과 상호 작용하는 방식을 보고 다음 질문에 답을 하면서 애플리케이션의 데이터 모델을 식별할 수 있다. 이것으로 O-stock의 문제 영역을 마이크로서비스 후보로 분해할 수 있다.
• 엠마가 관리하는 계약 정보를 어디에 저장할 것인가?
• 라이선스 정보(비용, 라이선스 타입, 라이선스 소유자, 라이선스 계약)는 어디에 저장하고 어떻게 관리할 것인가?
• 제니는 PC에 라이선스를 설정한다. 자산을 어디에 저장할 것인가?
• 앞서 언급한 모든 개념을 고려하면 라이선스가 여러 자산을 보유한 조직에 속해 있음을 알 수 있다. 그렇다면 조직 정보를 어디에 저장할 것인가?
그림 3-2는 Optima Growth 고객과 나눈 대화를 기반으로 단순화한 데이터 모델을 보여 준다. 비즈니스 인터뷰와 데이터 모델을 바탕으로 마이크로서비스 후보는 조직(organization), 라이선스(license), 계약(contract), 자산(assets)이다.
▲ 그림 3-2 단순화된 O-stock 데이터 모델: 조직은 많은 라이선스를 보유할 수 있고, 라이선스는 하나 이상의 자산에 적용될 수 있으며, 각 라이선스에는 계약이 있다