너와 나의 연결 고리! EAI와 MCA 생각해보기
그 거래는 MCA타고 FEP가서 외부로 나가요.
FEP까지는 대외계를 공부하면서 어떻게 알게 되었는데, MCA는 또 무엇이란 말인가. 채널계, 대외계, 계정계, 정보계 내에는 수많은 프로그램들이 들어있다. 거기다가 업무에 현업들이 사용하는 백오피스 시스템, ERP 등 까지 합치면 정말 많은 서비스들이 상호 연계가 되어 있다. 이를 그냥 1 : 1로 연결한다면 어떻게 될까? n개의 시스템이 있다고 하면 n(n-1)개의 연결이 생길 것이다. 일단 수가 많기도 한데다가, 특정한 거래가 집중되면 영향도가 매우 클 수 밖에 없다. 그러다 보니 이를 효율적으로 연계하는 솔루션이 EAI와 MCA다. 비슷하지만 다른 두 개념을 한번 살펴보자.
시간이 아까운 분을 위해 선요약 하면 : 둘 다 시스템간 연계를 하는 솔루션이다!
EAI는 Enterprise Application Integration의 약자다. 말 그대로 다양한 시스템 간의 데이터 통합을 하기 위한 솔루션이다. 고객의 데이터가 있으면, 이 데이터는 마케팅하는데도 사용되어야 하고, 고객센터에서 정보를 확인하는데도 쓰여야 한다. 그리고 고객에게 이벤트 등으로 지급한 금액이 있다면, ERP에도 연계되어서 지급액이 보여야 한다. 이렇게 시스템 간의 데이터 변환, 프로토콜 변환, 데이터 품질 검사 등을 담당하는 것이 바로 EAI다. 즉, 다양한 시스템들이 "서로 말을 통하게 하는 것"이 목적이다.
MCA는 Message Channel Agent의 약자다. 다양한 시스템 간의 연결을 지원하며, 메시지 중계 기능을 수행하는 솔루션이다. A시스템에서 B시스템으로 이벤트를 전달해야 한다고 한다면, MCA 사용 시에 A 시스템은 MCA로 이벤트를 보낸다. 그 뒤에 MCA가 B 시스템으로 이벤트를 전달한다. 왜 굳이 이렇게 하나 싶을 수도 있겠지만, 앞에서 살펴본 것 처럼 n(n-1)개의 연결을 만들지 않기 위함이기도 하고, 특정 거래가 밀리는 것을 MCA를 통해 모니터링 및 유량제어를 할 수도 있다.
EAI와 MCA는 비슷해 보이지만, 약간 다른 역할을 한다. EAI는 데이터의 통합, 품질관리에 집중하는 반면 MCA는 메시지의 전달과 흐름 제어에 집중한다. 즉, EAI는 시스템간의 "통역가" 역할을 하며 서로 다른 시스템이 이해를 돕는다면, MCA는 "우체부"역할을 해서 메시지를 받고, 전달하는 과정에서 효율성과 안전성을 담당한다. 그러나 지금까지 우리 회사에서는 두 개념을 혼용해서 쓰고있긴 하다.
MCA는 멀티 채널로 된 아키텍처를 지칭하며, MCI는 멀티 채널로 구성된 아키텍처의 통합을 말하나, 실무에서는 잘 구분해서 쓰지는 않는다고 한다. MCA/MCI는 메시지를 중간에서 전달하는 허브의 역할을 하는 것이라고만 알고 있으면 개발자의 말을 어느정도 이해할 수 있다.
[참고]