티스토리 뷰
기업 등 대규모 시스템에서 데이터연계는 선택이 아닌 필수가 되어가고 있습니다. 제가 직접적으로 관련된 것은 아니지만 업무를 수행하는 중에 EAI연계, ESB연계라는 용어를 듣고 그 차이점이 궁금해서 정리해 보았습니다.
EAI(Enterprise Application Integration)와 ESB(Enterprise Service Bus) 두가지 모두 기업 내부의 다양한 시스템을 통합하여 데이터를 공유하고 프로세스를 자동화하는 데 사용되는 기술입니다.

EAI(Enterprise Application Integration)
EAI는 내부 전산 시스템들을 하나의 통합 플랫폼으로 연결하는 방식입니다. 직접 연결하는 것이 아니라 중간에 통합엔진을 두고 데이터를 변환합니다.
각 애플리케이션을 개별적으로 연결하는 방식으로 시스템 간의 의존도가 높습니다. 통합 로직이 중앙 서버에 집중되어 있어 관리가 복잡해질 수 있습니다. 특정 벤더의 기술에 의존하는 경우가 많아 시스템 변경 시 어려움이 발생할 수 있습니다.
빠른 구축이 가능하며 구조가 단순하여 이해하기 쉽고 구현이 간단하다는 장점이 있습니다. 반면 유지보수가 어렵고 시스템이 커지면 비용이 증가하며 확장성이 부족합니다.
EAI 방식은 네가지로 구분되며 각 방식은 시스템규모와 구조에 따라 선택됩니다.
1. 포인트 투 포인트(Point to Point)
가장 기본적인 형태로 시스템간 일대일로 직접 연결하는 방식입니다. 연결구조가 단순하고 개발이 빠르지만 시스템 수가 늘어나면 유지보수와 확장이 어려운 단점이 있습니다.
2. 허브 앤 스포크(Hub & Spoke)
단일 접점인 허브 시스템을 통해 데이터를 전송하는 중앙 집중형 방식입니다. EAI에서 가장 일반적으로 사용되는 방식이며 허브가 데이터 변환과 라우팅을 전담합니다. 시스템 허브만 바라보면 되기 때문에 구조가 단순하다는 장점이 있지만, 허브에 부하가 집중되고 장애 발생시 전체 시스템에 영향을 미칩니다.

3. 메시지 버스(Message bus)
허브없이 메시지 버스를 통해 시스템간에 데이터를 주고 받습니다. 애플리케이션 사이에 미들웨어를 두어 느슨하게 연결되며, 비동기 처리에 강하고 확장성이 높습니다. 시스템간에 직접 연결되지 않고 메시지를 버스를 통해 발생합니다. 이를 구독한 시스템만 메시지를 받아 처리하는 방식입니다.
4. 하이브리드(Hybrid)
하이브리드 방식은 말 그대로 3가지 방식을 적절히 조합하여 사용하는 것입니다. 주로 허브 앤 스포크 방식과 메시지 버스 방식을 혼합합니다. 특정 시스템간에 다른 방식을 사용하게 되어 설계가 복잡할 수 있으나 유연성은 가장 높은 방식입니다.
ESB(Enterprise Service Bus)
ESB는 시스템을 서비스 단위로 추상화하여 연계하는 방식입니다. 중앙 허브가 아닌 버스 구조를 통해 서비스 간에 통신을 주관합니다. 단순한 데이터 전달을 넘어 서비스 라우팅, 트랜잭션 관리, 보안 처리, 메시지 변환 등을 자체적으로 수행하는 기능을 가지고 있습니다.
각 시스템은 ESB를 통해 서비스를 제공하고 소비하며 시스템 간의 의존도가 낮습니다. 모든 메시지가 ESB를 통해 전달되어 관리가 용이합니다. SOAP, REST 등 표준 프로토콜을 사용하여 시스템 간의 상호 운용성을 높입니다.
확장성과 재사용성이 뛰어나며, 시스템 변경에 대한 적응력이 좋습니다. 단점으로는 도입 비용이 높고, ESB를 이해하고 관리하기 위해 전문적인 지식이 필요하다는 것입니다.

ESB 구성요소
ESB는 각 부서나 업무의 프로세스를 분산처리가 가능하도록 지원하는 프레임워크입니다. 이를 위해 이기종간 통합이나 중앙 모니터링을 위한 웹서비스 기술을 사용합니다. ESB 시스템은 분산 서비스 아키텍처를 바탕으로 다음과 같은 세부 구성요소를 통해 구축할 수 있습니다.
1. 프로세스
프로세스는 여러 서비스들의 흐름으로 구성되는데 하위의 서브 프로세스를 가질 수 있습니다. 시작부터 종료시까지 ESB기반 위에서 실행됩니다. 다양한 프로세스를 관리하기 위해 ESB 내부에 프로세스 관리자를 둘 수 있습니다.
2. 서비스 컴포넌트
프로세스를 구성하는 단위로 하나의 Activity를 의미합니다. 서비스 자체만으로 하나의 독립된 처리를 수행할 수 있으며, 메시지를 통해 다른 외부의 서비스를 호출하는 것도 가능합니다.
3. Adapter
기존의 시스템과 연동하거나 특정 애플리케이션과 통합할 경우 이를 서로 연결해주는 역할을 합니다. 일반적으로 레거시 시스템을 연동할 때 많이 사용되며 메시지를 기반으로 통신합니다.
4. Message Layer
ESB는 기본적으로 버스에 여러 프로세스나 서비스가 연결된 형태인데 이 구성요소들은 메시지를 이용해 통신하게 됩니다. 이때 메시지의 안전하고 신뢰성있는 전송을 지원합니다. 메시지의 전송이 어렵거나 재전송 처리가 필요한 경우 등을 제어하는 역할을 합니다.
EAI와 ESB의 차이점
EAI는 “이기종간의 데이터 연동을 위한 연계 시스템”이고, ESB는 “SOA 기반의 느슨한 결합을 지원하는 버스 형태의 연계 시스템”이라고 합니다. 기본적인 정의에서 EAI의 진화된 형태가 ESB라고는 하나 최근에는 그 경계가 모호해졌다고 합니다. IT지원 업무를 하면서 옆에서 지켜본 바로도 그런 것 같습니다.
ESB가 전사 시스템의 통합이라면 EAI는 Application 레벨의 통합입니다. EAI는 시스템 별 별도의 어댑터 사용으로 연동하는 시스템이 늘어날수록 복잡도도 증가하지만, ESB는 표준화된 어댑터 및 메시지로 복잡도가 낮습니다.
둘을 비교하는 가장 큰 차이점은 EAI가 중앙집중형, ESB가 버스형이라고도 합니다. 그래서 ESB는 SOA + EAI 라는 형태로 표현하기도 합니다.
[SOA는 서비스 지향 아키텍처(Service Oriented Architecture)로 대규모 시스템을 구축할 때 업무처리에 해당하는 소프트웨어 기능을 서비스로 간주하고 그 서비스를 네트워크상에 연동하여 시스템 전체를 구축해 나가는 방법론을 말합니다]
각각의 방식이 장단점이 있기 때문에 시스템의 특성과 요구사항에 따라 적절한 기술을 선택해야 합니다. EAI는 빠르게 시스템을 통합해야할 필요가 있고 시스템 규모가 작은 경우에 적합합니다. 또한 유지보수에 대한 부담이 적을 때 사용합니다. ESB는 시스템 규모가 비교적 크고 시스템간의 재사용성과 확장성이 중요할 때 적용합니다. 장기적인 관점에서 시스템을 통합 관리하고자 할 때 적합합니다. 최근 추세는 표준 기반의 느슨한 결합과 높은 확장성으로 인해 ESB를 선호하고 있습니다.
'잡동사니' 카테고리의 다른 글
| 접근 제어 목록 ACL(Access Control List) (2) | 2025.06.25 |
|---|---|
| OSI 참조 모델, OSI 7계층 (0) | 2025.06.18 |
| 네트워크 토폴로지(Network Topology) (0) | 2025.06.12 |
| 컴퓨터 개론의, 자료표현 중, [논리회로] (0) | 2020.06.11 |
| 카카오페이 혜택(금융분야) 정리 (0) | 2020.03.08 |
- Total
- Today
- Yesterday
