1. 연계 데이터 구성
️
연계 요구사항 분석
서로 다른 두 시스템, 장치, 소프트웨어를 이어주는 중계 역할을 하는 연계 시스템과 관련된 요구사항을 분석하는 과정
•
분석 기법
◦
인터뷰, 리서치
◦
체크리스트 : 시스템 운영환경, 성능, 보안, 데이터 주기 등 기준에 대한 점검을 통한 분석 기법
◦
델파이 기법 : 통합 구현 및 연계 전문가, 시스템 아키텍처, 업무 전문가 등 각 분야 전문가로부터 연계 데이터 및 사용자 요구사항 식별
◦
브레인스토밍 : 소속된 인원들이 자연스럽게 제시된 아이디어 목록을 통해 분석
•
분석 참고 분서
◦
코드 정의서
◦
테이블 정의서
◦
응용 프로그램 구성도
◦
시스템 구성도
연계 요구사항 분석 참고문서
•
개체(Entity) 정의서 : 개념 모델링 단계에서 도출한 개체의 타입과 속성, 식별자 정보를 명세화한 문서
•
테이블(Table) 정의서 : 논리 및 물리 모델링 단계에서 테이블을 구성하는 컬럼의 특성 및 인덱스를 문서화
•
인터페이스 명세서 : 인터페이스 정의서 기반으로 상세화
연계 시스템의 구성
송신 시스템, 수신 시스템, 중계 서버
인터페이스 시스템의 데이터 표준
•
인터페이스 데이터 공통부 : 인터페이스 표준 항목을 포함
•
인터페이스 데이터 개별부 : 송수신 시스템에서 업무 처리에 필요한 데이터 포함
•
인터페이스 데이터 종료부 : 전송 데이터의 끝을 표시하는 문자를 포함하여 종료 표시
2. 연계 매커니즘
️
응용 소프트웨어와 연계 대상 모듈 간의 데이터 연계 시 요구사항을 고려한 연계바업과 주기를 설계하기 위한 매커니즘
연계 방식
•
직접 연계 : 중간 매개체 없이 송수신 시스템 연결
◦
DB Link : DB에서 제공하는 DB 링크 객체 이용
◦
DB Connection : DB Connection Pool 생성
◦
API / Open API : API 생성
◦
JDBC : JDBC 드라이브 이용
◦
Hyper Link : 링크 속성, Hub & Spoke + ESB, 병목 현상 최소화
•
간접 연계 : 중간 매개체를 통한 연계
◦
EAI : 기업에서 운영되는 이기종 간 시스템 연계 솔루션
◦
ESB / Web Service : WSDL과 SOAP 프로토콜을 이용한 시스템 연계
◦
Socket : 포트 할당, 클라이언트 요청 연결
•
커넥션 풀(Connection Pool)
데이터베이스와 연결된 커넥션을 미리 만들어서 풀 속에 저장해 두고 필요할 때 커넥션을 풀에서 가져다가 쓰고 다시 풀에 반환하는 기법
데이터베이스와 연결하기 위해 매번 커넥션 객체를 생성할 때마다 많은 시스템 자원이 소요되는 문제 해결을 위해 커넥션 풀 기법을 활용
•
JDBC(Java Database Connectivity)
데이터베이스에서 자료를 조회하거나 업데이트하기 위해 자바에서 데이터베이스에 접속할 수 있도록 하는 자바 API
Java Application, JDBC API, JDBC Driver Manager, JDBC Driver로 구성
연계 매커니즘 수행 절차
연계 데이터 추출 / 생성 → 코드 매핑 / 데이터 변환 → 파일 생성 → 로그 기록 → 송수신 어댑터 → 전송 → 반영
3. 연계 모듈 기능 구현
️
️
️
개발하고자 하는 응용 소프트웨어와 연계 모듈 간의 세부 설계서를 확인하여 일관되고 정형화된 연계 기능을 구현할 수 있다. 주로 EAI/ESB 방식과 웹 서비스 방식으로 구분된다.
EAI(Enterprise Application Integration) 방식
기업에서 운영되는 이기종 간 시스템 연계 솔루션
•
구성요소
◦
EAI 플랫폼
◦
어댑터
◦
브로커
◦
메시지 큐
◦
비즈니스 워크플로우
•
구축 유형
(포허메하)
◦
Point-to-point : 가장 기본적, 변경 재사용 어려움
◦
Hub & Spoke : 허브 시스템, 확장, 유지보수 용이
◦
Message Bus(ESB) : 미들웨어(Bus)를 두고 처리, 뛰어난 확장성
◦
Hybrid : Hub & Spoke + ESB, 병목 현상 최소화
ESB(Enterprise Service Bus) 방식
기업에서 운영되는 이기종 간 서비스를 통합하여 하나의 시스템으로 관리 운영할 수 있도록 서비스 중심의 통합을 지향하는 아키텍처
미들웨어(Bus)를 중심으로 각 프로토콜이 호환할 수 있도록 애플리케이션을 느슨한 결합 방식으로 통합
→ 느슨한 결합 : 특정 서비스를 변경해도 다른 서비스에 영향을 주지 않는 구조
•
둘의 핵심적인 차이 : ESB = SOA + EAI 형태인 것. ESB는 중앙집중형의 문제를 해결하기 위해 Bus 형태로 SOA 기반의 느슨한 결합을 지원하는 것.
EAI 방식 | ESB 방식 | |
구성도 | APP | ESB(Bus) |
개념 | 미들웨어(Hub)를 이용하여 Biz로직을 중심으로 기업 내 APP 통합 연계 | 미들웨어(Bus)를 이용하여 서비스 중심으로 서비스를 지원하기 위한 관련 시스템의 유기적 연계 (SOA의 토대가 됨) |
특징 | 단일 접점인 허브 시스템을 통해 시스템을 통합하는 중앙 집중식 방식
→ Hub 장애 시 전체 영향 | 각 시스템을 Bus를 통해 연결하므로 뛰어난 확장성, 유연성, 신속성 제공
→ Network에 의존적 |
Web Service 방식
네트워크에 분산된 정보를 서비스 형태로 개방하여 표준화한 방식으로 공유하는 기술.
SOA(서비스 지향 아키텍처) 개념을 실현하는 대표적인 기술
Web Service 유형
•
SOAP(Simple Object Access Protocol)
HTTP, HTTPS, SMTP 등을 사용하여 XML 기반의 메시지를 교환하는 프로토콜
•
WSDL(Web Service Description Language)
웹 서비스에 대한 상세 정보를 XML 파일 형식으로 기술한 언어
•
UDDI(Universal Description, Discovery and Integration)
WSDL을 등록하고 검색하기 위한 저장소
