4장 통합 구현

2020. 11. 16. 21:52정보처리기사/시나공 정리

Section40. 연계 요구사항 분석

1. 통합 구현

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

구성요소(5가지): 송수신 시스템, 중계 시스템, 연계데이터, 모듈, 네트워크

 

2. 구성요소

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

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

중계 시스템: 내외부 시스템 간 또는 내부 시스템 간의 연계 시 사용되는 아키텍처이다.

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

연계 데이터: 송수신 시스템 간 송수신되는 데이터

- 데이터베이스 테이블과 데이터베이스 파일로 구분, 파일은 다시 text,csv,xml으로 구분

네트워크: 송신 시스템, 수신 시스템, 중계 시스템을 연결해주는 통신망

- 유선,무선,인터넷 서비스 업체의 공중망 또는 사설망과 송수신 규약을 위한 프로토콜을 포함한다.

 

3. 연계 요구사항 분석

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

<연계 요구사항 분석 절차>

시스템 구성도, 응용 애플리케이션 구성 등을 통해 송수신 시스템의 하드웨어 및 소프트웨어 구성, 네트워크 현황을 확인한다.

=> 송수신 시스템과 연결할 데이터와 관련된 테이블 정의서, 코드 정의서 등의 문서를 확인한다.

=> 확인된 시스템의 구성과 데이터 현황 정보등을 기반으로 체크리스트를 작성한다.

=> 시스템 구성도, 응용 애플리케이션 구성, 테이블 정의서, 코드 정의서, 체크리스트 등을 사용자, 시스템 관리자 등과 공유하고 인터뷰나 설문조사를 실시한다.

=> 인터뷰나 설문조사를 통해 확인된 결과를 기반으로 요구사항 ID, 이름, 유형, 설명, 해결방안 등이 포함된 요구사항 분석서(정의서)를 작성한다.

 

 

Section41. 연계 데이터 식별 및 표준화

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

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

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

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

 

2. 연계 범위 및 항목 정의

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

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

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

 

3. 연계 코드 변환 및 매핑

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

 

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

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

 

5. 연계 데이터 표현 방법 정의

연계 데이터를 구성한다.

 

6. 연계 정의서 및 명세서 작성

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

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

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

 

 

Section42. 연계 메커니즘 정의

1. 연계 메커니즘

데이터의 생성 및 전송을 담당하는 송신 체계+ 데이터 수신 및 운영 DB 반영을 담당하는 수신 체계

- 송신 시스템: 운영 DB로 부터 인터페이스 테이블이나 파일형식으로 연계 데이터를 생성하여 송신

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

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

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

2. 직접 연계 방식

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

* 장점

- 연계 및 통합 구현이 단순하고 용이하다.

- 데이터 연계 처리 성능이 뛰어나다.

- 개발 비용이 저렴하다.

- 개발 기간이 짧다.

* 단점

- 송 수신 시스템 간 결합도가 높아 시스템 변경 시 오류가 발생할 수 있다.

- 보안을 위한 암호화, 복호화, 비즈니스 로직을 적용하기 어렵다.

- 연계 및 통합이 가능한 시스템 환경이 제한적이다.

* 종류

- DB Link: DB에서 제공하는 DB Link 객체를 이용하는 방식

- API(Application Programming Interface)/Open API: 데이터를 송신 시스템의 DB에서 읽어와 제공하는 애플리테이션 프로그래밍 인터페이스이다.

- DB Connection: 수신 시스템의 WAS에서 송신 시스템의 DB로 연결해주는 방식

- JDBC(Java DataBase Connectivity): Java에서 DB에 접근하여 데이터를 삽입, 삭제, 수정, 조회할 수 있도록 Java와 DB를 연결해주는 방식

 

3. 간접 연계 방식

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

* 장점

- 다양한 환경의 연계및 통합이 가능하다.

- 송 수신 시스템간 인터페이스가 변경되어도 오류없이 서비스가 가능하다.

- 보안 품질 보장과 비지니스 처리를 위한 로직을 쉽게 반영할 수 있다.

* 단점

- 연계 메커니즘과 아키텍처가 복잡하다.

- 중간 매개체로 인해 성능이 저하될 수 있다.

- 개발 및 적용 기간이 비교적 길다.

* 종류

- 연계 솔루션: EAI 서버와 송수신 시스템에 설치되는 클라이언트를 이용하는 방식이다.

- ESB(Enterprise Service Bus): 애플리케이션 간 연계, 데이터 변환, 웹 서비스 지원 등 표준 기반의 인터페이스를 제공하는 방식이다.

- Socket: 서버는 통신을 위한 소켓을 생성하여 포트를 할당하고 클라이언트의 통신 요청 시 클라이언트와 연결하여 통신하는 네트워크 기술이다.

- Web Service: 웹서비스에서 WSDL과 UDDI, SOAP 프로토콜을 이용하여 연계하는 방식이다.

* EAI(Enterprise Application Integration)

송 수신 데이터를 식별하기 위해 송 수신 처리 및 진행 현황을 모니터링하고 통제하는 시스템

 

 

Section45. 연계 모듈의 구현 환경

1. 연계 모듈 구현 환경

연계 메커니즘에 따라 구현된 연계 시스템 환경 및 모듈 구현 환경을 의미한다.

=> 트리거, EAI,ESB 방식, 웹서비스(Web Service) 방식

* 트리거

데이터베이스 시스템에서 데이터의 삽입, 갱신, 삭제 등의 이벤트가 발생할 때 마다 관련 작업이 자동으로 수행되는 절차형 SQL

 

2. EAI(Enterprise Application Integration)

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

* 구축 유형

- point-to-point: 기본적인 애플리케이션 통합 방식으로, 애플리케이션을 1:1로 연결한다. 변경 및 재사용이 어렵다.

- Hub & Spoke: 단일 접점인 허브 시스템을 통해 데이터를 전송하는 중앙 집중형 방식이다. 확장 및 유지보수가 용이하다. 허브 장애 발생 시 시스템 전체에 영향을 미친다.

- Message Bus(ESB방식): 애플리케이션 사이에 미들웨어를 두어 처리하는 방식이다. 확장성이 뛰어나며 대용량 처리가 가능하다.

- Hybrid: hub&spoke와 message bus의 혼합방식이다.

  그룹 내에서는 hub&spoke, 그룹 간에는 message bus 방식을 사용한다.

  필요한 경우 한가지 방식으로 EAI 구현이 가능하며 데이터 병목현상을 최소화할 수 있다.

 

3. ESB(Enterprise Service Bus)

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

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

- 특정 서비스에 국한되지 않고 범용적으로 사용하기 위해, 애플리케이션과의 결합도(Coupling)를 약하게(Loosely) 유지한다.

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

 

4. EAI, ESB 방식 환경 구축 절차

송 수신 시스템에 연계를 위한 DB를 각각설치하고 계정을 생성한다. => 데이터, 인터페이스, 매핑 정보, 오류 코드 등을 저장할 테이블을 생성한다. => 트리거 또는 프로그래밍 언어를 이용하여 연계 응용 프로그램을 구현한다.

 

5. 웹 서비스(Web Service)

네트워크의 정보를 표준화된 서비스 형태로 만들어 공유하는 기술로, 서비스 지향 아키텍처(SOA)개념을 실현하는 대표적인 기술

* 서비스 지향 아키텍처 (SOA; Service Oriented Architecture)

기업의 소프트웨어 인프라인 정보 시스템을 공유와 재사용이 가능한 서비스 단위나 컴포넌트 중심으로 구축하는 정보기술 아키텍처

- SOAP(Simple Object Access Protocol): HTTP,HTTPS,SMTP등을 활용하여 XML 기반의 메시지를 네트워크 상에서 교환하는 프로토콜

- UDDI(Universal Description Discovery and Integration): WSDL을 등록하여 서비스와 서비스 제공자를 검색하고 접근하는데 사용된다.

-WSDL(Web Service Description Language): 웹 서비스명, 서비스 제공 위치, 프로토콜 등 웹서비스에 대한 상세정보를 XML 형식으로 구현

 

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

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

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

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

 

 

Section46. XML(eXtensible Markup Language)

1. XML 

웹브라우저 간 HTML 문법이 호환되지 않는 문제SGML의 복잡함을 해결하기 위하여 개발된 다목적 마크업 언어

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

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

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

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

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

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

- 속성 값은 반드시 큰따옴표("")로 묶어줘야한다.

- 대소문자를 구분한다.

 

2. XML의 구성

XML의 첫 문단

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

- XML 문서임을 알리는 문단으로 반드시 포함되어야 한다.

- <?, ?>: 태그는 기본적으로 < >를 사용하지만, 문서의 첫 문단은 ?를 포함한다.

- version: XML 문서에 사용된 XML 버전을 명시한다.

- encoding: XML의 언어셋을 명시한다. 생략이 가능하며, 생략할 경우 기본 값은 UTF-8이다.

- standalone: XML 문서를 해석할 때 외부 문서의 참조 여부를 명시한다. 생략이 가능하며, 기본 값은 no로 외부 문서를 참조한다는 의미

 

XML요소의 구성

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

- 요소 이름: 요소의 이름으로 사용자가 임의로 지정할 수 있다.

- 속성="속성 값": 요소와 관련된 속성(Attribute)과 속성값으로, 생략이 가능하다.

- 내용: 요소의 내용으로, 생략이 가능하다.

 

3. SOAP(Simple Object Access Protocol)

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

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

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

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

- 최근에는 무거운 구조의 SOAP 대신 RESTful 프로토콜을 이용하기도 한다.

 

* RESTful 프로토콜

HTTP와 REST의 원칙을 사용하여 구현되는 웹서비스로, HTTP로 자원을 관리하는데 사용되는 웹서비스 API 집합을 의미

 

SOAP의 주요 요소

- Envelope: XML 문서를 SOAP 메시지로 정의하는 것으로, 메시지에 대한 요소와 접근방법을 정의한다.

- Header: SOAP 메시지에 포함되는 웹 서비스를 정의하는 것으로, 생략이 가능하다.

- Body: 실제 SOAP 메시지가 포함된다.

 

ex1) 송신 시스템이 10과 20을 인수로 하여 수신 시스템의 CalAdd 메소드를 호출하는 SOAP 메시지 plus를 구성한 것

 

 

4. WSDL(Web Service Description Language)

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

- XML로 작성되며, UDDI의 기초가 된다.

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

- WSDL의 주요 요소

V1.1 V2.2 설명
types types 자료형(Data Type)을 정의한다.
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>

 

 

Section47. 연계 테스트

1. 연계 테스트

구축된 연계 시스템과 연계 시스템의 구성 요소가 정상적으로 작동하는지 확인하는 활동

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

 

2. 연계 테스트 케이스 작성

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

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

 

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

- 송 수신 시스템에서 확인해야 할 항목을 도출한다.

- 송 수신 시스템에서 단순 개별 데이터의 유효값을 확인하는 경우의 수와 데이터 간의 연관관계를 확인하는 경우의 수로 구분하여 작성한다.

 

* 연계 테스트 케이스

- 송 수신용 연계 응용 프로그램의 기능상 결함을 확인하는 단위 테스트 케이스 형태로 작성

- 단위 테스트 케이스는 연계 테이블 간 송 수신 절차의 앞뒤로 연결하여 흐름을 확인할 수 있는 형태로 작성한다.

 

3. 연계 테스트 환경 구축

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

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

 

4. 연계 테스트 수행

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

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

=> 연계 테스트 케이스에 따라 데이터 추출, 데이터 송 수신, 데이터 반영 과정등의 연계 테스트를 수행

 

5. 연계 테스트 수행 결과 검증

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

- 운영 DB테이블의 건수를 확인하는 방법

- 테이블 또는 파일을 열어 데이터를 확인하는 방법

- 파일 생성 위치에서 파일 생성 여부 및 파일 크기를 확인하는 방법

- 연계 서버에서 제공하는 모니터링 현황을 확인하는 방법

- 시스템에서 기록하는 로그를 확인하는 방법

'정보처리기사 > 시나공 정리' 카테고리의 다른 글

8장 SQL응용  (1) 2020.11.25
7장 애플리케이션 테스트 관리  (0) 2020.11.22
5장 서버 프로그램 구현  (0) 2020.11.18
3장 데이터 입출력 구현  (0) 2020.11.15
2장 요구사항 확인  (0) 2020.11.13