기업 통합 패턴(enterprise integration patterns) 소개
DESCRIPTION
기업 통합 패턴을 소개하고 새로운 기업 통합 방법을 제시한다.TRANSCRIPT
2014. 7
바른모 주식회사
기업 통합 패턴(EIP) 소개
1Barunmo Co.,Ltd. © 2014
기업 통합의 문제들
1) 수많은 애플리케이션
(복잡한, 비즈니스, OS, 플랫폼, 미들웨어, 언어, 패키지, 서비스, 데이터…)
2) 피할 수 없는 변경
(변하는 비즈니스, 개발, 유지보수, 제휴/인수/합병…)
2Barunmo Co.,Ltd. © 2014
이상적 기업 통합
1) 단일 시스템
2) 표준 데이터
3) 표준 서비스
4) 표준 저장소
5) 표준 방법론
성공했던 사례도
성공을 위한 기술도 없다!!!
그러나 현실은…
3Barunmo Co.,Ltd. © 2014
기업 통합의 방향
1) 분산 환경을 지원해야 한다.
2) 서비스와 데이터를 통합해야 한다.
3) 애플리케이션들 사이 결합도를 줄여야 한다.
4) 애플리케이션들 사이 영향도를 줄여야 한다.
5) 하드웨어, 소프트웨어, 벤더의 의존성을 줄여야 한다.
6) 데이터의 적시성을 보장해야 한다.
7) 신뢰성을 보장해야 한다.
4Barunmo Co.,Ltd. © 2014
기업 통합의 걸림돌
1) 통합에 따른 기업 정치의 변화
2) 통합의 규모
3) 한정된 권한과 역할
4) 표준의 부제
5) 패키지 솔루션 통합의 어려움
6) 개발 및 유지보수
통합이 쉽다고 주장하는 사람은 천재이거나 바보이거나 이익이 생기는 사람이다.
Enterprise Integration Patterns, Gregor Hohpe, Bobby Woolf; Addison-Wesley 2003
5Barunmo Co.,Ltd. © 2014
기업 통합의 유형
1) 정보 포털 (웹 사이트, …)
2) 데이터 복제 (File Copy, FTP, ETL, …)
3) 공유 비즈니스 기능 (J2EE, .NET, …)
4) 서비스 지향 아키텍처 (SOA, …)
5) 분산 비즈니스 프로세스 (N-Tier 애플리케이션, MQ, …)
6) B2B 통합 (EDI, XML, 웹 서비스, …)
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, …
7Barunmo Co.,Ltd. © 2014
기업 통합 수행은 성과는 있었는가?
8Barunmo Co.,Ltd. © 2014
기존 기업 통합 방법의 문제
1) 파일 전송 적시성
2) 공유 데이터 베이스 결합도, 영향도
3) 원격 프로시저 호출 성능, 신뢰성
4) 메시징 동기화
5) EAI 솔루션 고가, 레거시 애플리케이션 통합
9Barunmo Co.,Ltd. © 2014
기업 통합 수행의 문제
1) 핵심 원리 부재
2) 부정확한 의사소통
3) 반복되는 시행착오
4) 최상의 방법론 부재
5) 중재 실패
10Barunmo Co.,Ltd. © 2014
기업 통합 패턴(Enterprise Integration Patterns)
기업의 분산 컴퓨팅 환경에서 애플리케이션
통합을 위한 패턴 언어를 설명한다.
Gregor Hohpe, Bobby Woolf
Addison Wesley (2003).
최신 통합 프레임워크 및 제품의 모태가 된 베스트 셀러
2014년 가을 번역서 출간 예정
11Barunmo Co.,Ltd. © 2014
기업 통합 패턴
느슨한 결합 (Loose Coupling) 아키텍처
메시징 시스템 (Messaging System)의 재해석
비동기 메시징 패턴
패턴 언어 (패턴 + 패턴 관계망)
패턴 아이콘 (Pattern Icon) 도입
기업 통합 패턴 다이어그램 (EIP Diagram) 사용
12Barunmo Co.,Ltd. © 2014
느슨한 결합
느슨한 결합이란 두 당사자(컴포넌트, 애플리케이션, 서비스,
프로그램, 사용자)가 정보를 교환할 때
서로에 대한 가정을 최소화하는 원리를 말한다.
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)
14Barunmo Co.,Ltd. © 2014
기업 통합 패턴 개요
ApplicationA
Endpoint
Message
ChannelRouter Translator
Monitoring
ApplicationB
Message Endpoint
Message Consutruction
Messaging Channels
Message Routing
Message Transformation
System Management⑥
⑤
④①
③
②
15Barunmo Co.,Ltd. © 2014
기업 통합 패턴 언어
파이프 필터(Pipes and Filters)
독립성과 유연성을 유지하면서 메시지에 대한 복잡한 처리도 수행할 수 있으려면 어떻게 해야 할까?
메시지 라우터(Message Router)
개별 처리 단계들의 결합을 제거하여 메시지를 조건에 따라 서로 다른 필터로 전달할 수 있게 하려면 어떻게 해야 할까?
내용 기반 라우터(Content-Based Router)
단일 로직 기능이 여러 시스템에 물리적으로 분산되어 있는 경우 어떻게 처리해야 할까?
메시지 필터(Message Filter)
불필요한 메시지를 컴포넌트는 어떻게 수신하지 않을 수 있을까?
동적 라우터(Dynamic Router)
효율성을 유지하면서도 목적지에 대한 라우터의 종속성을 없애려면 어떻게 해야 할까?
수신자 목록(Recipient List)
수신자들이 가변적인 경우 어떻게 메시지를 라우팅할까?
분할기(Splitter)
메시지에 포함된 요소들을 각각 처리하려면 어떻게 해야 할까?
수집기(Aggregator)
서로 관련성이 있는 개별 메시지들은 어떻게 묶어 처리할 수 있을까?
리시퀀서(Resequencer)
순서가 뒤바뀐 메시지들 어떻게 올바른 순서로 되돌릴 것인가?
메시지 라우팅(Message Routing)
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
17Barunmo Co.,Ltd. © 2014
기업 통합 패턴 다이어그램 예
SYSTEM
WMQ
SYSTEM
JMS
SYSTEM
TCP
SYSTEM
SPLUNK
TCP
JMS
WMQ
Container
◈ 시스템 구성도
18Barunmo Co.,Ltd. © 2014
느슨한결합적용
기업통합패턴과통합프레임워크활용
애플리케이션중립적인메시징인프라도입
레거시애플리케이션과조화
단계별통합 (수용과개선)
기업 통합 전략