oracle soa suite 11 : essential concepts 1 -1...oracle soa suite 11g: essential concepts 1 -1 soa is...

42
Oracle SOA Suite 11g: Essential Concepts 1 - 1

Upload: others

Post on 03-Oct-2020

10 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Oracle SOA Suite 11 : Essential Concepts 1 -1...Oracle SOA Suite 11g: Essential Concepts 1 -1 SOA is more than using WSDLs, and is more than just an application with a web service

Oracle SOA Suite 11g: Essential Concepts 1 - 1

Page 2: Oracle SOA Suite 11 : Essential Concepts 1 -1...Oracle SOA Suite 11g: Essential Concepts 1 -1 SOA is more than using WSDLs, and is more than just an application with a web service

SOAismorethanusingWSDLs,andismorethanjustanapplicationwithawebserviceinterface.SOAisastrategy—oranapproach—thatisbusinessfocused.Tobesuccessful,SOAmustprovidetruebusinessvalue.Withoutthatvalue,servicestendtobelow-levelutilityservices(suchasloggingandnotification)thatprovidenorealreturnoninvestment.TraditionalSOAprinciplessuchasloosecoupling,interoperability,composability,andreusearekeytraitsofSOA,butonlybecausetheycontributetothebusinessvalueofanSOA.Withinthescopeofthearchitecturalstrategy,SOAdescribesanapproachforenterprisesystemsdevelopmentandintegrationthatisbothtechnologyagnostic(thatis,itoperatesacrossheterogeneoussystems)andalignedwithbusinessimperatives.Itprovidesloosecouplingofcoarse-grainedcomponents(services)forrapidandeffectivereuseofenterpriseITassets.TheultimategoalofSOAistofacilitatethecreationofnewbusinesssolutionsthroughthecompositionofservices—withouttheneedforcomplexprogrammaticcodedevelopmentthatmightotherwiseduplicateexistingcapabilities.Thisleadstoamoreagileandefficiententerprisethatcanrespondmorerapidlytochangingmarketandregulatorydemands.

SOA Adoption and Architecture Fundamentals 1 - 2

Page 3: Oracle SOA Suite 11 : Essential Concepts 1 -1...Oracle SOA Suite 11g: Essential Concepts 1 -1 SOA is more than using WSDLs, and is more than just an application with a web service

Becauseeveryenterpriseisdifferent,thereisnosinglemodelofgoodSOAgovernance.Oraclehasagovernanceframeworkthathastwoaspects:

•Theactualbaselinemodel•Acontinuousfeedbackloop

Itisimportanttounderstandthatgovernanceisnotaone-offproject.Itissomethingthatyoustart,anditcontinuesforever.TheSOAGovernanceContinuousImprovementMethodisadefinition-improvementfeedbackprocesstodefineafocusedandcustomizedSOAGovernancemodel.

SOA Adoption and Architecture Fundamentals 1 - 3

Page 4: Oracle SOA Suite 11 : Essential Concepts 1 -1...Oracle SOA Suite 11g: Essential Concepts 1 -1 SOA is more than using WSDLs, and is more than just an application with a web service

GoodcommunicationandaccesstoinformationareoftenamongthemissingpiecesofanSOAinitiative.WhenyouexecuteSOA,itisimportanttohavea360-degreeviewofthewholesoftwaredevelopmentlifecycle(SDLC)oftheprogram-levelactivities.Ratherthanjustbuildingonebigapplication,anSOAinitiativeinvolvesbuildingmultipleapplicationsandpotentiallyhundredsofservices.Eachserviceismadeupofacontract,aninterface,andapayload.Asworkishandedfromonedepartmenttoanotherandfromonepersontoanother,amissingpartcanbecomeakeyissue.Theexecutionphasecoversthedifferentlifecyclesofdeliveringsolutionsandservicesandtheassociatedserviceinfrastructure.AnenterpriserepositoryprovidesasinglesourceoftruthfortheSOAportfolioandmanagesSOAassets,projects,andassociatedmetadata.Witharepository,youcanmakerapidinformeddecisionsaboutdependencytracking,impactanalysis,usagetracking,andcompliance.Withinthelifecycle,analystscapturerequirementsandperformprocess,functional,anddatamodeling.Architectsthenidentifyanddiscoverytheappropriateservicesanddefinetheassociatedservicecontracts.Serviceengineerscandesign,test,anddelivertheservices.ITOperationsthenprovidesfacilitiestoprovision,monitor,andmanageservices.Thelifecycleisthencomplete.BusinessandITuserscanutilizetoolstovisualizehistoricalandtrendanalysis.Thatinformationgetsfedintoplanning

SOA Adoption and Architecture Fundamentals 1 - 4

Page 5: Oracle SOA Suite 11 : Essential Concepts 1 -1...Oracle SOA Suite 11g: Essential Concepts 1 -1 SOA is more than using WSDLs, and is more than just an application with a web service

forversion2.0ofaservice.Version2.0ofanapplicationifusuallyreleasedafter12–18months.Butaservicemightbeversionedquitefrequently.

4

Page 6: Oracle SOA Suite 11 : Essential Concepts 1 -1...Oracle SOA Suite 11g: Essential Concepts 1 -1 SOA is more than using WSDLs, and is more than just an application with a web service

CreatingaSOAservicefromexistingassetsgenerallyrequiresmuchmorethanjustaddingastandards-basedinterface.Simplyservice-enablingexistingassetsisinsufficient.TheSOAserviceneedstoexposeprocesses,functionality,anddatathatareusableinabroadercontextthanthesourceofthecapabilitywasdesignedtomeet.Therefore,creatingaSOAserviceusuallyentailssomeamountofaggregation,transformation,orexpansionofexistingcapabilitiesprovidedbythesourcesystems.ThisrequiresaSOAserviceslayerbetweentheexistingassetsandtheconsumers(asillustratedintheslide).Theessenceofservice-orientedintegrationisthebuildingofacatalogofSOAservicesthatexpose―inabusiness-enablingway―thedata,functionality,andprocessescontainedinexistingsystems.Toachievethebenefitsofservice-orientedintegration,theSOAservicesmustdecoupletheconsumersfromthesourcesystemswithoutcreatingtightcouplingbetweentheconsumerandtheSOAserviceitself.Additionally,theSOAservicesmustexposefunctionalitythatisalignedwiththebusinessneedsoftheserviceconsumers,ratherthanmerelyprovidinganAPIordata-levelpassthroughtothesourcesystems.

SOA Adoption and Architecture Fundamentals 8 - 5

Page 7: Oracle SOA Suite 11 : Essential Concepts 1 -1...Oracle SOA Suite 11g: Essential Concepts 1 -1 SOA is more than using WSDLs, and is more than just an application with a web service

Theexistingsourcesystemsfrequentlyincludeabusinessprocessorworkflowbuiltintothesystem.Fromtheperspectiveofthesourcesystem,thisisacompletebusinessprocess.However,fromthebroadercontextoftheorganization,thebuilt-inbusinessprocessisactuallyonlyaportionofalargerbusinessprocessthatspansmultipleback-endsystems.Therefore,whenyoucreatethecatalogofSOAservices,thesebuilt-inbusinessprocessesshouldbeviewedassubprocessesthatarepartofthelargerenterprisebusinessprocess.Thisrelationshipisillustratedintheslide.

SOA Adoption and Architecture Fundamentals 8 - 6

Page 8: Oracle SOA Suite 11 : Essential Concepts 1 -1...Oracle SOA Suite 11g: Essential Concepts 1 -1 SOA is more than using WSDLs, and is more than just an application with a web service

Thefunctionalcapabilitiescontainedinexistingsourcesystemsareusuallytoofinegrainedanddomainspecifictobeuseful,asis,forcreatingcompositeapplications.Theapplicationhostingthefunctionalitywasusuallyconstructedtoprovideusersfine-grainedcontrol.Additionally,theapplicationinvariablycontainsfarmorefunctionalitythanisnecessaryinabroadercontext.Mostofthefunctionalityisspecifictothedomain(forexample,HR,Finance,Shipping)andhaslittlerelevanceinan"enterprise"context.Therefore,exposingexistingfunctionalityasSOAservicesusuallyrequiresabstractingthefunctionalitytoahigherlevelsothatithasmeaning(andismoreuseful)inabroadercontext.Frequentlythismeanscombiningseveralfine-grainedoperationsintoamorecoarse-grainedoperation.Sometimesthefine-grainedoperationsareassociatedwithabuilt-inworkflowexposedthroughtheuserinterface(asetofprescribedoperationsthattheenduserperformsinsequence).Inthisinstance,whenyoucreateaSOAservice,itisusuallydesirabletohaveasingleoperationontheSOAservicethatencapsulatesandhidesthebuilt-inworkflowbyperformingtheindividualstepsautomatically.Theorchestrationmayevenspantwoormoreexistingapplications.Thisorchestrationoffine-grainedoperationstocreateacoarser-grainedoperationisacommontechniquetoabstractfunctionality.Thistype

SOA Adoption and Architecture Fundamentals 8 - 7

Page 9: Oracle SOA Suite 11 : Essential Concepts 1 -1...Oracle SOA Suite 11g: Essential Concepts 1 -1 SOA is more than using WSDLs, and is more than just an application with a web service

oforchestrationisillustratedintheslide.

7

Page 10: Oracle SOA Suite 11 : Essential Concepts 1 -1...Oracle SOA Suite 11g: Essential Concepts 1 -1 SOA is more than using WSDLs, and is more than just an application with a web service

Eachexistingapplicationcontainsitsowndatamodelanddataformats.Thisproliferationofdatamodelsanddataformatsismadeworsebythefactthatasingleenterpriseentity(forexample,acustomer,product,ororder)frequentlyhasdataelementsstoredinmultipleexistingapplications.TobesuccessfulatexposingexistingdataviaSOAservices,theintegrationapproachmustmanagethiscomplexity.Providingconsumerrepresentationsandreadingfromandwritingtomultiplesourcesystemsleadtotheissueofdataformattransformations.Foraverysmallnumberofsourcesystems,point-to-pointtransformationscanbeusedbytheSOAservices.However,thisapproachbecomesunworkableasthenumberofsourcesystemsincreases.Abetterapproachistocreateanormalizedformatforthedataentitiesandthenprovidetransformationstoandfromthenormalizedformatforeachsourcesystem.Asinglecanonicaldatamodelfortheentireenterpriseisnotrequiredtosuccessfullyemploynormalizeddataformats.Rather,afederatedapproachtonormalizationcanbeused.Forexample,inalargeenterprise,eachfunctionaldomaincouldcreateanormalizedformat.TransformationsbetweenthedomainformatswouldthenbecreatedforSOAservicesthat

SOA Adoption and Architecture Fundamentals 8 - 8

Page 11: Oracle SOA Suite 11 : Essential Concepts 1 -1...Oracle SOA Suite 11g: Essential Concepts 1 -1 SOA is more than using WSDLs, and is more than just an application with a web service

spandomains.Thisapproachisillustratedintheslide.

8

Page 12: Oracle SOA Suite 11 : Essential Concepts 1 -1...Oracle SOA Suite 11g: Essential Concepts 1 -1 SOA is more than using WSDLs, and is more than just an application with a web service

TheprimarygoalofaSOAservicethatexposesanenterprisedataentityistomakeiteasiertoworkwiththeentityandhidethecomplexityofhowthatentityisstoredinexistingsourcesystems.Toachievethisgoal,theSOAserviceneedstoincorporatethefollowingcapabilities:

Consumerrepresentation:TheSOAserviceshouldpresentaninterfacetotheentitythatisappropriatefortheconsumerofthedata.AsingleSOAservicemightprovidemultiplerepresentationsofasingeentity,witheachrepresentationappropriateforadifferenttypeofconsumer.Aggregation: TheSOAservicemayneedtopulldataelementsfrommultiplesourcesystemstoconstructarepresentationforaparticularconsumer.Synchronization: Anupdatetoanentitymayrequireupdatingdataelementsinmorethanonesourcesystem.TheSOAserviceneedstoensurethatallupdatesaredoneproperlysothattheentitymaintainsconsistency.

SOA Adoption and Architecture Fundamentals 8 - 9

Page 13: Oracle SOA Suite 11 : Essential Concepts 1 -1...Oracle SOA Suite 11g: Essential Concepts 1 -1 SOA is more than using WSDLs, and is more than just an application with a web service

ServiceContractSOAservicesincludeacontractthatspecifiesthefunctionalandnonfunctionalcapabilitiesprovided.Tosupportbusiness-levelcomposition,theSOAservicemusthaveacontractthatisunderstandabletoabusinessperson.Aserviceengineeringprocessthatenforcescreationoftheservicecontractmustbeestablished.ThearchitecturemustsupportdiscoveryofexistingSOAservicesbasedontheservicecontracts.SomeofthecapabilitiesprovidedbytheSOAserviceanddocumentedintheservicecontractmaybefulfilledbyconfigurationofinfrastructure.OpaqueServiceImplementationsTheimplementationofaSOAserviceisopaquetoallserviceconsumers.ServiceconsumersmustbeabletosuccessfullycallaSOAservicewithoutneedingtounderstandtheinternalworkingsofSOAservices.Theserviceinterfacemustbeconstructedsothatimplementationdetailsdonotpropagatethroughtheinterface.Thearchitecturemustsupportopaqueserviceimplementations.

SOA Adoption and Architecture Fundamentals 8 - 10

Page 14: Oracle SOA Suite 11 : Essential Concepts 1 -1...Oracle SOA Suite 11g: Essential Concepts 1 -1 SOA is more than using WSDLs, and is more than just an application with a web service

PlatformIndependenceTheserviceconsumerplatformisindependentoftheserviceproviderplatform.SOAservicesneedtosupportanykindofserviceconsumerregardlessoftheparticularplatformonwhichtheconsumerisbuilt.SOAservicesmustbeconstructedsothatplatformdependenciesarenotintroduced.Thearchitecturemustsupportserviceconsumershostedonplatformsthataredifferentfromtheserviceproviders.LocationTransparencyThelocationofaserviceproviderisunimportanttotheserviceconsumer(andviceversa).LocationtransparencyhelpsprovidethedecouplingofserviceconsumersandprovidersthatisnecessaryforextensiveSOAservicereuse.Serviceprovidersshouldmakenoassumptionaboutthelocationoftheserviceconsumer.Thearchitecturemustsupporttheabilityforaserviceconsumertocallaserviceprovider,regardlessofthelocationofeither.ConcurrentServiceVersionsTheremaybemultipleversionsofaSOAserviceconcurrentlyinproduction.ASOAservicewillalmostalwaysrequiremodificationstosupportnewconsumersortoexpandfunctionality.SupportingconcurrentversionsofaSOAserviceisessentialforasoundservice-versioningapproach.Aservice-versioningstrategyneedstobeestablished.ThearchitecturemustsupportmultipleconcurrentversionsofaSOAservice.GracefulServiceMigrationServiceconsumersshouldbeabletomigratetoanewerversionofaSOAservicegracefully.ServiceconsumersshouldmigratetoanewversionofaSOAserviceaspartofanormalmaintenanceprocess.Thecoordinateddeploymentofserviceconsumersandserviceprovidersshouldnotbenecessary.Aservicemigrationstrategyneedstobeestablished.Thearchitecturemustsupportgracefulservicemigration.SummaryTheprecedingprinciplesprovidesoundguidanceforcreatingaservice-orientedarchitectureforintegration.Eachorganizationembracingservice-orientedintegrationshouldevaluatetheprincipleslistedintheslideandderivetheirownsetofprinciplestomatchthespecificenvironmentandgoalsoftheirorganization.

SOA Adoption and Architecture Fundamentals 8 - 11

Page 15: Oracle SOA Suite 11 : Essential Concepts 1 -1...Oracle SOA Suite 11g: Essential Concepts 1 -1 SOA is more than using WSDLs, and is more than just an application with a web service

Thedatamovementlayerprovidesbatchandbulkdatahandlingforthearchitecture.Thislayerexistsprimarilytooffloadbulkdatamovementfromtheupperlayersinthearchitecture.Bulkdatamovementisinevitableinmanyenterprises;therefore,thearchitecturemustprovideamechanismtoprovidethiscapabilityinanefficient,controlledmanner.Withoutthislayer,theotherlayersinthearchitecturemightbemisusedtomovelargeblocksofdata―ataskforwhichtheotherlayersarenotwellsuited.Thekeycapabilitiesencapsulatedbythislayerinclude:

Extract,transform,load: TheETL/ELTcapabilityprovidesbulkdatamovementfromonepersistentstoretoanother.Datacleansing: Datacleansingensuresthequalityofthedatathatisbeingmovedinbulk.Datacleansingcanalsobeappliedtoensurequalityandconsistencyonindividualdataupdates.Primary-keycross-reference: Eachpersistentdatastoreislikelytohaveitsownuniqueprimarykeyscheme.Thislayerprovidesthecross-referencebetweentheseprimarykeyschemessothatanidentitycanbemaintainedacrossdisparatedatastores.

SOA Adoption and Architecture Fundamentals 8 - 12

Page 16: Oracle SOA Suite 11 : Essential Concepts 1 -1...Oracle SOA Suite 11g: Essential Concepts 1 -1 SOA is more than using WSDLs, and is more than just an application with a web service

Thedatamovementlayerisshownbelowtheenterpriseinformationsystemsbecausebulkdatamovementisdone"behindthescenes"andthisprocessingisprimarilyinvisibletotheupperlayersofthearchitecture.However,theresultsachievedbythedatamovementlayerareclearlyvaluabletotheupperlayers,andboththequalitydataandtheprimary-keycross-referenceareleveragedbytheupperlayersinthearchitecturewhereverappropriate.InsomeITdepartments,bulkdatamovementisusedtocreateonlineaggregatedataviewsbypullingdatafrommultiplesystemstogetherintoasingledatastore.Althoughthisarchitecturedoesnotprohibitsuchanapproach,thepreferredapproachistocreateenterprisedataentitiesinthedatanormalizationlayerthataggregatedataacrosssourcesystemswithouttheneedtopersistentlystorecopiesofdata.Anenterpriseinformationsystem(EIS)isanysystemthatprovidesdataorfunctionalitythatisexposedbytheintegrationarchitecture.ExamplesofEISsincludepackagedapplications,legacysystems,databases,partnersystems,andsoon.AnEISmayalsobeaserviceconsumer.AsSOAbecomesmoreprevalent,itwillbecomemorecommonforEISstoparticipatenativelyinservice-orientedintegration.Thisisnotformallyalayerintheintegrationarchitecture.Rather,theentirepurposeofthearchitectureistoexposethedataandfunctionalitythatiscontainedinthevariousenterpriseinformationsystemstoprovidebusinessvaluebeyondwhatisalreadyprovidedbythesystemsthemselves.

SOA Adoption and Architecture Fundamentals 8 - 13

Page 17: Oracle SOA Suite 11 : Essential Concepts 1 -1...Oracle SOA Suite 11g: Essential Concepts 1 -1 SOA is more than using WSDLs, and is more than just an application with a web service

Theconnectivitylayerprovidesaccesstotheenterpriseinformationsystems.ThereareavarietyoftechnologiesandproductsthatcanbeleveragedtoconnecttoexistingEISs.Generally,bothsynchronousandasynchronoustechniquesareemployedbythislayertoprovideconnectivity.Bothproprietaryandstandards-basedtechnologiesandproductsareused.Thekeycapabilitiesprovidedbythislayerinclude:

Messaging:MessagingprovidesasynchronousconnectivitytoEISs.Manytraditionalintegrationproducts(forexample,MQSeriesandTIBCO)arebasedonmessagingsystems.EnterpriseshavesuccessfullyusedtheseproductstoconnecttoEISs,andthisexistingconnectivitycanbeleveragedbythisarchitecture.Adapters:Adapters(forexample,JCA)provideastandardizedapproachforconnectingtoEISs.StandardAPIs:TheEISmayprovideaccessviaoneormorestandardapplicationprogramminginterface(forexample,JDBC,RMI,andWS*).Theconnectivitylayerincludesthesestandardinterfacesnatively,therebyallowingeasyaccesstoanyEISthatexposesastandardAPI.

SOA Adoption and Architecture Fundamentals 8 - 14

Page 18: Oracle SOA Suite 11 : Essential Concepts 1 -1...Oracle SOA Suite 11g: Essential Concepts 1 -1 SOA is more than using WSDLs, and is more than just an application with a web service

CustomAPIs: SomeEISs(especiallylegacy)provideaccessonlyviaacustomapplicationprogramminginterface.TheconnectivitylayerprovidesthecapabilitytocallthesecustomAPIsandwrapthemwithastandardizedinterface.Events: EventsallowtheEISstoinitiateactions.TheconnectivitylayerprovidesthemechanismsothatanEIScanraiseaneventthatishandledbythemediationlayer(justlikeanyothermessage).Theprimarypurposeofthislayerinthearchitectureistoencapsulateandhidethecomplexityofconnectingtoback-endsystems.ThisallowstheupperlayersinthearchitecturetotreattheEISsinamoreuniformandgenericfashion,thusprovidinggreaterreusabilityandportabilityacrossback-endsystems.

Thedatanormalizationlayerprovidesastandardizedformatfordataentities.EachEISstoresdatainitsown(usuallyproprietary)format.Thislayertransformsthedataintoaformthatisreadilyconsumablebytheupperlayersinthearchitecture.Thekeycapabilitiesprovidedbythislayerinclude:

Logicaldatamodel: Thelogicaldatamodelprovidesan"enterprise"viewofdataentities.Thelogicaldatamodelforanenterprisefrequentlyincorporatesindustry-standarddataformats(forexample,HR-XML,HL7,andIATA).Dataaggregation: Toconstructacompleteviewofanenterprisedataentity,itisfrequentlynecessarytoaggregatedatafromseveralsources.Thislayerincludesthisabilitytoaggregatedatafrommultiplesourcestoprovideacompleteenterprisedataentity.Datasynchronization: Datasynchronizationensuresthatalldataentitiesremainconsistentregardlessofwhereanupdateorchangeismade.Changesarepropagatedtoallcopiesandviewsinanorderlymanner.Datacaching: Datacachingallowsthecomputationalexpenseofaggregationandtransformationtobesharedacrossmorethanoneservicerequest.Theprimarypurposeofthislayerinthearchitectureistoencapsulateandhidethecomplexityofthedatamodelsandformatsusedbytheback-endsystems.Thisallowstheupperlayersinthearchitecturetooperateondataentitiesthatmatchtheneedsofthebusinessratherthanoperatingondatathatmatchthestorageapproachoftheback-endsystems.Thedatanormalizationprovidedbythislayershouldnotbeconfusedwithdatabasenormalization.

Thebusinessservicelayerexposesdataandfunctionalitythatisunderstandableandhasmeaninginabusinesscontext.ThislayerusesthelowerlayerstocreateSOAservicesthatabusinesspersonwouldunderstand.Thekeycapabilitiesprovidedbythislayerinclude:

Enrichment: Enrichmentistheprocessofaddingdataelementstoadataentitytogivetheentityincreasedinformation(andhencevalue)inabusinesscontext.Orchestration: Orchestrationisusedtocombinemultiplelower-leveloperationsintoabusinessservicethathidesthecomplexityofthelower-leveloperations.Custombusinesslogic: Custombusinesslogicishostedinthislayerofthearchitecture.Custombusinesslogicfrequentlyleverageslower-levellayerstoprovidesomeoftheexposeddataandfunctionality.Businessrules: Businessrulesdescribetheoperations,definitions,and

SOA Adoption and Architecture Fundamentals 8 - 15

Page 19: Oracle SOA Suite 11 : Essential Concepts 1 -1...Oracle SOA Suite 11g: Essential Concepts 1 -1 SOA is more than using WSDLs, and is more than just an application with a web service

constraintsthatapplytoanorganization.Essentiallytheyareif-thenstatementsthatdefineorconstrainsomeaspectofthebusiness.Althoughbusinessrulesarefrequentlycapturedincustomcode,itisfarbettertoextractthesebusinessrulesintoexplicitrulesetssothattheycanbemoreeasilyunderstood,modified,andmaintained.

Theprimarypurposeofthislayerinthearchitectureistoprovideaninterfacethatmatchesthebusiness.Thislayeralsoprovidesthelayerofinnovationovertheexistingback-endsystems.Custombusinesslogicandrulescanbeimplementedthatuseexistingsystemsyetprovidecapabilitiesthatextendbeyondthecapabilitiesprovidedbytheback-endsystems.

15

Page 20: Oracle SOA Suite 11 : Essential Concepts 1 -1...Oracle SOA Suite 11g: Essential Concepts 1 -1 SOA is more than using WSDLs, and is more than just an application with a web service

Thebusinessprocesslayerautomatesbusinessprocesses.Thislayerusesthelowerlayers,especiallythebusinessservicelayer,tocreateandautomatebusinessprocesses.Thebusinessprocessesgenerallyspanmultipleenterpriseinformationsystems.Thekeycapabilitiesinthislayerinclude:

Human-centricworkflow:Human-centricworkflowisabusinessprocessthatisprimarilyorentirelycomposedofhumantasks.Theremaybesomerelativelysmallamountofsysteminteractiontosupportthehumantasks.System-centricworkflow:System-centricworkflowisabusinessprocessthatisprimarilycomposedofsystem-to-systemactivities.Theremaybesomehumantasksinthebusinessprocess,orhumansmayberequiredtohandletheexceptioncasesinanotherwiseentirelysystem-to-systemprocess.Choreography:Choreographydefinesthemessagesthatflowbackandforthbetweensystemsthatareparticipatinginbusinessprocesses.AnexampleofchoreographywouldbeaRosettaNetPartnerInterfaceProcess(PIP).Businessactivitymonitoring:Businessactivitymonitoring(BAM)

SOA Adoption and Architecture Fundamentals 8 - 16

Page 21: Oracle SOA Suite 11 : Essential Concepts 1 -1...Oracle SOA Suite 11g: Essential Concepts 1 -1 SOA is more than using WSDLs, and is more than just an application with a web service

providesvisibilityintobusinessprocesses.TheBAMinformationisexposedindashboardsthatareusedtomeasureandimprovebusinessprocesses..

16

Page 22: Oracle SOA Suite 11 : Essential Concepts 1 -1...Oracle SOA Suite 11g: Essential Concepts 1 -1 SOA is more than using WSDLs, and is more than just an application with a web service

Decisionrules:Mostbusinessprocessesincludedecisionpointswherebranchingisdonebasedoncertaincriteria.Decisionrulesaretheencapsulationofthesedecisioncriteriaintoarulethatisthenmoreeasilymodifiedandmaintained.

Theprimarypurposeofthislayerinthearchitectureistodefineandautomatethebusinessprocessesinawaythatisexternalto―andindependentof―thespecificback-endsystemsusedintheorganization.Thisisolatesthebusinessprocessfromback-endsystemchangesand,conversely,isolatestheback-endsystemsfrombusinessprocesschanges.Decouplingthebusinessprocessesfromtheback-endsystemssimplifieschangesandmaintenanceforbusinessprocessesandback-endsystems.Thislayergenerallyprovidesthegreatestandmostmeasurablebusinessvalue.Themediationlayerprovidesloosecouplingfortheentirearchitecture.Itdecouplesthelayersofthearchitectureandalsodecoupleexternalusersofthelayersfromthespecificlayersinthearchitecture.Thekeycapabilitiesinthislayerinclude:

Routing: Routingprovidestheabilitytosendtheclientrequesttotheappropriateproviderbasedoncertaincriteria.Theroutingmayevenincludesendingtheclientrequesttomultipleproviders.Thiscapabilityfacilitateslocationtransparency,versioning,scalability,partitioning,requestpipelining,SLAmanagement,andsoon.Protocolmediation: Protocolmediationistheabilitytohandleaclientrequestthatusesoneprotocol(forexample,WS*,JMS,orREST)withaproviderthatusesadifferentprotocol.Thisprovidesprotocoldecouplingbetweentheproviderandtheconsumer.

Messagetransformation:Messagetransformationallowsaclientrequestthatusesonemessageformattobehandledbyaproviderthatexpectsadifferentmessageformat.Thisprovidesmessageformatdecouplingbetweentheproviderandtheconsumer.

Discovery: DiscoveryisthemechanismbywhichaclientfindsaproviderofaparticularSOAservice.Discoverycanoccuratdesigntimeorruntime.Monitoring:Monitoringcapturesruntimeinformationaboutthemessagesflowingthroughthemediationlayer.Becausethemediationlayerisanintermediaryformessagetraffic,itprovidesacentralizedmonitoringcapability.Policyenforcement: Policyenforcementprovidesconsistentapplicationofpolicies(forexample,WS-SecurityPolicy)acrossallmessagesflowingthroughthemediationlayer.Becausethemediationlayerisanintermediaryformessagetraffic,itprovidesacentralizedpolicyenforcementcapability.

Theprimarypurposeofthislayerinthearchitectureistofacilitatecommunicationbetweenlayersinthearchitectureandbetweenthisarchitectureandthesystemsthatconnecttoit.Thislayeris“infrastructure”inthetruestsenseandthereforerarelymapsdirectlytobusinessrequirements.However,thislayerprovideskeycapabilitiesthatmakethearchitectureserviceorientedandistheprimaryfocusfor

SOA Adoption and Architecture Fundamentals 8 - 17

Page 23: Oracle SOA Suite 11 : Essential Concepts 1 -1...Oracle SOA Suite 11g: Essential Concepts 1 -1 SOA is more than using WSDLs, and is more than just an application with a web service

meetingnonfunctionalrequirementssuchasscalability,reliability,availability,andmaintainability.AUserInteractionSystemisanysystemthataccessesanylayerintheintegrationarchitecture.Thereareawidevarietyofsystemsthatcanaccesstheintegrationlayers.Examplesincludeweb-basedapplications,fat-clientapplications,andpartnerapplications.Thisisnotformallyalayerintheintegrationarchitecture.Rather,thesearethesystemsthatgainvaluefromthedataandfunctionalityexposedbythelayersofthearchitecture

17

Page 24: Oracle SOA Suite 11 : Essential Concepts 1 -1...Oracle SOA Suite 11g: Essential Concepts 1 -1 SOA is more than using WSDLs, and is more than just an application with a web service

ASOAservicecanbeexposedatanylayerinthelogicalarchitecture.ASOAserviceimplementationcanalsospanlayersintheintegration.WhenconstructingaSOAservicethatspanslayers,developersshouldunderstandandapplythelayerssothattheimplementationusesthesameseparationofconcerns.ThisnotonlymakestheSOAserviceeasiertomaintain,italsomakesitpossibletoeasilyrefactortheSOAservicetoexposelower-levelfunctionalityasaseparateanddistinctservice.SOAservicescanbeclassifiedbytheuppermostlayerthatisincludedintheservicefunctionality.ThediagramintheslideillustratesseveraltypesofSOAservicesandalsoillustrateshowupperlayerscallservicesfromlowerlayers.Dottedlinesindicatecommunicationpathsthroughthemediationlayer,whereassolidlinesindicatedirectcommunicationthatisnotmediated.CommunicationthatisinternaltoaSOAserviceimplementationdoesnotusethemediationlayer.AllcommunicationthatusestheinterfacetoaSOAserviceshouldpassthroughthemediationlayer.Thediagramshowsthebusinessprocessdirectlyaccessingaconnectivityservice.Whilethearchitectureallowsthisdirectinteraction,ingeneralthisshouldbeavoidedsinceittendstomakethebusinessprocessdirectlydependentontheactualback-endsystembeingcalled.Abetterapproachis

SOA Adoption and Architecture Fundamentals 8 - 18

Page 25: Oracle SOA Suite 11 : Essential Concepts 1 -1...Oracle SOA Suite 11g: Essential Concepts 1 -1 SOA is more than using WSDLs, and is more than just an application with a web service

tokeepthebusinessprocessisolatedfromtheback-endsystemsbyhavingthebusinessprocesscallonlybusinessservicesordataservices.

18

Page 26: Oracle SOA Suite 11 : Essential Concepts 1 -1...Oracle SOA Suite 11g: Essential Concepts 1 -1 SOA is more than using WSDLs, and is more than just an application with a web service

Servicecompositionistheabilitytoleveragelower-levelservicestocreateahigher-levelservice.Theorchestrationshownintheslideisanexampleofservicecompositionbecausethebusinessserviceleveragestheconnectivityservicetosupplysomeofthenecessarycapability.Thisarchitecturesupportsandencouragesservicecompositionasaprimaryapproachfordeveloperstoapply.Whendoingcomposition,developersshouldrespectthelayeringofthearchitecture.Abusinessservicecouldleverageexistingconnectivityservicesordataservices,andadataservicecouldleverageexistingconnectivityservices.Butadataserviceshouldnotcallabusinessservice,andaconnectivityserviceshouldnotcalladataserviceorabusinessservice.Compositionbycallingserviceswithinthesamelayerofthearchitecture(forexample,abusinessservicecallinganotherbusinessservice)issupported,butcaremustbetakenwhenusingcompositionwithinalayerbecausethiscanleadtocomplexdependenciesthatpresentproblemsformaintenanceandversioning.Dependingontheproductsandtechnologyusedtoimplementthemediationlayer,itmayalsobepossibletoconstructservicecompositionsinthemediationlayer.Thisiscommonlyreferredtoasaservicepipeline.Inaservicepipeline,themediationlayerhandlesaservicerequestbyroutingtherequesttooneormoreservicespotentiallydoingmessagetransformationsandprotocoltranslationsaswell.Althoughitispowerful,thiscapabilityshouldbeusedjudiciouslysincethemediationlayerisnotageneral-purposeprogrammingenvironmentandisusuallyasharedresource.ExcessivecomputingorconfigurationerrorswithinthemediationlayercouldSOA Adoption and Architecture

Fundamentals 8 - 19

Page 27: Oracle SOA Suite 11 : Essential Concepts 1 -1...Oracle SOA Suite 11g: Essential Concepts 1 -1 SOA is more than using WSDLs, and is more than just an application with a web service

negativelyaffectallservicetrafficpassingthroughthemediationlayer.

19

Page 28: Oracle SOA Suite 11 : Essential Concepts 1 -1...Oracle SOA Suite 11g: Essential Concepts 1 -1 SOA is more than using WSDLs, and is more than just an application with a web service

Thetableintheslideillustratesthedifferencesbetweenabusinessprocessandanorchestration.Businessprocessesshouldnotcontainlower-leveltechnicaldetails.Thetechnicaldetailsshouldbeencapsulatedbybusinessservicesthatexposeaninterfacethatismeaningfultoabusinessuser.Forexample,thebusinessprocessmayhaveastepthatrequiresupdatingacustomeraddress.However,thecustomeraddressmaybestoredinseveralback-endsystems.Thiscomplexityisnotofinteresttoabusinessuser,norisitacorepartofthebusinessprocess.Therefore,thistechnicalcomplexityshouldbeencapsulatedbyasharedbusinessservicethatexposesan“updatecustomeraddress”operation.Theoperationthenupdatesallnecessarysystems.Noticethatthisencapsulationalsomakesitpossibletochangetheback-endsystemsorevenremoveback-endsystemswithoutaffectingbusinessprocessesthatupdatecustomeraddresses.Onlythesharedbusinessserviceneedstobemodified.Conversely,theorchestrationthatisincludedinthebusinessservicesshouldnotincludestepsthatarelikelytochangeduetochangesinbusinessstrategyorexecution.Thosestepsbelonginthebusinessprocesslayersothattheycanbeeasilychangedwheneverthebusinesschanges.

SOA Adoption and Architecture Fundamentals 8 - 20

Page 29: Oracle SOA Suite 11 : Essential Concepts 1 -1...Oracle SOA Suite 11g: Essential Concepts 1 -1 SOA is more than using WSDLs, and is more than just an application with a web service

Thisservice-orientedintegrationarchitecturedoesnotrequiretheuseofspecifictoolsortechnologies.Itisbasedonprinciplesthatwerepresentedearlier,anditcanberealizedusingawidevarietyoftoolsandtechnologies.Nonetheless,therearetypesoftoolsandtechnologiesthatarewellsuitedtoservice-orientedintegration,fitnicelywiththearchitecture,andthereforearelikelytobeusedbydevelopersapplyingthisarchitecture.Thesetoolsandtechnologiesareshownintheslideanddescribedforeachlayerinthearchitecture.MediationLayerTheprimarytoolsandtechnologiesforthislayerareEnterpriseServiceBus(ESB),Registry,Repository,andWebServiceManagement(WSM).Therearealsomanyexistingandemergingprotocolstandards,includingWS*,REST,JMS,XML,andXSLT.BusinessProcessLayerTheprimarytoolsandtechnologiesforthislayerareforcapturing,analyzing,executing,andmonitoringbusinessprocesses.Theseincludebusinessprocessanalysis(BPA),businessprocessmanagement(BPM),andbusinessactivitymonitoring(BAM).Rulesenginescanalsobeusedtocaptureandexecutedecisionrulesforbusinessprocesses.Thereareseveralassociatedstandards,

SOA Adoption and Architecture Fundamentals 8 - 21

Page 30: Oracle SOA Suite 11 : Essential Concepts 1 -1...Oracle SOA Suite 11g: Essential Concepts 1 -1 SOA is more than using WSDLs, and is more than just an application with a web service

includingBPMN,BPEL,andUMLActivityDiagrams.

21

Page 31: Oracle SOA Suite 11 : Essential Concepts 1 -1...Oracle SOA Suite 11g: Essential Concepts 1 -1 SOA is more than using WSDLs, and is more than just an application with a web service

BusinessServiceLayerTheprimarytoolsandtechnologiesforthislayerincludetraditionalsoftwaredevelopmenttools(forexample,IDE).Additionally,theorchestrationcapabilityrequiresadeveloper-focusedprocessdefinitiontool.Rulesenginescanalsobeusedtocaptureandexecutebusinessrules.AssociatedstandardsincludeUML,J2EE,BPEL,SCA,WSCDL,andsoon.DataNormalizationLayerTheprimarytoolsandtechnologiesforthislayerareformodelingdataandfordefiningandmanipulatingdataformats.Thus,theprimarytoolsarevisualizationandauthoringtoolsforERDs,O/Rmapping,XML,XSD,XQuery,XSLT,andsoon.Industry-standarddataformatsarealsoimportantforthislayer.Becausethislayeralsoperformsdataaggregationanddatasynchronization,orchestrationtools(forexample,BPEL)arealsoessentialforthislayer.ConnectivityLayerTheprimarytoolsandtechnologiesforthislayerareadapterdevelopmentkitsandmessagingtechnologies.Also,therearemanypossibletechnologiesthatmaybeneededtoconnecttothewidevarietyofsystemsthatmaybeincludedassourcesystems.AssociatedstandardsincludeJDBC,ODBC,andJCA.DataMovementLayerTheprimarytoolsandtechnologiesforthislayerareETLtoolsanddatacleansingtools.PersistentstoragetoolsandtechnologiesforbothOLTPandOLAParevitallyimportantforthislayer.

SOA Adoption and Architecture Fundamentals 8 - 22

Page 32: Oracle SOA Suite 11 : Essential Concepts 1 -1...Oracle SOA Suite 11g: Essential Concepts 1 -1 SOA is more than using WSDLs, and is more than just an application with a web service

Mediationisakeycomponentintheoverallarchitecture,providingthedecouplingbetweenconsumersandproviders.Thediagramintheslideillustratesthetypicalflowofamessagethroughthemediationlayer.

1. BeforecallingaSOAservice,theserviceconsumermustfirstfindtheappropriateSOAservices.Thisiscalledservicediscoveryandmaybeperformedatdevelopmenttimeoratruntime.Thearchitecturesupportsboth.ThereisalsoanauthorizationcheckdonetoseewhichSOAservicestheconsumerisallowedtosee.2. Theservicerequestismadetoaserviceproxyratherthandirectlytotheserviceprovider.Theserviceproxyallowsthemediationlayertoapplyallthecapabilitiesthathavebeenconfiguredforthatservicerequest.3. Anauthorizationcheckisperformedontheservicerequest.Althoughitisnotalwaysrequired,leveragingtheauthorizationcapabilitywithinthemediationlayerprovidesacentralizedapproachtosecuringSOAservices.Anauthorizationcheckmayalsobeperformedbeforeforwardingtheresponsemessagetoensurethattheconsumerisallowedtoseethecontentswithintheresponsemessage.4. Aftertheservicerequesthasbeenauthorized,the

SOA Adoption and Architecture Fundamentals 8 - 23

Page 33: Oracle SOA Suite 11 : Essential Concepts 1 -1...Oracle SOA Suite 11g: Essential Concepts 1 -1 SOA is more than using WSDLs, and is more than just an application with a web service

requestisroutedtotheappropriateserviceprovider.Therequestmessagemaybetransformedbeforebeingsenttotheprovider;theprotocolmaybetranslatedaswell.5. Alloftheactivitieswithinthemediationlayeraremonitored.ThisprovidesacentralizedmonitoringcapabilityacrossallSOAservices.

23

Page 34: Oracle SOA Suite 11 : Essential Concepts 1 -1...Oracle SOA Suite 11g: Essential Concepts 1 -1 SOA is more than using WSDLs, and is more than just an application with a web service

Theservice-orientedintegrationarchitecturespansmultiplesystemsandthecomputerprocesseswithinthosesystems.Thediagramintheslideillustratesthemessageflowandtheprocessboundariesthatarecrossedbythemessages.Asinglebusinessprocessmayresultinmessagesthatspanmanycomputerprocesses.Ingeneral,everyserviceinvocationresultsinaprocessboundarybeingcrossed.Infact,sinceeachserviceinvocationalsopassesthroughthemediationlayer,eachserviceinvocationcrossestwoprocessboundaries:mediationandserviceprovider.Additionally,theserviceimplementationmayalsocrossserviceboundaries.Forexample,thebusinessserviceshownintheslidemakesAPIcallstopackagedapplications(viaadapters),andeachpackagedapplicationrunsinitsownprocess.Althoughsevendifferentprocessesareshown,thediagramactuallysimplifiesthenumberofprocessesincludedintheintegration.Bothoftheconnectivityservices(AandB)wouldlikelyincludeout-of-processcallstothesourcesystemforwhichtheyareprovidingconnectivity.Eachtimeaprocessboundaryiscrossed,thereareperformanceimpactsfromthenetworkandmessagemarshallingandde-marshalling.ThisisaprimaryreasonthatSOAservicesshouldexposerelativelycoarse-grainedinterfaces.

SOA Adoption and Architecture Fundamentals 8 - 24

Page 35: Oracle SOA Suite 11 : Essential Concepts 1 -1...Oracle SOA Suite 11g: Essential Concepts 1 -1 SOA is more than using WSDLs, and is more than just an application with a web service

Thisisalsoareasonthataserviceimplementationmightspanmultiplelayersinthearchitecture.Thisalsoexplainswhythearchitectureincludesaseparatedatamovementlayer,becausemovinglargequantitiesofdataacrossserviceboundariesiscomputationallyveryexpensive.

24

Page 36: Oracle SOA Suite 11 : Essential Concepts 1 -1...Oracle SOA Suite 11g: Essential Concepts 1 -1 SOA is more than using WSDLs, and is more than just an application with a web service

Therearemanywaysthatthearchitecturecanbedeployedinanenterprise.Organizationalsize,structure,andspanofmanagementcontrolplayasignificantroleindeterminingmanyaspectsofdeployment,especiallyhowmuchissharedacrosstheenterpriseandhowmuchisspecifictoaportfolioordivision.Inamostlyshareddeployment,onlythelowerlevelsofthearchitecturearedeployedindependentlyacrossportfoliosordivisions.Thistypeofdeploymentisillustratedintheslide.Thistypeofdeploymenthasmostofthelayersdeployedsothattheyaresharedacrosstheenterprise.Onlythelowestlevelsofthearchitecturearespecifictotheportfolios.Itshouldalsobeclearthatitispossibleforasmallerenterprisetohavealloftheintegrationlayerssharedenterprise-wide.

SOA Adoption and Architecture Fundamentals 8 - 25

Page 37: Oracle SOA Suite 11 : Essential Concepts 1 -1...Oracle SOA Suite 11g: Essential Concepts 1 -1 SOA is more than using WSDLs, and is more than just an application with a web service

Astheenterprisesizeincreases,itbecomesmoredifficulttodeployasinglesharedenvironmentforintegration.Itbecomesmorelikelythatadistributedorhierarchicaldeploymentwillbeabetterfit(asillustratedintheslide).Thistypeofhierarchicaldeploymenthasseveraladvantages,includingthefollowing:

Eachportfoliocandefineitsownbusinessprocesses,SOAservices,anddataformatsthatareindependentfromotherportfolios.Thisdeploymentsupportsthefederateddatanormalizationapproach(describedearlier).BusinessprocessesorSOAservicesthatspanportfoliosexistattheenterpriselevelandcanleveragetheportfoliobusinessprocessesandSOAservices.Themediationlayerprovideslocationtransparencybetweentheportfolioandenterprisedomains.Thistypeofdeploymenteasilysupportsacquisitionsbecauseanewacquisitioncanbetreatedassimplyanotherportfolio.

Theprimarydisadvantageofahierarchicaldeploymentistheincreasedcostandcomplexityofsupportingmorehardwareandsoftware.Adherencetostandardstosupportinteroperabilityisalsomoreimportantinahierarchical

SOA Adoption and Architecture Fundamentals 8 - 26

Page 38: Oracle SOA Suite 11 : Essential Concepts 1 -1...Oracle SOA Suite 11g: Essential Concepts 1 -1 SOA is more than using WSDLs, and is more than just an application with a web service

deploymentbecausethevariousportfoliosmayselectdifferentproducts.

26

Page 39: Oracle SOA Suite 11 : Essential Concepts 1 -1...Oracle SOA Suite 11g: Essential Concepts 1 -1 SOA is more than using WSDLs, and is more than just an application with a web service

Theslideshowsahigh-levelviewofhowthearchitecturemightbedeployedtohardware.Thediagramshowseachlayerdeployedtoseparatehardware.Althoughthisdeploymentispossible,itmayalsobedesirabletodeploylayersofthearchitecturetothesamehardware.Showingthelayersdeployedtoseparatehardwaremakesthecommunicationpathsmoreexplicit.Thisalsoshowsthelayersdeployedtomultiplehardwareboxestoprovidescalabilityandreliability.Inamoderndatacenterwhereservervirtualizationiswidespread,thelayerswouldbedeployedtovirtualservers.Thenumberofvirtualservershostingeachlayerisdeterminedbytheloadonthelayerandcanbedynamicallyprovisionedasnecessary.Manyofthedetailedhardwaredeploymentdecisionsaredrivenbythespecificproductsandtechnologiesusedtorealizethearchitecture.

SOA Adoption and Architecture Fundamentals 8 - 27

Page 40: Oracle SOA Suite 11 : Essential Concepts 1 -1...Oracle SOA Suite 11g: Essential Concepts 1 -1 SOA is more than using WSDLs, and is more than just an application with a web service

SOA Adoption and Architecture Fundamentals 8 - 28

Page 41: Oracle SOA Suite 11 : Essential Concepts 1 -1...Oracle SOA Suite 11g: Essential Concepts 1 -1 SOA is more than using WSDLs, and is more than just an application with a web service

ThefollowingOracleFusionMiddlewareproductsareincludedintheproductmapping:

OracleBPELProcessManager(BPEL-PM):Providestheabilitytoquicklybuildanddeployorchestrationsandbusinessprocessesinastandards-basedmannerOracleBusinessActivityMonitoring(OBAM):Acompletesolutionforbuildinginteractive,real-timedashboardsandproactivealertsformonitoringbusinessprocessesandservicesOracleBusinessProcessManagement(OBPM):AcompletesetoftoolsenablingcollaborationbetweenbusinessandITtocreate,automate,execute,andoptimizebusinessprocessesOracleBusinessRules(OBR):Evaluaterulesrapidlyusingalightweight,high-performancerulesengineOracleBusiness-to-BusinessIntegration(OB2BI):ProvidesasingleintegratedsolutionforrapidlyestablishingonlinecollaborationsandautomatedprocesseswithbusinesspartnersOracleDataIntegrator(ODI):Anext-generationextract,load,andtransform(ELT)technologythatofferstheproductivityofadeclarativedesignapproach,aswellasthebenefitsofaplatformforseamless

SOA Adoption and Architecture Fundamentals 8 - 29

Page 42: Oracle SOA Suite 11 : Essential Concepts 1 -1...Oracle SOA Suite 11g: Essential Concepts 1 -1 SOA is more than using WSDLs, and is more than just an application with a web service

batchandreal-timeintegration

29