EAI(Enterprise Application Integration, 전사적 애플리케이션 통합) 는
기업 안에 흩어져 있는 서로 다른(이기종) 애플리케이션과 시스템들을 연결해서, 데이터와 업무 프로세스가 하나의 흐름처럼 동작하도록 만드는 기술이자 아키텍처, 방법론을 말합니다.
쉽게 말하면,
서로 다른 언어를 쓰고, 서로 다른 DB를 쓰고, 서로 다른 시대에 만들어진 시스템들이
서로 대화할 수 있게 해주는 통역사 + 교통정리 담당
이라고 볼 수 있어요.
기업이 성장하면서 업무별로 시스템을 하나씩 도입합니다.
각 시스템은 도입 시기도, 개발 언어도, DB도, 통신 방식도 다 다릅니다.
그런데 업무는 이 시스템들을 가로질러서 일어나죠.
예) 주문이 들어오면 → 재고 확인 → 생산 계획 반영 → 회계 처리 → 고객에게 알림
처음엔 필요할 때마다 시스템끼리 직접 연결했습니다. 이를 Point-to-Point(P2P) 방식이라고 합니다.
시스템이 몇 개 없을 땐 괜찮지만, 늘어날수록 연결 수가 폭발합니다.
연결 수 = n(n-1) / 2
시스템 5개 → 최대 10개 연결
시스템 10개 → 최대 45개 연결
시스템 50개 → 최대 1,225개 연결
이런 구조를 흔히 스파게티 아키텍처라고 부릅니다.
EAI는 이 문제를 해결하기 위해 1990년대 후반부터 본격적으로 등장했습니다.
[A] ──── [B]
│ ╲ ╱ │
│ ╲ ╱ │
│ ╳ │
│ ╱ ╲ │
[C] ──── [D]
[A]
│
[D] ─ [HUB] ─ [B]
│
[C]
[A] [B] [C] [D]
│ │ │ │
═══════════════════════════ Bus
| 구성 요소 | 역할 |
|---|---|
| 어댑터 (Adapter) | 각 시스템(DB, ERP, 파일, 소켓 등)과 EAI를 연결하는 플러그. 시스템마다 다른 접속 방식을 흡수 |
| 메시지 브로커 / 통합 엔진 | 메시지를 받아서 어디로 보낼지 결정하고 전달하는 핵심 엔진 |
| 메시지 큐 / 미들웨어 | 메시지를 안전하게 저장·전달. 수신 측이 죽어 있어도 유실되지 않게 보장 |
| 변환 (Transformation / Mapping) | A 시스템 포맷 → B 시스템 포맷으로 데이터 구조·형식 변환 |
| 라우팅 (Routing) | 메시지 내용이나 조건에 따라 목적지를 결정 |
| 프로세스 관리 (BPM / Workflow) | 여러 시스템을 거치는 업무 흐름을 순서대로 조율 |
| 모니터링 / 관리 도구 | 인터페이스 상태, 처리 건수, 에러, 재처리 등을 관리 |
EAI는 어느 층에서 연결하느냐에 따라 나눠 보기도 합니다.
| 구분 | 동기 (Synchronous) | 비동기 (Asynchronous) |
|---|---|---|
| 동작 | 요청 후 응답이 올 때까지 대기 | 보내고 바로 다음 일 처리 |
| 예시 | 실시간 조회, 승인 요청 | 주문 전달, 대량 데이터 전송 |
| 장점 | 결과를 즉시 확인 | 결합도가 낮고 장애에 강함 |
| 단점 | 상대가 느리거나 죽으면 같이 멈춤 | 결과 확인/순서 보장이 복잡 |
| 방식 | 특징 |
|---|---|
| DB (JDBC 등) | 테이블 폴링, 송신 테이블/수신 테이블 방식. 가장 흔함 |
| File (FTP / SFTP) | 파일을 떨궈두면 가져가는 방식. 배치에 많이 사용 |
| Socket (TCP/IP) | 전문을 소켓으로 주고받음. 금융권·레거시에서 여전히 많음 |
| HTTP (REST / SOAP) | 웹 서비스 기반. 최근 신규 연계는 REST 비중이 큼 |
| MQ / JMS | 메시지 큐 기반 비동기 연계. 신뢰성 있는 전달 보장 |
IF_ORDER_0001)| 구분 | EAI | ESB |
|---|---|---|
| 등장 | 1990년대 후반 | 2000년대 초중반 (SOA와 함께) |
| 구조 | 주로 Hub & Spoke | Bus 기반 분산 구조 |
| 표준 | 벤더 독자 방식 비중이 큼 | 웹 서비스(SOAP, XML) 등 표준 기반 |
| 관점 | 애플리케이션 간 연결 | 서비스 단위 재사용 (SOA의 백본) |
실무에서는 제품들이 양쪽 기능을 다 가지게 되면서 경계가 많이 흐려졌고, 현장에서는 EAI/ESB를 섞어서 부르는 경우도 많습니다.
| 솔루션 | 비고 |
|---|---|
| TIBCO BusinessWorks | 대표적인 EAI/ESB 솔루션. TIBCO는 현재 Cloud Software Group 소속 |
| webMethods | Software AG의 통합 솔루션이었으나 2024년 IBM에 인수됨 |
| IBM App Connect | 구 IBM Integration Bus / WebSphere Message Broker 계열 |
| Oracle SOA Suite | 오라클의 SOA/통합 플랫폼 |
| Microsoft BizTalk Server | MS 계열 통합 서버 |
| MuleSoft Anypoint | API 중심 통합 플랫폼, Salesforce 소속 |
국내에도 SI사나 솔루션사가 자체 개발한 연계 솔루션이 많이 쓰입니다.
기술 이름은 바뀌어도 "서로 다른 시스템을 안전하게 연결한다" 는 문제는 사라지지 않는다.
EAI = 이기종 시스템들 사이에 서서, 연결·변환·전달·관리를 전담하는 통합 계층