정보처리기사 실기

정보처리기사 실기 4장 통합 구현 요점 정리

E_ONION 2020. 6. 26. 16:14

1. 연계 요구사항 분석

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

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

송신 시스템과 모듈

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

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

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

수신 시스템과 모듈

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

- 수신 모듈은 수신 데이터 정제하고 애플리케이션이나 DB 테이블에 적합한 데이터로 변환하는 작업 수행

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

중계 시스템

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

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

연계 데이터

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

- 속성, 길이(Size), 타입(Type) 등이 포함

- 연계 데이터 형식은 크게 DB 테이블과 DB 파일로 구분하며, 파일은 다시 text, csv, xml 등으로 구분

● 네트워크

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

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

연계 요구사항 분석

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

- 절차 : 송수신 시스템의 HW/SW의 구성, 네트워크 현황 확인 -> 문서 확인 -> 체크리스트 작성 -> 인터뷰나 설문조사 실시 -> 요구사항 분석서(정의서) 작성

 

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

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

● 절차

 연계 범위 및 항목 정의 : 시스템 간 연계할 정보를 상세화하여 정의, 연계할 각 항목의 데이터 타입, 길이, 코드화 여부 등을 확인, 연계 항목 다를 시 일반적으로 수신 시스템을 기준으로 함

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

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

연계 데이터 식별자와 변경 구분 추가 : 송신 시스템에서 송신한 데이터가 수신 시스템의 어떤 데이터에 해당되는지 확인하기 위해 수신 시스템의 연계 정보에 송신 시스템의 식별자(PK : Primary Key)를 추가

④ 연계 데이터 표현 방법 정의 : 연계 대상 범위 및 항목과 코드 변환 및 매핑 방식을 정의한 후에는 연계 데이터를 구성

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

 

3. 연계 메커니즘 정의

개요 : 데이터의 생성 및 전송을 담당하는 송신 체계와 데이터 수신 및 운영 DB 반영을 담당하는 수신 체계로 구성

- 송수신 시스템중계 시스템으로 구성, 직접간접 연계 방식

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

- 장점 : 연계 및 통합 구현이 단순하고 용이, 데이터 연계 처리 성능 뛰어남, 개발 비용 저렴, 개발 기간 짧음

- 단점 : 송 수신 시스템 간 결합도(Coupling)가 높아 시스템 변경 시 오류가 발생, 암호화 복호화 비즈니스 로직 적용 어렵, 연계 및 통합이 가능한 시스템 환경이 제한적

종류

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

- Link(화면 링크) : 웹 애플리케이션 화면에서 하이퍼 링크 이용

- API(Application Programming Interface)/Open API : 데이터를 송신 시스템의 DB에서 읽어와 제공하는 것

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

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

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

- 장점 : 다양한 황경의 연계 및 통합 가능, 송수신 시스템 간 인터페이스가 변경되어도 오류 없이 서비스 가능, 보안 품질 보장과 비즈니스 처리를 위한 로직을 쉽게 변경 가능

- 단점 : 연계 메커니즘과 아키텍처 복잡, 중간 매개체로 인해 성능이 저하 가능, 개발 및 적용 기간이 비교적 김

종류

- 연계 솔루션 : EAI(송수신 데이터를 식별하기 위해 송수신 처리 및 진행 현황을 모니터링하고 통제하는 시스템) 서버와 송수신 시스템에 설치되는 클라이언트(Client)를 이용하는 방식

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

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

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

연계 메커니즘의 구성

- 연계 데이터 생성 및 추출 : 연계 솔루션과 관계없이 응용 프로그램이나 DB 등 응용 시스템에서 연계 데이터를 생성하고 추출하는 것, 오류 발생 시 오류 발생 시점, 오류 코드, 오류 내용 등을 로그 테이블이나 파일에 기록

- 코드 매핑 및 데이터 변환 : 송신 시스템에서 사용하는 코드를 수신 시스템에서 사용하는 코드로 매핑 및 변환하는 것

* 송신 시스템에서 인터페이스 테이블이나 파일을 생성할 때, 수신 시스템에서 수신받은 연계 데이터를 운영 DB에 반영할 때, 연계서버를 설치할 때(연계 서버에서 수행) -> 코드 매핑 및 데이터 변환 수행

* 시스템 환경과 특성에 따라 코드 매핑 및 데이터 변환 위치 결정

* 변환 과정에서 오류 발생 시 변환 일시, 오류 코드, 오류 내용 등을 로그 테이블이나 파일에 기록 

- 인터페이스 테이블 또는 파일 생성 : 연계 데이터를 인터페이스 테이블이나 파일 형식으로 생성하는 것

- 로그 기록 : 송수신 시스템에서 수행되는 모든 과정에 대한 결과 및 오류에 대한 정보를 로그 테이블이나 파일에 기록

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

- 전송

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

 

4. 연계 데이터 보안 적용

개요 : 송신 시스템에서 수신 시스템으로 전송되는 연계 데이터는 보안에 취약할 수 있으므로 데이터의 중요성을 고려하여 보안을 적용, 일반적으로 연계 데이터의 보안은 전송 구간의 암복호화와 데이터의 암복호화로 구현

전송 구간 보안 : 전송되는 데이터나 패킷을 쉽게 가로챌 수 없도록 암호화 기능이 포함된 프로토콜을 사용하거나 데이터나 패킷을 가로채더라도 내용을 확인할 수 없게 데이터나 패킷을 암호화함, VPN이나 연계 솔루션 적용하여 수행

데이터 보안 : 송신 시스템에서 연계 데이터를 추출할 때와 수신 시스템에서 데이터를 운영 DB에 반영할 때 데이터를 암복호화하는 것

암복호화 적용 대상 선정 : 연계 데이터 중요도에 따라 선정

- 개인 정보 보호법에 근거한 개인 정보가 일반적인 적용 대상

 암호 알고리즘

- 개요 : 평문을 암호화 문장으로 만드는 절차 또는 방법

 양방향

- 개인키 암호화 기법 : 대칭키, 단일키, 비밀키

* Stream 암호화 방식 : 평문과 동일한 길이의 스트림을 생성하여 비트 단위로 암호화 ex) LFSR, RC4

* Block 암호화 방식 : 한 번 하나의 데이터 블록을 암호화 ex) DES, SEED, AES, ARIA

* 장점 : 암호화/복호화 속도 빠름, 알고리즘 단순, 공개키 보다 크기 작음

* 단점 : 사용자 증가에 따라 관리해야 할 의 수 상대적으로 많아짐

- 공개키 암호화 기법 : 비대칭키, 이중키, RSA 기법, 암호화 시 공개키 사용자 / 복호화 시 비밀키 관리자

* 장점 : 키 분배 용이, 관리 키 수 적음

* 단점 : 암호화/복호화 속도 느림, 알고리즘 복잡, 개인키 보다 크기 큼

단방향

- HASH : 임의의 길이의 입력 데이터나 메시지를 고정된 길이의 값이나 키로 변환하는 것, HASH 알고리즘 = HASH 함수

ex) SHA, MD5, N-NASH, SNEFRU

암복호화 적용 절차

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

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

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

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

 

5. 연계 모듈의 구현 환경

개요 : 연계 메커니즘에 따라 구현된 연계 시스템 환경 및 모듈 구현 환경을 의미

- 트리거 또는 프로그래밍 언어를 이용한 EAI, ESB 방식과 배치 프로그램 및 인터페이스 파일을 이용한 웹 서비스 방식으로 구분

EAI(Enterprise Application Integration)

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

┌ EAI : 상호 연동이 가능, 효율성 확장성 높여 줌 ex) Point to Point(1:1 연결, 변경 및 재사용 어렵), Hub & Spoke(중앙 집중형 방식, 확장 및 유지 보수 용이), Message Bus(ESB 방식, 앱 사이에 미들웨어 둠, 확장성 뛰어나 대용량 처리), Hybrid(허브 + 메시지, 그룹 내 = 허브, 그룹 간 = 메시지, 한 가지 방식으로 EAI 구현 가능, 병목 현상 최소화)

└ ESB : 애플리케이션 간 연계, 데이터 변환, 웹 서비스 지원 등 표준 기반인터페이스 제공하는 솔루션, 애플리케이션보다는 서비스 중심의 통합 지향, 결합도 약하게, 관리 및 보안 유지 쉽고, 높은 품질 지원 가능

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

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

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

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

 

6. XML(eXtensible Markup Language)

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

- 웹브라우저 간 HTML 문법이 호환되지 않는 문제와 SGML의 복잡함을 해결하기 위하여 개발

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

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

SOAP(Simple Object Access Protocol) : 컴퓨터 네트워크 상에서 HTTP/HTTPS, SMTP 등을 이용하여 XML을 교환하기 위한 통신 규약

● WSDL(Web Services Description Language) : 웹 서비스와 관련된 서식이나 프로토콜 등을 표준적인 방법으로 기술하고 게시하기 위한 언어

● JSON(JavaScript Object Notation)

: 속성-값 쌍(Attribute-Value Pairs)으로 이루어진 데이터 객체를 전달하기 위해 사람이 읽을 수 있는 텍스트를 사용하는 개방형 표준 포맷비동기 처리에 사용되는 AJAX에서 XML을 대체하여 사용

 

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

- 순서

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

- 송 수신용 연계 응용 프로그램의 단위 테스트 케이스 연계 테스트 케이스(기능상 결함 확인) 각각 장성

② 연계 테스트 환경 구축 : 테스트의 일정, 방법, 절차, 소요 시간 등을 송 수신 기관과의 협의 통해 결정하는 것

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

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

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

④ 연계 테스트 수행 결과 검증 : 예상 결과와 동일한지를 확인하는 것

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

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

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

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

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