posted by 방랑군 2009. 12. 22. 15:15
1. 미들웨어
    - 말 그대로, "중간 단계에 위치하여 서비스를 해 주는 소프트웨어적으로 운영되는 프로세스"를 
말합니다.
    - 이러한 소프트웨어가 출현한 배경으로는 우선 기존 Client/Server의 2 Tier 환경에 있어서 
업무 처리 로직이 Client에 위치하게 되어 Fat Client를 초래함으로써 버젼 관리가 어렵고, Client 프로그램이 많아지게 되면 
Server에 추가되는 부하도 동일하게 증가되어 대용량 환경하에서의 컴퓨팅에 적당하지 않게 되었습니다.
    - 이에, 비즈니스 로직을 Client에서 떼어내고, Client의 수가 증가하더라도 Server에 
미치는 영향을 최소화하고자 하는 측면에서 중간에 Middleware라는 소프트웨어를 활용하게 되었습니다.
    - 현재 사용하는 EAI, WAS(Web Application Server)도 Web 환경하에서 운영되는 
대표적인 미들웨어라고 볼 수 있습니다.
 
2. EAI(Enterprise Application Integration)
    - 기업이 업무를 처리하는 데 있어서는 인사 시스템, 회계 시스템, 마케팅 시스템, 재무 시스템 등 많은 
시스템들이 존재하게 되는 데,
    - 시간이 지남에 따라서 이러한 시스템들간에 데이터 연동이 필요로 하게 되었습니다. 
    - 이러한 연동을 위해서 각 시스템들간의 1:1 직접적인 연동 프로그램을 개발하여 문제를 
해결하였습니다만,
    - 이 같은 해결 방식은 연동 대상 시스템이 많을 경우, 개발할 연동 프로그램의 수가 많아질 뿐 
아니라, 연동에 대한 내용이 변경이 될 때에 관련되는 모든 프로그램을 고쳐야 해서 관리 측면에서 많은 문제를 야기 했습니다.
    - 이러한 문제를 해결하기 위해서, 연동 되는 시스템들의 중간에 일종의 Middleware로서 EAI를 
두고 EAI에서 각 시스템들간의 연동과 다른 시스템으로의 데이터 송수신을 책임지게 하는 아키텍쳐를 고안하게 되었습니다.
    - 이렇게 되면, 연동해야 시스템들은 EAI에게만 데이터를 전송하면 EAI가 다른 
시스템으로 필요한 데이터를 필요한 포맷에 맞게 전달해 주게 되므로 인해 기존의 1:1적인 연동으로 인해 일어나는 관리상의 문제들을 제거할 수 
있습니다.
 
3. SOA(Service Oriented Architecture)
    - IT 자원을 서비스화하여 재사용함으로써 비즈니스의 요구에 빨리 대응할 수 있게하는 IT 
Architecture의 한 형태를 말합니다.
    - IT 자원을 재사용한다는 측면에서 컴포넌트를 사용하는 개발방법과 유사하다고 할 수 있지만, 요즘 
얘기되는 SOA는 플랫폼에 관계 없는 표준 기반의 기술을 사용한다는 측면에서 조금 차이가 있다고 볼 수 있습니다.
    - SOA가 되기 위해서는 사용할 수 있는 서비스를 설명(Description)하고, 이러한 서비스를 
찾을 수(Search) 있는 인프라가 제공이 되어야 하는 데, 그러한 인프라를 요즘 얘기하는 ESB(Enterprise Service 
Bus)라고 합니다.
    - 이 ESB는 일종의 Middleware로서 기존 시스템의 연동 기능을 제공하는 EAI와 유사한 기능을 
제공하고 있습니다만,
    - EAI가 제공하는 업체가 사용하는 벤더 종속적인 기술을 사용하는 반면, ESB는 표준 기반(예를들면 
웹서비스)의 기술을 사용한다는 측면에서 EAI와 가장 큰 차이가 있다고 볼 수 있습니다.
 
결론은, EAI나 (SOA의) ESB는 미들웨어라고 볼 수 있고 동일한 목적, 즉 시스템의 연동이라는 목적을 수행하는 솔루션이라고
볼 수 있지만, 그 방법에 있어서는 표준 기술을 사용하느냐 하지 않느냐의 차이가 있습니다.
 
표준 기술을 사용하는 것의 잇점은 서로 다른 벤더 제품의 ESB를 사용하고 있는 기업이라도 ESB의 연동을 통해 다른 기업의 IT 
자원을 재사용할 수 있어 기업간 프로세스 통합에 큰 도움이 된다는 것입니다.

이 지식은 삼성경제연구소에서 공유해주셨습니다.

'BIZTALK > DEFINITION' 카테고리의 다른 글

ebXML  (0) 2012.01.21
Microsoft는 BizTalk Server를 이해  (0) 2009.12.22
SOA와 EAI  (0) 2009.12.22
EAI 연동방안의 차이점  (0) 2009.12.22
EAI와 ERP의 차이점  (0) 2009.12.22