Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

도메인 주도개발에 이야기하는 컨텍스트 맵핑을 이용하여 API의 관계에대해 관계에 대해 구체적인 사례와함께 표현해보겠습니다.


공개호스트 - OpenHostService

...

draw.io Board Diagram
bordertrue
diagramName반부패계층
simpleViewerfalse
width
linksauto
tbstyletop
lboxtrue
diagramWidth441
revision56

라인의 메시지 발송( OpenAPI,OHS)과 카카오의 발송 API(폐쇄적,UD)를 함께 이용할수 있는API를 제작해야하고 있고 개발팀에 제공한다고 가정해봅시다.

이런경우 상류 API를 이용은 하지만 부패 방지 레이어를 별도로 구성하여 이것을 이용하는팀의 요규사항에 맞게 새로운 모델로 변환할수 있습니다.

실제로도 라인 API의경우 OpenAPI에 가깝고 KAKAO API의 경우 비공개로 폐쇄형에 가깝습니다.


파트너쉽

draw.io Board Diagram
bordertrue
diagramName파트너쉽
simpleViewerfalse
width
linksauto
tbstyletop
lboxtrue
diagramWidth427
revision2

상담기능을 위한 네이버 톡톡 API가 존재하지만 그것을 이용하여 채팅시스템을 작성하는 개발팀이 유일하다고 가정해봅시다.

이 경우 파트너쉽 관계로 함께 성장하거나 함께 망할수 있는 관계로 가장 적극적으로 지원할수 있습니다.

추후 서로의 의존성이 줄어든다고 하면 다른 관계로 맵핑관계가 변경될수 있습니다.


추가적인 예를 하나를 더 들면 카카오톡의 친구톡 API가 파트너사를 통해 비즈니스 확장이 되었지만, 파트너사를 통해 시장을 이미 확보했기때문에

이 관계를 변경하고 상위업체는 새로운 API관계를 통해 비즈니스 관계를 새롭게 만들수 있습니다.

파트너쉽은 언제든 이익관계또는 아키텍처변경에 아키텍처의 의존관계에 의해 깨지거나 변경될수 있다란 의미입니다.의미이며 실제로 일어나고 있는 일입니다.


파트너쉽이 꼭 외부만 적용되는것이 아닌 동일회사 내부팀간에도 적용할수 있으며

CS팀과 그로인해 발생하는 트래픽으로 마케팅을 개발하는팀은  한쪽이 없으면 안되는 관계로 파트너쉽 관계로 표현할수 여기서는 외부개발사와 파트너쉽을 설명하였으며, 동일회사의 개발팀관계라 할지라도 파트너쉽관계로 설명될수 있습니다.



이것을 종합하여 다음과같이 가상으로 외부 API를 이용하는 개발서비스와함께 API  맵핑 관계를 그려보겠습니다.

...

  • CS기능이 시작됨으로 마케팅기능을 이용할수 있으며 CS의 최종 BM은 CS가 아닌 마케팅을 통한 BM이다. 그래서 두개의 팀은 파트너관계로 설정되어있다.
  • 우리는 메시지팀이 있으며 이 팀은 카카와 라인의 채널을 이용하여  일괄된 상담 API를 제공한다.
  • 메시지팀은 라인의 OpenAPI를 그대로 이용하지만, 카카오의 경우 이것을 이용할수 있는 파트너고객사로 기능을 요청하기도한다.
  • 우리는 CS팀에서 발생한 데이터를 통해 세그멘테이션을 하고 페이스북에 피드를 보내거나 광고를 집행할수가 있다..


다양한 외부 채널(API)을 연동하고 하나의 채널인 것처럼 보여야하는 옴니채널 개발에 고민을 하는 개발사라고하면 이러한 복잡한 API이용 관계를 컨텐스트 맵핑을 활용해 표현할수 있습니다.

물론 이것은 자사의 서비스가 다양한 API로 구분되어있을때도 적용할수 있습니다.



DDD에서 컨텐스트간의 관계를 표현하는 컨셉인 ContextMapping을 참고하였습니다.

Image Added참고자료

...