DATOR


27.선진모델(2)-상품팩토리(4) 기본 카테고리


상품팩토리의 두번째 요소인 상품의 최소단위 부품화를 알아 봅니다.

 

자동차는 약 2만개의 부붐으로 이루어져 있다고 합니다.
각 부품은 자신 만의 속성을 가지고 있습니다.
길이, 높이, 부피, 재질, 강도..

 

자동차같은 개체 상품들은
대부분 이미 조립형태의 상품구성 구조를 가지고 있습니다.

 

정확히 말하면 상품구조가 아닌 모델구조 입니다.
이유는 앞 쪽의 상품과 모델의 차이편을 보시면 됩니다.
(지금부터 모델이라고 칭합니다.)

 

소나타라는 모델의 조립구조를  제작사에서 관리하고 있겠지요.
이구조를 bom(Bill Of Material) 구조라고 합니다.

 

불행하게도 과거에는 개체모델이 아닌 서비스 모델 영역에서는
이런 기법이 도입이 안되었습니다.

 

현재는 금융서비스, 통신서비스가 가장 규모가 큰 서비스 군인데
은행의 xx저축,  통신사의 xx인터넷 등은 단일 모델으로 개발되었습니다.

 

서비스모델도 조립이 가능하다는 개념을 도입해 보자는 아이디어가 나왔고
이것을 반영한 구조가 이번 글의 주제입니다.

 

결론적으로 구조는 bom 하고 똑 같습니다.
차이는 서비스 모델은은 부품이 아니라  단위서비스라는 것들의 조합이 된다는 것만 다릅니다.

 

서비스모델과 단위서비스 모델을 한 엔티티로 통합하면
이  통합엔티티서에서  M:M bom 구조 관계를 만들면 끝납니다.
(bom 구조는 인터넷 검색 창에 치시면 많이 나옵니다.
참고 바랍니다.)

 

여기서 주의할 것은
단위서비스가 모여서 서비스모델이 된 것처럼
서비스모델이 모여서 새로운 서비스 모델이 될 수 있다는 것입니다.

또 하나는 단위서비스가 모든 기능 전체를 데이터화 하는 것이 아니라
과금 즉 요금에 관련된 요소만 데이터화 하여 구성한다는 것입니다.
물론 전체 단위 서비스를 다 데이터화 해도 되겠지만 최소단위를 어떻게 할 것인가 등등의 문제가 대두되고
결국 요금이 결정되는 단위가 선택되게 됩니다.

 

서비스 모델과 단위 서비스는 각각의 고유한 속성 갖게 됩니다.
각 서비스 모델과 단위 서비스는  사용하는 속성의 종류와 개수가 다를 수 있습니다.
또한
bom에서는 조립관계 즉 단위 서비스의 구성관계를 관리하지만
여기에 관계 시에 결정되는 속성이 추가될 수 있습니다.
예들 들어 A라는 단위서비스는 요금이 기본적으로는 100원인데
B라는 서비스 모델의 요소로 포함되었을 때는 80으로 적용되고
C라는 서비스 모델의 요소로 포함되었을 때는 70으로 적용될 수 있기에
통합엔티티에도 가격이라는 속성이 있지만 구성관계엔티티에 가격 속성이 또 추가될 수 있습니다.
하지만 구성관계엔티티에 추가될 속성의 개수는 서비스모델과 단위서비스의 통합엔티티처럼 많지 않습니다.
위의 예처럼 대부분 공통된 요소만 적용됩니다.

 

그러면 이 구조가 왜 상품을 빨리 개발할 수 있게 할까요?
A라는 서비스 모델을 개발할 때
가,나,다 라는 단위 서비스 구성하고
각 단위 서비스의 원가를 적용하면 어느 정도의 마진이 나올 수 있다는 것을 쉽게 시뮬레이션 할 수 있습니다.
또한 서비스를 시행할 때 이미 각 단위 서비스별 관련 정보데이터가 구성되어 있기 때문에
새로운 모델에 관련된 정보를 새로게 구축하지 않아도 됩니다.
예를 들어 자동차 보험을 가입할  때 대인,대물, 자차, 자손 이렇게 네가지 담보 중에서
차가 오래되어 자차는 빼고 가입한다고 했을 때
데이터 구성이 대인, 대물, 자차, 자손(단위서비스로 보면 됩니다)으로 별도로 되어 있고
판매 모델이 이것들의 조합으로 구성된다면
판매 모델에 대인, 대인, 대물의 개별적인 데이터를 새롭게 인서트할 필요가 없습니다.
기존 단위서비스 데이터가 자신의 기본적인 정보를 다 가지고 있기 때문입니다.

 

여기서 한 걸음 더 나아가
현재 자동차 보험은 개인용자동차보험이라는 모델로 개발된 상품을 개인이 구매하고
그 안에서 각 담보별로 약정을 맸는 것입니다.
그 중에는 반드시 구매해야 할 담보가 있고 옵션이 있습니다.
즉 상품의 모델은 필수단위서비스와 옵션단위서비스 등으로 구성됨을 알 수 있습니다.

 

여기서 한 걸음 더 나아가
어떤 사람이 자동차보험, 화재보험을 따로 돈내기 싫고 한꺼번에 내고, 가격도 좀 깍아달라고 하면
이 둘을 통합한 보험 모델을 개발해야 합니다.
이럴때 위의 구조는 위력을 발휘합니다.
새로운 통합보험모델을 하나 등록하고
구성관계엔티티에   이 셋의 관계 정보를 등록합니다.
그리고 구성관계엔티티에 이 통합모델에만 적용되는 값을 입력하면 끝입니다.
물론 새로운 통합 상품의 속성을 엔티티메타인 통합엔티티에 정의해야 합니다.

 

그런데 아직 문제가 남아 있습니다.

엔티티 메타는 속성이 미정이기 때문에 매번 속성을 정의하고,
이것을 관리하는 것이 불편합니다.
이것을 깔끔하게 해주는 것이 필요합니다.

이것이 상품팩토리라는 패키지의 주요한 기능 중 하나입니다.
다음에 계속...

 


 


 

Tag :

Leave Comments