개발하고자 하는 응용 소프트웨어와 연계 모듈 간의 세부 설계서를 확인하여 일관되고 정형화된 연계 기능을 구현할 수 있다.
연계 모듈 기능 구현은 주로 EAI/ESB 방식과 웹 서비스 방식으로 구분된다.
Enterprise Application Integration
기업에서 운영되는 서로 다른 플랫폼 및 애플리케이션 간의 정보를 전달, 연계, 통합이 가능하도록 해주는 솔루션
EAI를 사용함으로써 각 비즈니스 간 통합 및 연계성을 증대시켜 효율성을 높여줄 수 있으며, 각 시스템 간의 확장성을 높여줄 수 있다.
대상 시스템에 비표준 어댑터를 배포하여 통합하는 방식
SPoF (단일 고장점)
Simple Point of Failure
시스템 구성 요소 중에서, 동작하지 않으면 전체 시스템이 중단되는 요소
Enterprise Service Bus
기업에서 운영되는 서로 다른 플랫폼 및 애플리케이션들 간을 하나의 시스템으로 관리 운영할 수 있도록 서비스 중심의 통합을 지향하는 아키텍처
기업 외부도 가능!! (EAI는 기업 내부만!!!)
ESB는 미들웨어(Bus)를 중심으로 각각 프로토콜이 호환할 수 있도록 애플리케이션의 통합을 느슨한 결합 방식으로 지원하는 방식
느슨한 결합
Loosely Coupled
특정 서비스를 변경하더라도 연결된 다른 서비스에는 영향을 주지 않는 유연한 구조라는 의미
서비스들을 컴포넌트화된 논리적 집합으로 묶는 핵심 미들웨어이며, 비즈니스 프로세스 환경에 맞게 설계 및 전개할 수 있는 아키텍처 패턴
버스 방식으로 확장성, 유연한 아키텍처 구성이 가능하다.
구분 | EAI | ESB |
---|---|---|
개념 | 미들웨어(Hub)를 이용하여 비즈니스 로직을 중심으로 기업 내 애플리케이션을 통합 연계 | 미들웨어(Bus)를 이용하여 서비스 중심으로 서비스를 지원하기 위한 관련 시스템과 유기적 연계 |
수행 목적 | 기업 내부의 이기종 응용 모듈 간 통합 | 기업 간의 서비스 교환을 위해 표준 API로 통합 |
토폴로지 | 포인트 투 포인트, 허브 앤 스포크, 메시지 버스, 하이브리드 | 버스 방식의 분산형 토폴로지 구성 |
표준 | 벤더 종속적 기술 적용 | 표준 기술 사용(웹 서비스, XML 등) |
핵심 기술 | 어댑터, 브로커, 메시지 큐 | 웹 서비스, 지능형 라우터, 포맷 변환, 개방형 표준 |
통합 형태 | 애플리케이션 간의 단단한 통합 | 서비스 간의 느슨한 통합 |
적용 영역 | 기업 내부망 | 기업 내부 + 기업 외부 채널망 |
토폴로지
컴퓨터 네트워크의 요소들(링크, 노드 등)을 물리적으로 연결해 놓은 것, 또는 그 연결 방식
웹 서비스는 네트워크에 분산된 정보를 서비스 형태로 개방하여 표준화된 방식으로 공유하는 기술로써 서비스 지향 아키텍처 개념을 실현하는 대표적인 기술이다.
Simple Object Access Protocol
HTTP, HTTPS, SMTP 등을 사용하여 XML 기반의 메시지를 네트워크 상태에서 교환하는 프로토콜
HTTP 프로토콜상에 SOAP Envelope, 헤더, 바디 등이 추가된 XML 문서로 기본적인 송수신은 HTTP로 수행한다.
네트워크 노드(클라이언트)에서 다른 쪽 노드(서버)로 메시지를 요청하고, 서버는 메시지를 즉시 응답하게 된다.
Web Service Description Language
웹 서비스명, 제공 위치, 메시지 포맷, 프로토콜 정보 등 웹 서비스에 대한 상세 정보가 기술된 XML 형식으로 구현되어 있는 언어
SOAP와 XML 스키마와 결합하여 인터넷상에 웹 서비스를 제공하기 위해 사용되기도 한다.
Universal Description, Discovery and Integration
웹 서비스에 대한 정보인 WSDL을 등록하고 검색하기 위한 저장소로 공개적으로 접근, 검색이 가능한 레지스트리이자 표준
서비스 제공자는 UDDI라는 서비스 소비자에게 이미 알려진 온라인 저장소에 그들이 제공하는 서비스 목록들을 저장하게 되고, 서비스 소비자들은 그 저장소에 접근함으로써 원하는 서비스들의 목록을 찾을 수 있게 된다.
알려진 송수신 시스템의 통합 구현에서는 서비스의 공개 및 검색과정이 필요 없으므로, UDDI를 구축하지 않는다.
Inter-Process Communication
운영체제에서 프로세스 간 서로 데이터를 주고받기 위한 통신 기술