정보

    • 업무명     : 정보처리기사 실기 : 8강 통합 구현 (내/외부 연계 모듈 구현하기)

    • 작성자     : 이상호

    • 작성일     : 2020-05-09

    • 설   명      :

    • 수정이력 :

     

     

     내용

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

    • 학습 모듈의 연계 구현 환경

      • 다양한 연계 모듈 구현 환경 중 이번 학습 모듈에서는 ① 데이터베이스 관리 시스템(DBMS: Database Management System) 오브젝트(Object)인 트리거 (Trigger)와 연계(인터페이스) 테이블의 연계 모듈 구현 환경 ② 데이터 추출을 위한 배치 응용 프로그램과 연계(인터페이스) 파일의 연계 모듈 구현 환경 구성에 대해 설명한다. 

         

      • 이후 학습 내용부터는 ①번 트리거(Trigger)와 연계(인터페이스) 테이블의 실시간 처리 연계 모듈 구현 환경은 EAI/ESB(Enterprise Application Integration)/(Enterprise Service Bus) 방식으로 명명한다. ②번 배치(Batch) 응용 프로그램(Program)과 연계(인터페이스) 파일의 주기적 처리 연계 모듈 구현 환경은 웹서비스(Web Service) 방식으로 축약하여 명명한다. 

      • ①의 구현 환경을 EAI/ESB 방식으로, ②의 구현 환경을 웹 서비스(Web Service) 방식으로 축약하여 명명한 기준은 각각이 실제 EAI/ESB 방식과 웹 서비스(Web Service) 방식에 근접하기 때문이다.

     

    • 학습 내용의 연계 모듈 구현 환경을 위한 결정 사항’에서 ①, ②로 결정된 사항에 의한 연계 메커니즘은 ‘[그림 3-1] 연계 모듈 구현 환경을 위한 결정 사항을 적용한 연계 메커니즘’과 같다.

     

     

    [1] EAI/ESB 방식
    • EAI/ESB 방식은 ‘ 학습 내용의 연계 모듈 구현 환경을 위한 결정 사항’에서 ①로 결정된 사항을 적용하는 연계 방식 및 연계 모듈 구현 환경이다. EAI/ESB 방식 연계 모듈 구현 환경은 ‘[그림 3-2] EAI/ESB 방식 연계 모듈 구현 환경’과 같다. 

       

    • 트리거(Trigger)를 자바(Java)와 같은 프로그램 언어(Program Language)를 사용한 응용 애플리 케이션으로 구현하거나, 연계(인터페이스) 테이블을 연계(인터페이스) 파일로 변경할 수 있다.

     

    • 1. EAI/ESB 솔루션 도입 시 연계 모듈 구현 환경 변경 사항 

      • EAI/ESB 솔루션을 도입하여 연계 모듈 구현 환경을 구성할 경우, 연계(인터페이스) 데이터 처리를 위해 DB 테이블을 사용할 경우에는 연계 방식을 테이블 방식, 파일을 사용할 경우 에는 파일 방식이라고 한다. 

         

      • 테이블 방식 또는 파일 방식과 무관하게 전체적인 연계 아키 텍처 및 연계 모듈 구현 환경 구성은 동일하다. 

         

      • EAI/ESB 솔루션에서는 데이터의 실제적인 전송과 연계(인터페이스) 테이블의 전송 형식으 로 변환 및 전송 이력을 기록(Logging)하므로 전송이나 전송 이력을 기록(Logging)하는 기 능을 구현할 필요는 없다. 

         

      • 연계 응용 애플리케이션에서 데이터 변환이나 운영 DB에 반영 시 발생하는 데이터 오류에 대한 사항만 기록(Logging)하는 기능을 구현하면 된다. 

     

    • 2. 연계 모듈 구현 환경 구축 절차 

       

      • (1) 연계 DB 또는 계정 생성 송신 시스템과 수신 시스템에서 각각 연계를 위한 DB를 설치하고, DB 사용자 계정을 생성한다. 송신 시스템의 연계 사용자 계정명과 수신 시스템의 연계 사용자 계정명이 동일하지 않아도 된다. 기존에 연계를 위한 DB가 운영 중인 경우, 연계 목적에 따라 분리한 연계 사용자 계정을 생성한다. 운영 DB의 사용자와 연계를 위한 사용자는 생성되는 스키마(Schema)의 목적이 다르므로 물리적 및 논리적으로 분리하여 관리한다. 

         

      • (2) 연계를 위한 테이블 생성 위의 (1)항에서 생성한 연계 DB 사용자 계정으로 연계를 위한 데이터 테이블인 연계 (인터페이스) 테이블, 송수신 이력 및 오류 확인을 위한 로그 테이블, 코드 매핑 및 변환을 위한 매핑 테이블, 오류 처리를 위한 오류 코드 테이블 등을 생성한다.

    • 연계를 위한 테이블 생성 위치 및 대상

      • 연계를 위한 데이터 및 로그 테이블, 오류 코드 테이블은 송신 시스템과 수신 시스템 각각 생성한다. 테이블명이 동일하더라도 송신 시스템과 수신 시스템에서 관리하는 정보, 처리하는 정보가 상이하므로 테이블에 포함된 관리 정보를 확인한 후 송신 시스템과 수신 시스템에 적합하게 생성한다. 

         

    • 연계를 위한 테이블 생성 구조

      • 생성할 테이블의 상세 구조는‘학습 1-2. 연계 데이터 식별 및 표준화’에서 설계한 연계(인터페이스) 테이블(파일 Layout) 정의서 및 명세서’와‘학습 2-1. 연계 메커니즘 정의’에서 설계한 로그(Log) 테이블(파일 Layout) 정의서를, ‘학습 2-2. 연계 장애 및 오류 처리 구현’에서 설계한 오류 코드 테이블 정의서 내용으로 생성한다. 향후 운영과 유지 보수를 위해서 테이블을 생성할 때는 데이터베이스 오브젝트 (Object)별 명명 규칙에 따라 테이블명을 부여한다. 

     

    • (3) 연계 응용 프로그램 구현 연계 응용 프로그램은 송신 시스템과 수신 시스템에서 각각 구현한다. 

       

      • 송수신 시스템의 연계 응용 프로그램 구현 내용

        • 송신 시스템의 연계 응용 프로그램은 운영 DB에서 데이터를 추출하고, 송신 시스템의 코드를 수신 시스템의 코드로 변환하는 작업을 처리한다. 수신 시스템의 연계 응용 프로그램은 연계(인터페이스) 테이블의 데이터에 대해 유효성 (Validation)을 점검(Check)하고, 운영 DB에 반영하는 작업을 처리한다. 

    • 연계 응용 프로그램 구현 방식

      • 학습 내용인 EAI/ESB 연계 방식에서 연계 응용 프로그램 구현 방식으로는 데이터베이스 관리 시스템(DBMS: Database Management System)의 오브젝트(Object)인 트리거(Trigger)를 활용한다. 

         

      • 트리거를 활용 시에는 자바(Java)와 같은 프로그램 언어(Program Language)로 구현된 암호화 알고리즘을 호출하는데 제한적이다. 연계 데이터 보안 적용을 위해 암호화 알고리즘을 적용할 경우에는 프로그램 언어(Program Language - Java, C 등)를 이용하여 연계 응용 프로그램을 구현한다. 트리거(Trigger)는 송신 시스템의 운영 DB의 테이블과 수신 시스템의 연계(인터페이스) 테이블을 대상으로 구현하며, 테이블 단위로 구현된다.

     

    • 송신 시스템에서 연계 데이터를 추출하거나 수신 시스템에서 운영 DB에 반영할 시에는 연계(인터페이스) 테이블 간 데이터의 생성 순서 및 반영 순서, 즉 선후 관계를 확인하여 처리해야 한다. 

    • 예를 들어, 접수 테이블과 처리 결과 테이블의 내용이 연계될 경우에 발생의 선후 관계를 반영하여 접수 테이블의 데이터는 처리 결과 테이블의 데이터보다 선행하여 생성 및 적용 해야 한다. 

    • 선후 관계가 반대로 처리된다면, 접수되지도 않은 처리 결과가 등록되거나 또는 처리 결과 테이블의 데이터는 반영되지 않고 오류로 처리될 수 있다.

     

    [2] 웹 서비스(Web Service) 방식
    • 1. 웹 서비스(Web Service) 기본 구조 및 구성 요소 

       

      • 웹 서비스(Web Service)란 네트워크에 분산되어 있는 정보를 서비스 형태로 개방하여 표준 화된 방식으로 공유하는 기술로서 서비스 지향 아키텍처(SOA: Service Oriented Architecture) 개념을 실현하는 대표적인 기술이다.

     

    • (1) 솝(SOAP: Simple Object Access Protocol) 

       

      • 솝(SOAP)은 (HTTP), (HTTPS (SMTP) 등을 사용하여 (XML: Extensible Markup Language) 기반의 메시지를 네트워크 상에서 교환하는 프로토콜(Protocol)이다. 

         

      • 솝(SOAP)은 웹 서비스에서 메시지를 전달하는 기반으로 (HTTP) 프로토 콜(Protocol) 상에 솝 엔 벨 로프(SOAP Envelope), 헤더(Header), 바디(Body) 등이 추가된 (XML) 문서로, 기본적인 송수신은 (HTTP)를 통해서 이루어 진다. 

         

      • 솝(SOAP)의 복잡하고 무거운 구조로 인해 요즘은 웹 서비스에서 솝(SOAP)보다는 (RESTful: REpresentational State Transfer) 프로토콜(Protocol)을 이용하기도 한다

     

    • (2) UDDI: Universal Description, Discovery and Integration 

       

      • UDDI를 웹 서비스에 대한 정보인 (WSDL)을 등록하고, 검색하기 위한 저장소로 공개적으로 접근, 검색이 가능한 레지스트리이다. 

         

      • 검색 엔진처럼 (UDDI)에서 웹 서비스 정보를 검색하여 사용한다. 

         

      • 알려진 송수신 시스템의 통합 구현에서는 서비스의 공개 및 검색과정이 필요 없으므로, (UDDI)를 구축하지 않는다. 

     

    • (3) (WSDL: Web Service Description Language) (WSDL)은 웹 서비스명, 웹 서비스 제공 위치, 웹 서비스 메시지 포맷 (Format), 프로토콜(Protocol) 정보 등 웹 서비스에 대한 상세 정보를 기술한 파일로 (XML) 형식으로 구현한다.

     

    • 2. 연계 모듈 구현 환경 구축 절차 

       

      • 웹 서비스(Web Service) 방식은 EAI/ESB 방식과는 달리 실제 전송이나 전송 이력에 대한 기록(Logging) 및 모니터링 기능을 별도로 구현해야 한다. 

     

    • (1) 송수신 파일 생성 위치 및 파일명 정의 

       

      • 송신 시스템에서는 송신 연계(인터페이스) 파일, 로그 파일, 오류 로그 파일이 생성될 위치와 파일명을 정의한 후 디렉토리(Directory, 폴더)를 생성한다. 수신 시스템에서는 수신 연계(인터페이스) 파일, 로그 파일, 오류 로그 파일이 생성될 위치와 파일명을 정의한 후 디렉토리(Directory, 폴더)를 생성한다. 

     

     

    • (2) 송신 시스템 연계 응용 프로그램 구현 

       

      • 송신 시스템에서 운영 DB로부터 연계 데이터를 추출하여 송신 파일을 XML 형식으로 생성하는 자바 프로그램(Java Program)을 구현한다. 

         

      • 자바(Java)로 구현되는 연계 응용 프로그램에서는 송신 시스템의 운영 DB에 연결 (Connection)을 생성하고, 운영 DB로부터 데이터를 추출(Select)하여, 코드 매핑 및 데이터 변환을 수행한 후 연계(인터페이스) 파일을 생성(File Write)한다.

         

      • 송신용 연계 응용 프로그램에서 구현하는 내용은 ‘[그림 3-3] 트리거(Trigger)로 구현한 송신 시스템의 연계 응용 프로그램 예시’를 참고한다. 

         

      • 구현된 서비스는 주기적으로 실행하기 위해서는 운영체제(OS: Operating System)의 크론 (Cron) 또는 데이터베이스 관리 시스템(DBMS: Database Management System)의 잡스케줄러(Job Scheduler)에 등록한다

     

    • (3) 파일 전송 및 수신 시스템의 DB 반영 서비스 호출 처리 

       

      • 웹 서비스(Web Service) 방식에서 파일 전송은 HTTP 기반의 SOAP을 사용하여 송수신 한다. 솝(SOAP) 대신 (RESTful) 프로토콜(Protocol)로 대체할 수 있다. 

         

      • 연계(인터페이스) 파일을 수신 시스템의 수신 위치로 전송 후 전송된 파일 내용을 수신 시스템 운영 DB에 반영하는 서비스를 실행한다. 

         

      • 수신 시스템의 서비스 실행을 위해서 서비스 위치, 서비스명 등 서비스에 대한 상세 내용이 포함된 서비스 명세서인 WSDL을 작성하여 송수신 시스템 간에 공유한다. 

         

      • WSDL에는 수신 시스템에 연계 파일을 전송 후, 연계 파일의 내용을 수신 시스템 운영 DB에 반영하는 서비스의 위치, 서비스명 등 이 기술되어 있다. 솝(SOAP) 및 WSDL은 XML 형식으로 구현한다. 

     

     

     

    • (4) 수신 시스템의 연계 응용 프로그램 구현 

       

      • WSDL에 기술된 운영DB에 연계 데이터를 반영하는 서비스를 구현 한다. 

         

      • 서비스 구현 방식은 송신의 연계 응용 프로그램과 동일하게 자바(Java)를 사용하며, 연 계(인터페이스) 파일의 데이터를 수신 시스템의 운영 DB에 반영하고, 처리 과정을 기록 (Logging)하는 내용으로 구현한다. 

         

      • 구현한 서비스는 수신 시스템의 서비스 호출이 가능한 위치(외부에서 웹 서비스 호출이 가능한 위치 및 URL)에 배치(Deployment)한다

     

    [연계 테스트 및 검증]

    • 구축된 연계 시스템과 연계 시스템의 구성 요소(송신 모듈, 수신 모듈, 연계 서버 및 엔진, 모니터링 현황 등)가 정상적으로 동작하는지 확인하고 검증하는 활동이 테스트이다. 연계 업무의 단위 테스트는 연계(인터페이스) 테스트와 데이터가 발생하고 활용되는 응용 애플리케이션 기능과의 통합 구조상 흐름을 테스트하는 통합 테스트로 단계적으로 수행한다. 

     

    • 연계(인터페이스) 테스트 구간

      • 연계(인터페이스) 테스트는 구간을 상세화하여 송수신 시스템 간의 연계(인터페이스) 테이블(파일)간의 테스트를 수행하고, 정상적으로 데이터가 송수신되면 송신 시스템의 운영 DB에서 연계 데이터를 추출 및 생성하여 수신 시스템의 운영 DB에 반영하는 테스트로 순차적으로 진행한다. 

      • 일반적으로 연계(인터페이스) 테스트는 송신 시스템의 운영 DB에서 연계 데이터를 추출 및 생 성하여 수신 시스템의 운영 DB에 반영하는 구간의 테스트를 의미한다.

     

    [1] 연계 모듈 테스트 케이스(Testcase) 작성 및 명세화
    • 연계(인터페이스) 테스트 구간에서의 데이터 및 프로세스 흐름에 따라 테스트 케이스(Testcase) 를 작성한다. 연계(인터페이스) 테스트 케이스는 연계(인터페이스) 테이블(파일) 단위로 작성한다. 테스트 케이스(Testcase) 작성 시 가장 핵심적인 사항은 테스트 항목의 도출이다. 테스트할 대상 및 기능 등이 충분히(완전하게), 누락 없이, 일관성 있게, 구체적으로 식별되어야 한다. 

     

    • 1. 송수신용 연계 응용 프로그램의 단위 테스트 케이스(Testcase) 작성 및 명세화 연계(인터페이스) 테스트 환경은 실제 운영 환경과 동일하게 또는 유사하게 구축한다. 

       

      • 테스트 케이스는 송신 시스템과 수신 시스템에서 확인해야 할 사항을 각각 도출하며, 송수 신 시스템 각각에서 단순 개별 데이터의 유효값을 체크(Check)하는 경우의 수와 데이터 간 의 연관 관계를 체크(Check)하는 경우의 수로 식별하여 작성한다. 

         

      • 단순 개별 데이터 유횻값은 코드일 경우, 코드 테이블에 등록된 값의 여부 또는 유효 데이 터 타입(Type), 길이, 필수 입력 여부 등의 체크(Check)를 의미한다. 

         

      • 데이터 간의 상관 관계 체크는 특히, 수신 시스템에서 운영 DB에 반영하는 연계 응용 프로 그램에서 등록되어 있지 않은 데이터에 대해서 수정이나 변경이 발생했거나 또는 참조하는 테이블에 데이터가 없는 경우에 데이터를 등록하는 경우의 점검이 해당된다.

     

    • 2. 연계(인터페이스) 테스트 케이스(Testcase) 작성 및 명세화 

       

      • 연계(인터페이스) 테스트 케이스(Testcase)는 송신용 연계 응용 프로그램과 수신용 연계 응 용 프로그램의 기능 위주 결함을 확인하는 단위 테스트 케이스(Testcase)로 작성한다. 

         

      • 작성한 단위 테스트 케이스를 연계(인터페이스) 테이블(파일) 간 송수신 절차의 선후로 연결하여 흐름을 확인하는 내용으로 작성한다.

     

    [2] 연계 테스트 수행 및 검증
    • 1. 연계(인터페이스) 테스트 환경 구축 

       

      • 연계(인터페이스) 테스트 환경은 실제 운영 환경과 동일하게 또는 유사하게 구축한다. 연계 서버(엔진), 송․수신용 어댑터(Adapter) 또는 에이전트(Agent) 설치를 비롯하여 송수신 운영 DB, 송수신 운영 DB에서 연계 데이터 추출 및 반영에 필요한 테이블, 데이터와 송수 신용 연계 응용 프로그램들을 설치 및 준비한다. 

         

      • 송수신 기관 간에 테스트 수행 전에 연계(테스트) 일정, 절차, 방법, 소요 시간, 테스트 환 경, 환경 구축 기간 등을 협의하여 계획을 수립하고 테스트 환경을 구축한다

     

    • 2. 연계(인터페이스) 테스트 수행 

       

      • 연계(인터페이스) 테스트 케이스(Testcase)의 시험 항목 및 처리 절차대로 실제 연계 응용 프로그램을 실행하며 테스트하고 결과를 확인한다. 

         

      • 송신용 연계 응용 프로그램과 수신용 연계 응용 프로그램의 단위 테스트를 수행한다. 

         

      • 단위 테스트가 오류 없이 수행 완료되면 작성한 테스트 케이스(Testcase)대로 데이터 추출, 송수신, 데이터 반영 과정의 연계(인터페이스) 테스트를 수행한다

     

    • 3. 연계(인터페이스) 테스트 수행 결과 검증 

       

      • 연계(인터페이스) 테스트 케이스(Testcase)의 시험 항목 및 처리 절차 순서에 따라 테스트를 진행하면서 수행한 테스트 결과가 예상한 정상적인 결과인지를 확인하기 위해 검증을 수행 한다. 

         

      • 테스트 결과를 검증하는 방법으로는 테스트하는 항목에 따라 

         

      • ① 운영 DB 테이블의 건수를 카운트(Count)하는 방법, 

         

      • ② 실제 테이블이나 파일을 열어서 데이터를 확인하는 방법, 

         

      • ③ 파일생성 위치의 파일 생성 여부와 파일 크기를 확인하는 방법, 

         

      • ④ 연계 서버(또는 연계 엔진) 에서 제공하는 모니터링 화면의 내용을 확인하는 방법, 

         

      • ⑤ 시스템에서 기록하는 로그를 확인 하는 방법 등이 있다.

         통합 테스트에서는 송신 시스템에서 데이터를 생성하는 응용 애플리케이션의 기능을 이용하 여 데이터를 생성하고, 수신 시스템의 운영 응용 애플리케이션 화면에서 송신 시스템에서 송 신한 데이터가 유효한 값으로 검색이 된다면 정상적으로 데이터가 송수신되어 처리된 것으로 확인할 수 있다.

     

     

    [연습문제]

    • EAI/ESB 솔루션 도입 시 연계 모듈 구현 환경 변경 사항의 내용으로 잘못된 것은?

      • EAI/ESB 솔루션을 도입하여 연계 모듈 구현 환경을 구성할 경우, 연계(인터페이스) 데이터 처리를 위해 DB 테이블을 사용할 경우에는 연계 방식을 테이블 방식, 파일을 사용할 경우 에는 파일 방식이라고 한다. 

      • 테이블 방식 또는 파일 방식과 무관하게 전체적인 연계 아키 텍처 및 연계 모듈 구현 환경 구성은 동일하다. 

      • EAI/ESB 솔루션에서는 데이터의 실제적인 전송과 연계(인터페이스) 테이블의 전송 형식으로 변환 및 전송 이력을 기록(Logging)하므로 전송이나 전송 이력을 기록(Logging)하는 기능을 구현할 필요가 있다.

      • 연계 응용 애플리케이션에서 데이터 변환이나 운영 DB에 반영 시 발생하는 데이터 오류에 대한 사항만 기록(Logging)하는 기능을 구현하면 된다.

     

    • 송신 시스템 연계 응용 프로그램 구현 에 대해 잘못 설명한 것은?

      • 송신 시스템에서 운영 DB로부터 연계 데이터를 추출하여 송신 파일을 XML 형식으로 생성하는 자바 프로그램(Java Program)을 구현한다. 

      • 자바(Java)로 구현되는 연계 응용 프로그램에서는 송신 시스템의 운영 DB에 연결 (Connection)을 생성한다.

      • 운영체제로부터 데이터를 추출(Select)하여, 코드 매핑 및 데이터 변환을 수행한 후 연계(인터페이스) 파일을 생성(File Write)한다.

      • 구현된 서비스는 주기적으로 실행하기 위해서는 운영체제(OS: Operating System)의 크론(Cron) 또는 데이터베이스 관리 시스템(DBMS: Database Management System)의 잡 스케줄러(Job Scheduler)에 등록한다

     

     참고 문헌

    [논문]

    • 없음

    [보고서]

    • 없음

    [URL]

    • 없음

     

     문의사항

    [기상학/프로그래밍 언어]

    • sangho.lee.1990@gmail.com

    [해양학/천문학/빅데이터]

    • saimang0804@gmail.com

     

     

     

     

     

     

     

    본 블로그는 파트너스 활동을 통해 일정액의 수수료를 제공받을 수 있음
    • 네이버 블러그 공유하기
    • 네이버 밴드에 공유하기
    • 페이스북 공유하기
    • 카카오스토리 공유하기