본문 바로가기
공부/정보처리기사

[8] 연계 데이터 구성, 연계 메커니즘, EAI / ESB

by Lagooni 2021. 10. 3.

연계 요구사항 분석: 서로 다른 두 시스템·장치·소프트웨어를 이어주는 중계 역할을 하는 연계 시스템과 관련된 요구사항을 분석하는 과정이다.

요구사항 분석 기법 및 분석 참고 문서

구분 주요 내용 설명
분석 기법
인터뷰 사용자 면담을 통해 연계 요구사항 도출
체크리스트 시스템 운영 환경, 성능, 보안, 데이터 발생 주기 등의 기준에 대한 점검을 통한 분석기법
설문지 서비스 활용 목적에 따라 연계 필요 데이터 식별 및 연계 주기 등을 설문지를 통해 분석하는 기법
델파이 기법 전문가의 경험적 지식을 통한 분석 기법
브레인스토밍 소속된 인원들이 자발적으로 자연스럽게 제시된 아이디어 목록을 통해 분석하는 기법
분석 참고 문서
코드 정의서 공통 코드 정의서
테이블 정의서 데이터 모델링 정의서, 테이블/프로세스 연관도, 테이블별 컬럼 속성 정의서
응용 프로그램 구성도 애플리케이션의 메뉴구성, 화면설계, 데이터 발생 시점, 주기, 발생 패턴 등 확인
시스템 구성도 하드웨어, 소프트웨어, 네트워크 등 연계 대상 시스템 구성도

개체(Entity)정의서: 데이터베이스 개념 모델링 단계에서 도출한 개체의 타입과 관련 속성, 식별자 등의 정보를 개괄적으로 명세화한 정의서이다.

테이블(Table) 정의서: 논리 및 물리 모델링 과정에서 작성하는 설계 산출물이다

인터페이스(연계) 명세서: 인터페이스 명세서는 인터페이스 정의서에 작성한 인터페이스 ID별로 송수신하는 데이터 타입, 길이 등 인터페이스 항목을 상세하게 작성한다.

인터페이스 명세서 구성요소

  • 인터페이스 ID
  • 최대 처리 횟수
  • 데이터 크기(평균/최대)
  • 시스템 정보
  • 데이터 정보

연계 요구사항 분석 절차

  1. 시스템 현황 확인: 송신 시스템과 수신 시스템의 하드웨어 구성, 시스템 소프트웨어 구성, 네트워크 현황 확인
  2. 정의서 확인: 송신 시스템과 수신 시스템에서 연계하고자 하는 데이터 관련 테이블 정의서, 코드 정의서 확인
  3. 체크리스트 작성: 질의 사항을 시스템 관점과 응용 관점에서 연계 분석 체크리스트 작성
  4. 인터뷰 및 면담: 사용자 인터뷰 및 면담을 수행하고 회의록을 작성
  5. 연계 요구사항 분석서 작성: 연계 시스템 구성 및 데이터 식별에 해당하는 내용에 요구사항 ID를 부여하고 요구사항 분석서 작성

연계 시스템 구성

  • 송신 시스템: 연계할 데이터를 데이터베이스와 애플리케이션으로부터 연계 테이블 또는 파일 형태로 생성하여 송신하는 시스템
  • 수신 시스템: 수신한 연계 테이블 또는 파일의 데이터를 수신 시스템에서 관리하는 데이터 형식에 맞게 변환하여 데이터베이스에 저장하거나 애플리케이션에서 활용할 수 있도록 제공하는 시스템
  • 중계 서버: 송신 시스템과 수신 시스템 사이에서 데이터를 송수신하고 연계 데이터의 송수신 현황을 모니터링하는 시스템

연계 데이터 표준화: 인터페이스 시스템 사이에서 교환되는 데이터는 규격화된 표준 형식을 정의하여 사용해야 한다.

인터페이스 시스템의 데이터 표준

  • 인터페이스 데이터 공통부: 인터페이스 표준 항목을 포함
  • 인터페이스 데이터 개별부: 송수신 시스템에서 업무 처리에 필요한 데이터 포함
  • 인터페이스 데이터 종료부: 전송 데이터의 끝을 표시하는 문자를 포함하여 종료 표시

송수신 전문 구성 사례

전문 공통부(고정) 전문 개별부(가변) 전문 종료부(고정)
전문 길이(10Byte) 시스템 공통(246Byte) 거래 공통(256Byte) 데이터(n Byte) 전문 종료(2Byte)

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

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

연계 매커니즘: 응용 소프트웨어와 연계 대상 모듈 간의 데이터 연계 시 요구사항을 고려한 연계방법과 주기를 설계하기 위한 메커니즘이다.

연계 매커니즘의 기능: 데이터를 생성하여 전송하는 송신 시스템과 송신 데이터를 수신하여 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방식 연계 모듈 환경 구축 절차

  1. 연계 DB 또는 계정 생성
  2. 연계를 위한 테이블 생성
  3. 연계 응용 프로그램 구현

웹 서비스(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을 등록하고 검색하기 위한  저장소로 공개적으로 접근, 검색이 가능한 레지스트리이자 표준이다.

연계 테스트: 연계 테스트는 송신 시스템과 수신 시스템을 연계하였을 경우 데이터의 정합성과 데이터 전송 여부에 대한 테스트이다.

연계 테스트 케이스 작성: 송수신 시스템에서 확인해야 할 사항을 각각 도출하여 단위 테스트 케이스와 통합 테스트 케이스를 작성한다.

  • 단위 테스트 케이스: 송수신 시스템 간 연계 데이터 정상 추출 여부, 데이터 형식 체크, 데이터 표준 준수 여부 등을 테스트 할 수 있도록 작성한다.
  • 통합 테스트 케이스: 송수신 시스템 간에 연계 시나리오를 구성하여 다양한 결과가 나올 수 있도록 테스트 케이스를 작성한다.

댓글