[정보처리기사 실기] 4장 요약 키워드 정리 _ 통합 구현

딱지의겨울

·

2021. 4. 8. 00:26

[4] 통합 구현

 

[4] 통합 구현

4.1 연계 요구사항 분석

 통합 구현의 개념

- 통합 구현: 사용자의 요구사항에 맞춰 송, 수신 모듈과 중계 모듈 간의 연계를 구현하는 것

- 통합 구현은 송 수신 방식이나 시스템 아키텍처 구성, 송수신 모듈 구현 방법 등에 따라 다르기 때문에 사용자의 요구사항과 구축환경에 적합한 방식을 설계해야 함. 

- 일반적인 통합 구현은 송, 수신 시스템과 모듈, 중계 시스템, 연계 데이터, 네트워크로 구성. 


송신시스템과 모듈

- 송신 시스템: 데이터를 생성 및 변환하여 전송하는 시스템. 송신 모듈과 모니터링 기능으로 구성됨. 

- 송신 모듈: 전송 데이터를 생성하고 필요에 따라 전송 데이터의 변환을 수행. 

- 모니터링 기능: 전송 데이터의 생성부터 송신까지의 과정과 송신 상태 등을 확인

 

수신 시스템과 모듈

- 수신 시스템: 수신 받은 데이터를 정제 및 변환하는 시스템. 수신 모듈과 모니터링 기능으로 구성

- 수신 모듈: 수신 데이터 정제, 어플리케이션 이나 디비 테이블에 적합한 데이터로 변환하는 작업 수행.

- 모니터링 기능: 수신 모듈과 연계 데이터의 수신상태, 오류 처리, 데이터 반영 등을 확인함.  

 

중계 시스템

- 내, 외부 시스템 간 또는 내부 시스템 간의 연계 시 사용되는 아키텍쳐

- 중계 모듈: 송신 데이터의 오류 처리,수신 시스템에 맞는 데이터 형식으로 변환 등 수행. 

 

연계 데이터

- 송, 수신 시스템 간 송, 수신되는 데이터

- 속성, 길이, 타입 등이 포함됨. 

- 연계 데이터 형식은 크게 데이터베이스 테이블데이터베이스 파일로 구분. 파일은 다시 text, csv, xml로 구분. 

 

네트워크

- 송신 시스템, 수신 시스템, 중계 시스템을 연결해주는 통신망.

- 네트워크는 유선, 무선, 인터넷 서비스업체(ISP) 의 공중망 또는 사설망송수신 규약을 위한 프로토콜을 포함

- 인터넷 서비스 업체: 일반 사용자나 기업 등이 인터넷에 접속하여 사용할 수 있도록 제공하는 회사

- 프로토콜: 서로 다른 기기들 간의 데이터 교환을 원활하게 수행할 수 있도록 표준화 시켜 놓은 통신 규약. 

 

연계 요구사항 분석

- 연계 요구사항 분석: 통합 구현을 위해 사용자 요구사항을 분석하고 연계 데이터를 식별 및 표준화 하여 연계 데이터 정의하는 것

- 사용자 요구사항은 연계 데이터와 연계 환경 구성을 위해 성능, 보안, 데이터 발생 유형 및 주기 등 다양한 관점에서 분석. 

- 연계 요구사항 분석 절차

  1. 시스템 구성도(송수신 시스템의 하드웨어, 소프트웨어, 네트워크 구성 등을 정의한 문서), 응용 애플리케이션 구성(메뉴 구조, 화면 설계, 데이터 발생 시점, 유형, 주기 등을 정의한 문서) 등을 통해 송 수신 시스템의 하드웨어 및 소프트웨어 구성, 네트워크 현황을 확인함. 
  2. 송수신 시스템과 연결할 데이터와 관련된 테이블 정의서(테이블에서 관리되는 칼럼들의 특징, 인덱스, 업무 규칙 등을 정의한 문서), 코드 정의서(데이터베이스에서 코드 속성을 정의한 문서) 등의 문서를 확인함. 
  3. 확인된 시스템 구성과 데이터 현황 정보를 기반으로 체크리스트 작성. 
  4. 시스템 구성도, 응용 어플리케이션 구성, 테이블 정의서, 코드 정의서, 체크리스트 등을 사용자, 시스템 관리자 등과 공유하고 인터뷰나 설문조사 실시. 
  5. 인터뷰나 설문조사를 통해 확인된 결과를 기반으로 요구사항의 ID, 이름, 유형, 설명, 해결방안 등이 포함된 요구사항 분석서(정의서) 작성. 

 

4.2 연계 데이터 식별 및 표준화

 

연계 데이터 식별 및 표준화의 개요

- 연계 데이터를 구성하기 위해 연계 데이터를 식별하고 식별된 연계 데이터를 표준화한 후 이를 기반으로 연계(인터페이스) 정의서를 작성함. 

- 연계 데이터 식별 및 표준화 절차

  1. 연계 범위 및 항목 정의
  2. 연계 코드 변환 및 매핑
  3. 연계 데이터 식별자와 변경 구분 추가
  4. 연계 데이터 표현 방법 정의
  5. 연계 정의서 및 명세서 작성

연계 범위 및 항목 정의

- 연계 범위와 항목시스템 간 연계할 정보를 상세화하여 정의함. 

- 송수신 시스템에서 연계할 각 항목의 데이터 타입, 길이, 코드화 여부 등을 확인함. 

- 송수신 시스템의 연계 항목이 서로 다를 경우 일반적으로 수신 시스템을 기준으로 함. 

 

연계 코드 변환 및 매핑

- 연계 대상 범위 및 항목을 정의한 후 정보로 전환하거나 검색 조건으로 활용하기 위해, 연계 정보 중 코드로 관리되어야할 항목을 찾아 코드로 변환한다. 

- 코드 변환은 송신 시스템 코드와 수신 시스템 코드 중 적합한 코드끼리 매칭하거나 송수신 시스템에서 사용하는 코드를 통합하여 표준화한 후 매핑한다. 

 

연계 데이터 식별자와 변경 구분 추가

- 송신 시스템에서 송신한 데이터가 수신 시스템의 어떤 데이터에 해당하는지 확인하기 위해 수신 시스템의 연계 정보에 송신 시스템의 식별자를 추가한다. 

- 송신 시스템에서 송신한 데이터가 수신 시스템에 반영될 때 추가, 수정, 삭제 중 어떤 조작을 수행하는지 식별해주는 구분 정보를 연계 정보에 추가함. 

- 연계 데이터의 송수신 여부, 일시, 오류 코드 등의 확인 및 모니터링을 위해 인터페이스 테이블 또는 파일에 관리 정보를 추가한다. 

 

연계 데이터 표현 방법 정의

- 연계 대상 범위 및 항목과 코드 변환 및 매핑 방식을 정의한 이후에는 연계 데이터를 구성한다. 

- 구성된 연계 데이터는 응용 애플리케이션에서 연계 데이터의 생성 시점, 연계 주기, 적용되는 연계 솔루션의 지원 기능에 따라 달리 표현될 수 있다. 

- 연계 데이터 형식은 크게 데이터베이스 테이블데이터베이스 파일로 구분하며, 데이터 베이스 파일은 다시 테그, 콤마, 콜론, 세미콜론 등 구분자에 의해 구분될 수 있다. 

 

연계 정의서 및 명세서 작성

- 연계 정의서 송수신 시스템에서 연계할 항목과 연계 데이터의 타입, 길이 등을 구성하고 형식을 정의한 결과를 기반으로 작성한다. 

- 연계 정의서에는 송수신 시스템의 시스템명과 인터페이스 ID, 인터페이스 방식 및 주기 등 송수신 시스템간의 인터페이스 현황을 기재한다. 

- 연계 명세서는 연계 정의서에 작성한 인터페이스 ID별로 인터페이스 주기 및 방식, DB 및 파일 형식, 송수신 시스템의 타입, 길이, 식별자, 코드화 여부 등 세부사항을 작성한다. 

 


4.3 연계 메커니즘 정의

연계 메커니즘의 개요

- 연계 메커니즘은 데이터의 생성 및 전송을 담당하는 송신 체계데이터 수신 및 운영 DB 반영을 담당하는 수신 체계로 구성된다.

- 송신 시스템운영 디비로부터 인터페이스 테이블이나 파일(xml, text, csv 등) 형식으로 연계 데이터를 생성하여 송신함. 

- 수신 시스템은 송신 시스템으로부터 전송된 데이터를 받아 수신 시스템이 맞는 데이터로 변환한 후 운영 디비에 반영함. 

- 송수신 시스템 사이에는 데이터 송수신과 송수신 시스템 현황을 모니터링하는 중계 시스템을 설치할 수 있음. 

- 송수신 시스템과 중계 시스템은 제각기 역할이 중복되지 않도록 아키텍처를 설계한 후 인터페이스 테스트통합 테스트를 통해 기능을 검증함. 

- 연계 메커니즘의 연계 방식: 직접 연계 방식, 간접 연계 방식

- 연계 메커니즘의 일반적인 구성 요소 

 

직접 연계 방식

- 중간 매개체 없이 송수신 시스템이 직접 연계하는 방식

- 장점

  • 연계 및 통합 구현이 단순하고 용이함. 
  • 중간 매개체 없이 직접 연계되기 때문에 데이터 연계 처리 성능이 뛰어남
  • 개발 비용이 저렴 / 개발 기간이 짧음

- 단점

  • 송수신 시스템 간 결합도가 높아 시스템 변경 시 오류가 발생할 수 있음. 
  • 보안을 위한 암호화, 복호화 처리, 비즈니스 로직을 적용하기 어려움
  • 연계 및 통합이 가능한 시스템 환경이 제한적.

- 종류

  • DB Link : DB에서 제공하는 DB link 객체를 이용하는 방식. 
  • API/OPEN API: 데이터를 송신 시스템의 DB에서 읽어와 제공하는 애플리케이션 프로그래밍 인터페이스. 라이브러리를 응용 프로그램 개발 시 이용할 수 있도록 규칙 등에 대해 정의해 놓은 인터페이스. 
  • DB Connection: 수신 시스템의 WAS(웹 어플리케이션 서버:동적 컨텐츠 처리하는 미들웨어)에서 송신 시스템의 DB로 연결해주는 방식. 
  • JDBC: Java에서 DB에 접근하여 데이터를 삽입, 삭제, 수정, 조회 할 수 있도록 자바와 디비를 연결해주는 방식. 

간접 연계 방식

- 송수신 시스템 사이에 중간 매개체를 두어 연계하는 방식

- 장점

  • 서로 다른 네트워크, 프로토콜 등 다양한 환경에서의 연계 및 통합이 가능함. 
  • 송수신 시스템 간 인터페이스가 변경되어도 오류없이 서비스가 가능함. 
  • 보안 품질 보장비즈니스 처리를 위한 로직을 쉽게 반영. 

- 단점

  • 연계 메커니즘과 아키텍처가 복잡함.
  • 중간 매개체로 인해 성능이 저하될 수 있음. 
  • 개발 및 적용시간이 비교적 길다

- 종류

  • 연계 솔루션: EAI(송수신 데이터를 식별하기 위해 송수신 처리 및 진행 현황을 모니터링하고 통제하는 시스템) 서버와 송수신 시스템에 설치되는 클라이언트를 이용하는 방식. 
  • ESB(Enterprise Service Bus): 애플리케이션 간 연계, 데이터 변환, 웹 서비스 지원 등 표준 기반의 인터페이스를 제공하는 방식. 
  • Socket : 서버는 통신을 위한 소켓을 생성하여 포트를 할당하고 클라이언트의 통신 요청 시 클라이언트와 연결하여 통신하는 네트워크 기술
  • Web Service: 웹 서비스에서 WSDL(웹 서비스와 관련된 서식이나 프로토콜 등을 표준적인 방법으로 기술하고 게시하기 위한 언어), UDDI(인터넷에서 전세계 비즈니스 업체 목록에 자신의 목록을 등록하기 위한 확장성 생성 언어=xml 기반의 규격), SOAP(웹 서비스를 실제로 이용하기 위한 객체 간 통신 규약) 프로토콜을 이용하여 연계하는 방식.

연계 메커니즘의 구성

- 연계 데이터 생성 및 추출

  • 연계 솔루션과 관계 없이 응용 프로그램이나 디비 등 응용 시스템에서 연계 데이터를 생성하고 추출하는 것. 
  • 데이터의 생성 및 추출 과정에서 오류가 발생할 경우 오류 발생 시점, 오류 코드, 오류 내용 등을 로그 테이블이나 파일에 기록함. 

- 코드 매핑 및 데이터 변환

  • 송신 시스템에서 사용하는 코드를 수신 시스템에서 사용하는 코드로 매핑 및 변환 하는 것
  • 시스템 환경과 특성에 따라 다음 중 적절한 시점을 선택해서 수행
    • 송신 시스템에서 인터페이스 테이블이나 파일을 생성할 때
    • 수신 시스템에서 수신 받은 연계 데이터를 운영 디비에 반영할 때 
    • 연계 서버를 설치할 때 (연계 서버에서 수행)
  • 시스템 환경과 특성에 따라 코드 매핑 및 데이터 변환 위치를 결정.
  • 코드 매핑 및 데이터 변환 과정에서 오류가 발생할 경우 변환 일시, 오류 코드, 오류 내용을 로그 테이블이나 파일에 기록. 

- 인터페이스 테이블 또는 파일 생성

  • 연계 데이터를 인터페이스 테이블/파일 형식으로 생성하는 것
  • 연계 솔루션의 지원 기능에 따라 인터페이스 테이블이나 파일 형식 여부를 결정함. 
  • 송수신 시스템의 인터페이스 테이블의 구조는 대부분 동일하게 구성하지만 상황에 따라 서로 다르게 설계할 수도 있음. 
  • 송수신 시스템의 인터페이스 테이블/파일 생성시 송수신 관련 정보 관리 항목과 기타 필요 항목을 추가함. 
  • 송신 시스템에서 인터페이스 테이블/파일 생성시 개인 정보와 같이 보안이 필요한 데이터는 암호화하고, 수신 시스템에서 암호화된 데이터를 운영 DB에 반영 시 복호화 함. 
  • 인터페이스 테이블/파일 생성시 발생 오류는 로그 테이블/파일에 기록함. 

- 로그 기록

  • 송수신 시스템에서 수행되는 모든 과정에 대한 결과 및 오류에 대한 정보를 로그 테이블이나 파일에 기록하는 것. 
  • 송수신 시스템의 모니터링 목적에 따라 로그 테이블과 파일의 관리 항목을 서로 다르게 기록할 수 있음. 
  • 로그 파일 기록 이유: 연계 데이터가 올바로 생성및 추출되어 정상적으로 송수신 되고 운영 디비에 올바로 반영되었는지 확인하기 위해 / 오류 발생 원인과 현황 분석하여 재작업 하기 위해
  • 로그 파일 기록 시 파일 생성 위치, 파일 생성 시점, 파일명 생성 규칙, 파일 형식 등을 포함 시킴. 

- 연계 서버 또는 송수신 어댑터

  • 연계 서버는 송수신 시스템 중 한 곳에 설치하며 인터페이스 테이블/파일의 데이터를 전송 형식에 맞게 변환하고 송수신을 수행하는 등 송수신과 관련된 모든 처리를 수행함. 
  • 송신 어댑터 송신 시스템에 설치하며 인터페이스 테이블/파일 데이터를 송 형식에 맞도록 변환하고 송신을 수함. 
  • 수신 어댑터 수신 시스템에 설치하며, 송신 시스템으로부터 수신한 데이터를 인터페이스 테이블/파일로 생성

- 전송

  • 송신 시스템에서 생성된 연계 데이터를 네트워크 환경에 맞는 데이터로 변환한 후 수신 시스템으로 보내는 것. 
  • 전송 주기는 실시간, 분, 시간, 일 단위 등으로 설정할 수 있으며 다음 항목에 의해 결정 됨
    • 송신 시스템에서 연계 데이터를 생성 및 추출하는 방식
    • 연계 서버 또는 송수신 어댑터의 연계 주기
    • 수신 시스템에서 연계 데이터를 운영 디비에 반영하는 방식

- 운영DB에 연계 데이터 반영

  • 수신한 인터페이스 테이블/파일 구조의 데이터를 변환 프로그램을 이용하여 수신 시스템의 운영 디비에 반영하는 것. 
  • 변환 프로그램에는 수신된 데이터가 송신 시스템의 운영 디비에서 사용하는 공통 코드와 데이터 형식으로 전환되고 이를 확인하는 작업을 포함시켜야 함. 

 

4.4 연계 장애 및 오류처리 구현

 

연계 메커니즘 구간 별 장애 및 오류 모니터링 현황

구간

오류 발생 시점

오류 로그 기록 장소

오류 로그 기록 주체

송신 시스템

- 데이터 생성 및 추출

- 코드 매핑 및 데이터 변환 시

- 인터페이스 테이블/파일 등록

송신 연계 프로그램에서 설정한 오류 로그 테이블

별도로 구현한 송신용 연계 프로그램

수신 시스템

- 연계 데이터 로드

- 코드 매핑 및 데이터 변환 시

- 운영 디비에 반영

수신 연계 프로그램에서 설정한 오류 로그 테이블

별도로 구현한 수신용 연계 프로그램

연계 서버

- 연계 데이터 로드 및 전송 형식 변환

- 연계 데이터 송수신

- 수신 시스템의 데이터 형식으로 변환 및 로드

연계 서버에 설정된 오류 로그 테이블 또는 파일

연계 서버

 

장애 및 오류 유형과 처리 방안

- 장애 및 오류 유형: 송신 시스템의 연계 프로그램, 수신 시스템의 연계 프로그램, 연계 서버, 연계 데이터

- 기록된 로그를 통해 오류 확인하고 분석해서 처리방안 선택

- 송신 시스템의 연계 프로그램: 데이터 생성 및 추출 권한이 없거나 데이터 변환시 예외 미처리 등 연계 프로그램 구현 상의 오류 > 송신 연계 프로그램의 로그 확인 분석후 처리

- 수신 시스템의 연계 프로그램: 운영 디비 접근 권한이 없거나 데이터 변환 및 반영시 예외 미처리 등 > 수신 연계 프로그램 로그 확인 후 처리

- 연계 서버: 연계 서버 실행, 송수신, 전송형식 변환 등 서버 기능과 관련된 오류 > 연계 서버 재시작/연계 서버 로그 확인

- 연계 데이터: 송신 시스템에서 생성 및 추출된 데이터의 값이 유효하지 않은 오류 > 송신 연계 시스템의 로그 확인

 

장애 및 오류의 확인과 처리 절차

- 1차적으로 연계 서버에서 제공하는장애 및 오류 현황 모니터링 화면을 통해 오류 원인 및 발생 현황을 확인함.

- 1차에서 확인이 불가능한 경우 송수신 시스템의 연계 프로그램과 연계 서버의 오류 로그 테이블/파일을 확인함.

- 발생한 오류에 대한 원인 확인되면 적절한 조치 취함.

- 필요한 경우 송신시스템에서는 연계 데이터의 생성 또는 추출을 다시 수행, 수신시스템에서는 연계 데이터 재수신하여 운영 디비에 반영함. 

 

장애 및 오류 유형의 정의와 설계

- 장애 및 오류 관리 대상

  • 송 수신 시스템의 연계 프로그램에서 관리하는 장애 및 오류를 관리 대상으로 정의. 
  • 연계 서버의 장애 및 오류는 적용하는 연계 솔루션에 의해 관리되므로 따로 정의하지 않아도 됨

- 관리 대상의 장애 및 오류 코드와 메시지

  • 관리 대상에서 식별한 오류 내용을 주제별로 분류한 후 각 오류 코드를 부여하고 오류 메시지를 정의함. 

- 장애 및 오류 코드와 메시지 관리 방식

  • 오류 코드오류 메시지를 관리하는 방식에는 테이블 관리 방식과 파일 관리 방식이 있음.
  • 테이블 관리 방식: 관리 대상 오류 코드와 오류 메시지가 많은 경우
  • 파일 관리 방식: 관리 대상 오류 코드와 오류 메시지가 적은 경우

- 장애 및 오류 기록 방식

  • 오류 로그 테이블/파일은 기록 단위에 따라 인터페이스 테이블/파일에 대한 로그, 연계 데이터에 대한 로그로 설계함. 

 

4.5 연계 데이터 보안 적용

 연계 데이터 보안의 개요

- 송신 시스템에서 수신 시스템으로 전송되는 연계 데이터는 보안에 취약할 수 있으므로 데이터의 중요성을 고려하여 보안을 적용해야 함. 

- 일반적으로 연계 데이터의 보안은 전송 구간에서의 암,복호화와 데이터의 암,복호화로 구현함. 

 

전송 구간 보안

- 전송되는 데이터나 패킷(전송 또는 다중화를 목적으로 데이터를 일정한 크기로 분할하여 송수신측 주소와 제어 정보 등을 부가하여 만든 데이터 블록)을 쉽게 가로챌 수 없도록 암호화 기능이 포함된 프로토콜을 사용하거나, 가로채더라도 내용을 확인할 수 없게 데이터나 패킷을 암호화 함. 

- 전송 구간 암호화를 지원하는 VPN(가상 사설망: 공중 네트워크와 암호화 기술을 사용하여 사용자가 마치 자신의 전용 회선을 사용하는 것처럼 해주는 보안 솔루션)이나 연계 솔루션을 적용해 전송 구간 암호화를 수행한다. 

 

데이터 보안

- 송신 시스템에서 연계 데이터를 추출할 때와 수신 시스템에서 데이터를 운영 디비에 반영할 때 데이터를 암, 복호화하는 것. 

- 연계 메커니즘 에서의 데이터 암, 복호화 처리 절차

  • 송신 시스템의 운영 디비에서 연계 데이터를 추출하여 보안 대상 칼럼을 암호화 알고리즘으로 암호화하고 인터페이스 테이블/파일에 등록함. 
  • 수신 시스템의 인터페이스 테이블/파일의 데이터 중 암호화한 칼럼을 복호화하여 운영 디비에 반영함. 

- 데이터 보안을 위해서는 암, 복호화 적용 대상 선정, 암호화 알고리즘, 암, 복호화 적용을 위한 환경 설정을 설계 및 구현해야 함. 

- 송수신 시스템에는 암, 복호화를 위한 동일한 암호화 알고리즘 라이브러리가 설치되어야 함. 

 

암⠂복호화 적용 대상 선정

- 연계 데이터의 중요도에 따라 선정함. 중요도는 송수신 시스템에 정의된 기준에 따라 다름.

- 일반적인 적용대상: 개인 정보 보호법에 근거한 개인 정보 (주민등록번호, 운전면허번호, 장애인관리번호, 은행 계좌번호, 신용카드 번호 등)

 

암호화 알고리즘

- 중요 정보를 보호하기 위해 평문을 암호화된 문장으로 만드는 절차 또는 방법.

- 암호화 알고리즘 종류: 단방향 암호화 방식, 양방향 암호화 방식

- 단방향 암호화 방식: 해시(입력 데이터를 고정된 길이의 값이나 키로 변환하는 것)를 사용

- 양방향 암호화 방식: 개인키 암호화 기법(동일한 키로 데이터를 암,복호화하는 기법), 공개키 암호화 기법(서로 다른 키로 데이터를 암, 복호화 하는 기법)이 있으며 송수신 시스템 연계시 일반적으로 양방향 암호화 방식을 선호함. 

- 양방향 암호화 방식에서 사용하는 주요 암호화 알고리즘 종류: SEED, ARIA, DES, AES, RSA 등

 

암⠂복호화 적용 절차

1) 암호화 적용 대상, 암호화 알고리즘, 암호화 키 선정

2) 암호화 적용 대상 컬럼의 데이터 길이 변경

3) 암호화 알고리즘 라이브러리 확보 및 설치

4) 연계 응용 프로그램에서 암, 복호화 처리 수행

 

 

4.6 연계 모듈 구현 환경

연계 모듈 구현 환경의 개요

- 연계 메커니즘(송수신 시스템과 중계 시스템 간의 모듈 구성과 연계 방식)에 따라 구현된 연계 시스템 환경 및 모듈 구현 환경

- 연계 모듈 구현 환경 종류

  • EAI, ESB 방식: 트리거 또는 프로그래밍 언어 이용
  • Web Service 방식: 배치 프로그램 및 인터페이스 파일 이용 

EAI(Enterprise Application Integration)

- 기업 내 각종 애플리케이션 및 플랫폼 간의 정보 전달, 연계, 통합 등 상호 연동이 가능하게 해주는 솔루션

- 비즈니스 간 통합 및 연계성을 증대시켜 효율성 및 각 시스템 간의 확장성을 높여줌. 

- EAI의 구축 유형

Point-to-Point

- 가장 기본적인 어플리케이션 통합 방식

- 어플리케이션을 1:1로 연결함. 

- 변경 및 재사용이 어려움

Hub & Spoke

- 단일 접점인 허브 시스템을 통해 데이터를 전송하는 중앙 집중형 방식

- 확장 및 유지 보수가 용이

- 허브 장애 발생시 시스템 전체에 영향을 미침.

Message Bus (ESB방식)

- 애플리케이션 사이에 미들웨어를 두어 처리하는 방식

- 확장성이 뛰어나며 대용량 처리가 가능함. 

Hybrid

- Hub & Spoke 와 Message Bus의 혼합 방식

- 그룹 내에서는 Hub & Spoke, 룹 간에는 Message Bus 방식 사용함. 

- 필요한 경우 한가지 방식으로 EAI 구현이 가능함. 

- 데이터 병목 현상을 최소화할 수 있음.

 

ESB(Enterprise Service Bus)

- 애플리케이션 간 연계, 데이터 변환, 웹 서비스 지원 등 표준 기반의 인터페이스를 제공하는 솔루션

- 애플리케이션 통합 측면에서 EAI와 유사하지만 애플리케이션 보다는 서비스 중심의 통합을 지향함. 

- 특정 서비스에 국한되지 않고 범용적으로 사용하기 위해 애플리케이션과의 결합도(모듈간에 상호 의존하는 정도)를 약하게 유지함. 

- 관리 및 보안 유지가 쉽고, 높은 수준의 품질 지원이 가능함. 

 

EAI, ESB 방식 환경 구축 절차

1) 송 수신 시스템에 연계를 위한 DB를 각각 설치하고 계정을 생성한다. 

2) 데이터, 인터페이스, 매핑 정보, 오류 코드 등을 저장할 테이블을 생성한다. 

3) 트리거 또는 프로그래밍 언어를 이용하여 연계 응용 프로그램을 구현한다. 

  • 송신 시스템 연계 응용 프로그램의 기능: 데이터 추출, 코드 및 데이터 변환, 오류 및 데이터 유효성 검사, 암호화 처리 등
  • 수신 시스템 연계 응용 프로그램의 기능: 데이터 반용, 오류 및 데이터 유효성 검사, 복호화 처리 등

웹 서비스(Web Service)

- 네트워크의 정보를 표준화된 서비스 형태로 만들어 공유하는 기술

- 서비스 지향 아키텍처(SOA: 기업의 정보 시스템을 공유와 재사용이 가능한 서비스 단위나 컴포넌트 중심으로 구축하는 정보 기술 아키텍처) 개념을 실현하는 대표적인 기술. 

- 웹 서비스의 구성

  • SOAP(Simple Object Access Protocol): HTTP, HTTPS, SMTP 등을 활용하여 XML 기반의 메시지를 네트워크 상에서 교환하는 프로토콜.
  • WSDL(Web Service Description Language): 웹 서비스명, 서비스 제공 위치, 프로토콜 등 서비스에 대한 상세 정보를 XML 형식으로 구현. 
  • UDDI (Universal Description, Discovery and Integration): WSDL을 등록하여 서비스와 서비스 제공자를 검색하고 접근하는데 사용됨. 인터넷에서 전 세계의 비즈니스 업체 목록에 자신의 목록을 등록하기 위한 확장성 생성 언어(XML) 기반의 규격. 이미 알려진 송수신 시스템의 통합 구현에서는 공개 및 검색 과정이 필요 없으므로 UDDI를 구축하지 않음. 

 

웹 서비스 방식 환경 구축 절차

1) 송 수신 시스템에서 연계 파일, 로그 파일, 오류 로그 파일 등이 생성될 위치와 파일명을 정의한 후 디렉토리를 생성함. 

2) 송신 시스템에서 DB로부터 데이터를 추출하여 XML 형식으로 변환하는 연계 응용 프로그램을 구현. 

3) WSDL의 내용을 바탕으로 전송된 파일 내용을 수신 시스템 DB에 반영하는 서비스를 실행.

 

4.7 XML(eXtensible Markup Language) 

 XML의 개요

- 웹 브라우저 간 HTML 문법이 호환되지 않는 문제SGML(텍스트, 이미지, 오디오 등을 포함하는 멀티미디어 전자 문서들을 다른 기종의 시스템들과 정보의 손실 없이 효율적으로 전송, 저장 및 자동 처리하기 위한 언어)의 복잡함을 해결하기 위하여 개발된 다목적 마크업 언어(다른 문서의 처리를 위해 문서의 논리 구조나 체계를 정의하는 언어)

- 다른 목적의 마크업 언어를 만드는데 사용

- 유니코드를 기반으로 다국어를 지원.

- 텍스트 형식의 데이터 포맷으로 양한 플랫폼과 시스템에서 활용할 수 있음. 

- 사용자가 직접 문서의 태그를 정의할 수 있으며, 다른 사용자가 정의한 태그를 사용할 수 있음. 

- 트리 구조로 구성되어 있어 상위 태그는 여러 개의 하위 태그를 가질 수 있음. 

- 모든 태그는 종료 태그를 가져야 하며, 시작 태그와 종료 태그의 요소명은 동일해야 함. 

- 속성 값은 반드시 큰따옴표(“”)로 묶어줘야 함. 

- 대소문자를 구분함. 

 

XML의 구성

- XML의 첫 문단

<?xml version="버전" encoding="언어셋" standalone="yes|no"?>

  • XML 문서임을 알리는 문단으로 반드시 포함되어야 함. 
  • <?,?>: 문서의 첫 문단은 ? 기호를 포함. 
  • version: XML문서에 사용된 XML의 버전 명시. 
  • encoding: XML의 언어셋. 생략이 가능하며 생략할 경우 UTF-8이 기본값이다. 
  • standalone: XML 문서를 해석할 때 외부 문서 참조 여부를 명시함. 생략이 가능하며 생략할 경우 기본값은 no로 외부 문서를 참조한다는 의미

- XML 요소의 구성

<요소이름 속성1 ="속성값1" 속성2="속성값2" > 내용 </요소이름>

  • 요소이름: 사용자가 임의로 지정할 수 있음
  • 속성=“속성값”: 요소와 관련된 속성값으로 생략이 가능함. 
  • 내용: 요소의 내용으로 생략이 가능함. 

<?xml version="1.0" encoding="euc-kr" standalone="yes"?>
<student school="길벗대학교">
  <member>
      <name>홍길동</name>

      <year>2</year>
      <major>인공지능</major>
  </member>
  <member>
      <name>이성룡</name>
      <year>4</year>
      <major>법학</major>
  </member>
</student>

 

SOAP(Simple Object Access Protocol)

- 컴퓨터 네트워크 상에서 HTTP/HTTPS, SMTP 등을 이용하여 XML을 교환하기 위한 통신 규약. 

- 웹 서비스에서 사용되는 메시지의 형식과 처리 방법을 지정

- 기본적으로 HTTP 기반에서 동작하기 때문에 프록시와 방화벽의 영향 없이 통신이 가능

- XML과 동일한 텍스트 형식의 데이터 포맷으로 다양한 플랫폼과 시스템에서 활용할 수 있음. 

- 최근에는 무거운 구조의 SOAP 보다 RESTful 프로토콜(HTTP와 REST의 원칙을 사용하여 구현되는 웹서비스로 HTTP로 자원을 관리하는데 사용되는 웹서비스 API의 집합)을 이용하기도 함. 

- SOAP의 주요 요소

  • Envelope: XML문서를 SOAP 메시지로 정의하는 것으로 메시지에 대한 요소와 접근 방법을 정의. 
  • Header: SOAP 메시지에 포함되는 웹 서비스 정의(생략 가능)
  • Body: 실제 SOAP 메시지 포함됨.

- 예제1) 송신 시스템이 10과 20을 인수로 하여 수신 시스템의 CalAdd 메소드를 호출하는 SOAP 메시지 plus

<?xml version="1.0"?>
<plus:Envelope
xmlns:plus="http://www.w3.org/2003/05/soap-envelope"
plus:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
  <plus:Body>
      <m:Caladd xmlns:m="http://gilbut.co.kr/soaptest">
        <m:FirstNum>10</m:FirstNum>
        <m:SecondNum>20</m:SecondNum>
      </m:Caladd>
  </plus:Body>
</plus:Envelope>

- 예제2) 응답한 SOAP 메시지

<?xml version="1.0"?>
<plus:Envelope
xmlns:plus="http://www.w3.org/2003/05/soap-envelope"
plus:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
  <plus:Body>
      <m:CaladdResponse xmlns:m="http://gilbut.co.kr/soaptest">
        <m:AddResult>30</m:AddResult>
      </m:CaladdResponse>
  </plus:Body>
</plus:Envelope>

 

WSDL(Web Services Description Language)

- 웹 서비스와 관련된 서식이나 프로토콜 등을 표준적인 방법으로 기술하고 게시하기 위한 언어

- XML로 작성되며 UDDI의 기초가 됨. 

- SOAP, XML 스키마와 결합하여 인터넷에서 웹 서비스를 제공하기 위해 사용됨. 

- 클라이언트는 WSDL 파일을 읽어 서버에서 어떠한 조작이 가능한지를 파악할 수 있음. 

- 주로 사용되는 버전에는 1.1과 2.0이 있으며 버전마다 요소들의 명칭이 서로 달라 작성에 주의해야 함. 

- WSDL의 주요 요소

V1.1

V2.0

설명

types

types

자료형을 정의.

message

삭제

메소드의 인수와 리턴값 등을 정의.

portType

interface

operation을 통해 웹 서비스의 인터페이스를 정의. 

operation

operation

메소드의 요청 및 응답 메시지 정의.

binding

binding

웹 서비스 이용할 때 사용할 통신 방법 정의.

service

service

port/endpoint를 통해 웹 서비스를 정의.

port

endpoint

웹서비스의 URL과 binding을 연결.

 

- WSDL의 구조

<description>
  <types>
    자료형 정의
  </types>
  <message>
    인수와 리턴값 정의
  </message>
  <portType> 또는 <interface>
    <operation>
      메소드 정의
    </operation>
  </portType> 또는 </interface>
  <binding>
    통신 방법 정의
  </binding>
  <service>
    <port> 또는 <endpoint>
      웹 서비스 URL
    </port> 또는 </endpoint>
  </service>
</description>

 

4.8 연계 테스트

 

연계 테스트의 개요

- 구축된 연계 시스템과 연계 시스템의 구성 요소(송수신 모듈, 연계 서버, 모니터링 현황 등)가 정상적으로 동작하는지 확인하는 활동

- 순서: 연계 테스트 케이스 작성 > 연계 테스트 환경 구축 > 연계 테스트 수행 > 연계 테스트 수행 결과 검증

 

연계 테스트 케이스 작성

- 연계 시스템 간의 데이터 및 프로세스의 흐름을 분석하여 필요한 테스트 항목을 도출하는 과정. 

- 송수신용 연계 응용 프로그램의 단위 테스트 케이스와 연계 테스트 케이스를 각각 작성함. 

- 송수신용 연계 응용 프로그램의 단위 테스트 케이스

  • 단위 테스트: 모듈 안에 개별적 코드 단위가 정상적으로 작동하는지 확인하는 것. 
  • 송수신 시스템에서 확인해야 할 항목을 도출. 
  • 송수신 시스템에서 단순 개별 데이터의 유효값을 확인하는 경우의 수와 데이터 간의 연관관계를 확인하는 경우의 수로 구분하여 작성함. 
  • 단순 개별 데이터의 유효값을 확인: 데이터의 타입, 데이터 길이, 필수 입력 여부 등이 정의된 데이터 입력 조건과 맞는지 확인. 
  • 데이터 간의 연관관계를 확인: 사용자의 요청이 수신 시스템의 운영 디비에 등록되지 않은 데이터를 변경하거나, 존재하지 않는 테이블에 데이터를 등록하는 경우 수행하는 점검 작업. 

- 연계 테스트 케이스

  • 송수신용 연계 응용 프로그램의 기능상 결함을 확인하는 단위 테스트 케이스 형태로 작성. 
  • 단위 테스트 케이스는 연계 테이블 간 송수신 절차의 앞뒤로 연결하여 흐름을 확인할 수 있는 내용으로 작성. 

 

연계 테스트 환경 구축

- 테스트의 일정, 방법, 절차, 소요 시간 등을 송수신 기관과의 협의를 통해 결정하는 것. 

- 연계 서버 또는 송수신용 어댑터 설치, 연계를 위한 IP 및 포트 허용 신청, 연계를 위한 디비 계정 및 테이블과 데이터 생성 등의 테스트 환경 구축. 

 

연계 테스트 수행

- 연계 응용 프로그램을 실행하여 연계 테스트 케이스의 시험 항목 및 처리 절차 등을 실제로 진행하는 것

- 송수신용 연계 응용 프로그램의 단위 테스트를 먼저 수행. 

- 단위 테스트 수행 후 연계 테스트 케이스에 따라 데이터 추출, 데이터 송수신, 데이터 반영 과정 등의 연계 테스트를 수행. 

 

연계 테스트 수행 결과 검증

- 연계 테스트 케이스의 시험 항목 및 처리 절차를 수행한 결과가 예상 결과와 동일한지를 확인하는 것. 

- 연계 테스트 케이스 항목별 검증 방법

  • 운영 디비 테이블 건수를 확인하는 방법
  • 테이블 또는 파일을 열어 데이터를 확인하는 방법
  • 파일 생성 위치에서 파일 생성 여부 및 파일 크기를 확인하는 방법
  • 연계 서버에서 제공하는 모니터링 현황을 확인하는 방법
  • 시스템에서 기록하는 로그를 확인하는 방법