•
•
•
•
•
•
TableofContents
Index
Reviews
ReaderReviews
Errata
Academic
EnterpriseServiceBus
ByDaveChappell
Publisher :O'Reilly
PubDate :June2004
ISBN :0-596-00675-6
Pages :274
EnterpriseServiceBusprovidesan
architecturaloverviewoftheESB,showing
howitcanbringthetaskofintegrationof
enterpriseapplicationsandservicesbuilton
J2EE,.NET,C/C++,andotherlegacy
environmentsintothereachoftheeveryday
ITprofessional,usinganevent-driven
Service-OrientedArchitecture.Throughthe
studyofreal-worldusecasesdrawnfrom
severalindustriesusingESB,thebookclearly
andcoherentlyoutlinesthebenefitsof
movingtowardthisintegrationstrategy.
•
•
•
•
•
•
TableofContents
Index
Reviews
ReaderReviews
Errata
Academic
EnterpriseServiceBus
ByDaveChappell
Publisher :O'Reilly
PubDate :June2004
ISBN :0-596-00675-6
Pages :274
Copyright
Foreword
Preface
AboutThisBook
NotationalConventionsforESBIntegrationPatterns
ConventionsUsedinThisBook
We'dLiketoHearfromYou
Acknowledgments
Chapter1.IntroductiontotheEnterpriseServiceBus
Section1.1.SOAinanEvent-DrivenEnterprise
Section1.2.ANewApproachtoPervasiveIntegration
Section1.4.ConventionalIntegrationApproaches
Section1.6.IndustryTraction
Section1.3.SOAforWebServices,AvailableToday
Section1.5.RequirementsDrivenbyITNeeds
Section1.7.CharacteristicsofanESB
Section1.8.AdoptionofESBbyIndustry
Section1.9.Summary
Chapter2.TheStateofIntegration
Section2.1.BusinessDriversMotivatingIntegration
Section2.2.TheCurrentStateofEnterpriseIntegration
Section2.4.RefactoringtoanESB
Section2.3.LeveragingBestPracticesfromEAIandSOA
Section2.5.Summary
Chapter3.NecessityIstheMotherofInvention
Section3.1.TheEvolutionoftheESB
Section3.2.TheESBinGlobalManufacturing
Section3.3.FindingtheEdgeoftheExtendedEnterprise
Section3.5.CaseStudy:Manufacturing
Section3.4.Standards-BasedIntegration
Section3.6.Summary
Chapter4.XML:TheFoundationforBusinessDataIntegration
Section4.1.TheLanguageofIntegration
Section4.2.ApplicationsBend,butDon'tBreak
Section4.3.Content-BasedRoutingandTransformation
Section4.4.AGenericDataExchangeArchitecture
Section4.5.Summary
Chapter5.MessageOrientedMiddleware(MOM)
Section5.1.TightlyCoupledVersusLooselyCoupledInterfaces
Section5.2.MOMConcepts
Section5.4.ReliableMessagingModels
Section5.6.TheRequest/ReplyMessagingPattern
Section5.3.AsynchronousReliability
Section5.5.TransactedMessages
Section5.7.MessagingStandards
Section5.8.Summary
Chapter6.ServiceContainersandAbstractEndpoints
Section6.1.SOAThroughAbstractEndpoints
Section6.2.MessagingandConnectivityattheCore
Section6.4.DiagrammingNotations
Section6.6.TheESBServiceContainer
Section6.3.DiverseConnectionChoices
Section6.5.IndependentlyDeployableIntegrationServices
Section6.7.ServiceContainers,ApplicationServers,andIntegrationBrokers
Section6.8.Summary
Chapter7.ESBServiceInvocations,Routing,andSOA
Section7.1.Find,Bind,andInvoke
Section7.2.ESBServiceInvocation
Section7.4.Content-BasedRouting(CBR)
Section7.6.SpecializedServicesoftheESB
Section7.3.Itinerary-BasedRouting:HighlyDistributedSOA
Section7.5.ServiceReusability
Section7.7.Summary
Chapter8.Protocols,Messaging,CustomAdapters,andServices
Section8.1.TheESBMOMCore
Section8.2.AGenericMessageInvocationFramework
Section8.3.CaseStudy:PartnerIntegration
Section8.4.Summary
Chapter9.BatchTransferLatency
Section9.1.DrawbacksofETL
Section9.2.TheTypicalSolution:OverbloattheInventory
Section9.3.CaseStudy:MigratingTowardReal-TimeIntegration
Section9.4.Summary
Chapter10.JavaComponentsinanESB
Section10.1.JavaBusinessIntegration(JBI)
Section10.2.TheJ2EEConnectorArchitecture(JCA)
Section10.3.JavaManagementeXtensions(JMX)
Section10.4.Summary
Chapter11.ESBIntegrationPatternsandRecurringDesignSolutions
Section11.1.TheVETOPattern
Section11.2.TheTwo-StepXRefPattern
Section11.3.PortalServerIntegrationPatterns
Section11.5.FederatedQueryPatterns
Section11.4.TheForwardCacheIntegrationPattern
Section11.6.Summary
Chapter12.ESBandtheEvolutionofWebServices
Section12.1.ComposabilityAmongSpecifications
Section12.2.SummaryofWS-*Specifications
Section12.3.AdoptingtheWS-*SpecificationsinanESB
Section12.4.Conclusion
AppendixA.Appendix:ListofESBVendors
Bibliography
AnalystReports
Books
Miscellaneous
WebServicesSpecifications
JavaSpecifications
Colophon
Index
Copyright©2004O'ReillyMedia,Inc.Allrightsreserved.
PrintedintheUnitedStatesofAmerica.
PublishedbyO'ReillyMedia,Inc.,1005GravensteinHighway
North,Sebastopol,CA95472.
O'ReillyMediabooksmaybepurchasedforeducational,
business,orsalespromotionaluse.Onlineeditionsarealso
availableformosttitles(safari.oreilly.com).Formore
information,contactourcorporate/institutionalsales
department:(800)998-9938or
NutshellHandbook,theNutshellHandbooklogo,andthe
O'ReillylogoareregisteredtrademarksofO'ReillyMedia,Inc.
EnterpriseServiceBus,theimageofeggs,andrelatedtrade
dressaretrademarksofO'ReillyMedia,Inc.
Java™andallJava-basedtrademarksandlogosaretrademarks
orregisteredtrademarksofSunMicrosystems,Inc.,inthe
UnitedStatesandothercounties.O'ReillyMedia,Inc.is
independentofSunMicrosystems.Manyofthedesignations
usedbymanufacturersandsellerstodistinguishtheirproducts
areclaimedastrademarks.Wherethosedesignationsappearin
thisbook,andO'ReillyMedia,Inc.wasawareofatrademark
claim,thedesignationshavebeenprintedincapsorinitialcaps.
Whileeveryprecautionhasbeentakeninthepreparationofthis
book,thepublisherandauthorassumenoresponsibilityfor
errorsoromissions,orfordamagesresultingfromtheuseof
theinformationcontainedherein.
Foreword
Integrationismakingacomebackperhapsitneverevenleft.In
thisbookyou'llbeintroducedtothenextgenerationof
integration,calledEnterpriseServiceBus(ESB).ESBisreally
excitinginthatitintroducesbattle-readyintegrationprinciples
inanewwayusingopenstandards,messaging,andloosely
coupledServiceOrientedArchitecture(SOA)principles.
Thecostsofusingproprietaryintegrationsolutionswillsoon
becomesomethingofthepast.Integrationsolutionswillalways
berequired,butcompaniescanlookforwardwithenthusiasm
knowingthatupcomingsolutionswillbebasedonopen
standardsandcommonintegrationprinciples,especiallyinthe
areaofwebservicesandSOA.Soon,thenewgameintownwill
beintegrationproductscompetingonwhobestsupports
systemicrequirements(scalability,availability,performance,
etc.),andnotonspecificproductfeatures.Notonlythat,the
newdesiretopushtowardSOAforcesorganizationstorethink
theirexistingenvironmentandcreatearchitecturesthatare
basedoncoarse-grained,looselycoupled,sharedservices.
However,weallknowthatperformingthemagicof"gluing"
theseservicestogetherisnosmalltask.Itrequiresnew
thinkinginbothbusinessandtechnologysolutions.And,inthe
past,becausetherewerevirtuallynointegrationstandardsand
fewagreed-uponrepeatableintegrationpatterns,proprietary
integrationproductswerereallytheonlyoption.
Nowthat'sallabouttochange,andthatiswhatthisbookis
about.WhatIlikeaboutthisbookisthatDaveshowsushow
ESBbringsintegrationsolutionstothoseofuswhowantto
focusonintegrationarchitecturesandsolutions.TheESB
concept,asthebackplaneofahighlydistributedintegration
network,allowsustothinkaboutthearchitectureandthebest
waytodesignandarchitectoursolutionsusinganevent-driven
SOA,withouthavingtodealwithspecializedintegration
approachesandbecomingmiddlewaresurgeons.Itallowsusto
focusonhowwewanttoarchitectoursolutionswithout
conformingourrequirementstowhataproductoffers.
Therearetwoareasinthisbookthatparticularlyexciteme.
First,asanarchitectofenterpriseJava©solutionsIamexcited
aboutthesynergybetweentheESBandJavaBusiness
Integration(JBI/JSR-208).JBIcombinedwithanESBisa
godsendtothosewhohavefeltlockedintoproprietary
integrationproductsandsolutions.JBIincreasesthe
proliferationofintegrationtechnologybyprovidingastandardsbasedcontainerenvironmentinwhichintegrationprocessing
elementsrunasservices.Theseprocessingelementsmay
includeBPELengines,XSLTtransformers,routingengines,
dispatchers,andanyotherintegrationfeatureengineyoucan
thinkof.AnESBcanprovideitsownJBIcontainerenvironment
orcanintegratewithoneprovidedbyanothervendor.What's
verycoolaboutthisisthatitenablesanecosystemwhereESB
vendorssuchasSoniccannowfocusoncoordination,
transport,androutingofahighlydistributedandconsistently
managedSOAbackplane,whileatthesametimeprovidingan
environmentinwhichJBIprocessingenginescanflourish.
Second,asadesign-patternspersonIamalsoexcitedbythis
book'suseofESBcomponentsinpattern-basedapproachesto
integration,whichareusedtoexplainthecapabilitiesofan
ESB.EvenmoreinterestingisthatDavechosetoleverageand
extendthe"Gregor-grams"fromtheEnterpriseIntegration
PatternsbookbyGregorHohpeandBobbyWoolf.IntheEIP
book,thereisawonderfuluseofvisualstodepictvarious
patternsforenterprisemessaging.TheESBpatternsused
throughoutthisbookshowthevisualconstructionofloosely
coupled,service-basedintegrationpatternstocreatelargergrainedsolutions,ormicro-architectures,whichleveragethe
ESBarchitecturetouniquelysolvecomplexintegration
problemsinsimpleways.Thisconceptaloneisreasonenough
tobuythisbook.Thevisualmetaphorlendsitselfwonderfullyto
composingintegrationsolutionsandreallyhelpstheintegration
architectrepresentthearchitecturevisuallyandforma
completeESBsolution.Thenicethingaboutanyloosely
coupled,messaging-basedsolutionisthatyoutendtoaddnew
featureelementsasrequirementsdictate.Usingpatternsto
composetheESBfeaturesallowsyoutonotonlyaddthe
integrationfeaturesasneeded,butalsotoseethevisual
architectureasitevolves.
IreallythinkSOAbuiltuponESBisthenextwavein
integration.Readthisbookanddecideforyourself.Itissureto
openupnewwaysofthinkingaboutsolvinganyandallofyour
integrationchallenges.
JohnCrupi
SunDistinguishedEngineer
Coauthor,CoreJ2EEPatterns
Bethesda,MDApril2004
Preface
WelcometoEnterpriseServiceBus.Ihopeyouenjoyreading
thisbookasmuchasIenjoyedwritingit.Beingpartofanew
technologyevolutionisveryexciting,andnowthatyouare
beginningtoexploretheconceptoftheEnterpriseServiceBus
(ESB),youcanbecomeapartofit,too.TheESBprovidesa
highlydistributed,event-drivenServiceOrientedArchitecture
(SOA)thatcombinesMessageOrientedMiddleware(MOM),web
services,intelligentroutingbasedoncontent,andXMLdata
transformation.ESBsarebeingusedtosolveintegration
challengesinmanyuniqueways,aswewillexplorethroughout
thisbook.
AboutThisBook
Overthepastfewyears,I(alongwithmanyofmycoworkers)
havehadtheinvaluableopportunityofworkingcloselywithIT
professionalswhoweretryingtobuildorbuysomethinglikean
ESB.Aspartoftheresearchforthisbook,Imet,spokewith,
andinterviewedmanyITleadersacrossavarietyofindustries
togainanunderstandingoftheirintegrationchallenges,andof
howtheyareapplyingESBintegrationconceptstouniquely
solvethem.Theconceptsinthisbookdrawfromthat
experience.
ThisbookrepresentsanewdirectionforO'Reillybooks.Itisthe
firstofanew"EnterpriseSeries"ofbooksfromO'Reilly.This
bookistargetedtointegrationarchitects,projectmanagers,
CIOs,CTOs,andbasicallyanyonewhohasaneedtointegrate
applicationsandwhounderstandsthebiggerpictureofthe
integrationissueswithintheirITorganization.
Atthesametime,thisbookwillalsobevaluabletoeverydayIT
developerswhoneedtounderstandESBtechnologyfortheir
individualintegrationprojects.Aswewillseeinthefirstfew
chapters,thenew"integrationarchitects"areactuallyeveryday
ITdevelopers,andtheESBconceptbringsthepowerand
capabilitytosolvetheirintegrationneedsintotheirreach.
ThisbookprovidesanarchitecturaloverviewoftheESB
concept,andincludesdiscussionsofmanypracticalusesand
integrationpatternsthatexplainhowanESBcanbeapplied
towardtoday'sapplicationintegrationchallenges.Ideally,
readersofthisbookshouldpossesssomeknowledgeof
technicalconcepts,butthisisnotahardrequirement.The
introductorychaptersprovideaconceptualoverview,including
therequirements,drivers,andcatalyststhathavefosteredthe
emergenceofthisnewtechnologycategory.
MyintentinthisbookistoexplaintheESBconceptwithjust
therightamountofdetailthatissuitableforindividualsacross
manydisciplineswithinanITorganizationandwithvarying
levelsoftechnicalandbusinessacumen.Thisbooktakesa
differenttackfrommypreviousO'Reillybooks,andfrommost
O'Reillybooksingeneral,inthattherearenocodesamplesto
speakof.Youwill,however,findaconsiderablenumberof
diagramsthatexplainarchitecturalconceptsoftheESB.
Althoughthisbookrepresentsaslightlynewdirectionfor
O'Reilly,italsopossessesatraitthatO'Reillybookshave
becomeknownfor:the"MissingManual"approachtoa
particulartechnology.TheESBisbeingrapidlyadoptedacrossa
varietyofindustries.Manymiddleware,integration,and
infrastructurevendorshavealsogotten"ontheBus"andare
eithershippinganESBalready,orhaveplanstobuildone.Abig
partoftheESBisitscommitmenttostandards-based
integration.AnESBisdesignedandbuiltfromthegroundup
withstandardcomponentsandstandardinterfaces.However,
thereisnospecificationfortheESBitself.Thisbookwillserve
asaguidetodefinewhatanESBis,asviewedthroughtheeyes
ofthoseofuswhopioneeredtheESBconceptandhavebeen
workingwithITprofessionalsonreal-worldESB-based
integrationsolutions.Evenothervendorswhowanttojoinin
withthegrowingESBmarkettrend,andaretryingtofigureout
exactlywhatanESBis,arewelcometousethisbookasa
guide.
OverviewoftheChapters
Chapter1givesanoverviewoftheESB,includingthemany
characteristicsthatdefineit.Italsoexplainstheevidenceof
industryadoptionandmarketattractionofthisnewconceptin
service-orientedintegration.
Chapter2providesasummaryofthedrivers,bothbusiness
andtechnical,thathavecontributedtotheneedforanew
approachtointegration.Italsoexaminessomesurprising
statisticsshowingthat,ingeneral,theenterpriseisfarfrom
connected,anditexplorestheshortfallsofEnterprise
ApplicationIntegration(EAI)approachestodate.Itexplainsthe
characteristicsofan"accidentalarchitecture"whichhelpsyou
toidentifyyourownarchitectureissues.Lastly,itexplainshow
theESBconceptdrawsfrombestpracticesofprevious
integrationapproaches,andshowsthatyoucanrefactortoward
anESBandawayfromanaccidentalarchitectureinincremental
steps.
Chapter3examinessomekeyconceptsoftheESB,including
themanyrequirements,technologydrivers,andforcesintheIT
climatethatledtothecreationoftheESBconcept.Thisis
explainedinthecontextoftherecenthistoryoftheevolutionof
theESB,illustratingthepointthatanESBisnotmerelyan
academicexercise;itisbornoutofnecessity,basedonreal
requirementsanddifficultintegrationproblemsthatcouldn'tbe
solvedbyanypreexistingintegrationtechnology.Thediscussion
concludeswithahigh-levelstudyofanESBdeployment,in
whichamanufacturerexposesinventorymanagementand
supplychainoptimizationfunctionalitytoitsremotedistributors
assharedservicesthroughanESB.Thisstudy,alongwithmany
others,willberevisitedinmoretechnicaldetailinlater
chapters.
Chapter4explorestheuseofXMLasameansforprovidingthe
mediationbetweendiversedatastructuresandformatsasdata
ispassedbetweenapplications.ItalsoexamineshowESBenableddatatransformationandcontent-basedroutingservices
cansupportanXMLdataexchangearchitecturethatinsulates
individualapplicationsfromchangesindatastructures,as
integratedbusinessprocessesimproveovertime.
Chapter5explainsMessageOrientedMiddlewareanditsrolein
anenterpriseintegrationstrategy.AMOMisakeypartofthe
ESBarchitecture,asitprovidestheunderpinningstothe
networkofvirtualchannelsthatanESBusestoroutemessages
throughoutanextendedenterpriseandbeyond.Thischapter
explainshowthedefinitionofaMOMhasevolvedtosupportthe
highlydiverseanddistributedtopologiesandopenstandards
thatanESBintegrationrequires.(Inotherwords,it'snotyour
Mom'sMOM.)Thechaptergoesontoexplainthekey
differencesbetweenthelow-levelcodingofusingaMOMversus
thehigher-levelconfigurationaspectsofusinganESB.
Chapter6explainsthedetailsofwhatmakesanESBanESB.
TheESBprovidesanarchitecturethatbringstogetherallthe
conceptsdescribedinpreviouschaptersintoaninfrastructure
thatcanspananextendedenterpriseandbeyond.Thischapter
describestheESBservicecontainerakeyenablerofthehighly
distributed,event-drivenSOAanditsconceptofendpoint
abstraction.
Chapter7coverstheserviceinvocationmodeli.e.,the
underlyingframeworkthatprovidestheSOAinanESB.Wewill
discussmultipleformsofprocessrouting,includingtheconcept
ofitinerary-basedroutingandtheroleitplaysinenablinga
highlydistributedSOAacrossindependentlydeployedservices.
WewillalsodiscusssomefundamentalESBservicessuchas
content-basedroutingandXSLTtransformation,andexplore
howservicetypescanbedefinedandthenreusedfordifferent
purposesthroughelementsofconfiguration.Finally,wewillsee
howadditionalcapabilitiescanbelayeredontopofanESB
throughanadvancedservice,suchasanXMLpersistence
serviceandanorchestrationservice.
Chapter8examineshowtheESBcanextenditsMOMcoreto
createtheflexibilityinprotocolsnecessarytoconnectto
applicationsinanadaptableandnon-intrusiveway.This
includesanexplanationofhowXMLandSOAPmessagingcan
beintegralpartsofanESBstrategy,yetalsobeflexibleenough
tocarryotherdataformatssuchasEDIX12messages.This
chapteralsoshowsthedetailsofapartnerintegrationusingan
ESB,andexaminestheuseofthird-partyadaptersandcustom
integrationservicesforintegratingwithSAP.
Chapter9exploresthemostcommonformofintegrationbeing
donetoday:bulkdatatransferandbatchupdatingusing
Extract,Transform,andLoad(ETL)techniques.Wewilldiscuss
thebusinessimpactofthelatencyandreliabilityissues
associatedwiththisintegrationmethod,andexaminethe
prescriptivestepsformigratingtowardreal-timeintegration
usinganESBinthecontextofacasestudyusingpattern
sketches.
Chapter10examinesthevariousJavacomponentsinanESB.
TheESBisaplatform-neutralconcept,andcouldbe
implementedwithoutanyJavainvolved.However,agoodESB
shouldtakeadvantageofJavacomponentsduetothelarge
adoptionofJava-basedtechnologyacrossITdepartments.A
fairlyextensivelistofspecificationsthatareutilizedwithinan
ESBcomesoutoftheJavaCommunityProcess(JCP)ona
regularbasis;thiscouldbethesubjectofawholeotherbook.
SomeJavaspecificationsareparticularlyworthcallingattention
tobecausetheyhaveaspecialimpactontheoperationofan
ESB.Chapter10willdiscussthefollowingspecificationsand
theirimpactonmakinganESBamoreeffectiveintegration
environment:
JavaBusinessIntegration(JBI):Aspecificationdescribing
thewayintegrationcomponents,suchasESBservices,can
bepluggedtogetherinavendor-neutralandportable
fashion.
J2EEConnectorArchitecture(JCA):Aspecificationthat
defineshowtouseastandardsetofinterfacecontractsfor
creatingadapterstoconnectinto,andinteractwith,
enterpriseapplications.
JavaManagementeXtensions(JMX):Aspecificationfor
remotemanagementdefiningthemeansbywhichan
applicationcaninterfacewithamanagementinfrastructure
andmanagementconsoles.
Chapter11examinessomecommonusesofanESBin
integrationscenarios.TheESBconceptalreadyhasanumberof
commonusesthatsolvesomeverycommonandchallenging
integrationproblems.TheseincludetheValidate,Enrich,
Transform,Operate(VETO)patternanditsderivatives,a"twostepXRef"pattern,andseveralvariationsofbackend
integrationpatternsthataredrivenbyenterpriseportal
requirements,suchasafederatedquery/responsepatternand
forwardcachingusinganESBcachingservice.
Chapter12providesanoverviewoftheevolvingwebservices
specifications(includingtheWS-*familyofspecifications),and
explainshowwebservicesandESBswillmoveforward
together.
AppendixAcontainsthelistofvendorswhoarecurrently
offeringorarepromisingtoofferanESBproductinthefuture.I
willtrymybesttokeepthisuptodatewithsubsequent
printingsofthebook.
Chapter13containsreferencestootherbooks,specifications,
andweblinksthatwereusedinsupportingresearchforthis
book.
NotationalConventionsforESBIntegration
Patterns
Throughoutthisbook,integrationpatternsareoftenutilizedto
describehowconceptsareputtouseinanESB.Someup-front
explanationsoftheterm"pattern"andthisbook'suseof
patternnotationarewarranted.
Apatternisapopularconceptinsoftwareconstruction.The
conceptofusingapatterntobuildthingsactuallyoriginates
fromotherengineeringdisciplinesthatpredatecomputersand
software,andwasoriginallymadepopularbyChristopher
Alexander,authorofAPatternLanguage.
Whenbuildingaskyscraper,forexample,therearecertain
repeatablemethodstoconnectthesteelgirders.These
methodscanthenbeusedinalargerarchitecturetoforma
building.Patternsforcreatingsoftwarearchitecturesaresimilar,
andhavebeenexploredinbookssuchasDesignPatternsby
ErichGamma,etal.,andPatternsinEnterpriseApplication
ArchitecturebyMartinFowler.Morerecently,theideaof
messagingpatternshasbeenpopularizedbyGregorHohpe,et
al.,inEnterpriseIntegrationPatterns,agreatbookthat
describesaseriesofintegrationpatternsthatarebuiltupon
low-level,message-orientedmiddleware.
Whenbuildingaservice-orientedintegrationnetworkusingan
ESB,therearecertainwaystocombineindividualintegration
componentsforexample,byusingadatatransformationservice
orcontent-basedroutingservicetoformrepeatableand
reusablepatternsthatcanbebuiltuponthroughoutthe
integrationsubstrate.Chapter11conveyssomeexamplesof
commonintegrationpatternsbeingusedinESBdeployments
today,andotherchaptersalsoexploreESBintegrationpatterns
inthecontextoftheconceptsbeingdiscussed.Althoughthis
bookbynomeanscoversallthepatternsinusetoday,itshould
giveyouanideaofhowanESBcancombineintegration
componentstosolveavarietyofeverydayintegration
problems.Refertothelinksonthisbook'sO'Reillywebpage,
foranongoinglistofESB
patterns,andforerrataontheexistingones.
Apatterndescriptionmustfollowcertainconventionssothatit
iseasilyidentifiable,easilyunderstood,andeasily
communicatedamongengineerswhendiscussingthelarger
issuesthatpatternscanhelptosolve.Thisbookusesthe
followingformwhendescribingpatterns.(Someofthisis
borrowedfromAlexander's,Hohpe's,andFowler'sbooks.)
PatternName
Thenameofthepattern.Thismakesiteasilyidentifiable
andreferenceableinotherpatterns,andhelpstoprovidea
vocabularyforengineerstousewhendiscussing
architecturesthatmakeuseofpatterns.
ProblemStatement
Asummaryoftheproblemthatthepatternsolves.
Forces
Circumstancessurroundingtheproblemthatcontributeto
theneedforthesolutionthepatternoffers.
Sketch
Adrawingordiagramthatillustratesthepatternina
simple,understandableform.
Solution
Adescriptionofhowthepatternsolvestheproposed
problem.
AlternativeApproaches
Otherapproaches,whichareoftenlessthanadequate,that
couldhavebeenusedtosolvetheproblem.
Variations
Alternatewaystoapplyoraugmentthepattern.Variations
canalsomanifestthemselvesaschoicesthatcanbemade
inthemakeupofthepattern,suchaspublish-and-subscribe
versuspoint-to-pointmessagingmodels.Variationscan
oftenresultinawholenewpatternwithauniquename.
Youwon'tnecessarilyfindtheseasheadingswhenreading
throughthepatterns,buteachpatternhastheseelements
wheneverpossible.
DiagrammingNotations
Todescribetheintegrationpatternsusedinthisbook,asimple
setofglyphswerecreatedtovisuallyrepresentthedifferent
componentsofanESB.Theseglyphsborrowfromthework
donebyGregorHohpe,etal.,inEnterpriseIntegration
Patterns.These"Gregorgrams,"astheyhavecometobe
known,aregainingrapidadoptionintheindustryasameans
fordescribingmessagingcomponentsandcommonintegration
patterns.
ThisbookusessomeoftheglyphsfromEnterpriseIntegration
Patterns,andalsosuppliesawholenewsetofglyphsthat
representmanyofthehigher-levelconceptsandconstructs
usedbytheESB.Thereisaparallelbetweentheiconsin
EnterpriseIntegrationPatternsandtheconceptsthey
represent,andtheiconsinthisbookandtheESBconceptsthat
theyrepresent.Manyoftheintegrationpatternsdescribedin
EnterpriseIntegrationPatternssuchascontent-basedrouters,
load-balancedqueuereceivers,orroutingslipsareimplemented
ascustommessagingclientcodebuiltontopofamessaging
infrastructure.AnESBprovidesthesesamecapabilitiesasbuiltinfunctionality,eitheraspartofthebusdirectlyorasanoutof-the-boxservicetobepluggedintothebus.Therefore,the
glyphsusedinthisbookrepresentthosepluggableservicesand
aredesignedtobepluggedtogethertoformESBdiagrams.The
diagramscanrepresentabstractpatternsketchesorphysical
deploymentcharacteristics,orcanbeacombinationofboth.
Alegendshowingalltheglyphsthatwerecreatedforuseby
thisbookisshownintheincludedreferencecard.Theglyphsin
thisbookweredesignedwiththesegoalsinmind:
Tocreateavisualdiagrammingnotationforexplainingthe
coreconceptsofanESB
Toallowyou,theintegrationarchitect,tohaveacommon
meansofdesigningyourownintegrationpatternsusingan
ESB
Tohaveavisualpatternlanguagefordocumenting
integrationdesignsforlegacypurposes
Withtheseprimarygoalsinmind,theiconsalsohavethese
secondaryuses:
ToshowphysicaldeploymentcharacteristicsofanESB
architecture
Toshowmessageflowandbusinessprocessroutingfor
messagesastheytravelacrossanESB
Toabstractlyillustrateapatternsketchforanintegration
environment,whichdescribesthestepsthatabusiness
messagegoesthroughasittravelsacrossthevarious
componentsofanautomatedbusinessprocess
Iplantokeepanupdatedsetoftheseglyphsat
Theywillbepackagedas
templatesthatcanbepluggedintoVisioandPowerPointsoyou
canusethemtodiagramyourownESBarchitecturesand
integrationpatterns.
FigureP-1showsexamplesofusingtheglyphstoshowthe
detailsofindividualESBcomponents.Thisfigurewillbe
explainedinmoredetailinChapter6.
FigureP-1.GenericESBendpoint
Theseglyphscanbecombinedtoshowcompositecomponents,
asillustratedinFigureP-2.
FigureP-2.Diagrammingnotationusedtoshow
thesubcomponentsofacompositeESBservice
Thediagrammingnotationcanalsobeusedtoabstractly
describethecomponentsthatmakeupanintegrationpattern,
intheformofapatternsketch.Theparticularpatternsketch
conventionwasmadepopularbyEnterpriseIntegration
Patterns,andisakintothewayarebuspuzzleisformed.See
FigureP-3.
FigureP-3.Rebuspuzzle
Whentherebuspuzzleconceptisappliedtoanintegration
patternsketch,itcanshowthecomponentsthatmakeupthe
pattern,andthestepsthatamessagegoesthroughasit
followsthepattern(i.e.,passesthroughthestepsofabusiness
process).ThisisillustratedinFigureP-4.
FigureP-4.Abstractpatternsketchshowingthe
componentsthatmakeupanintegrationpattern
andthestagesofprocessingforamessage
Theseglyphscanalsobeusedtogethertoshowillustrationsof
physicaldeploymentcharacteristics.Forexample,FigureP-5
showsdifferenttypesofapplicationsbeingpluggedinto
differentESBsegments,whichmaybedifferentdepartmentsor
businessunits,orseparatedbygeographiclocation.
FigureP-5.AnESBdiagramshowingphysical
deploymentcharacteristicsofgeographic
separation,anddifferentapplicationendpoint
types
Thenotationcanalsobeusedtorepresentflowofdataacross
anESB,eitherasmessagingdistributionorasmultiplestepsin
anESBprocessflow,asillustratedinFigureP-6andFigureP-7,
respectively.
FigureP-6.Diagrammingnotationshowing
publish-and-subscribemessagingacrossanESB