기업 통합 패턴(enterprise integration patterns) 소개

20
2014. 7 바른모 주식회사 기업 통합 패턴(EIP) 소개

Upload: barunmo

Post on 28-Nov-2014

500 views

Category:

Software


8 download

DESCRIPTION

기업 통합 패턴을 소개하고 새로운 기업 통합 방법을 제시한다.

TRANSCRIPT

Page 1: 기업 통합 패턴(Enterprise Integration Patterns) 소개

2014. 7

바른모 주식회사

기업 통합 패턴(EIP) 소개

Page 2: 기업 통합 패턴(Enterprise Integration Patterns) 소개

1Barunmo Co.,Ltd. © 2014

기업 통합의 문제들

1) 수많은 애플리케이션

(복잡한, 비즈니스, OS, 플랫폼, 미들웨어, 언어, 패키지, 서비스, 데이터…)

2) 피할 수 없는 변경

(변하는 비즈니스, 개발, 유지보수, 제휴/인수/합병…)

Page 3: 기업 통합 패턴(Enterprise Integration Patterns) 소개

2Barunmo Co.,Ltd. © 2014

이상적 기업 통합

1) 단일 시스템

2) 표준 데이터

3) 표준 서비스

4) 표준 저장소

5) 표준 방법론

성공했던 사례도

성공을 위한 기술도 없다!!!

그러나 현실은…

Page 4: 기업 통합 패턴(Enterprise Integration Patterns) 소개

3Barunmo Co.,Ltd. © 2014

기업 통합의 방향

1) 분산 환경을 지원해야 한다.

2) 서비스와 데이터를 통합해야 한다.

3) 애플리케이션들 사이 결합도를 줄여야 한다.

4) 애플리케이션들 사이 영향도를 줄여야 한다.

5) 하드웨어, 소프트웨어, 벤더의 의존성을 줄여야 한다.

6) 데이터의 적시성을 보장해야 한다.

7) 신뢰성을 보장해야 한다.

Page 5: 기업 통합 패턴(Enterprise Integration Patterns) 소개

4Barunmo Co.,Ltd. © 2014

기업 통합의 걸림돌

1) 통합에 따른 기업 정치의 변화

2) 통합의 규모

3) 한정된 권한과 역할

4) 표준의 부제

5) 패키지 솔루션 통합의 어려움

6) 개발 및 유지보수

통합이 쉽다고 주장하는 사람은 천재이거나 바보이거나 이익이 생기는 사람이다.

Enterprise Integration Patterns, Gregor Hohpe, Bobby Woolf; Addison-Wesley 2003

Page 6: 기업 통합 패턴(Enterprise Integration Patterns) 소개

5Barunmo Co.,Ltd. © 2014

기업 통합의 유형

1) 정보 포털 (웹 사이트, …)

2) 데이터 복제 (File Copy, FTP, ETL, …)

3) 공유 비즈니스 기능 (J2EE, .NET, …)

4) 서비스 지향 아키텍처 (SOA, …)

5) 분산 비즈니스 프로세스 (N-Tier 애플리케이션, MQ, …)

6) B2B 통합 (EDI, XML, 웹 서비스, …)

Page 7: 기업 통합 패턴(Enterprise Integration Patterns) 소개

6Barunmo Co.,Ltd. © 2014

기업 통합의 전통적 방법

1) 파일 전송(File Copy, rcopy, FTP, …)

2) 공유 데이터베이스(RDBMS, NoSQL, …)

3) 원격 프로시저 호출(CORBA, J2EE, .NET, Web Service …)

4) 메시징 (Messaging) : Message Queue, 전문 통신, …

5) 솔루션 : EAI, ESB, SOA, …

Page 8: 기업 통합 패턴(Enterprise Integration Patterns) 소개

7Barunmo Co.,Ltd. © 2014

기업 통합 수행은 성과는 있었는가?

Page 9: 기업 통합 패턴(Enterprise Integration Patterns) 소개

8Barunmo Co.,Ltd. © 2014

기존 기업 통합 방법의 문제

1) 파일 전송 적시성

2) 공유 데이터 베이스 결합도, 영향도

3) 원격 프로시저 호출 성능, 신뢰성

4) 메시징 동기화

5) EAI 솔루션 고가, 레거시 애플리케이션 통합

Page 10: 기업 통합 패턴(Enterprise Integration Patterns) 소개

9Barunmo Co.,Ltd. © 2014

기업 통합 수행의 문제

1) 핵심 원리 부재

2) 부정확한 의사소통

3) 반복되는 시행착오

4) 최상의 방법론 부재

5) 중재 실패

Page 11: 기업 통합 패턴(Enterprise Integration Patterns) 소개

10Barunmo Co.,Ltd. © 2014

기업 통합 패턴(Enterprise Integration Patterns)

기업의 분산 컴퓨팅 환경에서 애플리케이션

통합을 위한 패턴 언어를 설명한다.

Gregor Hohpe, Bobby Woolf

Addison Wesley (2003).

최신 통합 프레임워크 및 제품의 모태가 된 베스트 셀러

2014년 가을 번역서 출간 예정

Page 12: 기업 통합 패턴(Enterprise Integration Patterns) 소개

11Barunmo Co.,Ltd. © 2014

기업 통합 패턴

느슨한 결합 (Loose Coupling) 아키텍처

메시징 시스템 (Messaging System)의 재해석

비동기 메시징 패턴

패턴 언어 (패턴 + 패턴 관계망)

패턴 아이콘 (Pattern Icon) 도입

기업 통합 패턴 다이어그램 (EIP Diagram) 사용

Page 13: 기업 통합 패턴(Enterprise Integration Patterns) 소개

12Barunmo Co.,Ltd. © 2014

느슨한 결합

느슨한 결합이란 두 당사자(컴포넌트, 애플리케이션, 서비스,

프로그램, 사용자)가 정보를 교환할 때

서로에 대한 가정을 최소화하는 원리를 말한다.

Page 14: 기업 통합 패턴(Enterprise Integration Patterns) 소개

13Barunmo Co.,Ltd. © 2014

메시징 시스템

1) 메시지 통신 미들웨어

2) 플랫폼/언어 중립(Multi OS, Multi Language)

3) 비동기 통신(SAF, Send and Forget)

4) 보장 전송(Guaranteed Delivery)

5) 시간 조절(Variable Timing)

6) 흐름 조절(Throttling)

7) 신뢰 통신(Reliable Communication)

8) 비접속 작업(Disconnected Operation)

9) 중재(Mediation)

10)스레드 관리(Non Blocking I/O)

Page 15: 기업 통합 패턴(Enterprise Integration Patterns) 소개

14Barunmo Co.,Ltd. © 2014

기업 통합 패턴 개요

ApplicationA

Endpoint

Message

ChannelRouter Translator

Monitoring

ApplicationB

Message Endpoint

Message Consutruction

Messaging Channels

Message Routing

Message Transformation

System Management⑥

④①

Page 16: 기업 통합 패턴(Enterprise Integration Patterns) 소개

15Barunmo Co.,Ltd. © 2014

기업 통합 패턴 언어

파이프 필터(Pipes and Filters)

독립성과 유연성을 유지하면서 메시지에 대한 복잡한 처리도 수행할 수 있으려면 어떻게 해야 할까?

메시지 라우터(Message Router)

개별 처리 단계들의 결합을 제거하여 메시지를 조건에 따라 서로 다른 필터로 전달할 수 있게 하려면 어떻게 해야 할까?

내용 기반 라우터(Content-Based Router)

단일 로직 기능이 여러 시스템에 물리적으로 분산되어 있는 경우 어떻게 처리해야 할까?

메시지 필터(Message Filter)

불필요한 메시지를 컴포넌트는 어떻게 수신하지 않을 수 있을까?

동적 라우터(Dynamic Router)

효율성을 유지하면서도 목적지에 대한 라우터의 종속성을 없애려면 어떻게 해야 할까?

수신자 목록(Recipient List)

수신자들이 가변적인 경우 어떻게 메시지를 라우팅할까?

분할기(Splitter)

메시지에 포함된 요소들을 각각 처리하려면 어떻게 해야 할까?

수집기(Aggregator)

서로 관련성이 있는 개별 메시지들은 어떻게 묶어 처리할 수 있을까?

리시퀀서(Resequencer)

순서가 뒤바뀐 메시지들 어떻게 올바른 순서로 되돌릴 것인가?

메시지 라우팅(Message Routing)

Page 17: 기업 통합 패턴(Enterprise Integration Patterns) 소개

16Barunmo Co.,Ltd. © 2014

기업 통합 패턴 아이콘

Message Endpoint

?

Message Endpoint

Message DispatcherMessage Gateway

Competing Consumer

Selective Consumer

Polling Comsumer Durable Subscriber

Transactional Client

Service ActivatorEvent Driver Consumer

Message Consutruction

Request Reply

Message Sequence

Correlation ID

Return Address

A B

1 2 3

Command Message

Message

C

D

Event Message

Document Message

E Message Transformation

Message EnricherEnvelope WrapperMessage Translator

Claim CheckNornamlizerContent Filter

Messaging Channels

Channel

Messaging BridgeChannel AdapterGuaranteed Delivery

Message BusPublish-Subscribe

Channel

!

Datatype ChannelDead Letter ChannelInvalid Message

Message Routing

Recipient List

Message FilterProcess ManagerComposed Msg.

ProcesserContent Based RouterMessage Router

Rounding SlipSplitterResquencerAggregator

System Management

Wire Tap

Test MessageChannel PurgerControl Bus

DetourMessage Store

Page 18: 기업 통합 패턴(Enterprise Integration Patterns) 소개

17Barunmo Co.,Ltd. © 2014

기업 통합 패턴 다이어그램 예

SYSTEM

WMQ

SYSTEM

JMS

SYSTEM

TCP

SYSTEM

SPLUNK

TCP

JMS

WMQ

Container

◈ 시스템 구성도

Page 19: 기업 통합 패턴(Enterprise Integration Patterns) 소개

18Barunmo Co.,Ltd. © 2014

느슨한결합적용

기업통합패턴과통합프레임워크활용

애플리케이션중립적인메시징인프라도입

레거시애플리케이션과조화

단계별통합 (수용과개선)

기업 통합 전략

Page 20: 기업 통합 패턴(Enterprise Integration Patterns) 소개

19Barunmo Co.,Ltd. © 2014

감사합니다.

문의 : [email protected]