반응형

*연계 모듈 구현 환경 구성 및 개발

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하는 연계 응용 프로그램을 작성한다.

반응형

+ Recent posts