방구석 상상코딩

12. 내외부 연계 모듈 구현 본문

정보처리기사 실기

12. 내외부 연계 모듈 구현

구석탱 2022. 1. 19. 21:08

EAI (Enterprise Application Integration)

연계 모듈 기능 구현 중 기업에서 운영되는 서로 다른 플랫폼 및 애플리케이션 간의 정보 전달, 연계, 통합을 가능하게 해 주는 솔루션으로 대상 시스템에 비표준 어댑터(Adapter)를 배포하여 통합하는 방식 

EAI 구성요소

1. EAI 플랫폼 (EAI Platform)

이기종 시스템 간 애플리케이션 상호 운영

데이터의 신뢰성 있는 전송을 위한 메시지 큐와 트랜잭션 미들웨어 기능 수행

대규모 사용자 환경 지원을 위한 유연성과 확장성 보장

 

2. 어댑터 (Adapter)

다양한 패키지 애플리케이션 및 기업에서 자체적으로 개발한 애플리케이션을 연결하는  EAI의 핵심 장치로 제이터 입출력 도구

 

3. 브로커 (Broker)

시스템 상호 간 데이터가 전송될 때, 데이터 포맷과 코드를 변환하는 솔루션

 

4. 메시지 큐 (Message Queue)

비동기 메시지를 사용하는 다른 응용프로그램 사이에서 데이터를 송수신하는 기술

 

5. 비즈니스 워크플로우 (Business Workflow)

미리 정의된 기업의 비즈니스 Workflow에 따라 업무를 처리하는 기능

EAI 구축 유형

1. 포인트 투 포인트 (Point-to-point)

가장 기초적인 애플리케이션 통합 방법으로 1:1 단순 통합 방법

장점으로는 솔루션을 구매하지 않고 개발자 간의 커뮤니케이션을 통해서도 통합 가능

 

2. 허브 앤 스포크 (Hub & Spoke)

단일한 접점의 허브 시스템을 통하여 데이터를 전송하는 중앙 집중식 방식

허브 장애 시 전체 장애 발생

 

3. 메시지 버스 (Message Bus)

애플리케이션 사이 미들웨어(버스)를 두어 연계하는 미들웨어 통합 방식

뛰어난 확장성과 대용량 데이터 처리 가능

 

4. 하이브리드(Hybrid)

그룹 내는 허브 앤 스포크 방식을 사용하고, 그룹 간에는 메시지 버스 방식을 사용하는 통합방식

그룹 내 환경에 맞는 작업 가능

ESB (Enterprise Service Bus)

기업에서 운영되는 서로 다른 플랫폼 및 애플리케이션 간을 하나의 시스템으로 관리 운영할 수 있도록 서비스 중심의 통합을 지향하는 연계 방식

웹서비스 유형

1. SOAP(Simple Object Access Protocol)

HTTP, HTTPS, SMTP 등을 사용하여 XML 기반의 메시지를 네트워크 상태에서 교환하는 프로토콜

REST(Representational State Transfer : HTTP URI를 통해 자원을 명시하고, HTTP 메서드[POST, GET, PUT, DELETE]를 통해 해당 자원에 대한 생성, 조회, 갱신, 삭제 등의 명령을 적용하는 것) 프로토콜로 대체 가능

<!-- SOAP 요청/응답 구현 예시 -->
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
 SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
	<!-- Header -->
	<SOAP-ENV:Header>
	...
	</SOAP-ENV:Header>
	
	<!-- Body -->
	<SOAP-ENV:Body>
	...
	</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

2. WSDL(Web Service Description Language)

웹 서비스명, 제공 위치, 메시지 포맷, 프로토콜 정보 등 웹서비스에 대한 상세정보가 기술된 XML 형식으로 구현되어 있는 언어

<!-- WSDL 문법 구조 -->
<wsdl:definitions>
	<!-- 서비스 인터페이스 -->
	<wsdl:types>데이터 타입 선언</wsdl:types>
	<wsdl:message>메시지 인자와 리턴값 선언</wsdl:message>
	<wsdl:portType> 인터페이스 정의
		<wsdl:operation>메서드 선언</wsdl:operation>
	</wsdl:portType>
    
	<!-- 서비스 구현 -->
	<wsdl:binding>네트워크 프로토콜 및 포트매핑</wsdl:binding>
	<wsdl:service> 서비스 정의
		<wsdl:port>웹 서비스 URL</wsdl:port>
	</wsdl:service>
</wsdl:definitions>

3. UDDI(Universal Description, Discovery and Integration)

웹서비스에 대한 정보인 WSDL을 등록하고 검색하기 위한 저장소로 공개적으로 접근, 검색이 가능한 레지스트리이자 표준