You are on page 1of 42

Mule ESB

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:
;

At lea#t #ome of the time<

.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 "-,

>he 2%c5et of water #tory


;

All content copyright

2009! Rich Software Inc" portion# copyright

2009! $%leSo%rce Inc. All right# re#er&ed.

1-SEP-2009

3 Rs - Plan to e !a"# $-%

Red%ce
.ode comple@ity - 2loat

Refactor
$o&e code to it# proper place

>ran#formation! Ro%ting! Ser&ice .omponent

; ;
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.

All content copyright

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#

intranet - e@ternal partner#

.heaper than 2%ilding new #ol%tion# from #cratch B#er# want acce## to information from &ario%# de&ice# - 2row#er#! mo2ile phone! handheld#! ...

&

All content copyright

2009! Rich Software Inc" portion# copyright

2009! $%leSo%rce Inc. All right# re#er&ed.

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

Pattern# are e@tremely helpf%l

; ; ;

Det more meeting#< /efine #er&ice# - me##age format# Start coding away<

(%t! then what happen#=


All content copyright 2009! Rich Software Inc" portion# copyright 2009! $%leSo%rce Inc. All right# re#er&ed.

1-SEP-2009

'ntegration Pro(ects

>hree thing# in life are certain?


; ; ;

/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.

Plan for change


; ; ;

All content copyright

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

All content copyright

2009! Rich Software Inc" portion# copyright

1-SEP-2009

'ntegration ;pproac-es<Tec-nologies

.%#tom! point-to-point #ol%tion#


;

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.

Ser&ice 'riented Architect%re *S'A,


; ;

Enterpri#e Ser&ice (%# *ES(,


; ; ;

9:

All content copyright

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

All content copyright

2009! Rich Software Inc" portion# copyright

2009! $%leSo%rce Inc. All right# re#er&ed.

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

All content copyright

2009! Rich Software Inc" portion# copyright

2009! $%leSo%rce Inc. All right# re#er&ed.

1-SEP-2009

;udience Poll

6ow many of yo%<


; ; ; ; ; ;

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

All content copyright

2009! Rich Software Inc" portion# copyright

2009! $%leSo%rce Inc. All right# re#er&ed.

1-SEP-2009

=-# use an ESB

Integration Style#
; ; ; ; ;

ES( Ad&antage#
; ; ; ; ; ; ;

(atch Kile >ran#fer Shared /ata2a#e Re0%e#tAReply $e##aging


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

All content copyright

2009! Rich Software Inc" portion# copyright

2009! $%leSo%rce Inc. All right# re#er&ed.

1-SEP-2009

I-APR-2009

=-# use an ESB > e/ore%

95

All content copyright

2009! Rich Software Inc" portion# copyright

2009! $%leSo%rce Inc. All right# re#er&ed.

1-SEP-2009

I-APR-2009

=-# use an ESB >a/ter%

9&

All content copyright

2009! Rich Software Inc" portion# copyright

2009! $%leSo%rce Inc. All right# re#er&ed.

1-SEP-2009

=-at is Mule ESB?


7$%le

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)

All content copyright

2009! Rich Software Inc" portion# copyright

2009! $%leSo%rce Inc. All right# re#er&ed.

1-SEP-2009

=-at is Mule ESB?


7Mule

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*

All content copyright

2009! Rich Software Inc" portion# copyright

2009! $%leSo%rce Inc. All right# re#er&ed.

1-SEP-2009

=-at is Mule ESB?


Service creation and hosting Expose transport end-points, EJBs, Spring beans, and POJOs as modular and reusable services Host services as a lightweight service container

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+

All content copyright

2009! Rich Software Inc" portion# copyright

2009! $%leSo%rce Inc. All right# re#er&ed.

1-SEP-2009

Mule$ !ig-t1eig-t and ;dapti.e


Adaptive integration
Standards-based and vendor-neutral Seamless integration with existing infrastructure Plug-in architecture allows for building block approach Use with any application server or standalone Simplif i ed programming model Ease of use through conf i guration and control Rapid development and deployment through code reuse No expensive up-front license commitments Access to source code allows customization and lowers risk Vibrant developer community delivering best practices and modules

Development simplicity

Open source advantage

2:

All content copyright

2009! Rich Software Inc" portion# copyright

2009! $%leSo%rce Inc. All right# re#er&ed.

1-SEP-2009

=-at Mule ESB isnt


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#
;

And! it doe# not re0%ire me##age 0%e%e#

It i# not comple@ It doe# not need to 2e 7the grand ma#ter of all integration endpoint# acro## the enterpri#e9
; ;

>hin5 2ig! #tart #mall It play# nicely with other ES(#


2009! Rich Software Inc" portion# copyright 2009! $%leSo%rce Inc. All right# re#er&ed.

29

All content copyright

1-SEP-2009

=-# use Mule ESB


/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

All content copyright

2009! Rich Software Inc" portion# copyright

1-SEP-2009

=-# c-oose Mule

Eo pre#cri2ed me##age format


; ;

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.

Pero code intr%#ion


; ;

E@i#ting o23ect# can 2e managed


; ;

Ea#y to te#t
; ; ;

23

All content copyright

1-SEP-2009

Mule ESB ;rc-itecture

Architect%re i# 2a#ed on concept# di#c%##ed in Enterpri#e Integration Pattern#

24

All content copyright

2009! Rich Software Inc" portion# copyright

2009! $%leSo%rce Inc. All right# re#er&ed.

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

Spring 2a#ed m%le-config.@ml *defa%lt, $%ltiple config file# %#ing import

2&

All content copyright

2009! Rich Software Inc" portion# copyright

2009! $%leSo%rce Inc. All right# re#er&ed.

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)

All content copyright

2009! Rich Software Inc" portion# copyright

2009! $%leSo%rce Inc. All right# re#er&ed.

1-SEP-2009

Mule E@a4ples >4ini-de4o%


/ownload $%le
;

http?AAwww.m%le#o%rce.orgAdi#playA$BMEA/ownload

.onfig%re the en&ironment


;

$BMEQ6'$E! LAOAQ6'$E option# 1 - J! #how config

echo e@ample
;

2*

All content copyright

2009! Rich Software Inc" portion# copyright

2009! $%leSo%rce Inc. All right# re#er&ed.

1-SEP-2009

Mule 3eplo#4ent

Standalone Em2ed in #er&let container L.A 1.R re#o%rce adapter

2+

All content copyright

2009! Rich Software Inc" portion# copyright

2009! $%leSo%rce Inc. All right# re#er&ed.

1-SEP-2009

Mule 3eplo#4ent Topologies

Enterpri#e Ser&ice (%#

3:

All content copyright

2009! Rich Software Inc" portion# copyright

2009! $%leSo%rce Inc. All right# re#er&ed.

1-SEP-2009

At-er 3eplo#4ent Topologies


$%le al#o #%pport#? pipeline peer networ5 clientA#er&er h%2-and-#po5e! etc. .om2ine them to ma5e an ESE
39

All content copyright

2009! Rich Software Inc" portion# copyright

2009! $%leSo%rce Inc. All right# re#er&ed.

1-SEP-2009

Enterprise 'ntegration Patterns


$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

All content copyright

1-SEP-2009

Enterprise 'ntegration Patterns >contB%


.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

All content copyright

1-SEP-2009

Main 3e4o

Set the #tage S#ee diagram#T


; ;

/e#cri2e #cenario .onfig%ration

Show demo Show code


; ;

>ran#former*#, Ser&ice .omponent*#,

34

All content copyright

2009! Rich Software Inc" portion# copyright

2009! $%leSo%rce Inc. All right# re#er&ed.

1-SEP-2009

Main 3e4o - Scenario

35

All content copyright

2009! Rich Software Inc" portion# copyright

2009! $%leSo%rce Inc. All right# re#er&ed.

1-SEP-2009

At-er MuleSource Goodies

$%leKorge
;

$%le e@ten#ion#! mo#tly pro&ided 2y comm%nity

$%le I/E! mod%le#! tool#! tran#port#! etc.

$%le 4ala@yU
;

S'A go&ernance platform with an integrated regi#tryArepo#itory S%2#cription 2a#ed #%pport that incl%de#

$%le ES( Enterpri#e


;

$%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&

All content copyright

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

So! get on the 2%#:


3)
All content copyright 2009! Rich Software Inc" portion# copyright 2009! $%leSo%rce Inc. All right# re#er&ed.

1-SEP-2009

;udience Poll

6ow many of yo%<


; ; ; ;

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*

All content copyright

2009! Rich Software Inc" portion# copyright

2009! $%leSo%rce Inc. All right# re#er&ed.

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+

All content copyright

2009! Rich Software Inc" portion# copyright

2009! $%leSo%rce Inc. All right# re#er&ed.

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.m%le#o%rce.org *.omm%nity, http?AAwww.m%le#o%rce.com *Enterpri#e,


http?AAwww.e#2inaction.com

'pen So%rce ES(# In Action


;

Enterpri#e Integration Pattern#


;

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.

$%le In Action *L%ly 2009,


;

49

All content copyright

1-SEP-2009

T-ank #ouD

V%e#tion#=

42

All content copyright

2009! Rich Software Inc" portion# copyright

2009! $%leSo%rce Inc. All right# re#er&ed.

1-SEP-2009

You might also like