Professional Documents
Culture Documents
Mule ESB: Integration Simplified
Mule ESB: Integration Simplified
Integration Simplified
Rich Remington rremington@Rich-Software.com
Topics
2
Integration! S'A! and ES( )hat $%le ES( i# *and i#n+t, $%le Architect%re - .omponent# .onfig%ration - /eployment Enterpri#e Integration Pattern# $ain /emo )rap-%p - 0%e#tion#
All content copyright 2009! Rich Software Inc" portion# copyright 2009! $%leSo%rce Inc. All right# re#er&ed.
1-SEP-2009
Goals
Ed%cate 1..1 people a2o%t $%le ES( - how to #implify integration pro3ect# 4i&e 2ac5 to an awe#ome comm%nity 6a&e a 2it of f%n .onfirm 7la8ine##9 i# a good thing:
;
.on&ince yo% it+# #afe! ea#y! and f%n! to 7get on the 2%#9
All content copyright 2009! Rich Software Inc" portion# copyright 2009! $%leSo%rce Inc. All right# re#er&ed.
1-SEP-2009
Background
)ho am I=
; ;
$athematician wanna2e t%rned #oftware g%y A 2it la8y $oral? don+t wor5 harder than yo% ha&e to - it+# o5ay to 2e la8y "-,
1-SEP-2009
Red%ce
.ode comple@ity - 2loat
Refactor
$o&e code to it# proper place
; ;
5
Re%#e
Plan ahead for #er&iceAcomponent re%#e B#e pre-2%ilt component# - #ol%tion#
2009! Rich Software Inc" portion# copyright 2009! $%leSo%rce Inc. All right# re#er&ed.
1-SEP-2009
'ntegration Pro(ects
)hy we integrate
; ; ; ;
B#er# donCt care where 2%#ine## f%nction# and information re#ide )e donCt alway# own or control all the piece#
.heaper than 2%ilding new #ol%tion# from #cratch B#er# want acce## to information from &ario%# de&ice# - 2row#er#! mo2ile phone! handheld#! ...
&
1-SEP-2009
'ntegration Pro(ects
6ow we integrate
; ; ; ;
Set %p meeting# with 2%#ine## domain e@pert# Identify #y#tem# and proce##e# $ore meeting#< $ap data flow# then model
; ; ;
Det more meeting#< /efine #er&ice# - me##age format# Start coding away<
1-SEP-2009
'ntegration Pro(ects
/eath >a@e# Re0%irement# will change often: /e#ign - 2%ild #er&iceAo23ect interface# for re%#e >a5e ad&antage of loo#e co%pling Switch implementation# or protocol# a# needed o&er time! 2%t not the interface
2009! Rich Software Inc" portion# copyright 2009! $%leSo%rce Inc. All right# re#er&ed.
1-SEP-2009
'ntegration ,-ecklist
'denti/# Processes and S#ste4s ,reate an 'ntegration Pro/ile Ser.ice 'denti/ication Ser.ice 'nter/aces Mule Topolog# Model E.ent 0lo1s 0ault 2andling 3ata Trans/or4ations Test 5se-cases Ser.ice '4ple4entation Endpoint 6oS7 Securit# 0unctional Testing
2009! $%leSo%rce Inc. All right# re#er&ed.
Im p l em ent at i on
Pl anni ng
Map 3ata 0lo1s Per/or4ance Re8uire4ents Securit# Redundanc# Re8uire4ents 6oS Re8uire4ents 3e/ine Message 0or4ats
1-SEP-2009
'ntegration ;pproac-es<Tec-nologies
Information #ilo# li&e on Ena2le# loo#e co%pling of #er&ice# that are 'S programming lang%age independent )e2 #er&ice# *S'AP! RES>,! RP.! .'R(A! etc. 6elp# orche#trate - manage the chao# 4ood place to centrali8e general #er&ice# Enco%rage# 2e#t practice#
2009! Rich Software Inc" portion# copyright 2009! $%leSo%rce Inc. All right# re#er&ed.
9:
1-SEP-2009
T-e Bus
7>here are going to 2e time# when we canCt wait for #ome2ody. Eow! yo%Cre either on the 2%# or off the 2%#. If yo%Cre on the 2%#! and yo% get left 2ehind! then yo%Cll find it again. If yo%Cre off the 2%# in the fir#t place F then it wonCt ma5e a damn.9 -- >he Electric Gool-Aid Acid >e#t *19HI,
99
1-SEP-2009
3ail# 3ou le
)hat are two of the J R+#= )hat wa# the moral of the 72%c5et of water9 #tory= Eame the Integration Approach I+m #%gge#ting yo% %#e
92
1-SEP-2009
;udience Poll
Eeed to integrate Are %#ing point-to-point integration #ol%tion# Are doing S'A *S'AP! RES>! RP.! <, Eot doing S'A! 2%t planning to Are %#ing an ES( Eot doing ES(! 2%t planning to
93
1-SEP-2009
Integration Style#
; ; ; ; ;
ES( Ad&antage#
; ; ; ; ; ; ;
Synchrono%# A#ynchrono%#
S%pport# all #tyle# (ridge# legacy #y#tem# $od%lar architect%re Simple and fle@i2le Ea#y to te#t and maintain Scala2le .an 2e a #tep toward# S'A
94
1-SEP-2009
I-APR-2009
95
1-SEP-2009
I-APR-2009
9&
1-SEP-2009
i# a lightweight integration platform and #er&ice container that allow# yo% to 0%ic5ly and ea#ily connect yo%r application# together. $%le pro&ide# a ro2%#t! #ec%re and #cala2le platform to 2%ild enterpri#e application# offering an array of tran#port# #%ch a# L$S! 6>>P! Email! K>P! L/(. and many more. It al#o offer# a rich #et of feat%re# for we2 #er&ice#! me##age ro%ting! mediation! tran#formation and tran#action management. /e#igned aro%nd the ES( *Enterpri#e Ser&ice (%#, concept.9
-- www.m%le#o%rce.org
9)
1-SEP-2009
is a lightweight integration platform and service container that allow# yo% to 0%ic5ly and ea#ily connect yo%r application# together. $%le pro&ide# a ro2%#t! #ec%re and #cala2le platform to 2%ild enterpri#e application# offering an array of tran#port# #%ch a# L$S! 6>>P! Email! K>P! L/(. and many more. It al#o offer# a rich #et of feat%re# for we2 #er&ice#! me##age ro%ting! mediation! tran#formation and tran#action management. Designed around the ESB (Enterprise Service Bus) concept.9
-- www.m%le#o%rce.org
9*
1-SEP-2009
Service mediation
Separate business logic from messaging Shield service components from message formats and protocols Enable location-independent service calls Route messages based on content and complex rules Filter, aggregate and re-sequence in-bound messages
Message routing
Data transformation
Exchange data across applications with varying data formats Transform data as needed, based on need Format messages across heterogeneous transport protocols
9+
1-SEP-2009
Development simplicity
2:
1-SEP-2009
It doe# not place re#triction# on yo%r en&ironment It i# not me##age 0%e%ing! it %#e# other *L$S capa2le, prod%ct#
;
It i# not comple@ It doe# not need to 2e 7the grand ma#ter of all integration endpoint# acro## the enterpri#e9
; ;
29
1-SEP-2009
/eco%ple# (%#ine## Mogic Mocation >ran#parency >ran#port Protocol .on&er#ion $e##age >ran#formation $e##age Ro%ting $e##age Enhancement Relia2ility *>ran#action#, Sec%rity Scala2ility
2009! $%leSo%rce Inc. All right# re#er&ed.
22
1-SEP-2009
N$M! .SO! (inary! Stream#! Record! La&a '23ect# $i@ and match $%le doe# not impo#e an API on #er&ice o23ect# '23ect# are f%lly porta2le P'L'#! Io. '23ect#! EL( Se##ion (ean#! Remote '23ect# RES> - )e2 Ser&ice# $%le can 2e r%n ea#ily from a LBnit te#t ca#e Kramewor5 pro&ide# a >e#t compati2ility 5it Scale# down a# well a# %p
2009! Rich Software Inc" portion# copyright 2009! $%leSo%rce Inc. All right# re#er&ed.
Ea#y to te#t
; ; ;
23
1-SEP-2009
24
1-SEP-2009
Mule ,o4ponents
Endpoint
;
.hannel! $e##ageRecei&er! .onnector $e##age tran#formation A enhancement $e##age flow control *in2o%ndAo%t2o%nd, Do%r integration logic li&e# here
2009! Rich Software Inc" portion# copyright 2009! $%leSo%rce Inc. All right# re#er&ed.
>ran#former
;
Ro%ter
;
Ser&ice .omponent
;
All content copyright
25
1-SEP-2009
Mule ,on/iguration
2&
1-SEP-2009
3ail# 3ou le
Eame two rea#on# to %#e $%le ES( Eame one thing $%le ES( i#n+t Eame two $%le .omponent#
2)
1-SEP-2009
/ownload $%le
;
http?AAwww.m%le#o%rce.orgAdi#playA$BMEA/ownload
echo e@ample
;
2*
1-SEP-2009
Mule 3eplo#4ent
2+
1-SEP-2009
3:
1-SEP-2009
1-SEP-2009
$e##age Kilter
; ; ; ; ;
Ser&ice component recei&e# #pecific me##age type# >ran#former? change format! tag name#! etc. add additional data to me##age Ro%te me##age 2a#ed on contained data Send me##age 2etween different protocol# or me##aging #y#tem#
2009! Rich Software Inc" portion# copyright 2009! $%leSo%rce Inc. All right# re#er&ed.
$e##age >ran#lator .ontent Enricher *$e##age Enhancement, .ontent-2a#ed Ro%ter $e##aging (ridge
32
1-SEP-2009
.ontent Kilter
;
Shrin5 me##age to fewer data item# Kile directory! email! K>P Send to m%ltiple endpoint# A aggregate replie# (atche#! Mi#t#! .ollection#! etc. In#pect me##age# d%ring flight *logging! monitoring! etc.,
2009! Rich Software Inc" portion# copyright 2009! $%leSo%rce Inc. All right# re#er&ed.
Polling .on#%mer
;
Scatter-4ather
;
Splitter
;
)ire >ap
;
33
1-SEP-2009
Main 3e4o
34
1-SEP-2009
35
1-SEP-2009
$%leKorge
;
$%le 4ala@yU
;
S'A go&ernance platform with an integrated regi#tryArepo#itory S%2#cription 2a#ed #%pport that incl%de#
$%le 6VU? #y#tem# monitoring A management Premi%m connector# *e.g. I($ )e2#phere $V, 'nline 5nowledge2a#e - #%pport lin5#
2009! Rich Software Inc" portion# copyright 2009! $%leSo%rce Inc. All right# re#er&ed.
3&
1-SEP-2009
T-e Bus
7>he 2%# came 2y and I got on! thatC# when it all 2egan...9 -- W>he 'ther 'neW 2y the 4ratef%l /ead
1-SEP-2009
;udience Poll
learned #omething a2o%t $%le ES(= learned #omething yo% didn+t 5now a2o%t integration pattern#= had a 2it of f%n= will thin5 more a2o%t how to 2e la8y=
3*
1-SEP-2009
Su44ar#
Integration Pro3ect# )hat $%le ES( i# *and i#n+t, $%le Architect%re! .omponent#! /eployment Enterpri#e Integration Pattern# Ea#y to implement integration #cenario# Plan to 2e la8y ?-,
3+
1-SEP-2009
3ou le Ceopard#
Send me a %#e-ca#e for $%le ES( within yo%r organi8ation %#ing the contact form on the RSI we2#ite *www.rich-#oftware.comAmainAcontact, P%t 7$%le ES( %#e-ca#e9 in the #%23ect >he %#e-ca#e m%#t 2e recei&ed within XI ho%r# of thi# tal5 to 2e eligi2le for a pri8e I will buy two lucky people a free lunch that includes up to two hours of free business analysis on your use case and!or mentoring on Mule ESB" #nd$ you will receive one of the Manning books%
All content copyright 2009! Rich Software Inc" portion# copyright 2009! $%leSo%rce Inc. All right# re#er&ed.
4:
1-SEP-2009
Resources
$%le ES(?
; ;
http?AAwww.enterpri#eintegrationpattern#.com http?AAwww.manning.comAdo##ot
2009! Rich Software Inc" portion# copyright 2009! $%leSo%rce Inc. All right# re#er&ed.
49
1-SEP-2009
T-ank #ouD
V%e#tion#=
42
1-SEP-2009