SOA(서비스 지향 건축학, 서비스 지향 아키텍처)
메인프레임 시스템 구축의 개념으로 작업장에서 작업에 해당하는 소프트웨어 기능을 서비스로 판단합니다.
서비스를 네트워크로 연결하여 전체 시스템을 구축하는 방법론입니다.
업무 프로세스 변경 사항을 시스템에 신속하게 반영하기 위해
회사의 전체 정보시스템을 서비스 단위로 구축
다른 서비스와 상호 운용 및 통합이 가능한 시스템 구조를 말합니다.
1996년 Gartner에서 처음 도입한 개념입니다. 그것 시스템은 업무에 따라 유연하게 사용할 수 있습니다.
소프트웨어 인프라 구축 방식의 하나로 정보시스템 구축을 위해 일정한 규칙을 가지고 공유하거나 재사용할 수 있는 서비스를 만드는 플랫폼 기술을 말한다.
이는 별도로 유지 관리되는 서비스/소프트웨어의 구성 요소를 통합하고 서로 통신할 수 있음으로써 달성됩니다.
여러 시스템/부서에서 사용할 수 있는 애플리케이션을 구성할 수 있습니다.
SOA의 종류로는 EAI와 ESB가 있으며 각각 분류해야 한다.
EAI(Enterprise Application Integration): 다양한 컴퓨터 시스템을 통합하는 데 사용할 수 있는 통합 프레임워크입니다.
ESB(Enterprise Service Bus) : 복잡한 아키텍처에 대한 기본 서비스를 제공하기 위한 인프라 소프트웨어

그림을 보면 ESB와 EAI는 데이터 통합과 서비스간 통신에서 비슷한 구조를 가지고 있다.
즉, EAI가 할 수 있는 일을 ESB가 할 수 있습니다. ESB가 할 수 있는 일을 EAI가 할 수 있습니다.
그렇다면 차이가 있습니까?
EAI 솔루션
몇몇 공급업체는 EAI 구축을 위한 솔루션을 제공하며 많은 경우 EAI 시스템의 일부 구성 요소만 제공합니다.
Oracle의 Oracle9iAS, Microsoft의 BizTalk, IBM의 WEBsphere 등
EAI 단점
EAI의 단점은 다음과 같습니다.
소규모 시스템은 응용 프로그램에 필요한 것보다 더 높은 개발 비용이 발생할 수 있으며 관리되지 않는 시스템이 될 수 있습니다.
ESB = SOA + EAI
ESB는 서로 다른 기업 환경(애플리케이션, 데이터, 플랫폼, 네트워크)을 통합하여 하나의 시스템으로 관리 운영할 수 있는 시스템입니다.
덕분에 서로 다른 외부 업체와 데이터를 주고 받는 것은 큰 문제가 되지 않는다.
다양한 프로토콜을 지원하고 재사용 가능한 구성 요소를 조립하여 서비스 지향 작업을 가능하게 합니다.
EAI와 ESB의 차이점
EAI와 ESB는 비슷하지만 관점과 최종 목표가 다릅니다.
EAI는 통합 지향 기술입니다.
ESB는 프로세스 기반 SOA를 정렬하는 기술입니다.
시스템 통합 및 통신을 위해 EAI를 사용하는 경우
ESB는 SOA와 일치하는 보다 유연한 비즈니스 로직을 구현하는 것을 목표로 합니다.
ESB 솔루션과 EAI 솔루션은 이런 미묘한 차이가 있지만 미들웨어로서의 기본은 같습니다.