2022. 4. 20. 11:01ㆍ정보처리기사/실기
연계 모듈 구현 환경 구설 및 개발
연계 모듈 기능 구현
- 개발하고자 하는 SW와 연계 모듈 간의 세부 설계서 확인해 일관 되고 정형화 된 기능 구현
- 주로 EAI/ESB방식과 웹서비스 방식 구분
EAI 방식
(1) EAI 개념
- 기업에서 운영되는 서로 다른 플랫폼이나 앱 간의 정보를 전달, 연계, 통합이 가능하게 해줌, 비즈니스 간 통합 및 연계성 증대, 효율성 높이고 시스템 간의 확장성 올려줌
(2) EAI 구성 요소
- EAI 플랫폼 기반 위에 어댑터가 데이터 및 프로세스 변환해 이기종 간 비즈니스 연결
-> | workflow (process integrated) |
<- | ||
| | | | |||
Frontend App - WEB - BI - App |
ADAPTER | EAI 통합서버 - Message Broker - Data Broker |
ADAPTER | backend App - Legacy - ERP - CRM |
ADAPTER | ||||
Repository (DB) | ||||
User Layer | EAI Layer | Legacy Layer |
구성 요소
- EAI 플랫폼 : 이기종 상호 운영, 신뢰성 있는 전송을 위한 메시지 큐와 트랜잭션 미들웨어 기능 수행, 대규모 환경 지원 유연성과 확장성
- 어댑터 : 자체 개발한 앱을 연결하는 EAI의 핵심 장치로 데이터 입출력 도구
- 브로커 : 상호 간 전송시 데이터 포맷과 코드를 변환하는 솔루션
- 메시지 큐 : 비동기 메시지 사용하는 다른 응용 프로그램 사이에서 데이터를 송수신하는 기술
- 비즈니스 워크플로우 : 미리 정의된 비즈니스 워크플로우에 따라 업무 처리
(3) 구출 유형
- 포인트 투 포인트 : 1대 1 통합, 장점 솔루션 구매하지 않고 개발자간 대화 통해 통합 가능
- 허브 앤 스포크 : 단일한 접점의 허브 시스템을 통해 데이터 전송하는 중앙 집중식 방식, 허브 장애시 전체 장애
- 메시지 버스 : 미들웨어를 두어 연계 통합, 확장성과 대용향 데이터 처리 가능
- 하이브리드 : 그룹 내는 허브 앤 스포크 그룹 간에는 메시지 버스 방식, 그룹 내 환경 맞는 작업 가능
ESB 방식
(1) ESB 개념 : 기업에서 서로 다른 플랫폼과 앱을 하나의 시스템으로 관리 운영, 서비스 중심의 통합 지향하는 아키텍처, 미들웨어를 중심으로 각 프로토콜이 호환할 수 있도록 앱을 통합해 느슨한 결합 방식 지원
(2) 특징 : 서비스 컴포넌트화된 논리적 집합으로 묶는 핵심 미들웨어, 비즈니스 프로세스 환경에 맞게 설꼐 및 전개 할 아키텍처 패턴, 버스 방식으로 확장성 및 유연한 구성이 가능
(3) EAI & ESB
EAI | ESB | |
개념 | 미들웨어 (허브), 비즈니스 로직, 기업내 앱 연계 | 미들웨어 (버스), 서비스 중심, 관련 시스템과 유기적 연계 |
수행 목적 | 기업 내부 이기종 연합 | 기업 간 서비스 교환 표준 API |
토폴로지 | 포인트 투 포인트, 허브 앤 스포크, 메시지 버스, 하이브리드 | 버스 방식의 분산형 토폴로지 구성 |
표준 | 벤더 종속적 기술 사용 | 표준기술사용(웹 서비스, XML) |
핵심 기술 | 어댑터, 브로커, 메시지 큐 | 웹 서비스, 지능형 라우터, 포맷 변환, 개방형 표준 |
통합 형태 | 앱 간의 단단한 통합 | 서비스 간의 느슨한 통합 |
적용 영역 | 기업 내부망 | 기업 내부 + 기업 외부 채널망 |
(3) - 1 뭐가 다른가?
- ESB = SOA + EAI, 그리고 중앙집중형 vs 버스형태, EAI는 중앙 집중 방식으로 문제가 많다 윤연하지 않고 단일 장애에 취약, 레거시 시스템 부하에 민감하다. SOA 등장으로 ESB를 밀기 시작, ESB = SOA 기반의 느슨한 결합을 지원하는 버스 형태의 연계 시스템
EAI/ESB 방식 연계 모듈 구현
(1) 연계 모듈 환경 구축 절차
- 연계 디비 또는 계정 생성 : 각 디비 구성 및 계정 생성, 기존 디비 존재 시 목적에 따라 분리된 연계 사용자 계정 생성
- 연계 위한 테이블 생성 : 연계 테이블, 로그 테이블, 매핑 테이블, 오류 코드 테이블 등 생성
- 연계 응용 프로그램 구현 : 트리거 활용, 트리거는 운영 디비 테이블과 수신의 연꼐 테이블을 대상으로 구현하고 테이블 단위 구현
(2) 사례
- 추출 대상 테이블에서 삽삭갱 발생 시 로그 기록하고 연계 테이블에 데이터 전달
CREATE OR REPLACE TRIGGER PROGRAM_NAME AFTER INSERT OR UPDATE OR DELETE ON TABLE_NAME FOR EACH ROW DECLARE AFTER_CODE VARCHAR2(5); |
트리거 생성, 추출할 테이블 각 행에 삽삭갱 할 때마다 실행 선언과 사용할 변수 |
BEGIN IF INSERTING THEN SELECT [CODE_VALUE_AFTER_MODIFIED] INTO AFTER_CODE FROM [CODE MAPPING TABLE] WHERE [CODE_VALUE_BEFORE_MODIFIED] = : new.[CODE_COLUMN] INSERT INTO [LOG TABLE] ( [COLUMN1], ...[COLUMN N]) VALUE(...); INSERT INTO [LINK TABLE] [COLUMN1], ...[COLUMN N]) VALUE(SYSDATE, 'I', AFTER_CODE, ...., [:new.COLUMN_NAME]); ELSIF DELETING THEN (...) |
시작 데이터 추가 된 경우 진행 단계 병 결과 대한 로깅 처리 로그 테이블에 처리 결과 삽입 연결 테이블 삽입 처리 변경 구분 I로 설정 데이터 삭제 경우 공통 코드 및 데이터 변환 처리 연계에 삽입 변경 구분 D 설정 단계별 수행 결과 로깅 로그 테이블에 삽입 |
ELSE IF UPDATING ('[CODE1 COLUMN]') OR UPDATING ('[CODE2 COLUMN]') THEN .... ELSIF UPDATING ('[TEXT COLUMN]') THEN .... ELSIF UPDATING THEN .... END IF; END IF; EXCEPTION WHEN NO_DATA_FOUND_THEN (...) WHEN DUP_VAL_ON_INDEX_THEN (...) END; |
데이터가 수정된 경우 연계 데이터 중 코드 컬럼 변경이거나 텍스트 컬럼 변경 경우 연계 데이터가 아닌 컬럼이 변경된 경우 오류 처리 등록된 코드 매핑 코드가 없을 경우 테이블 등록시 동일 기본키 데이터 존재 종료 |
웹 서비스 방식
(1) 개념 : 네트워크 분산 정보를 서비스 형태로 개방해 표준화된 방식으로 공유 서비스 지향 아키텍처 개념을 실현하는 대표적 기술
(2) 유형 : SOAP 방식, UDDI 방식, WSDL 방식
- SOAP : http, https, smtp 사용 xml 기반 메시지 네트워크 상태에서 교환하는 프로토콜
- http 상에 soap envelope, header, body 등 추가 된 xml 문서 기본 송수신은 http로 진행
- 일반적으로 원격 프로시저 호출(RPC) 메시지 패턴 사용
- 네트워크 노드에 다른 노드로 메시지 요청하고, 즉답
- WSDL : 웹 서비스명, 제공 위치, 메시지 포맷, 프로토콜 정보 등 웹 서비스 대한 상세 정보 기술된 XML 형식 언어
- SOAP과 SML Schema와 결합해 웹 서비스 제공
- UDDI : WSDL등록 검색하기 위한 저장소 공개적 접근, 검색이 가능한 레지스트리 표준
- 제공자는 UDDI라는 서비스 소비자에게 이미 알려진 저장소에 목록 저장하고, 소비자들이 접근 원하는 데이터 찾음, 서비스 공개 및 검색과정이 필요 없으므로, UDDI 구축안함(알려진 경우)
(3) 웹 서비스 방식 연계 환경 구축 및 구현 절차
- 실전송이나 이력에 대한 기록 및 모니터링 기능 별도 구현
- 송수신 파일 경로 및 파일명 정의
- 송신 연계 응용 프로그램 구현
- 파일 전송
- 수신 디비 반영 서비스 호출 처리
- 수신 연계 응용 프로그램 구현
(4) 연계 모듈 구현
- SOAP와 WSDL 문법 구조 확인 바람
IPC 방식
(1) 개념 : 운영체제에 프로세스 간 데이터 주고 받는 통신 기술
- 메시지 큐, 공유메모리, 소켓, 세마포
연계 테스트 및 검증
연계 테스트 개념
- 연계 할 경우 데이터 정합성과 데이터 전송 여부 테스트, 사전에 테스트 케이스 작성, 작성된 테스트 케이스 활용해 연계 테스트를 수행한 후 수행 결과 검증 방식
연계 테스트 절차
- 연계 테스트 케이스 작성 : 단위 테스트 케이스와 통합 테스트 케이스
- 연계 테스트 수행
- 연계 테스트 수행 결과 검증
'정보처리기사 > 실기' 카테고리의 다른 글
[정보처리기사 실기] 5장 인터페이스 구현 - 인터페이스 기능 구현 (0) | 2022.04.20 |
---|---|
[정보처리기사 실기] 5장 인터페이스 구현 - 인터페이스 설계 확인 (0) | 2022.04.20 |
[정보처리기사 실기] 4장 통합 구현 - 연계 메커니즘 구성 (0) | 2022.04.20 |
[정보처리기사 실기] 4장 통합 구현 - 연계 데이터 구성 (0) | 2022.04.20 |
[정보처리기사 실기] 3장 데이터 입출력 구현 - 데이터베이스 기초 활용하기 (0) | 2022.04.18 |