[정보처리기사] 통합 구현 - 연계 메커니즘 구성

junjun·2023년 10월 2일
0

정보처리기사

목록 보기
15/21

연계 메커니즘 정의

메커니즘 : 어떤 사물의 작동 원리

연계 매커니즘 개념

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

연계 메커니즘의 기능

  • 데이터를 생성하여 전송하는 송신 시스템과, 송신 데이터를 수신하여 DB에 반영하는 수신 시스템으로 구성됨.
  • 송신 시스템은 운영 데이터베이스, 애플리케이션으로부터 연계 데이터를 연계 테이블 또는 파일로 생성하여 송신
  • 수신 시스템은 송신 시스템으로부터 전송된 데이터를 변환 처리 후 데이터베이스에 반영

연계 방식

연계 방식의 분류

  • 직접 연계 방식과
    중간 매개체를 이용한 간접 연계 방식으로 분류
  • 연계 방식별 장단점과 주요 기술을 확인하여
    연계 메커니즘을 이해한다.

연계방식별 장단점

직접연계

  • 장점
    - 연계 및 통합 구현이 단순하며 용이함
    - 개발 소요 비용 및 기간이 짧음
    - 중간 매개체가 없으므로, 데이터 연계 처리 성능이 대체로 좋음.
  • 단점
    - 시스템 간의 결합도가 높아, 시스템 변경에 민감
    - 암, 복호화 처리 불가
    - 연계 및 통합 가능한 시스템 환경이 제한적

간접 연계

  • 장점
    - 서로 상이한 네트워크, 프로토콜 연계 및 통합 가능
    - 인터페이스 변경 시에도 장애나 오류 없이 서비스 가능
    - 보안이나 업무 처리 로직을 자유롭게 반영 가능
  • 단점
    - 연계 아키텍처 및 메커니즘이 복잡해 성능 저하 요소 존재
    - 개발 및 적용을 위한 테스트 기간이 상대적 장기간 소요

주요 연계 기술

직접 연계

데이터베이스에서 제공하는 DB 링크 객체를 이용
수신 시스템에서 DB 링크를 생성하고, 송신 시스템에서 해당 DB 링크를 직접 참조하는 방식

ex> 테이블명@DB링크명

DB 연결(DB Connection)

수신 시스템의 WAS에서 송신 시스템 DB로 연결하는 DB 커넥션 풀(DB Connection Pool)을 생성하고,
연계 프로그램에서 해당 DB 커넥션 풀 명을 이용하여 연결

ex> 송신 시스템의 Data Source = DB Connection Pool 이름

API / Open API

  • 송신 시스템의 DB에서 데이터를 읽어서 제공하는 애플리케이션 프로그래밍,
    인터페이스 프로그램
  • API명, 입출력 파라미터 정보가 필요함.

JDBC

  • 수신 시스템의 프로그램에서 JDBC 드라이버를 이용하여 송신 시스템 DB와 연결
  • DBMS 유형, DBMS 서버 IP와 Port, DB 인스턴스(Instance) 정보 필요
  • 현재 페이지에서 다른 부분으로 가거나, 전혀 다른 페이지로 이동하게 해주는 속성

간접 연계

연계 솔루션(EAI)

  • 기업에서 운영되는 서로 다른 플랫폼 및 애플리케이션들 간의 정보 전달, 연계, 통합을 가능하게 해주는 솔루션
  • 송수신 시스템에 설치되는 어댑터를 이용

Web Service / ESB

  • 웹 서비스가 설명된 WSDL과 SOAP 프로토콜을 이용한 시스템 간 연계

소켓(Socket)

  • 소켓을 생성하여, 포트를 할당하고, 클라이언트의 요청을 연결하여 통신
ex> TcpServer.listen();
WDSL ( Web Services Description Language ) : 웹 서비스명, 제공 위치, 메시지 포맷, 프로토콜 정보 등 웹 서비스에 대한 상세 정보가 기술된 XML 형식으로 구현되어 있는 언어
SOAP ( Simple Object Access Protocol ) : HTTP, HTTPS, SMTP 등을 사용하여 XML 기반의 메시지를 네트워크 상태에서 교환하는 프로토콜이다.

연계 기술 상세 정리

1. 커넥션 풀 (Connection Pool)

  • 데이터베이스와 연결된 커넥션을 미리 만들어서, 풀(Pool) 속에 저장해 두고, 필요할 때마다 커넥션을 풀에서 가져다가 쓰고 다시 풀에 반환하는 기법.
  • 데이터베이스에 연결하기 위해서 매번 커넥션(Connection) 객체를 생성할 때마다 많은 시스템 자원이 소요되는 문제 해결을 위해 커넥션 풀 기법을 사용함.

2. JDBC ( Java Database Connectivity )

  • JDBC는 데이터베이스에서 자료를 조회하거나 업데이트하기 위해서
    자바에서 데이터베이스에 접속할 수 있도록 하는 자바 API
  • JDBC는 Java Application, JDBC API, JDBC Driver Manager, JDBC Driver로 구성되어 있다.

Java Application

  • Native Java, 자바 서블릿, 자바 응용 프로그램

JDBC API

  • 자바 응용 프로그램에서 DB를 연결하고 데이터를 제어할 수 있도록
    DB 연결 및 제어를 위한 인터페이스와 클래스들을 제공

JDBC Driver Manager

  • 자바 응용 프로그램이 사용하는 데이터베이스에 맞는 드라이버 검색, 연결 및 초기화 수행

JDBC Driver

  • 각 데이터베이스 제작 업체(오라클, MySQL 등)에서 만든 데이터베이스 드라이버
  • 자바 프로그램의 요청을 DBMS가 이해할 수 있는 프로토콜로 변환해주는 클라이언트 사이드 어댑터

3. API ( Application Programming Interface )

  • API는 응용 프로그램에서 사용할 수 있도록
    운영체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스
  • API는 어떠한 응용프로그램에서 데이터를 주고받기 위한 방법을 의미한다.
  • 어떤 특정 사이트에서 특정 데이터를 공유할 경우
    어떠한 방식으로 정보를 요청해야 하는지,
    그리고 어떠한 데이터를 제공 받을 수 있을지에 대한 규격을 정해놓은 인터페이스

4. 소켓( Socket )

  • 네트워크를 경유하는 프로세스 간 통신 ( IPC )의 접속점( Endpoint )
  • 소켓을 통해 클라이언트와 서버 프로그램 사이에 데이터를 송수신할 수 있다.
  • 소켓은 IP Address와 Port 넘버가 합쳐진, 네트워크 상에서 서버 프로그램과 클라이언트 프로그램이 통신할 수 있도록 해주는 교환 기술이다.
  • 두 소켓이 연결되면, 서로 다른 프로세스끼리 데이터를 전달할 수 있다.
  • 두 소켓이 연결된 것을 세션(Session)이라고 부른다.


연계 메커니즘 수행 절차

1. 연계 데이터 추출 및 생성

  • 연계 솔루션과는 관계없이 응용 프로그램에서 생성하거나 DB를 이용하는 등 응용 시스템별로 구현한다.
  • 데이터를 추출하여 생성하는 과정에서 오류가 발생한 경우,
    로그 테이블 또는 파일에 해당 오류 내역(발생 시점, 오류 코드, 오류 내용 등)을 상세하게 기록한다.

2. 코드 매핑 및 데이터 변환

  • 송신 시스템에서 사용하는 코드를 수신 시스템에 전송해야 할 경우, 수신 시스템의 코드로 매핑 및 변환하고,
    데이터 타입 등이 상이할 경우 데이터 변환 작업을 수행한다.

3. 연계 테이블 또는 파일 생성

  • 연계 데이터는 데이터베이스의 테이블 또는 파일 형식으로 생성하고
    테이블과 파일 형식 여부는 직,간접 연계에 따라 선택할 수 있다.

4. 로그 기록

  • 송신 시스템과 수신 시스템에서 처리되는
    일련의 과정에 대한 결과를 로그 테이블에 기록 및 관리한다.
  • 로그를 파일로 기록할 경우에는,
    파일이 생성되는 위치인 디렉터리,
    파일 생성 시점(일 또는 시간),
    파일명 생성 규칙, 생성하는 파일 형식 등을 정의한다.

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

  • 연계 서버는
    송수신 시슽메 둘 중 한 곳에만 설치하며,
    연계 테이블의 데이터를 전송 형식으로 변환, 대상 관리, 송수신 여부 관리 등 송수신과 관련된 모든 처리를 수행한다.
  • 연계 서버가 없는 경우는
    연계 데이터가 송수신 시슽메의 운영 서버에
    모듈을 구현하여 인터페이스 데이터를 전송 형식으로 변환, 송신 등의 역할을 수행한다.
    -> 중간에서 다 짬 때려서 할 지, 아니면 송수신 시스템 개발자한테 데이터 변환/파싱 작업까지 몰아서 줄지 선택.

6. 전송 단계

  • 송신 시스템에서 생성된 연계 데이터는
    네트워크 환경에 따라 설정된 전송 형식으로 변환된 후
    연계 서버에서 수신 시스템으로 전송된다.
  • 연계 데이터의 전송 주기는 다음과 같은 요소에 의해 결정된다.
    - 송신 시스템의 연계 데이터 추출 및 생성 방식
    - 연계 서버나 송수신 어댑터의 연계 주기
    - 수신 시스템의 연계 데이터를 운영 DB에 반영하는 방식

7. 운영 DB에 연계 데이터 반영

  • 수신된 데이터를 운영 DB에 반영하는 과정으로 변환(매핑) 프로그램을 별도로 구현한다.
변환 프로그램 구현 내용 : 운영 DB에서 사용하는 공통 코드, 데이터 형식으로 전환 및 확인 작업이 포함.
변환 프로그램 구현 방식
트리거와 같은 DBMS 오브젝트를 활용하여 실시간으로 반영하도록 구현
수신된 데이터를 로드하여 운영 DB에 전환 및 변환하는 응용 프로그램을 구현

0개의 댓글