내부 연계 : EAI와 MCI
[금융IT] 금융 시스템의 구조 : 채널계, 계정계, 정보계 톺아보기
처음 금융 IT 프로젝트에 투입되고, 새로운 용어들 속에 굉장히 혼란스러웠다. 채널계와 계정계를 나눠서 프로젝트를 진행하는 것 같은데… 각각이 무엇을 의미하는 지는 모르겠고, MCI와 EAI를
nayoungs.tistory.com
위 글에서 정리했듯이, 금융 시스템은 채널계, 정보계, 계정계 등으로 구분되며, 각각에는 수많은 프로그램과 시스템들이 있다. 이들을 단순히 1:1로 연결한다면 어떻게 될까? 그 수가 많을 뿐만 아니라, 특정 거래로 집중된다면 영향도가 클 수 밖에 없다. 그렇다 보니 이들을 효율적으로 연계하는 솔루션이 필요하고, 그것이 바로 내부연계 시스템인 EAI와 MCI이다.
💡 우선 짚어보기 앞서 EAI와 MCI는 모두 시스템 간 연계를 하는 솔루션 임을 알고 넘어가자.
금융앱빌런님의 글을 기반으로 내부 연계에 대해 살펴보자.
시스템간 데이터를 통합하는 EAI
EAI는 Enterprise Application Integration의 약자이다. 말 그대로 다양한 시스템간의 데이터 통합을 하기 위한 미들웨어 솔루션이다. 고객의 데이터가 있으면, 이 데이터는 마케팅하는 데도 사용되어야 하며, 고객센터에서 정보를 확인하는 데도 쓰여야 한다. 그리고 고객에게 이벤트 등으로 지급한 금액이 있다면, ERP에도 연계되어서 지급액이 보여야 한다. 이렇게 시스템 간의 데이터 변환, 프로토콜 변환, 데이터 품질 검사 등을 담당하는 것이 바로 EAI이다. 즉, 다양한 시스템들이 “서로 말을 통하게 하는 것”이 목적이다.
시스템간 메세지를 전달하는 MCI(MCA)
MCI(MCA)는 Multi Channel Architecture(Message Channel Agent)의 약자이다. 다양한 시스템 간의 연결을 지원하며, 메세지 중계 기능을 수행하는 미들웨어 솔루션이다. A 시스템에서 B 시스템으로 이벤트를 전달해야 한다고 한다면, MCI(MCA) 사용 시에 A 시스템은 MCI(MCA)로 이벤트를 보낸다. 그 뒤에 MCI(MCA)가 B 시스템으로 이벤트를 전달한다. 왜 굳이 이렇게 하나 싶을 수도 있겠지만, 앞에서 살펴본 것처럼 n(n-1)개의 연결을 만들지 않기 위함이기도 하고, 특정 거래가 밀리는 것을 MCI(MCA)를 통해 모니터링 유량 제어를 할 수도 있다.
예를 들어 은행에서 여신 업무와 수신 업무는 MCI(MCA)를 통해 연계된다. MCI와 MCA는 기업마다 다르게 부를 수 있지만 의미 차이는 크게 두지 않는다. MCA는 멀티 채널로 된 아키텍처를 지칭하며, MCI는 멀티 채널로 구성된 아키텍처의 통합을 말하나, 실무에서는 잘 구분해서 쓰지는 않는 것 같다. MCI/MCA는 메세지를 중간에서 전달하는 허브의 역할을 하는 것이라고 이해하면 된다.
💡 여신(loan)이란?
금융 업무를 하는 회사(은행)에서 고객에게 돈을 빌려 주는 일을 의미한다. 일반적으로 제 1금융권 및 제2금융권 등의 금융기관에서 돈을 빌려주는 것을 의미하나, 대부업체 등의 사금융 회사에서 돈을 빌려주는 것도 여신 업무에 해당한다.
💡 수신이란?
여신의 반대말로, 금융 업무를 하는 회사(은행)에서 고객의 돈을 맡아 예금으로서 예치하는 일을 의미한다. 주로 수신 업무를 하는 곳은 은행 등의 제 1금융권이며, 캐피탈 등 제 2금융권이나 사금융권이 대부업체에서는 돈을 빌려주는 여신 업무만 다루고 수신 업무는 하지 않는 것이 보통이다.
그러면 뭐가 다를까?
EAI와 MCI는 비슷해 보이지만, 약간 다른 역할을 한다. EAI는 데이터의 통합, 품질관리에 집중하는 반면 MCI는 메세지의 전달과 흐름 제어에 집중한다. 즉, EAI는 시스템 간의 “통역가” 역할을 하며 서로 다른 시스템이 이해를 돕는다면, MCI는 “우체부” 역할을 해서 메세지를 받고, 전달하는 과정에서 효율성과 안전성을 담당한다.
그러나 지금까지 필자가 경험해본 바로는 EAI와 MCI를 혼용해서 사용하는 것 같다. 실제로 금융 IT 프로젝트를 보면 MCI에서 EAI로 전환하거나 그 반대로 전환하는 경우가 있다.
외부 연계 : FEP
대외 연계를 책임지는 FEP
금융권에서 돈의 흐름은 한 곳에서만 이루어지지 않는다. 특히 증권체계의 경우, 돈의 “처리”는 “거래소에서 담당”하고 “증권사”는 “처리결과를 받고” 해당 정보를 바탕으로 계좌를 관리하는 등 고객과 직접 마주보면서 증권 거래를 진행한다. 돈의 흐름이 한 곳에서만 이루어지지 않는다는 의미는 결국 증권사 한 곳에서만 돈이 움직이지 않는다는 것이다. 실질적으로 고객의 정보, 약속에 따라 돈이 움직이는 곳은 거래소이고, 거래소에서 체결한 결과를 최종적으로 증권사에 전송하면, 증권사는 그 체결 내용을 받아 고객 계좌에 반영하거나 기록하는 역할을 하게 된다. (고객 계좌를 관리하는 곳은 증권사이기 때문이다)
즉 은행에서 다른 은행에 돈을 보내거나, 신용점수를 조회하는 등의 다양한 업무를 진행할 때는 금융결제원이나 신용정보원 같은 대외 기관과의 협력이 필요하다. 이때 계정계와 대외기관이 통신할 때 사용하는 시스템이 대외연계 시스템이고, 이 시스템은 FEP라고 불린다. FEP는 Front-End Processor의 약자로, 핵심 업무는 대외기관과의 메시지를 주고 받는 것이다. 증권사는 FEP를 통해 거래소로부터 받은 체결 정보를 빠르게 받고, 관련한 대응을 할 수 있다.
대부분의 국내 금융사는 외부 업체의 FEP 솔루션을 사용하고 있다. 기존에 FEP에 익숙한 전문 인력만 FEP를 관리하고 유지보수할 수 있었던 데 반해, FEP를 직접 구축한 토스뱅크의 사례가 있으니, 관심 있는 사람은 다음 영상을 한번 봐보면 좋을 것 같다.
Reference