[WEB] MCI, EAI, ESB 미들웨어


기업/기관 대규모 시스템 내부시스템에서 이기종 간에 데이터, 어플리케이션, 서비스들을 통합 및 데이터 공유를 위한 미들웨어에 대한 포스팅이다.



MCI

  • MCI(Multi Channel Integration)는 영업점, 인터넷 서비스, 콜센터, 단말, 자동화기기 등 기업/기관의 다양한 대외/내부 여러 채널(엔드포인트)를 효과적으로 연계 및 통합할 수 있도록 지원하는 미들웨어이다.
  • 기업/기관의 내부시스템과 채널의 중간에 위치하여 로드밸런싱 등 가용성 증가
  • 채널과 내부시스템 등을 독립적인 시스템이 가능하게 함으로 유연성 증가
  • 이기종간(서로 다른 소프트웨어, 어플리케이션)에 요청하는 데이터 전문변환, 트랜잭션, 라우팅 역할
  • MCA는 멀티 채널로 된 아키텍처를 지칭하며, MCI는 멀티 채널로 구성된 아키텍처의 통합(서비스 연계)를 지칭

금융권에서 MCI는 대외/내부 채널 영업점, 단말, 디지털창구, 인터넷뱅킹, 폰뱅킹, 금융공동망, 금융결제원 등 여러 대외채널증가로 채널통합관리 역할로 사용된다.



EAI

  • EAI(Enterprise Application Integration)는 주로 기업 내부 이기종 시스템을 연계 시키는 Hub&Spoke 방식인 전사적 애플리케이션을 통합하기 위한 미들웨어이다.
  • 브로커(Broker), 어댑터(Adapter), 버스(Bus), 트랜스포머(Transformer) 구성요소로 EAI가 중개자 역할로 메시징으로 각 서비스들을 Publish(발행)/Subscribe(구독)
    • 표준화 되지 않은 이기종 시스템(소프트웨어, 어플리케이션)간의 연동을 가능하게 메시지 전달로부터 거래(트랜잭션)를 원자성, 일관성을 유지하기 위한 트랜잭션 네트워크를 통합 관리
    • 이기종간에 데이터 변환 기능(XML, JSON, HTTPS, JMS 등), 거래전문 변환 및 매핑 역할로 데이터 통합 관리
    • 중앙집중식이기에 EAI 시스템 벤더사에 종속적

금융권에서는 EAI는 수신(예금,출금,이체), 여신(상품,대출), 대행, 외환 등 거래 중심 업무가 중요하고 서로 다른 레거시 시스템들이 많기 때문에 계정계, 내부시스템에서 사용된다.



ESB

intellij-vm-profiles-active-s1

  • ESB(Enterprise Service Bus)는 서비스들을 상호연동을 구현하는 서비스 중심으로 메시지방식을 이용한 Backbone 역할로 SOA를 지원하는 미들웨어이다.
  • 기존에 있는 많은 레거시 시스템들과 새로 생기는 시스템들이 많아지고 이기종간의 통합이 많아지다 보니 이를 아에 표준화하고자 하는 아키텍쳐가 SOA (Service Oriented Archtiecture: 서비스 지향 아키텍쳐) 이다.
    • EAI처럼 별도의 어댑터가 불필요

많은 웹 서비스들은 웹표준 기술에 맞춰 독립 된 서비스로 발전하다 보니 대규모 웹 서비스들은 자연스레 MSA방식을 채택하게 된다. [참고 - 독립 된 웹 서비스]
하지만, 기업/기관 내부시스템들은 REST 아키텍처를 적용하기에는 힘들기에 그나마 ESB 방식인 솔루션을 적용하거나 시스템 구조적으로 편한 EAI를 채택하는거 같다.




[참고]

  • https://itwiki.kr/w/시스템_연계_솔루션
  • http://www.bikorea.net/news/articleView.html?idxno=6189
  • http://m.bikorea.net/news/articleView.html?idxno=21715
  • http://www.bikorea.net/news/quickViewArticleView.html?idxno=19622
  • http://www.dator.co.kr/yjna/textyle/90302
  • https://linked2ev.github.io/devlog/2019/10/06/WEB-REST-is-the-independent-evolution-of-the-web/