SOA (Service Oriented Architecture, 서비스 지향 아키텍처)
대규모 컴퓨터 시스템을 구축할 때의 개념으로 업무상에 일처리에 해당하는 소프트웨어 기능을 서비스로 판단하여
그 서비스를 네트워크상에 연동하여 시스템 전체를 구축해 나가는 방법론이다.
업무 처리 변화를 시스템에 빠르게 반영하고자 하기 위해
기업의 전반적인 정보 시스템을 서비스 단위로 구축해
다른 서비스와 연동 · 통합될 수 있도록 하는 시스템 구조를 말한다.
1996년에 가트너가 처음 소개한 개념으로, 기업의 IT 시스템을 비즈니스에 맞춰 유연하게 사용할 수 있다.
소프트웨어 인프라를 구축하는 방법론 가운데 하나로, 정보 시스템 구축 방식에 일정한 규칙을 두고 공유하거나 다시 사용할 수 있는 서비스를 만드는 플랫폼 기술을 의미한다.
이는 별도로 유지관리되는 서비스/소프트웨어 의 구성 요소를 통합하고 서로 통신되도록 함으로써
여러 시스템/업무부서 에서 사용 가능한 어플리케이션을 구성할 수 있음.
SOA의 종류로써 EAI, ESB 가 존재하며 각 구분을 해둬야한다.
EAI(Enterprise Application Integration) : 일련의 컴퓨터 시스템을 통합하는데 사용할 수 있는 통합 프레임워크
ESB(Enterprise Service Bus) : 복잡한 아키텍처에 대한 기본 서비스를 제공하기 위함, 인프라 소프트웨어
사진을 보면 ESB와 EAI는 데이터 통합 및 서비스간 통신을 하는데 있어 비슷한 구조를 띤다.
즉 EAI가 할 수 있는건 ESB도 할 수 있다. ESB가 할 수 있는건 EAI도 할 수 있다.
그렇다면 차이가 있는 것일까?
EAI 솔루션
여러 벤더 사에서 EAI 구축을 위한 솔루션을 제공하고 있으며, EAI 시스템의 일부 컴포넌트만을 제공하는 경우가 많다.
오라클의 Oracle9iAS, 마이크로소프트의 BizTalk, IBM의 WEBsphere 등이 있다.
EAI 단점
EAI의 단점이라면,
소규모 시스템에서는 적용을 위한 필요 이상의 개발 비용이 발생할 수 있다는 것과 관리되지 않는 시스템들이 생길 수 있다.
ESB = SOA + EAI
ESB는 다양한 기업 환경(어플리케이션, 데이터, 플랫폼, 네트워크)을 통합하여 하나의 시스템으로 관리 운영할 수 있는 시스템이다.
이 덕분에 다양한 외부 업체와의 데이터 송수신에 큰 문제가 없다.
다양한 프로토콜을 지원하며, 재사용 가능한 컴포넌트들을 조립함 으로써 서비스 지향적인 운영 가능.
EAI 와 ESB의 차이점
EAI와 ESB는 유사하지만, 서로가 바라보는 관점과 최종 목적지가 다르다.
EAI는 통합에 초점을 맞춘 기술이다.
ESB는 프로세스 기반 SOA를 맞추기 위한 기술이다.
EAI가 시스템의 통합, 통신을 목적으로 한다면
ESB는 SOA를 맞춰 좀 더 유연한 비즈니스 로직을 구현하는 것이 목적이다.
ESB 솔루션과 EAI 솔루션은 이런 미묘한 차이점이 있으나 미들웨어로서의 근본은 같다.
'IT기술 > CS(ComputerScience)' 카테고리의 다른 글
[DNS] 퓨니코드(Punycode) 란? - 한글 도메인 (0) | 2023.03.27 |
---|---|
[용어] AS-IS, TO-BE (0) | 2023.03.22 |
미들웨어란 무엇일까? (0) | 2023.03.21 |
GTK (Xwindow 프레임워크) (0) | 2022.11.27 |
메타 OS란? (0) | 2022.11.27 |