4장 통합구현

Chapter 01 연계데이터 구성

연계 요구사항 분석

연계시스템 서로 다른 두 시스템 (장치, 소프트웨어) 를 이어주는 역할을 하는 것

연계 요구사항 분석

사용자 인터뷰, 면담, 시스템 구성도, 테이블 정의서, 코드 정의 서 등을 참고한다.

사이드에 나온 컬럼을 보면 그리 중요하지 않다고 하니 어느정도의 설명만 보고 넘어가면 된다고 함.

넘어가겠음.

인터페이스(연계) 명세서

인터페이스 연계명세서

이런거 정말 예전에 많이 봤던 문서임.

어떻게 나올지는 모르겠지만…

한번쯤 볼 필요가 있을 것 같아서 첨부함

연계 데이터 식별 표준화

가볍게 보라해서 넘어감

Chapter 02 연계 매커니즘 구성

1 연계 메커니즘 정의

(1) 연계 메커니즘의 개념

연계할 때 연계방법과 주기를 설계하기 위한 메커니즘을 말함

(2) 연계 메커니즘의 기능

송신 시스템, 수신 시스템으로 구성

송신 시스템, 데이터를 (테이블, 또는 파일) 로 생성하여 송신함. 수신 시스템, 송신 시스템으로 부터 받은 데이터를 변환하여 데이터베이스에 저장함.

FrontEnd와 BackEnd가 될 수 있을 것임.

(3) 연계 방식

  • 여기가 출제될 수도 있다하네…

직접연계와 간접 연계로 분류한다.

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

(DB Link, DB Connection, open API, JDBC, 하이퍼링크) 그냥 있는거 가져다 쓰면 직접 연계

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

(연계 솔루션 EAI, WebService ESB, 소켓) 이거는 개발자가 만들어줘야하는 것들임.

Chapter 03 내외부 연계 모듈 구현

여기가 사실 굉장히 중요한 부분인듯 싶다.

1 연계 모듈 구현 환경 구성 및 개발

  • EAI
  • ESB
  • 웹서비스 방식

EAI (Enterprise Application Integration)

기업에서 운영되는 서로 다른 플랫폼 간의 정보를 전달, 연계 통합이 가능하도록 해주는 솔루션

각 비즈니스 간 통합, 연계를 증대시켜 효율성을 높여줄 수 있다. 각 시스템 간의 확장성을 높여줄 수 있다.

EAI

EAI의 구성요소

EAI 구성도

  • EAI 플랫폼 : 이기종 시스템 간에 애플리케이션 상호 운영, 데이터의 신뢰성 있는 전송, 대규모 사용자 환경 지원
  • 어댑터 : 데이터 입출력 도구 (기업에서 자체 개발)
  • 브로커 : 데이터가 전송 될 때, 데이터 포맷과 코드를 변환하는 솔루션
  • 메세지 큐 : 비동기 메시지를 사용하는 다른 응용프로그램 사이에 데이터 송수신할 때 사용
  • 비즈니스 워크플로우 : 미리 정의된 기업의 비즈니스 Workflow에 따라 업무를 처리하는 기능

EAI의 구축 유형

  • 포인트 투 포인트 (Point to Point)
    • 가장 기초적인 애플리케이션 통합 방법
  • 허브앤스포크
    • 단일한 접점의 허브 시스템을 통하여 데이터 전송 (중앙집중식)
    • 허브 망가지면 전체 장애
  • 메시지 버스
    • 애플리케이션 사이 미들웨어 (버스)를 두어 연계하는 미들웨어 통합방식
    • 뛰어난 확장성과 대용량 데이터 처리 가능
  • 하이브리드
    • 그룹 내에선 허브앤 스포크, 그룹 간에는 메세지 버스를 사용하는 통합방식

ESB(Enterprise Service Bus) 방식

EAI 와 비슷한 개념이지만 약간 다름 기업에서 운영되는 서로 다른 플랫폼 및 애플리케이션들 간을 하나의 시스템으로 운영할 수 있도록 함.

ESB는 Bus를 중심으로 각각 프로토콜이 호환할 수 있도록 애플리케이션의 통합을 느슨한 결합 방식으로 지원함.

ESB

비슷해보이지만 다르다.

차이점

  • EAI
    • Hub 중심
    • 기업 내부의 이기종 응용 모듈 간 통합
    • 포인트 투 포인트, 허브앤 스포크, 메시지 버스, 하이브리드
    • 벤더 종속적 기술 적용
    • 어댑터, 브로커, 메세지 큐
    • 애플링케이션 간의 단단한 통합
    • 기업내부망
  • ESB
    • Bus 중심
    • 기업간의 서비스 교환을 위해 표준 API로 통합
    • 버스 방식의 분산형 토폴로지
    • 표준 기술사용 (웹서비스, XML 등)
    • 웹서비스, 지능형라우터, 포맷변환, 개방형표준
    • 서비스 간 느슨한 통합
    • 기업 내외부 채널망

수험생의 궁금증 구별하는 키워드가 뭘까요?

답변

  • ESB = SOA + EAI 이다.
  • 구성형태가 (중앙집중형) vs (버스 형태) 인 것.
  • EAI의 중앙집중 방식이 여러 문제점을 발생 시키자
  • SOA 의 등장과 함께 ESB 가 나오게 됨.
  • SOA 란 (Service Oriented Architecture) 서비스 지향 아키텍처
  • SOA 기반의 느슨한 결합ㅇ르 지원하는 버스형태의 연계 시스템이라 할 수 있음
  • 최근들어서는 아예 경계가 모호해져서 EAI/ESB 라 부른다.

EAI/ESB 방식 연계 모듈 구현

이 부분이 단답형으로 출제될 수 있다고 하는데… 일단 개요는 어떤 동작이 발생했을 때 (트리거를 발생)

Insert 를 사용하여 Log 테이블에 집어넣어 로그를 저장하겠다는 것이 핵심요지임.

웹서비스 방식

우리 회사에서도 많이 사용하는 방식

예를들어 디비와 통신할 때, 각 프로시저를 호출할 때 웹서비스를 만들어 둔것에서 가져온다고 보면 됨.

유형

  • SOAP
  • UDDI
  • WSDL
1) SOAP (Simple Object Access Protocol)

http, https, smtp 등 다양한 종류의 프로토콜을 사용하여 xml 기반의 메시지를 네트워크 상태에서 교환하는 프로토콜이다.

soap 은 보통의 경우 원격프로시저 (RPC, Remote Procedure Call) 을 하는 메시지 패턴을 사용한다.

이게 우리 회사의 기존 소스들을 보면 다 이렇게 되어있음.

2) WSDL (Web Service Description Language)

웹 서비스 명, 제공 위치, 메시지 포맷, 프로토콜 정보 등이 XML 로 저자오디어 있다. 이거.. 우리 PIMS 파트에서 쓰는 그거 같은데??

3) UDDI (Universial Description, Discovery and Integration)

wsdl 을 등록하고 검색하기 위한 저장소로 공개적인 접근 검색이 가능한 레지스트리

뭔소린지 몰라…

난 여기까지.. ㅠ힘들다