More Related Content
Similar to 기업 통합 패턴(Enterprise Integration Patterns) 강의 (20)
기업 통합 패턴(Enterprise Integration Patterns) 강의
- 3. 2
BarunmoCo.,Ltd. © 2014
로마의도로
폼페이에있는로마의거리.
출처) http://en.wikipedia.org/wiki/Roman_roads,http://ko.wikipedia.org/wiki/로마의_도로
A : 평평하게다진땅
B: 굵은자갈층
C: 잔자갈콘크리트층
D: 시멘트층
E: 도로블록(거북껍질모양바위, 배수고려)
F: 인도
G: 경계석
- 4. 3
BarunmoCo.,Ltd. © 2014
하드리아누스시대(재위기원후117~138년) 로마제국의도로망.
로마의도로
출처) http://ko.wikipedia.org/wiki/로마의_도로
- 5. 4
BarunmoCo.,Ltd. © 2014
1차대전패전직후아우토반고속도로건설시작
(세계최초의본격적인고속도로네트워크)
독일아우토반
출처) http://ko.wikipedia.org/wiki/아우토반
- 6. 5
BarunmoCo.,Ltd. © 2014
1968년2월1일에기공,1970년7월7일완공
대한민국경부고속도로
출처) http://ko.wikipedia.org/wiki/경부고속도로
- 12. 11
BarunmoCo.,Ltd. © 2014
동기호출,비동기호출의의미
동기(synchronous): 호출자가실행흐름중지
비동기(asynchronous): 호출자가실행흐름계속
- 13. Barunmo Co.,Ltd. © 2014 12
비동기 메시징 예 : 사람들의 대화
안녕하세요?
반갑습니다.
사람들의 뇌는 두 채널(입, 귀)로 대화한다.
다채널 비동기 메커니즘 대화(통신)
- 14. Barunmo Co.,Ltd. © 2014 13
비동기 메시징 예 : 기업 업무
기업에서 부서들은 문서를 이용해
비동기 메시징 체계에 따라 업무(process)를 진행한다.
- 15. Barunmo Co.,Ltd. © 2014 14
비동기 메시징 예 : 마라톤
마라톤 평원을 뛰어 승전보(메시지)를 전달한 병사를 기념하는 대회
승전보
전송 보장
- 16. Barunmo Co.,Ltd. © 2014 15
편지봉투
우편 주소
편지
우체통 발송 우편함
발신인 수신인
2~ 3일 뒤
비동기 메시징 예 : 우편 시스템
- 17. Barunmo Co.,Ltd. © 2014 16
Internet
이메일
이메일 주소
본문
발신인 SMTP SMTP/POP3 수신인
수 초 뒤 ~
비동기 메시징 예 : 이메일
- 18. 17
BarunmoCo.,Ltd. © 2014
사람들의일상은
본질적으로비동기메시징체계이다.
인류는시작부터비동기메시징체계를이용해왔다.
비동기메시징체계는인간의모든행동체계에녹아있다.
- 19. 18
BarunmoCo.,Ltd. © 2014
동기메시징체계는?
•빠른통신메커니즘을사용함으로비동기가동기처럼인식되는것이다.
•동기메시징체계는본질적으로비동기메시징체계에기반한다.
(컴퓨터입력, 출력, 네트워크통신, 디스크IO, 멀티프로세스통신등등)
- 20. 19
BarunmoCo.,Ltd. © 2014
그러므로기업통합(도로)에
비동기메시징은훌륭한해결책이될수있다.
업무담당자(애플리케이션)들은서류(메시지)의접수, 작성, 기안, 보고(메시징) 등을통해업무(프로세스)를수행하고타부서(애플리케이션)와협력(메시징)한다.
보존이필요한서류는서류함(데이터베이스)에보관한다.
- 24. 23
BarunmoCo.,Ltd. © 2014
기업통합의역사
출처) 위키피디아http://en.wikipedia.org/wiki/Enterprise_integration
Enterprise Integration Patterns
출간
- 25. 24
BarunmoCo.,Ltd. © 2014
기업통합의방향
1)분산환경을지원해야한다.
2)서비스와데이터를통합해야한다.
3)애플리케이션들사이결합도를줄여야한다.
4)애플리케이션들사이영향도를줄여야한다.
5)하드웨어, 소프트웨어,벤더의의존성을줄여야한다.
6)데이터의적시성을보장해야한다.
7)신뢰성을보장해야한다.
- 26. 25
BarunmoCo.,Ltd. © 2014
기업통합의유형
1)정보포털(웹사이트, …)
2)데이터복제(File Copy, FTP, ETL, …)
3)공유비즈니스기능(J2EE, .NET, …)
4)서비스지향아키텍처(SOA, …)
5)분산비즈니스프로세스(N-티어애플리케이션, MQ, …)
6)B2B 통합(EDI, XML, 웹서비스, …)
- 27. 26
BarunmoCo.,Ltd. © 2014
이상적기업통합
1)단일시스템
2)표준데이터
3)표준서비스
4)표준저장소
5)표준방법론
성공했던사례도
성공을위한기술도없었다!!!
그러나현실은…
- 30. 29
BarunmoCo.,Ltd. © 2014
기업애플리케이션환경문제
1)애플리케이션들은서로다르다.
(복잡한,비즈니스, OS, 플랫폼, 미들웨어, 언어, 패키지, 서비스, 데이터…)
2)변경은피할수없다.
(비즈니스변경, 개발, 유지보수, 제휴/인수/합병…)
3) 네트워크는신뢰할수없다.
(기업서비스장애확률은서비스참여시스템들의수에따라증가)
4) 네트워크속도는느리다.
(근접호출보다몇십배,몇백배느린원격호출)
- 31. 30
BarunmoCo.,Ltd. © 2014
기업통합추진문제
1)통합에따른기업정치의변화
2)통합의규모
3)한정된권한과역할
4)표준의부제
5)패키지솔루션통합의어려움
6)개발및유지보수
통합이쉽다고주장하는사람은천재이거나바보이거나이익이생기는사람이다.
기업통합패턴(Enterprise Integration Patterns) 에이콘출판2014
- 33. 32
BarunmoCo.,Ltd. © 2014
전통적인기업통합해결책
1)파일전송(File Copy, rcopy, FTP, …)
2)공유데이터베이스(RDBMS, NoSQL, …)
3)원격프로시저호출(CORBA, J2EE, .NET, Web Service …)
4)메시징(Messaging) : Message Queue, 전문통신, …
5)솔루션: EAI, ESB, SOA, …
사안별기능적접근
- 34. 33
BarunmoCo.,Ltd. © 2014
전통적인기업통합해결책들의문제점
1)파일전송적시성
2)공유데이터베이스결합도, 영향도
3)원격프로시저호출성능, 신뢰성
4)메시징동기화
5)EAI 솔루션고가, 레거시애플리케이션통합
사안별기능적접근
- 36. 35
BarunmoCo.,Ltd. © 2014
사람들의일상은
본질적으로비동기메시징체계이다.
인류는시작부터비동기메시징체계를이용해왔다.
비동기메시징체계는인간의모든행동체계에녹아있다.
인식론적고찰(앞서본)
- 38. 37
BarunmoCo.,Ltd. © 2014
애플리케이션통합에대한인식전환
기능
(서비스, 데이터)
중심
소통
(메시지)
중심
인식전환
제대로된도로(통합)가없다면물자(서비스, 데이터)의유통은힘들어진다.
- 39. 38
BarunmoCo.,Ltd. © 2014
기업인프라
MOA
SOA
•SOA : Service Oriented Architecture
•MOA : Message Oriented Architecture
통합에대한인식전환
기능중심+ 소통중심
- 41. 40
BarunmoCo.,Ltd. © 2014
기업통합패턴(Enterprise Integration Patterns)
기업통합패턴은기업의분산된애플리케이션들을통합하기위한해결책을패턴언어로설명한다.
GregorHohpe, Bobby Woolf
AddisonWesley (2003).
차정호옮김
에이콘출판(2014).
- 42. 41
BarunmoCo.,Ltd. © 2014
기업통합패턴
느슨한결합(Loose Coupling) 아키텍처
메시징시스템(Messaging System)의재해석
비동기메시징패턴
패턴언어(패턴+ 패턴관계망)
패턴아이콘(Pattern Icon) 도입
기업통합패턴다이어그램(EIP Diagram) 사용
- 43. 42
BarunmoCo.,Ltd. © 2014
느슨한결합
느슨한결합이란두당사자(컴포넌트, 애플리케이션, 서비스,
프로그램, 사용자)가정보를교환할때
서로에대한가정을최소화하는원리를말한다.
- 45. 44
BarunmoCo.,Ltd. © 2014
메시징시스템(Messaging System)또는메시지지향미들웨어(Message- Oriented Middleware : MOM)는데이터베이스시스템이데이터를영속적으로관리하는것처럼메시지전송을보장하는시스템이다.
데이터베이스
스키마
메시지
채널
메시지서버
데이터베이스서버
전송보장
저장보장
메시징시스템이란?
- 46. 45
BarunmoCo.,Ltd. © 2014
메시징의장점
1)원격통신메시징계층에서직렬화처리
2)플랫폼/언어중립범용변환기, 메시지버스
3)비동기통신수신여부에무관한발신가능(보내고잊기)
4)시간조절발신자,수신자각각독립적인처리시간관리
5)흐름조절수신자가요청처리속도조절
6)신뢰통신메시지전송보장
7)비접속작업네트워크접속시동기화
8)중재고가용성, 부하분산, 우회연결, 이중화제공
9)스레드관리적은수의스레드자원사용
- 47. 46
BarunmoCo.,Ltd. © 2014
메시징의단점
1)복잡한프로그래밍모델이벤트기반프로그램
2)순서문제메시지순서가뒤바뀌는경우발생
3)동기시나리오동기서비스(예: 탑승권예매)를포함한시나리오고려
4)성능통신부하증가, 큰데이터전송부담
5)플랫폼지원메시징을지원하지않는시스템연결(REST, FTP 등)
6)벤더의존성복수통합솔루션들사이의통합(통합의통합)
- 48. 47
BarunmoCo.,Ltd. © 2014
기업통합패턴개요
ApplicationAEndpointMessageChannelRouterTranslatorMonitoringApplicationBMessage EndpointMessage ConsutructionMessaging ChannelsMessage RoutingMessage TransformationSystem Management⑥ ⑤ ④ ① ③ ②
- 49. 48
BarunmoCo.,Ltd. © 2014
기업통합패턴아이콘
Message Endpoint? Message EndpointMessage DispatcherMessage GatewayCompeting ConsumerSelective ConsumerPolling ComsumerDurable SubscriberTransactional ClientService ActivatorEvent Driver ConsumerMessage ConsutructionRequest ReplyMessage SequenceCorrelation IDReturn AddressAB123Command MessageMessageCDEvent MessageDocument MessageEMessage TransformationMessage EnricherEnvelope WrapperMessage TranslatorClaim CheckNornamlizerContent FilterMessaging ChannelsChannelMessaging BridgeChannel AdapterGuaranteed DeliveryMessage BusPublish-Subscribe Channel! Datatype ChannelDead Letter ChannelInvalid MessageMessage RoutingRecipient ListMessage FilterProcess ManagerComposed Msg. ProcesserContent Based RouterMessage RouterRounding SlipSplitterResquencerAggregatorSystem ManagementWire TapTest MessageChannel PurgerControl BusDetourMessage Store
- 51. Barunmo Co.,Ltd. © 2014 50
메시징 시스템
애플리케이션
A
메시지
메시지 채널
메시지
라우터
메시지
변환기
애플리케이션
B
메시지
엔드포인트
1) 메시지 채널
2) 메시지
3) 파이프 필터
4) 메시지 라우터
5) 메시지 변환기
6) 메시지 엔드포인트
- 52. 51
BarunmoCo.,Ltd. © 2014
애플리케이션들은메시징을사용해어떻게통신하는가?
메시지채널(Message Channel)
메시지채널을사용해애플리케이션들을연결한다. 애플리케이션이정보를채널에기록하면다른애플리케이션은채널에서정보를읽는다.
- 53. 52
BarunmoCo.,Ltd. © 2014
메시지(Message)
정보를메시지(Message)로포장한다. 메시지는메시징시스템이메시지채널을거쳐전송하는데이터레코드다.
메시지채널로연결된두애플리케이션은어떻게정보를교환할까?
- 54. 53
BarunmoCo.,Ltd. © 2014
독립성과유연성을유지하면서메시지에대한복잡한처리도수행할수있으려면어떻게해야할까?
파이프필터(Pipes and Filters)
많은처리단계들을포함하는프로세스는파이프필터(Pipes and Filters) 아키텍처스타일을사용한다. 이아키텍처스타일은프로세스를연속되는소규모독립처리단계(필터)들로나누고각처리단계를채널(파이프)로연결한다.
- 55. 54
BarunmoCo.,Ltd. © 2014
개별처리단계들의결합을제거해메시지를조건에따라서로다른필터로전달할수있게하려면어떻게해야할까?
메시지라우터(Message Router)
특별한필터인메시지라우터(Message Router)를추가한다. 메시지라우터는메시지채널에서메시지를소비하고조건에따라메시지를그밖의메시지채널로다시게시한다.
- 56. 55
BarunmoCo.,Ltd. © 2014
메시지변환기(Message Translator)
필터나애플리케이션들사이에특별한필터인메시지변환기(Message Translator)를사용해데이터포맷을변환한다.
서로다른데이터포맷을사용하는시스템들이메시징을사용해통신하려면어떻게해야할까?
- 57. 56
BarunmoCo.,Ltd. © 2014
애플리케이션을메시징시스템에접속시키려면어떻게해야할까?
메시지엔드포인트(Message Endpoint)
메시지엔드포인트(Message Endpoint)를사용해애플리케이션과메시징채널을연결한다. 메시지엔드포인트는애플리케이션이메시지를발신하고수신하는데사용하는메시징시스템의클라이언트다.
- 58. Barunmo Co.,Ltd. © 2014 57
기업 통합 패턴 다이어그램
애플리케이션
A
메시지
메시지 채널
메시지
라우터
메시지
변환기
애플리케이션
B
메시지
엔드포인트
메시지
변환기
애플리케이션
C
전체 메시지 흐름
- 59. 58
BarunmoCo.,Ltd. © 2014
기본패턴의확장
Application
A
Endpoint
Message
Channel
Router Translator
Monitoring
Application
B
Message Endpoint
Message Consutruction
Messaging Channels
Message Routing
Message Transformation
⑥ System Management
⑤
④
①
③
②
- 60. 59
BarunmoCo.,Ltd. © 2014
기업통합패턴다이어그램실무예
SYSTEM
WMQ
SYSTEM
JMS SYSTEM
TCP SYSTEM
SPLUNK
TCP
JMS
WMQ
Container
◈시스템구성도
- 61. 60
BarunmoCo.,Ltd. © 2014
N-티어솔루션과통합패턴솔루션의차이
1)N-계층분산애플리케이션들은독립실행불가능(단단한결합)
2)동기메시징체계(시간에민감)
N-티어분산애플리케이션
통합분산애플리케이션
1)통합분산애플리케이션들은독립실행가능(느슨한결합)
2)비동기메시징체계(시간에관대)
- 62. 61
BarunmoCo.,Ltd. © 2014
느슨한결합적용
기업통합패턴과통합프레임워크활용
애플리케이션중립적인메시징인프라도입
레거시애플리케이션과조화
점진적통합(수용과개선)
기업애플리케이션통합패턴전략
- 63. 62
BarunmoCo.,Ltd. © 2014
▶Apache Camel: 통합프레임워크
▶Apache ActiveMQ : 메시지지향미들웨어
▶Apache ServiceMix: ESB 플랫폼+ 기업통합패턴지원
▶Red Hat JBoss Fuse: 오픈소스기반애플리케이션통합제품
▶Spring Integration: 통합프레임워크
▶Spring XD: 기업통합패턴에기반한데이터통합프레임워크
▶Mule ESB: ESB 플랫폼+ 기업통합패턴지원
▶TalendESB: ESB 플랫폼+ 기업통합패턴지원
▶IBM WebSphere: IBM 통합제품
▶Azure Service Bus: 마이크로소프트애저서비스버스
기업통합패턴의도구들