Tải bản đầy đủ (.pdf) (494 trang)

OReilly enterprise service bus jun 2004 ISBN 0596006756

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (6.04 MB, 494 trang )










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


×