ㅁㅁㅇㅊ's Life/Certification

2020 정보처리기사 실기 정리 - 통합 구현

민뭉아치 2020. 6. 20. 23:55

*개인적으로 정리한 내용이니 참고용으로 봐주세요 :)

 

1. 통합 구현

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

1) 송신 시스템·모듈 : 데이터를 생성 및 변환하여 전송하는 시스템

- 송신 모듈 : 전송 데이터를 생성 및 변환

- 모니터링 : 전송 데이터 생성 ~ 송신 과정 및 상태 확인

2) 수신 시스템·모듈 : 수신 받은 데이터를 정제 및 변환 하는 시스템 

- 수신 모듈 : 수신 데이터 정제, Application / DB Table에 적합한 데이터로 변환

- 모니터링 :  수신상태, 오류처리, 데이터 반영 등 확인 

3) 중계 시스템 : 내·외부 시스템 간 / 내부 시스템 간의 연계시 사용되는 아키텍처

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

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

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

- 형식 : DB Table / DB File(text, csv, xml)

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

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

6) 연계 요구사항 분석

- 순서

① 시스템 구성도, 송·수신 시스템 하드웨어 / 소프트웨어 구성, 네트워크 현환 확인

② 테이블 정의서, 코드 정의서 문서 확인

③ 시스템 구성, 데이터 현황 정보 체크리스트 작성

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

⑤ 요구사항 분석서(정의서) 작성

 

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

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

1) 연계 범위 및 항목 정의

- 연계 데이터 타입, 길이, 코드화 여부 확인

- 일반적으로 수신 시스템 기준

2) 연계 코드 변환 및 매핑

- 코드를 통합하여 표준화 한 후 매핑

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

- 수신 시스템의 연계 정보에 송신 시스템의 식별자(Primary Key)를 추가

4) 연계 데이터 표현 방법 정의

- 연계 데이터를 구성

- 연계 데이터 형식 : DB Table / DB File(태크, 콤마, 콜론, 세미콜론 등 구분자에 의해 구분)

5) 연계 정의서 및 명세서 작성

- 연계 항목, 연계 데이터의 타입, 길이 등 정의한 결과를 기반으로 작성

 

 

3. 연계 매커니즘

- 송신 체제 → 송신 시스템 : 인터페이스 테이블 / 인터페이스 파일 형식으로 연계 데이터를 생성 및 송신

- 수신 체제 → 수신 시스템 : 전송받은 데이터 데이터로 변환 후 운영 DB에 반영 

- 송 수신 시스템 사이에 중계시스템을 설치하여 인터페이스 테스트와 통합 테스트를 통해 기능 검증

  직접 연계 방식 간접 연계 방식
정의 중간 매개체 없이 직접 연계 중간 매개체를 두어 연계
장점 - 연계 및 통합 구현 단순
- 테이터 연계 처리 성능 뛰어남
- 개발 비용이 저렴
- 개발 기간이 짧음
- 다양한 환경 연계 및 통합 가능
- 인터페이스가 변경되어도 오류 없이 서비스
- 보안 품질, 비즈니스 처리 로직을 쉽게 반영
단점 - 시스템 간 결합도(Coupling)이 높아 시스템 변경시 오류 발생
- 보안(암호화, 복호화)처리 비즈니스 로직 적용이 어려움
- 시스템 환경 제한적
- 연계 매커니즘 아키텍처가 복잡
- 중간 매개체로 성능이 저하
- 개발 및 적용 기간 긺
종류 DB Link : DB에서 제공하는 DB Link 객체 이용
API / OPEN API : 데이터를 송신 시스템의 DB에서 읽어와 제공하는 애플리케이션 프로그래밍 인터페이스
DB Connection : 수신시스템 WAS에서 송신시스템 DB로 연결
JDBC : Java와 DB 연결하여 데이터 삽입, 삭제, 수정 조회
연계 솔루션 : EAI 서버, 송수신 시스템에 설치되는 클라이언트(Client)를 이용
ESB : 애플리케이션 간 연계, 데이터 변환, 웹서비스 지원 등 표준 기반의 인터페이스 제공
Socket : 서버는 소켓을 생성하여 포트 할당, 클라이언트는 요청하여 통신하는 네트워크 기술
Web Serviec : 웹서비스 WSDL, UDDI, SOAP 프로토콜을 이용

 

연계 매커니즘

 - 연계 데이터 생성 및 추출 : 연계 데이터를 생성, 추출

 - 코드 매핑 및 데이터 변환

-- 송신 시스템에서 인터페이스 테이블이나 파일을 생성 할 때

-- 수신 시스템에서 데이터를 운영 DB에 반영할 때

-- 연계 서버를 설치 할 때

 - 인터페이스 테이블 또는 파일 생성 : 보안이 필요한 데이터는 암호화(Encryption), 운영DB에 반영 시 복호화(Decryption)

 - 로그(Log) 기록 : 모든 과정에 대한 결과 및 오류, 로그 테이블 / 로그 파일에 기록

 - 연계 서버 또는 송·수신 어댑터 : 연계 서버는 송·수신 한 곳에 설치 하여 모든 처리를 수행 

 - 전송 : 전송 주기는 실시간, 분, 시간, 일 단위 등으로 설정하고 다음과 같은 항목에 의해 결정 됨

- 송신 시스템에서 연계 데이터를 생성 및 추출하는 방식

- 연계 서버 또는 송·수신 어댑터의 연계 주기

- 수신 시스템에서 연계 데이터를 운영 DB에 반영하는 방식

 

 

4. 연계 장애 및 오류처리

1) 오류 발생 지점

 - 송신 시스템 → 데이터 생성 및 추출 시, 코드 매핑 및 데이터 변환 시, 인터페이스 테이블 또는 파일 등록 시

 - 수신 시스템 → 연계 데이터 로드(Load)시, 코드 매핑 및 데이터 변환 시, 운영 DB에 반영시

 - 연계 서버 → 연계 데이터 로드(Load) 및 전송 형식 변환 시, 연계 데이터 송·수신 시

*오류 로그 기록 장소는 각 시스템, 서버에서 설정한 로그 및 오류 로그 테이블이다. 

 

 

5. 연계 데이터 보안

1) 전송 구간 보안 : 암호화 기능이 포함된 프로토콜 / 데이터나 패킷(Packet)을 암호화

 - VPN(가상 사설망), 연계 솔루션을 적용하여 전송 구간 암호화를 수행

2) 데이터 보안 : 송신 시스템에서 연계 데이터를 추출할 때, 수신 시스템에서 운영DB에 데이터를 반영할 때 설정

 - 보안 대상 칼럼(Column)을 암호화 알고리즘으로 암호화하여 인터페이스 테이블 / 인터페페이서 파일에 등록

 - 암호화한 칼럼(Column)을 복호화 하여 운영 DB에 반영

3) 암호화, 복호화

- 적용 대상 : 중요도에 따라 개인 정보 보호법에 근거한 개인 정보

- 암호화 알고리즘 : 평문을 암호화된 문장으로 만드는 절차 

① 해시(Hash)를 사용하는 단방향 암호화 방식

② 개인키·공개키로 분류되는 양방향 암호화 방식

- SEED, ARIA(Academy Research Institute Agency), DES(Data Encryption Standard), AES(Advanced Encryption Standard), RSA(Rivest Shamir Adleman)

암호화 복호화 적용 절차

6. 연계 모듈 구현

- 트리거(Trigger) 또는 프로그래밍 언어를 이용

1) EAI(Enterprise Application Integration)

: 기업 내 각종 애플리케이션 및 플랫폼 간의 연동 솔루션, 효율성 및 시스템 확장성(Determinacy)을 높여줌

ⓙ point-to-point : 1:1 연결 / 변경 및 재사용 어려움

② Hub & Spoke : 단일 접점 허브 시스템을 통해 데이터 전송하는 중앙 집중형 방식 / 확장 및 유지 보수 용이

③ Message Bus : 미들웨어를 두고 처리 / 확장성 Good / 대용량 처리 가능

④ Hybrid : Hub & Spoke + Message Bus / 그룹 내- Hub&Spoke 그룹 간-Message Bus /데이터 병목 현상을 최소화

2) ESB(Enterprise Service Bus)

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

- 서비스 중심의 통합을 지향

- 애플리케이션과의 결합도(Coupling)를 약하게 유지

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

 

- 배치 프로그램 및 인터페이스 파일 이용

1) 웹 서비스(Web Service)

: 서비스 지향 아키텍처(SOA)개념을 실현하는 대표적인 기술

- SOAP(Simple Object Access Protocol) : HTTP/HTTPS, SMTP 등을 활용하여 XML 기반 메세지를 교환하는 프로토콜

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

- WSDL(Web Services Description Language) : 웹 서비스에 대한 상세 정보를 XML 형식으로 구현 

 

 

7. XML(eXtensible Markup Language)

: 웹브라우저 간 HTML 문법 호환의 문제점 / SGML의 복잡함을 해결하기 위한 다목적 마크업 언어

특징

① 유니코드 기반 다국어 지원

② 사용자가 직접 태그를 정의 가능, 다른 사용자가 정의한 태그 사용 가능

③ 트리 구조로 구성, 상위태그는 여러 개의 하위태그를 가질 수 있음

④ 모든 태그는 종료태그를 가져야 함

⑤ 속성값은 큰따음표""

⑥ 대소문자를 구분함

구성

-XML 첫 문단

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>

xml을 알리는 문단의 태그<??>

encoding은 XML의 언어셋(Charate Set)을 명시함

standalone은 외부 문서의 참조 여부를 명시함

 

-XML 요소 Element의 구성

<element attribute="attribute value">Contents</element>

 

8. SOAP(Simple Object Access Protocol)

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

- 메시지의 형식, 처리방법을 지정

- 기본 HTTP 기반 동작으로 프록시와 방화벽의 영향을 받지 않음

- XML과 동일한 텍스트 형식의 데이터 포맷

- 최근 RESTful 프로토콜을 이용하기도 함

- 주요 요소 : Envelop, Header, Body

 

 

9. WSDL(Web Services Description Language)

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

- XML로 작성, UDDI의 기초

- SOAP, XML 스키마와 결합하여 웹 서비스를 제공

 

 

10. 연계 테스트

1) 테스트 케이스 작성

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

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

2) 환경 구축

- 송·수신 기관과의 협의를 통해 결정,

- 연계 서버 / 송·수신용 어댑터(Adapter)설치, IP(Internet Protocol) 및 포트(Port) 허용신청, DB 계정 및 테이블, 데이터 생성 등 테스트 환경을 구축 

3) 수행

- 단위 테스트를 먼저 수행하고 연계 테스트를 수행

4) 수행 결과 검증

- 운영 DB 테이블의 건수를 확인

- 테이블 / 파일을 열어 데이터를 확인

- 파일 생성 위치에서 파일 생성 여부 및 파일 크기 확인

- 모니터링 현황을 확인

- 로그(Log)를 확인 

 

 

11. 미들웨어(Middle Ware)

: 시스템 간이 데이터 교환에 일관성 보장

1) DB(DataBase) : 데이터베이스 벤더에서 제공하는 클라이언트에서 원격의 데이터베이스와 연결

2) RPC(Remote Procedure Call) : 응용 프로그램의 프로시저를 사용하여 원격 프로시저를 마치 로컬 프로시저처럼 호출

3) MOM(Message Oriented Middleware) : 메세지 지향 미들웨어, 비동기형 메시지를 전달하는 방식 

4) TP-Monitor(Transaction Processing Monitor) : 항공기나 철도 예약 업무 같은 온라인 트랜잭션을 처리 및 감시, 빠른 응답 속도를 유지

5) ORB(Object Request Broker) : 객체 지향 미들웨어로 코바(CORBA) 표준 스펙을 구현 TP-Monitor 트랜잭션 처리와 모니터링 등을 추가 구현

6) WAS(Web Application Service) : 동적인 콘텐츠를 처리하기 위해 사용 / 웹 환경을 구현하기 위한 미들웨어 

 

 

12. 단위 모듈(Unit Module)

: 한 가지 동작을 수행하는 기능을 모듈로 구현

1) 절차

단위 기능 명세서 작성 → 입출력 기능 구현 → 알고리즘 구현

2) IPC(Inter-Procesas Communication)

 - Shared Memory : 다수의 프로세스가 공유 가능한 메모리를 구성하여 프로세스 간 통신 수행

 - Socket : 네트워크 소켓을 이용하여 네트워크를 경유하는 프로세스들 간 통신 수행

 - Semaphores : 공유 자원에 대한 접근 제어를 통해 프로세스 간 통신 수행

 - Pipes & named Pipes : Pipe라는 선입선출 현태로 구성된 메모리를 여러 프로세스가 공유하여 통신 / Pipe가 이용중이라면 다른 프로세스는 접근할 수 없다.

 - Message Queueing : 메세지가 발생하면 이를 전달하는 형태로 프로세스 간 통신 수행

3) 알고리즘

 - 디바이스 드리이버 모듈 : 하드웨어 주변 장치의 동작을 구현

 - 네트워크 모듈 : 네트워크 장비 및 데이터 통신을 위한 기능을 구현

 - 파일 모듈 : 컴퓨터 내부의 데이터 구조 영역에 접근하는 방법을 구현

 - 메모리 모듈 : 파일을 프로세스의 가상 메모리에 매핑/해제하는 방법, 프로세스 사이의 통신 기능을 구현

 - 프로세스 모듈 : 하나의 프로세스 안에서 다른 프로세스를 생성하는 방법을 구현 

 

 

13. 단위 모듈 테스트 (= 단위 테스트)

1) 테스트 기법

- 화이트 박스 테스트(White Box Test) : 모듈의 원시 코드를 오픈 시킨 상태에서 논리적인 모든 경로를 테스트 / 모든 문장을 한 번 이상 실행함 / 설계된 절차에 초점을 둔 구조적 테스트로 테스트 과정의 초기에 적용

- 블랙박스 테스트(Black Box Test) : 기능을 완전히 작동되는 것을 입증 하는 테스트 / 기능 테스트 / 인터페이스에서 실시 / 테스트 과정의 후반부에 적용 

 

 

 


단어정리

- 프로토콜(Protocol) : 서로 다른 기기들 간의 데이터 교환 수행을 표준화시켜 놓은 통신 규약

- API(Application Programming Interface) : 운영체제나 프로그래밍 언어 등에 있는 라이브러리 이용할 수 있도록 규칙 등 정의해놓은 인터페이스

- WAS(Web Application Server) : 웹 애플리케이션 서버, 동적인 콘텐츠를 처리하기 위해 사용되는 미들웨어 

- 로그(Log) : 사용자가 컴퓨터에 요청한 명령이나 컴퓨터가 데이터를 처리하는 과정 및 결과 등을 기록으로 남기는 것

-SGML(Stand Generalized Markup Language) : 텍스트, 이미지, 오디오 및 비디오 등을 포함하는 멀티미디어 처리 언어