*연계 모듈 구현 환경 구성 및 개발
1. 연계 모듈 기능 구현
- 개발하고자 하는 응용 소프트웨어와 연계 모듈 간의 세부 설계서를 확인하여 일관되고 정형화된 연계 기능을 구현할 수 있다.
- 연계 모듈 기능 구현은 주로 EAI / ESB 방식과 웹 서비스 방식으로 구분된다.
2. EAI / ESB 방식
2-1. EAI (Enterprise Application Integration) 방식
- 기업에서 운영되는 서로 다른 플랫폼 및 애플리케이션들 간의 정보 전달, 연계, 통합을 가능하게 해 주는 솔루션이다.
- EAI를 사용함으로써 각 비즈니스 간 통합 및 연계성을 증대시켜 효율성을 높여 줄 수 있으며 각 시스템 간의 확장성을 높여 줄 수 있다.
2-2. ESB (Enterprise Service Bus) 방식
- 기업에서 운영되는 서로 다른 플랫폼 및 애플리케이션들 간을 하나의 시스템으로 관리, 운영할 수 있도록 서비스 중심의 통합을 지향하는 아키텍처 또는 기술.
- ESB방식은 버스를 중심으로 각 프로토콜이 호환 가능하도록 애플리케이션의 통합을 느슨한 결합 방식으로 지원한다.
2-3. EAI / ESB 방식 연계 모듈 환경 구축 절차
- 연계 모듈 환경 구축을 위해 계정 생성, 테이블 생성, 프로그램 구현 절차를 가진다.
- 연계 DB 또는 계정 생성
- 송, 수신 시스템에서 각 DB 구성 및 계정 생성
- 기존 DB 존재 시 목적에 따라 분리된 연계 사용자 계정 생성
- 연계를 위한 테이블 생성
- 연계에 필요한 연계 테이블, 로그 테이블, 매핑 테이블, 오류 코드 테이블 등을 생성
- 연계 응용 프로그램 구현
- 연계 응용 프로그램 구현 방식으로 트리거를 활용
- 트리거는 송신 시스템의 운영 DB 테이블과 수신 시스템의 연계 테이블을 대상으로 구현하고 테이블 단위로 구현한다.
2-4. EAI / ESE 방식 연계 모듈 구현
- 추출 대상 테이블에서 삽입, 삭제, 갱신이 발생했을 때 로그를 기록하고 연계 테이블에 데이터를 전달한다.
2-5. 트리거 작성 사례
- 프로그램명으로 트리거 생성
CREATE OR REPLACE TRIGGER 프로그램명
- 연계 데이터를 추출할 테이블 각 행에 INSERT, UPDATE, DELETE가 발생할 때마다 수행
AFTER INSERT
OR UPDATE
OR DELETE ON 테이블명
FOR EACH ROW
- 선언부, 사용할 변수 선언
DECLARE AFTER_CODE VARCHAR2(5);
- 트리거 시작
BEGIN
- 데이터가 추가 된 경우
IF INSERTING THEN
- 공통 코드 및 데이터 변환 처리
SELECT 변환 후 코드 값
INTO AFTER_CODE
FROM 코드 매핑 테이블
WHERE 변환 전 코드 값 = :new.코드 컬럼
- 진행 단계별 수행 결과에 대한 로깅 처리, 로그 테이블에 처리 결과 INSERT
INSERT INTO 로그 테이블 명(컬럼명1, 컬럼명2 .... 컬럼명n)
VALUES(...);
- 연계 테이블에 INSERT 처리, 변경 구분을 I로 설정
INSERT INTO 연계 테이블명
(컬럼명1 - 처리일시, 컬럼명2 - 변경 구분 ... 컬럼명n)
VALUES ( SYSDATE, 'I', AFTER_CODE ... :new 컬럼명);
- 데이터가 삭제 된 경우 처리, 공통 코드 및 데이터 변환 처리, 연계에 INSERT 처리, 변경 구분을 D로 설정, 진행 단계별 수행 결과에 대한 로깅 처리, 로그 테이블에 처리 결과 INSERT
ELSIF DELETING THEN (...)
- 데이터가 수정된 경우
ELSE
- 연계 데이터 중 코드 컬럼이 변경된 경우, 연계 데이터 중 텍스트 컬럼이 변경된 경우, 연계 데이터가 아닌 컬럼이 변경된 경우
IF UPDATING('코드1 컬럼')
OR UPDATING('코드2 컬럼')
THEN
...
ELSIF UPDATING('텍스트 컬럼')
THEN
...
ELSIF UPDATING
THEN
...
END IF;
END IF;
- 오류 처리, 등록된 코드에 매핑 코드가 없을 경우, 테이블 등록 시 동일 PK 데이터 존재
EXCEPTION
WHEN NO_DATA_FOUND THEN (...)
WHEN DUP_VAL_ON_INDEX THEN (...)
- 트리거 종료
END;
3. 웹 서비스 방식
3-1. 웹 서비스(Web Service) 방식
- 네트워크에 분산된 정보를 서비스 형태로 개방하여 표준화된 방식으로 공유하는 기술로써 서비스 지향 아키텍처 개념을 실현하는 대표적인 기술이다.
3-2. 웹 서비스 방식의 유형
- 웹 서비스 방식은 SOAP 방식, UDDI 방식, WSDL 방식 등이 존재
- SOAP 방식 (Simple Object Access Protocol)
- HTTP, HTTPS, SMTP 등을 사용, XML 기반의 메시지를 네트워크 상태에서 교환하는 프로토콜
- HTTP 프로토콜 상에 SOAP Envelope, 헤더, 바디 등이 추가된 XML 문서로 기본적인 송, 수신은 HTTP로 수행한다.
- WSDL 방식 (Web Service Description Language)
- 웹 서비스명, 제공 위치, 메시지 포맷, 프로토콜 정보 등 웹 서비스에 대한 상세 정보를 기술한 파일로 XML 형식으로 구현한다.
- UDDI 방식 (Universal Description Discovery and Integration)
- 웹 서비스에 대한 정보인 WSDL을 등록하고 검색하기 위한 저장소로 공개적으로 접근, 검색이 가능한 레지스트리
- 알려진 송, 수신 시스템의 통합 구현에서는 서비스의 공개 및 검색과정이 필요 없으므로 UDDI를 구축하지 않는다.
3-3. 웹 서비스 방식 연계 환경 구축 및 구현 절차
- 웹 서비스 방식은 EAI / ESB 방식과 달리 실제 전송이나 전송 이력에 대한 기록 및 모니터링 기능을 별도로 구현해야 한다.
- 송, 수신 파일 경로 및 파일명 정의
- 송, 수신 시스템에서 송, 수신 연계 파일, 로그 파일 생성, 경로와 파일명을 정의하고 디렉터리 생성
- 송신 연계 응용 프로그램 구현
- 연계 데이터를 추출하고 송신 파일을 XML 형식으로 생성하는 프로그램 구현
- 주기적 실행을 위해 운영체제의 크론 또는 DBMS의 잡 스케줄러에 등록
- 파일 전송
- HTTP 기반의 SOAP을 사용하여 전송
- SOAP 대신 REST 프로토콜로 대체 가능
- 수신 DB 반영 서비스 호출 처리
- 연계 파일을 수신 위치로 전송 후 파일 내용을 수신 DB에 반영하는 서비스 실행
- 서비스 명세서인 WSDL을 작성 후 송, 수신 시스템 간 공유 (XML 기반)
- 수신 연계 응용 프로그램 구현
- WSDL에 기술된 운영 DB에 연계 데이터를 반영하는 서비스 구현 (Java 등 활용)
- 연계 파일의 데이터를 수신 시스템의 운영 DB에 반영 및 처리 과정을 기록하는 내용으로 구현
3-4. 웹 서비스 방식 연계 모듈 구현
- 파일 전송 및 서비스 호출처리 구현
- 웹 서비스 방식인 SOAP 및 WSDL을 활용한 XML방식으로 구현한다.
- 현재의 WSDL 문법 표준은 2.0으로 RESTful 웹 서비스에 대한 더 나은 지원을 제공하며 구현하기가 훨씬 시워졌다.
- 수신 연계 응용 프로그램 구현
- 송신 시스템에서 전달받은 XML의 정보를 추출하여 운영 DB에 INSERT하는 연계 응용 프로그램을 작성한다.
'기타' 카테고리의 다른 글
GIT 오류해결 warning: LF will be replaced by CRLF (0) | 2020.07.13 |
---|---|
크로스 사이트 스크립트(XSS) 정의, XSS 방지방법 (0) | 2020.07.13 |
git add 취소하기 / git commit 취소하기 (0) | 2020.07.06 |
git 한글 자간 생기는 경우 해결방법 (0) | 2020.07.05 |
이클립스 디버거 사용법 (0) | 2020.07.04 |