1. 내/외부 송수신 연계방식
1. 직접 연계방식
=> 장점
- 중간 매개체가 없어 연계처리 속도가 빠르고 구현이 단순 개발 비용과 기간이 짧음
- 개발 비용과 기간이 짧음
=> 단점
- 송신 시스템과 수신 시스템 간의 결합도가 높아서 시스템 변경 시 민감
- 보안을 위한 암/복호화 처리와 비즈니스 로직 구현을 인터페이스별로 작성
- 전자 시스템 인터페이스에 대한 통합 환경 구축이 어려움
2. 간접연계 방식
=>장점
- 송/수신 처리 및 현황을 모니터링하고 통제하는 연계 서버를 활용하는 방식
- 서로 다른 네트워크와 프로토콜 등 다양한 환경을 갖는 시스템들을 연계하고 통합관리 할 수 있음
- 인터페이스 변경 시에도 유연하게 대처가 가능
=> 단점
- 인터페이스 아키텍처와 연계 절차가 복잡하고 연계 서버로 인한 성능저하
- 개발 및 테스트 기간이 직접 연계 방식보다 오래걸림
2. 내/외부 송,수신 연계 기술
1. DB 링크(DB Link)
- 데이터베이스에서 제공하는 DB 링크 객체를 이용
- 수신 시스템에서 DB 링크를 생성하고 송신 시스템에서 해당 DB링크를 직접 참조하는 방식
2. DB 연결(DB Connection)
- 수신 시스템의 WAS에서 송신 시스템 DB로 연결하는 DB 커넥션 풀(DB Connection Pool)을 생성하고 연계 프로그램에서 해당 DB 커넥션 풀명을 이용
3. API/Open API
- 송신 시스템의 DB에서 데이터를 읽어서 제공하는 애플리케이션 프로그램밍 인터페이스 프로그램
- API 명, 입출력 파라미터 정보가 필요함
4. JDBC
- 수신 시스템의 프로그램에서 JDBC 드라이버를 이용하여 송신 시스템 DB와 연결
- DBMS 유형, DBMS 서버와 IP와 Port, DB 인스턴스(Instance)정보가 필요
5. 하이퍼 링크(Hyper Link)
6. 소켓(Socket)
- 서버는 통신을 위한 소켓을 생성하여 포트를 할당하고 클라이언트의 통신 요청 시 클라이언트와 연결하고 통신
3. 내/외부 송,수신 통신 유형
[실시간]
1. 단반향(Notify)
- 데이터를 이용하고자 하는 시스템에서 거래를 요청하는 방식
- 데이터를 전송하는 상대 시스템의 응답이 필요 없는 업무에 사용
- 실시간 File, 실시간 DB 연계에도 사용
2. 동기(Sync)
- 데이터를 이용하고자 하는 시스템에서 거래 요청을 하고 응답이 올 때까지 대기(Request-Reply)하는 방식
- 업무 특성상 응답을 바로 처리해야 하는 거래나 거래량이 적고, 상대 시스템의 응답 속도가 빠를 경우 사용
3. 비동기(Async)
- 데이터를 이용하고자 하는 시스템에서 거래를 요청하는 서비스와 응답을 받아 처리하는 서비스가 분리되는 구조
- 요청을 보내고 다른 작업을 하다가 데이터가 준비되었다는 신호를 받으면 다시 처리하는 방식
- 주문 업무와 같이 거래량이 많거나 데이터를 전송하는 시스템의 처리가 오래 걸리는 업무에 사용
4. 지연 처리(Deferred)
- 비동기, 단방향 유형과 유사한 방식
- 순차 처리 및 지연 처리가 필요한 업무에 사용
[배치]
1.DB/File 거래
- 정해진 시간에 통신을 수행되는 방식
- 연계 스케줄러에 의해 구동되는 이벤트 방식과 타이머에 의한 방식이 있음
데이터 명세화
송/수신 데이터 명세화를 위한 정보 파악
1.개체(entity) 정의서
- 데이터베이스 개념 모델링 단계에서 도출한 개체의 타입과 관련 속성, 식별자 등의 정보를 개괄적으로 명세화한 정의
1. 논리DB 명
2. 엔터티명
- 엔터티의 이름으로 표준용어 정의서에 등록된 용어를 사용하여 한글로 기재
- 슈퍼-서브 타입 관계에 있는 타입 엔터티의 경우 서브 타입 엔터티 이름만 기재함
cf Entity : 데이터베이스에서 업무에 필요하고 유용한 정보를 저장하고 관리하기 위한 집한적인 것(Thing)으로 관리할 대상이 되는 실체
cf Super Type : 모든 서브 타입으로 상속되는 공통 속성이다.
cf Sub Type : 개체의 전체집합에서 일부만 모아놓은 부분 속성
3. 엔터티 설명
- 관련된 업무에 대한 개략적인 설명 및 업무 규칙을 기술
- 다른 엔터티로부터 유도되는 엔터티의 경우, 그 생성 업무 규칙을 기술
- 서브타입 엔터티의 경우 슈퍼타입 엔터티 명에 대한 범주 구별 기준을 명시
- 개인정보가 포함된 경우, "개인정보 포함" 문구를 반드시 표기
4. 주 식별자
- 엔터티에서 집합의 유일성을 나타내는 속성 또는 속성의 그룹
- 속성, 관계 등이 식별자가 될 수 있으며, 여러 개의 속성이나 관계로 구성된 경우 "+"로 연결하여표기함
5. 슈퍼타입 엔터티명
- 해당 엔터티가 슈퍼-서브 타입 관계에 있는 서브 타입 엔터티인 경우에 한하여 상위에 존재하는 슈퍼타입 엔터티의 이름을 기재
- 논리 모델링 단계에서 엔터티가 갖는 특성이 유사한 엔터티들을 구분하여 표현하고자 할 때, 슈퍼타입 엔터티, 서브타입 엔터티의 개념을 도입
2. 테이블(table)정의서
- 논리 및 물리 모델링 과정에서 작성하는 설계 산출물로 테이블을 구성하는 컬럼들의 특성, 인덱스(Index), 업무 규칙을 문서화한 것이다.
- 컬럼의 특성은 컬럼명, 데이터 타입(Type), 길이, Null여부, Key여부, default 값 등을 의미한다.
[테이블 정의서 명세 지침 항목]
1. 물리 DB명
- 정보 시스템에서 DB를 식별하기 위하여 사용하는 물리 정보명
2. 테이블 소유자
- 물리적인 DB에 생성할 테이블의 이름을 의미
- 표준용어 정의서를 참조하여 테이블 명명 규칙을 정의하고, 해당 명명 규칙에 따라 테이블 명 정의
- 1개의 엔터티가 다수의 테이블로 분리되어 구축되는 경우, 일련번호를 포함 가능
3. 테이블 한글명
4. 테이블 유형
- 테이블의 논리적, 물리적 특성에 따라 테이블 유형을 기재(테이블 명에 테이블 유형이 반영된 경우 생략 가능)
- 물리적 특성으로 테이블 유형을 정의하여 기재하는 경우 일반 테이블, 파티션 테이블, 클러스터 테이블, 뷰 테이블 등으로 구분하여 기재
- 논리적 특성으로 테이블 유형을 정의하여 기재하는 경우 코드 테이블, 마스터 테이블, 임시 테이블, 통계 테이블 등으로 구분하여 기재
5. 관련 엔터티 명
- 해당 테이블이 어떤 엔터티로부터 물리적으로 구현된 테이블인지, 엔터티 정의서에 기록한 엔터티 명(한글)을 기재
6. 테이블 설명
- 테이블의 물리적 특징에 대한 기술
- 파티션 테이블의 경우, 분할 조건이나 관련 특징을 기술
- 뷰 테이블의 경우, 뷰를 구성하는 집합 결정 조건을 기술
7. 업무 분류체계
8. 보존 기간
- 해당 테이블의 데이터 발생 시점 기준으로 얼마나 오랫동안 보존하는지 기록
- 월 단위 또는 연 단위 기재
9. 발생 주기
- 해당 테이블의 데이터가 작성되거나 수정되는 주기를 의미
- 종류 : 실시간, 일/주/월, 분기/반기, 연
10. 공개/비공개 여부
- 테이블이 보유한 원천데이터에 대한 공개, 부분공개 또는 비공개 여부(부분 공개 또는 비공개의 경우 사유 기술)
11. 개방 데이터 목록
- 공개(또는 부분공개) 대상인 N개의 테이블을 구성하여 식별 가능한 유의미한 데이터로 구성한 목록 명
3. 코드정의서
- 코드 정의서는 코드에 대한 명명 규칙을 정하고, 명명 규칙에 따라어떠한 코드를 사용할지를 정의한 문서이다.
- 코드는 전체 데이터베이스에서 유일하게 정의된다.
송, 수신 데이터 명세서 작성
- 송,수신 시스템의 테이블 정의서, 파일 레이아웃에서 연계하고자 하는 테이블 또는 파일 단위로 송,수신 데이터 명세를 작성한다.
- 송수신 데이터 항목의 데이터 타입, 길이, 필수 입력 여부(NOT NULL), 식별자 여부를 정의한다.
- 코드성 데이터 항목에 대해 공통 코드 여뷰, 코드 값 범위를 정의한다.
- 법률적 근거와 회사 내부에 정한 보안 규정을 참고하여 암호화 대상 컬럼을 선정하고, 해당 컬럼이 송수신 데이터에 포함된 경우 암호화 적용 여부를 정의한다.
3. 오류 처리방안 명세화
1. 인터페이스 오류 유형
- 시스템 연계 과정에서 발생할 수 있는 장애나 오류 유형은 연계 시스템(연계 서버나 엔진) 오류와 송신 시스템의 연계 프로그램 오류 또는 수신 시스템의 연계 데이터를 생성하거나 추출하는 과정, 코드 및 데이터를 변환하는 과정에서 발생할 수 있다.
- 송신 시스템의 연계 프로그램 오류는 연계 데이터를 생성하거나 추출하는 과정, 코드 및 데이터를 변환하는 과정에서 발생할 수 있다.
- 수신 시스템의 연계 프로그램 오류는 운영 DB에 데이터를 반영하고 코드 및 데이터를 변환하는 과정에서 발생할 수 있다.
1. 연계서버
- 연계 서버의 실행 여부, 송,수신, 전송 형식 변환등 연계 서버의 기능과 관련된 장애 또는 오류
- 연계 서버 다운, 송,수신 시스템 접속 오류 등
2. 송신 시스템 연계프로그램
- 연계 데이터 추출을 위한 데이터베이스 접근 권한 오류, 데이터 변환 시 예외 상황 미처리 등으로 인한 연계 프로그램 오류
- 미등록 코드로 인한 코드 매핑 오류
3. 연계 데이터
- 연계 데이터 값이 유효하지 않음으로 인해 발생하는 오류
- 일자 데이터 값에 유효하지 않은 일자 값 입력
4. 수신 시스템 연계 프로그램
- 수신 받은 데이터를 운영 데이터베이스에 반영하는 과정에서 접근 권한 문제, 데이터 변환 시 예외 상황 미처리 등으로 인한 연계 프로그램 오류
- 데이터 등록,갱신 오류
2. 인터페이스 오류 처리 방법
1. 인터페이스 오류 처리 절차
- 인터페이스 오류가 발생한 경우, 연계 서버와 송,수신 시스템의 로그 파일에 오류 코드와 에러 발생 상세 내용을 기록하도록 연계 프로그램을 작성
- 인터페이스 오류 발생
- 오류 발생 시 인터페이스 담당자는 연계 서버와 송,수신 시스템에 기록된 로그 파일을 확인하여 오류 원인을 분석, 해결 방안을 수립
- 연계 데이터 오류의 경우 데이터를 보정하고 재전송 처리
- 송,수신 시스템의 접속 오류의 경우는 시스템 담당자를 통해 접속 오류를 해결한 후 재전송
2. 인터페이스 오류 코드
- 오류 코드
- 오류를 식별할 수 있느 코드
- 오류 발생지와 오류 유형, 일련번호를 포함하도록 오류 코드 명명규칙을 정의한 후 인터페이스 표준화 지침,가이드 문서로 정리해서 공유
- 오류 내용
- 오류 발생 내용과 원인을 포함하도록 설명을 기술
- 데이터 에러, 네트워크 에러, 암호화,복호화 에러 등 오류 발생 원인을 포함하는 메시지 기술
3. 오류 처리 방안 명세화 프로세스
1. 오류상황 식별 분류
- 시스템 장애, 전송 오류, 연계 프로그램에서 정의한 예외 상황 등내외 시스템 연계 시에 발생할 수 있는 다양한 오류 상황을 식별, 분류 한다.
2. 오류 처리 방안 명세화
- 오류발생 영역 정의
- 오류가 발생하는 영역을 구분할 수 있는 발생 영역 구분자를 정의하고 오류 발생 영역 정의
- 오류 그룹 번호 정의
- 오류 유형을 식별할 수 있는 오류 그룹 번호를 정의
- 오류 코드 부여, 오류 메시지 정의
- 발생 영역 구분자와 오류 그룹 번호를 참조하여 오류를 식별할 수 있는 오류 코드를 부여하고, 오류 발생 시 로그 파일 도는 인터페이스 관리테이블에 기록할 메시지 정의
- 오류 상세 기술
- 오류 처리에 참고 할 수 있도록 오류에 대한 상세한 설명을 오류 발생원인을 포함해서 기술
- 오류 해결 방법 기술
- 오류 발생 시 해결 방법과 재전송 여부, 데이터 재처리 여부 등을 기술
인터페이스 설계
1. 인터페이스 목록 도출
1. 인터페이스 ID
: 인터페이스 구분하기 위한 식별자, 명명 표준에 맞게 부여
2. 인터페이스 명
: 인터페이스의 목적을 나타내는 이름
3. 송신 시스템
: 인터페이스를 통해 데이터를 전송하는 시스템
4. 수신 시스템
: 인터페이스를 통해 전송된 데이터를 이용하는 시스템
5. 대내외구분
: 인터페이스가 기업 내부 시스템 간 또는 내/외부 시스템 간에 발생하는 지여부
6. 연계 방식
: 웹서비스,FTP,DB링크,소켓 등 아키텍처에서 정의한 인터페이스 방식
7. 통신 유형
: 아키텍처에서 정의한 통신 유형(단반향, 양방향, 동기, 비동기)
8. 처리 유형
- 실시간, 배치, 지연 처리 등 인터페이스 처리유형
- 처리 유형이 실시간인 경우 수시, 나머지는 사세 주기를 표시(매일 오전 10시, 매시 10분)
9. 주기
: 인터페이스가 발생하는 주기
10. 데이터 형식
: 고정 길이, XML 등 인터페이스 항목의 데이터 포맷
11. 관련 요구사항 ID
: 해당 인터페이스와 관련된 요구사항 식별 정보
2. 인터페이스 정의서 작성
1. 인터페이스 ID
- 인터페이스를 구분하기 위한 식별자, 명명 표준에 맞게 부여
- 일반적으로 인터페이스 식별 성을 강화하기 위해 업무 분류 코드와 연속 번호를 같이 활용함
2. 최대 처리 횟수
- 단위 시간당 처리될 수 있는 해당 인터페이스 최대 수행 건수
3. 데이터크기(평균/최대)
- 해당 인터페이스 1회 처리 시 소요되는 데이터의 평균 크기와 최대 크기
4. 시스템 정보(송수신 시스템 각각 작성)
- 시스템명, 업무명, 서비스명/프로그램 ID, 연계 방식, 담당자/연락처
5. 데이터 정보(송수신 시스템 각각 작성)
- 번호, 필드, 식별자 여부, 데이터 타입, 데이터 크기, 널(NULL) 허용 여부, 항목 설명, 조건, 매핑 규칙, 총 길이, 추출 조건/SQL
3. 인터페이스 설계 프로세스
1. 양식 준비
- 인터페이스 설계 가이드와 설계서 작성 양식 준비
2. 인터페이스 기본 정보 작성
- 인터페이스별 필요 송,수신 시스템 작성
- 대내외 구분 정보 작성
- 인터페이스 분석 과정에서 도출한 내용 작성
- 요구사항 추적 관리 정보 작성
3. 송수신 시스템의 정보 작성
- 인터페이스 정의서 작송 양식에 맞춰 송수신 시스템의 정보 각각 작성
- 인터페이스 목록에 있는 정보르르 참고하여 기본 정보를 작성하고, 최대 처리 횟수, 데이터 크기 등의 추가 정보 작성
4. 프로그램 명세서 확인 및 보완
- 인터페이스 식별 당시 작성한 서비스의 프로그램 명세서를 확인 및 보완
- 인터페이스 프로그램 정의서의 서비스/프로그램 ID, 서비스/프로그램 명, 관련 인터페이스 정보, 입출력 파라미터와 처리 내용 등 인터페이스 구현에 필요한 정보가 제대로 정의되었는지 확인
5. 송수신 데이터 항목 작성
- 인터페이스 설계서 작성 양식에 맞춰 송수신 데이터 항목 상세를 작성
- 송수신 데이터의 필드명, 식별자 여부를 정의
- 데이터 타입, 길이, 필수 입력 여부(Not Null), 필드 설명, 공통 코드 여부와 암호화 적용 대상 컬럼 등의 제한 조건 정보를 작성
6. 코드 매핑 정보 작성
- 송수신 시스템 간의 코드 변환을 위한 코드 매핑 규칙을 인터페이스 정의서에 작성하고 코드 매핑 시 참고할 수 잇도록 코드 매핑테이블을 별도로 작성
7. 인터페이스 설계 내용 검토 및 보완
- 시스템 인터페이스 목록에 있는 인터페이스 각각에 대한 시스템 인터페이스 정의서의 내용을 검토하여 누락된 내용 또는 보완이 필요한 내용 수정
미들웨어 솔루션
1. 미들웨어 솔루션(Middleware Solution)
- 미들웨어 솔류션은 컴퓨터와 컴퓨터 간의 연결을 쉽고 안전하게 할 수 있도록 해주고 이에 대한 관리를 도와주는 소프트웨어이다.
- 서로 다른 프로토콜이나 시스템 운영체제, 데이터베이스와 애플리케이션 간에 통신을 지원해 주는 소프트웨어를 의미하며, 애플리케이션이 어떤 정보시스템 환경에서도 작동할 수 있도록 지원해 주는 역할을 한다.
미들웨어 솔루션 유형
1. DB 미들웨어
- DB 솔루션 업체에서 제공하는 애플리케이션과 DB 간에 통신을 원활하게 하는 것을 목적으로 하는 미들웨어
2. 원격 프로시저 호출(RPC; Remote Procedure Call)
- 응용 프로그램의 프로시저를 사용하여 원격 프로시저를 로컬 프로시저처럼 호출하는 방식의 미들웨어
3. 메시지 지향 미들웨어(MOM; Message-Oriented Middleware)
- 메시지 기반의 비동기형 메시지 전달 방식 미들웨어
- 서로 다른 이기종 분산 DB 시스템의 데이터 동기를 위하여 주로 사용
4. 트랜잭션 처리(TP; Transaction Processing) 모니터
- 온라인 업무에서 트랜잭션을 처리, 감시하는 미들웨어
- 분산 환경의 핵심 기술인 분산 트랜잭션을 처리하기 위한 미들웨어
- 주로 사용자가 많고 안정적이면서도 즉각적인 처리가 필요한 업무 프로그램의 개발에 많이 사용
5. 레거시웨어(Legacyware)
- 기존의 애프리케이션이나 DB 기반에 새로운 업데이트된 기능을 덧붙이고자 할 때 사용되는 미들웨어
6.객체 기반(ORB; Object Request Brokers) 미들웨어
- 코바(COPRA) 표준 스펙을 구현한 객체지향 미들웨어
- 각기 다양한 기반으로 구축된 컴퓨터 간의 프로그램과 데이터의 교환 및 변환이 편리하게 이루어질 수 있도록 지원
7. WAS(Web Application Server)
- 웹 환경을 구현하기 위한 미들웨어
- WAS는 HTTP 세션 처리를 위한 웹 서버 기능뿐만 아니라 민감한 기업 업무까지 자바, 컴포넌트 기반으로 구현 가능
웹 애플리케이션 서버(WAS; Web Application Server)
- 웹 서버란 웹브라우저의 요청을 받아 html 파일이나 이미지/그림(jpg,gif등)
자바스크립트 등의 정적인 콘텐츠를 제공하는 기능을 한다.
- 웹 애플리케이션 서버란 서버계층에서 애플리케이션이 동작할 수 있는 환경을 제공하고 정적인 트랜잭션 처리와 관리, 다른 이기종 시스템과의 애플리케이션 연동을 지원한다.
- 웹 애플리케이션 서버가 웹 서버와의 가장 큰 차이점은 동적 서버 콘텐츠를 수행할 수 있는 기능이다.
[웹 서버와 웹 애플리케이션 처리 프로세스]
- 웹브라우저가 웹 서버에 페이지를 요청
- 해당 웹 서버는 웹브라우저의 요청을 받아서 요청된 페이지의 로직 및 DB와의 연동을 해 애플리케이션 서버에 처리를 요청
- 웹 애플리케이션 서버는 DB와의 연동이 필요하면 DB와 데이터의 처리를 수행
- 로직 및 DB 작업의 처리 결과를 웹 서버에 보냄
- 웹 서버는 결과를 다시 웹 브라우저에 응답
EAI와 ESB
1. EAI(Enterprise Application Integration) 개념
- 비즈니스 프로세스를 중심으로 기업 내 각종 애플리케이션간의 상호 연동이 가능하도록 통합하는 솔루션을 의미한다.
- EAI 솔루션은 애플리케이션들을 통합하여, 동일한 플랫폼을 통해 서로 커뮤니케이션 하도록 하는 것을 목적으로 한다.
- EAI는 기업이 비즈니스 프로세스를 중심으로 여러 애플리케이션 간의 네트워크를 통합적으로 관리한다는 점에서 기존 미들웨어와 구별된다
- 대상 시스템에 비표준 어댑터(Adaptor)를 배포하여 통합한다.
2. ESB(Enterprise Service Bus)
- 개방형 표준인 웹 서비스(Web Service)를 이용하며, 메시징과 웹 서비스, 데이터 변형, 인텔리전트 라우팅을 결합하여 다양한 애플리케이션 간의 연결과 상호작용을 지원하는 표준기반의 미들웨어 플랫폼
EAI와ESB 특징
[EAI]
- 수행목적 : 기업 내부의 이기종 응용 모듈 간 통합
- 토폴로지 : 허브 앤 스포크 방식의 집중형 토폴로지 구성
- 핵심 기술 : 어댑터, 브로커, 메시지 큐
- 통합 형태 : 애플리케이션 간의 단단한 통합
- 적용 영역 : 기업 내부망
[ESB]
- 수행 목적 :기업 간의 서비스 교환을 위해 표준 API로 통합
- 토폴로지 :ESB의 분산형 토폴로지 구성
- 핵심 기술 : 웹서비스, 지능형 라우터, 포맷 변환, 개방형 표준
- 통합 형태 : 서비스 간의 느슨한 통합
- 적용 영역 : 기업 외부 채널 망
[EAI와ESB 세부 기술 및 토폴로지]
- 허브 앤 스포크(Hub & Spoke) 방식 : 중앙 집중된 허브를 통해서 통합을 진행하기 때문에 중앙에서의 통제와 관리 등이 가능하며, 중앙 허브의 통합된 연결 인터페이스를 통해서 단위 애플리케이션의 업무 간의 재사용성이 극대화
- 어댑터(Adaptor) : 다양한 패키지 어플리케이션 및 기업에서 자체적으로 개발한 애플리케이션을 연결하는 EAI의 핵심 장치
- 브로커(Broker) : 시스템 상호 간 데이터가 전송될 때, 데이터 포맷과 코드를 변환하는 솔루션
- 메시지(Message Queue) : 비동기 메시지를 사용하는 다른 응용 프로그램 사이에서 데이터를 송수신하는 기술
이 내용 정말 필요했는데 감사합니다 ㅠ_ㅠ 도움 많이 되었습니다. 아직 3학년 학부생이라 잘 몰라서 그러는데, 본문의 내용이 정처기 시험보는데 필요한 내용인가요 ?