연계 요구사항 분석: 서로 다른 두 시스템·장치·소프트웨어를 이어주는 중계 역할을 하는 연계 시스템과 관련된 요구사항을 분석하는 과정이다.
요구사항 분석 기법 및 분석 참고 문서
구분 | 주요 내용 | 설명 |
분석 기법 |
인터뷰 | 사용자 면담을 통해 연계 요구사항 도출 |
체크리스트 | 시스템 운영 환경, 성능, 보안, 데이터 발생 주기 등의 기준에 대한 점검을 통한 분석기법 | |
설문지 | 서비스 활용 목적에 따라 연계 필요 데이터 식별 및 연계 주기 등을 설문지를 통해 분석하는 기법 | |
델파이 기법 | 전문가의 경험적 지식을 통한 분석 기법 | |
브레인스토밍 | 소속된 인원들이 자발적으로 자연스럽게 제시된 아이디어 목록을 통해 분석하는 기법 | |
분석 참고 문서 |
코드 정의서 | 공통 코드 정의서 |
테이블 정의서 | 데이터 모델링 정의서, 테이블/프로세스 연관도, 테이블별 컬럼 속성 정의서 | |
응용 프로그램 구성도 | 애플리케이션의 메뉴구성, 화면설계, 데이터 발생 시점, 주기, 발생 패턴 등 확인 | |
시스템 구성도 | 하드웨어, 소프트웨어, 네트워크 등 연계 대상 시스템 구성도 |
개체(Entity)정의서: 데이터베이스 개념 모델링 단계에서 도출한 개체의 타입과 관련 속성, 식별자 등의 정보를 개괄적으로 명세화한 정의서이다.
테이블(Table) 정의서: 논리 및 물리 모델링 과정에서 작성하는 설계 산출물이다
인터페이스(연계) 명세서: 인터페이스 명세서는 인터페이스 정의서에 작성한 인터페이스 ID별로 송수신하는 데이터 타입, 길이 등 인터페이스 항목을 상세하게 작성한다.
인터페이스 명세서 구성요소
- 인터페이스 ID
- 최대 처리 횟수
- 데이터 크기(평균/최대)
- 시스템 정보
- 데이터 정보
연계 요구사항 분석 절차
- 시스템 현황 확인: 송신 시스템과 수신 시스템의 하드웨어 구성, 시스템 소프트웨어 구성, 네트워크 현황 확인
- 정의서 확인: 송신 시스템과 수신 시스템에서 연계하고자 하는 데이터 관련 테이블 정의서, 코드 정의서 확인
- 체크리스트 작성: 질의 사항을 시스템 관점과 응용 관점에서 연계 분석 체크리스트 작성
- 인터뷰 및 면담: 사용자 인터뷰 및 면담을 수행하고 회의록을 작성
- 연계 요구사항 분석서 작성: 연계 시스템 구성 및 데이터 식별에 해당하는 내용에 요구사항 ID를 부여하고 요구사항 분석서 작성
연계 시스템 구성
- 송신 시스템: 연계할 데이터를 데이터베이스와 애플리케이션으로부터 연계 테이블 또는 파일 형태로 생성하여 송신하는 시스템
- 수신 시스템: 수신한 연계 테이블 또는 파일의 데이터를 수신 시스템에서 관리하는 데이터 형식에 맞게 변환하여 데이터베이스에 저장하거나 애플리케이션에서 활용할 수 있도록 제공하는 시스템
- 중계 서버: 송신 시스템과 수신 시스템 사이에서 데이터를 송수신하고 연계 데이터의 송수신 현황을 모니터링하는 시스템
연계 데이터 표준화: 인터페이스 시스템 사이에서 교환되는 데이터는 규격화된 표준 형식을 정의하여 사용해야 한다.
인터페이스 시스템의 데이터 표준
- 인터페이스 데이터 공통부: 인터페이스 표준 항목을 포함
- 인터페이스 데이터 개별부: 송수신 시스템에서 업무 처리에 필요한 데이터 포함
- 인터페이스 데이터 종료부: 전송 데이터의 끝을 표시하는 문자를 포함하여 종료 표시
송수신 전문 구성 사례
전문 공통부(고정) | 전문 개별부(가변) | 전문 종료부(고정) | ||
전문 길이(10Byte) | 시스템 공통(246Byte) | 거래 공통(256Byte) | 데이터(n Byte) | 전문 종료(2Byte) |
연계 데이터 식별 및 표준화 절차
- 연계 범위 및 항목 정의
- 연계 코드 변환 및 매핑
- 연계 데이터 식별자와 변경 구분 추가
- 연계 데이터 표현 방법 정의
- 연계 정의서 및 명세서 작성
연계 매커니즘: 응용 소프트웨어와 연계 대상 모듈 간의 데이터 연계 시 요구사항을 고려한 연계방법과 주기를 설계하기 위한 메커니즘이다.
연계 매커니즘의 기능: 데이터를 생성하여 전송하는 송신 시스템과 송신 데이터를 수신하여 DB에 반영하는 수신 시스템으로 구성된다.
연계 방식의 분류: 연계 방식은 직접 연계 방식과 중간 매개체를 이용한 간접 연계 방식으로 분류한다.
연계 방식별 장단점
구분 | 직접 연계 | 간접 연계 |
장점 | 연계 및 통합 구현이 단순하며 용이함 개발 소요 비용 및 기간이 짧음 중간 매개체가 없으므로 데이터 연계 처리 성능이 대체로 좋음 |
서로 상이한 네트워크, 프로토콜 연계 및 통합 가능 인터페이스 변경 시에도 장애나 오류 없이 서비스 가능 보안이나 업무 처리 로직을 자유롭게 변경 가능 |
단점 | 시스템간 결합도가 높아 시스템 변경에 민감 암·복호화 처리 불가 연계 및 통합 가능한 시스템 환경이 제한적 |
연계 아키텍처 및 메커니즘이 복잡해 성능 저하 요소 존재 개발 및 적용을 위한 테스트 기간이 상대적 장기간 소요 |
주요 연계 기술
구분 | 연계 기술 | 설명 |
직접 연계 | DB 링크(DB Link) | 데이터베이스에서 제공하는 DB링크 객체를 이용 수신 시스템에서 DB링크를 생성하고 송신 시스템에서 해당 DB링크를 직접 참조하는 방식 예) 테이블명@DBLink명 |
DB 연결(DB Connection) | 수신 시스템의 WAS에서 송신 시스템 DB로 연결하는 DB커넥션 풀(DB Connection Pool)을 생성하고 연계 프로그램에서 해당 DB커넥션 풀 명을 이용하여 연결 예) 송신 시스템의 Data Source = DB Connection Pool 이름 |
|
API/Open API | 송신 시스템의 DB에서 데이터를 읽어서 제공하는 애플리케이션 프로그래밍 인터페이스 프로그램 API명, 입출력 파라미터 정보가 필요함 |
|
JDBC | 수신 시스템의 프로그램에서 JDBC드라이버를 이용하여 송신 시스템 DB와 연결 DBMS유형, DBMS서버 IP와 Port, DB 인스턴스 정보가 필요 |
|
하이퍼 링크(Hyper Link) | 현재 페이지에서 다른 부분으로 가거나 전혀 다른 페이지로 이동하게 해주는 속성 예) <a href="url"> Link 대상 </a> |
|
간접 연계 | 연계 솔루션(EAI) | 기업에서 운영되는 서로 다른 플랫폼 및 애플리케이션들 간의 정보 전달, 연계, 통합을 가능하게 해주는 솔루션 |
Web Service/ ESB | 웹 서비스가 설명된 WDSL과 SOAP프로토콜을 이용한 시스템 간 연계 | |
소켓 (Socket) | 소켓을 생성하여 포트를 할당하고, 클라이언트의 요청을 연결하여 통신 예) TcpServer.listen(); |
커넥션 풀(Connection Pool) 이란?
데이터베이스와 연결된 커넥션을 미리 만들어서 풀(Pool) 속에 저장해 두고 필요할 때 커넥션을 풀에서 가져와 쓰고 다시 풀에 반환하는 기법이다.
JDBC(Java Database Connectivity): 데이터베이스에서 자료를 조회하거나 업데이트하기 위해서 자바에서 데이터베이스에 접속할 수 있도록 하는 자바 API를 사용하는 연계 방식
연계 모듈 기능 구현: 개발하고자 하는 응용 소프트웨어와 연계 모듈 간의 세부 설계서를 확인하여 일관되고 정형화된 연계 기능을 구현할 수 있다; 연계 모듈 기능 구현은 주로 EAI/ESB방식과 웹 서비스 방식으로 구분된다.
EAI (Enterprise Application Integration)란?
기업에서 운영되는 서로 다른 플랫폼 및 애플리케이션 간의 정보를 전달, 연계, 통합이 가능하도록 해주는 솔루션이다. (EAI를 사용함으로써 각 비즈니스 간 통합 및 연계성을 증대시켜 효율성을 높여 줄 수 있으며 각 시스템 간의 확장성을 높여 줄 수 있다.)
EAI구성요소
- EAI플랫폼
- 이기종 시스템 간 애플리케이션 상호 운영
- 데이터의 신뢰성 있는 전송을 위한 메시지 큐와 트랜잭션 미들웨어 기능 수행
- 대규모 사용자 환경 지원을 위한 유연성과 확장성 보장
- 어댑터(Adapter)
- 다양한 패키지 애플리케이션 및 기업에서 자체적으로 개발한 애플리케이션을 연결하는 EAI의 핵심 장치로 데이터 입출력 도구
- 브로커(Broker)
- 시스템 상호 간 데이터가 전송될 때, 데이터 포맷과 코드를 변환하는 솔루션
- 메시지 큐(Message Queue)
- 비동기 메시지를 사용하는 다른 응용 프로그램 사이에서 데이터를 송수신하는 기술
- 비즈니스 워크플로우 (Business Workflow)
- 미리 정의된 기업의 비즈니스 Workflow에 따라 업무를 처리하는 기능
EAI 구축 유형
- 포인트 투 포인트(Point to point)
- 가장 기초적인 애플리케이션 통합방법으로 1:1단순 통합방법
- 장점으로는 솔루션을 구매하지 않고 개발자 간의 커뮤니케이션을 통해서도 통합 가능
- 허브 앤 스포크(Hub & Spoke)
- 단일한 접점의 허브 시스템을 통하여 데이터를 전송하는 중앙 집중식 방식
- 허브 장애 시 전체 장애 발생
- 메시지 버스(Message Bus)
- 애플리케이션 사이 미들웨어(버스)를 두어 연계하는 미들웨어 통합 방식
- 뛰어난 확장성과 대용량 데이터 처리 가능
- 하이브리드(Hybrid)
- 그룹 내는 허브 앤 스포크 방식을 사용하고 그룹 간에는 메시지 버스 방식을 사용하는 통합 방식
- 그룹 내 환경에 맞는 작업 가능
ESB(Enterprise Service Bus): 기업에서 운영되는 서로 다른 플랫폼 및 애플리케이션들 간을 하나의 시스템으로 관리 운영할 수 있도록 서비스 중심의 통합을 지향하는 아키텍처이다; 미들웨어(Bus)를 중심으로 각각 프로토콜이 호환할 수 있도록 애플리케이션의 통합을 느슨한 결합(특정 서비스를 변경하더라도 연결된 다른 서비스에는 영향을 주지 않는 유연한 구조) 방식으로 지원하는 방식이다.
ESB특징: 서비스들을 컴포넌트화 된 논리적 집합으로 묶는 핵심 미들웨어이며, 비즈니스 프로세스 환경에 맞게 설계 및 전개할 수 있는 아키텍처 패턴이다. 버스 방식으로 확장성, 유연한 아키텍처 구성이 가능하다.
EAI와 ESB의 비교
구분 | EAI | ESB |
개념 | 미들웨어(Hub)를 이용하여 비즈니스 로직을 중심으로 기업 내 애플리케이션을 통합 연계 | 미들웨어(Bus)를 이용하여 서비스 중심으로 서비스를 지원하기 위한 관련시스템과 유기적 연계 |
수행 목적 | 기업 내부의 이기종 응용 모듈 간 통합 | 기업 간의 서비스 교환을 위해 표준 API로 통합 |
토폴로지(구성 방식) | 포인트 투 포인트, 허브 앤 스포크, 메시지 버스, 하이브리드 | 버스 방식의 분산형 토폴로지 구성 |
표준 | 벤더 종속적 기술 적용 | 표준기술사용 |
핵심 기술 | 어댑터, 브로커, 메시지 큐 | 웹 서비스, 지능형 라우터, 포맷 변환, 개방형 표준 |
통합 형태 | 애플리케이션 간의 단단한 통합 | 서비스 간의 느슨한 통합 |
적용 영역 | 기업 내부망 | 기업 내부 + 기업 외부 채널망 |
EAI/ESB방식 연계 모듈 환경 구축 절차
- 연계 DB 또는 계정 생성
- 연계를 위한 테이블 생성
- 연계 응용 프로그램 구현
웹 서비스(Web Service): 네트워크에 분산된 정보를 서비스 형태로 개방하여 표준화된 방식으로 공유하는 기술로써 서비스 지향 아키텍처 개념을 실현하는 대표적인 기술이다.
웹 서비스 유형
- SOAP(Simple Object Access Protocol)
- SOAP는 HTTP, HTTPS, SMTP등을 사용하여 XML기반의 메시지를 네트워크 상태에서 교환하는 프로토콜이다.
- HTTP프로토콜 상에 SOAP Envelope, 헤더, 바디 등이 추가된 XML문서로 기본적인 송수신은 HTTP로 수행한다.
- SOAP는 보통의 경우 원격 프로시저 호출(RPC)을 하는 메시지 패턴을 사용한다.
- 네트워크 노드(클라이언트)에서 다른 쪽 노드(서버)로 메시지를 요청하고 서버는 메시지를 즉시 응답하게 된다.
- WSDL(Web Service Description Language)
- WSDL은 웹 서비스명, 제공 위치, 메시지 포맷, 프로토콜 정보 등 웹 서비스에 대한 상세 정보가 기술된 XML형식으로 구현되어 있는 언어이다.
- WSDL은 SOAP와 XML스키마와 결합하여 인터넷상에 웹 서비스를 제공하기 위해 사용되기도 한다.
- UDDI(Universal Description, Discovery and Integration)
- UDDI는 웹 서비스에 대한 정보인 WSDL을 등록하고 검색하기 위한 저장소로 공개적으로 접근, 검색이 가능한 레지스트리이자 표준이다.
연계 테스트: 연계 테스트는 송신 시스템과 수신 시스템을 연계하였을 경우 데이터의 정합성과 데이터 전송 여부에 대한 테스트이다.
연계 테스트 케이스 작성: 송수신 시스템에서 확인해야 할 사항을 각각 도출하여 단위 테스트 케이스와 통합 테스트 케이스를 작성한다.
- 단위 테스트 케이스: 송수신 시스템 간 연계 데이터 정상 추출 여부, 데이터 형식 체크, 데이터 표준 준수 여부 등을 테스트 할 수 있도록 작성한다.
- 통합 테스트 케이스: 송수신 시스템 간에 연계 시나리오를 구성하여 다양한 결과가 나올 수 있도록 테스트 케이스를 작성한다.
'공부 > 정보처리기사' 카테고리의 다른 글
[10] 프로그래밍 언어 활용 ,포인터, 오버로딩, 오버라이딩 (0) | 2021.10.06 |
---|---|
[9] 인터페이스 구현 (0) | 2021.10.04 |
[7] 물리 데이터 저장소 설계, 데이터베이스, 데이터 마이닝 (0) | 2021.10.01 |
[6] 데이터 입출력 구현(논리 데이터 저장소) (0) | 2021.09.29 |
[5] UI 설계 (0) | 2021.09.28 |
댓글