연계 모듈 구현 환경 구성 및 개발
01. EAI/ESB 방식
1) EAI/ESB 솔루션
1. EAI/ESB 솔루션 등장 배경
- 컴퓨터 시스템과 네트워크, 인터넷이 발전해 오면서 모든 시스템은 업무 단위로 분리가 되기 시작함
- ERP나 CRM과 같은 시스템을 이용하여 업무를 회사 내 업무, 회사 외 업무, 정보 통신 업무 등으로 나누어지게 됨
- ERP(Enterprise Resouce Planning)
- 경영 활동 프로세스들을 통합적으로 연계해서 관리하는 소프트웨어
- 기업에서 발생하는 정보들을 서로 공유하고 새로운 정보의 생성과 신속한 의사 결정을 도와줌으로써 전사적으로 자원을 관리
- CRM(Customer Relationship Management)
- 신규 고객을 획득하거나 기존 고객 유지 및 수익성 증대를 목적으로 고객 관련 자료를 분석하여 고객 특성에 기초한 마케팅 활동을 지원하는 기술
- ERP(Enterprise Resouce Planning)
- 업무 시스템의 규모가 커지면서 분리된 업무는 독자적으로 존재할 수 없고 업무 간의 정보 교류를 해야 하는 상황에 직면함
2) EAI(Enterprise Application Integration)
- 이 기종 시스템 간의 연동을 가능하게 해줌
- 메시지를 변환할 수 있기 때문에 서로 다른 코드나 프로토콜 간에 통신이 가능함
- 통신 프로토콜이나 통합 방식을 변경할 수 있는 어댑터를 제공함
- 복잡한 메시지를 처리하거나 수정할 수 있음
- 경로 선택(Routing) 기능이 있음
- 경로 선택(Routin)
- 데이터를 출발지에서 목적지까지 이용 가능한 전송로를 찾아본 후에 가장 효율적인 전송로를 선택하는 기술
- 송신측과 수신측 간의 가장 빠르고 신뢰성 있는 경로를 설정 및 관리하며, 데이터를 전달하는 역할을 함
- 경로 선택(Routin)
- 중앙 통제를 통해서 1:!에서 N:M으로 통신이 됨
- 단일 접점인 허브 시스템을 통해 시스템을 통합하는 중앙 집중식 방식
- 허브 장애 시 전체 시스템에 영향을 줌
- 시스템들 사이에서 시스템을 인터페이스 하는 것이 목적
- 통합 범위는 기업 내부 업무
- EIP(Enterprise Integration Pattern)는 다양한 EAI들을 통합한 버전
3) ESB(Enterprise Service Bus)
- 웹 서비스 기반으로 통신이 표준화됨
- EAI처럼 별도의 어댑터가 필요 없음
- 서비스 버스라는 백본을 이용하여 통신함
- 백본(Backbone)
- 중심이 되는 통신 회선으로 인간의 척추와 같은 중요한 통신 회선이란 의미
- 버스형은 백본을 사용하고, 각 단말기들은 백본을 통하여 통신 회선을 공유함
- 공유 회선인 백본이 단절되면 전체 네트워크가 중단됨
- 백본(Backbone)
- 웹 서비스를 이용하는 자체가 너무 복잡함
- 복잡한 XML 변환 등을 사용하는 과정에서 부하가 발생
- 각 시스템은 Bus를 통해 연결하므로 뛰어난 확장성, 유연성, 신속성을 제공함
- 네트워크에 의존적
- 서비스 중심으로 하나의 프로세스를 처리하기 위한 관련 시스템들을 인터페이스하는 것이 목적
- 통합 범위는 기업 내부와 기업 외부 업무
4) EAI/ESB 솔루션 도입 시 연계 모듈 구현 환경 변경 사항
- EAI/ESB 솔루션에서는 데이터 전송과 연계 테이블의 전송 형식으로 변환 및 전송 이력을 기록하므로 별도로 전송이나 전송 이력을 기록하는 기능을 구현할 필요 없음
- 연계 응용 프로그램 데이터 변환이나 운영 데이터베이스에 반영 시 발생하는 데이터 오류에 대한 사항만 기록하는 기능을 구현하면 됨
5) EAI/ESB 솔루션의 도입 시 구현 환경 구성 방식
- 테이블 방식
- 연계 데이터 처리를 위해 데이터베이스 테이블을 사용
- 전체적인 연계 아키텍처 및 연계 모듈 구현 환경 구성 파일 방식과 동일함
- 파일 방식
- 연계 데이터 처리를 위해 파일을 사용
- 전체적인 연계 아키텍처 및 연계 모듈 구현 환경 구성 테이블 방식과 동일함
6) 연계 모듈 구현 환경 구축 절차
- 연계 데이터베이스 또는 계정 생성
- 송신 시스템과 수신 시스템에서 연계를 위한 데이터베이스를 설치하고, 데이터베이스 사용자 계정을 생성
- 송신 시스템의 연계 사용자 계정명과 수신 시스템의 연계 사용자 계정명이 동일하지 않아도 됨
- 기존에 연계를 위한 데이터베이스가 운영 중인 경우, 연계 목적에 따라 분리한 연계 사용자 계정을 생성
- 운영 데이터베이스의 사용자와 연계를 위한 사용자는 생성되는 스키마의 목적이 다르므로 물리적, 논리적으로 분리하여 관리
- 연계를 위한 테이블 생성
- 연계를 위한 데이터 테이블인 연계 테이블
- 송수신 이력 및 오류 확인을 위한 로그 테이블
- 코드 매핑 및 변환을 위한 매핑 테이블
- 오류 처리를 위한 오류 코드 테이블
- 연계를 위한 테이블 생성 위치 및 대상
- 연계를 위한 데이터 및 로그 테이블, 오류 코드 테이블은 송신 시스템과 수신 시스템에 각각 생성
- 테이블명이 동일하더라도 송신 시스템과 수신 시스템에서 관리하는 정보, 처리하는 정보가 상이하므로 테이블에 포함된 관리 정보를 확인한 후 송신 시스템과 수신 시스템에 적합하게 생성
- 연계 응용 프로그램 구현
- 송신 시스템
- 송신 시스템의 연계 응용 프로그램은 운영 데이터베이스에서 데이터를 추출
- 송신 시스템의 코드를 수신 시스템의 코드로 변환하는 작업을 처리
- 송신 시스템의 생성 테이블은 운영 데이터베이스의 테이블
- 운영 데이터베이스의 오류 및 데이터 유효성을 처리
- 데이터를 암호화
- 수신 시스템
- 수신 시스템의 연계 응용 프로그램은 연계 테이블의 데이터에 대해 유효성을 점검
- 운영 데이터베이스에 반영하는 작업을 처리
- 수신 시스템의 생성 테이블은 연계 테이블
- 연계 데이터베이스 테이블에 유효성을 처리
- 암호화된 데이터를 복호화
- 송신 시스템
- 연계 응용 프로그램 구현 방식
- 응용 프로그램 구현 방식은 DBMS의 트리거를 활용
- 트리거는 Java와 같은 프로그램 언어로 구현된 암호화 알고리즘을 호출하는데 제한적
- 암호화 알고리즘을 적용할 경우에는 Java, C언어 등을 이용하여 연계 응용 프로그램을 구현
- 트리거는 송신 시스템의 운영 데이터베이스의 테이블과 수신 시스템의 연계 테이블을 대상으로 테이블 단위로 구현
- 운영 데이터베이스에 반여할 시에는 연계 테이블 간 데이터의 생성 순서 및 반영 순서, 즉 선후 관계를 확인하여 처리해야 함