SOA Best Practices and Design Patterns Keys to Successful Service Oriented Architecture Implementation

Similar documents
Big Data in Commercial Buildings: The Market for Internet of Things in Buildings 2014 to 2018

Comparison of Historical Rates: Credit Unions, Savings Banks, and Other Banks Data compiled by Datatrac, Inc. Contact: Ken Wanek at

Commercial Mortgages Management System. Summary. For more information about Luxoft, visit

The Enterprise Service Bus

RTM CONSULTING CANDIDATE RESUME

Third Party Approval & Risk Management

Audit & Inspection Management. Enterprise Cloud Audit & Inspection Management Solution

Automating the Budget and Tracking Process of Construction Loans. Becky Rickenbach, Product Manager

C Upper & LEGACY I 224 Generic Information Technology ANALYST PROGRAMMER/DESIGNER ERP SYSTEMS

Monitoring & Testing

Action/Task Management

Incident Reporting & Management

The Top 5 Considerations for Oracle Cloud ERP

Advanced Analytics & Reporting. Enterprise Cloud Advanced Analytics & Reporting Solution

Risk & Hazard Management

SAFEGUARDING G ENERATIONS OF W EALTH

OPENIAM ACCESS MANAGER. Web Access Management made Easy

Going Hybrid. The first step to your! Enterprise Cloud journey! Eric Sansonny General Manager!

Security and Privacy in Cloud Computing

Oracle on Oracle. Hans Peter Kipfer Vice President, Engineered Systems EMEA

The Law Offices of Evan J. Krame, PC...Representing Individuals and Businesses in the Protection and Preservation of Personal Wealth

Security Assessment of Waratek AppSecurity for Java. Executive Summary

CRITICAL MANUFACTURING

Global Biaxially oriented polyamide (nylon) film Cleaning Industry 2016 Market Research Report

Client Relationship Management System. Summary. For more information about Luxoft, visit

Oracle Communications Cartridge Feature Specification for Broadsoft Broadworks Enterprise Services

Internet Peering as a Cloud enabler for Enterprises

Weyerhaeuser Company

EA, BPM and SOA. Bridging the information gap using the Oracle BPA Suite and an integrated model. Dirk Stähler, Director Strategy and Innovation

Financial Crime Management EIFR workshop 19th November 2015

Case Study: Financial Institution Deploys MBT to Test at the Speed of Agile Development

Threat Intel Fail. The eroding threat intelligence landscape in the age of Internet of Things (IoT)

End-to-End Infrastructure Solutions

Exemplary*Preschool*Community*Partnership* Case*Study*#2:*Inclusion*Model*

Chartered Professional Accountant (CPA): Alternative Careers. A guide for newcomers to British Columbia

How Cisco IT Migrated to Microsoft Active Directory

Source Process Distribute Creating an integrated value chain

Reference guide for clients of MML Investors Services, LLC

HOL9449 Access Management: Secure web, mobile and cloud access

New Features... 1 Installation... 3 Upgrade Changes... 3 Fixed Limitations... 4 Known Limitations... 5 Informatica Global Customer Support...

INTElligent integration of RAILway systems. A platform for information sharing and its potential for cross-modal deployment

Driving Asset Value Through Back-Office Integration

Course 6426: Configuring and Troubleshooting Identity & Access Solutions With Windows Server 2008 Active Directory Page 1 of 6

The Business Case For Private Cloud Services

Eduniversal. Masters Ranking Report 2012/2013. The Best Masters and MBA Worldwide. Eduniversal Masters Ranking 2012/ December

Fixed Scope Offering for Implementation of Oracle ERP Financials in Cloud. Oracle ERP Finacials Cloud Offerings

Mortgage Credit Certificates

Loans Practice. Math 107 Worksheet #23

Training Program: Network Admin. Program Structure: Hardware and Appliances. Networking

LEASING AND LENDING SOLUTIONS FOR PRIVATE AIRCRAFT

Capgemini and Oracle WebCenter: A Global Partnership

Martin Plesner-Jacobsen Preben Berg

Your Personal Financial Inventory. For documenting your family s important financial information

Monetary Policy and Mortgage Interest rates

Using SOA to Enhance Notifications. Rajas Kirtane 8/11/2014

Changes to New York Power of Attorney Law

HP Data Protector Express 4.0 Service Pack 1

Service. Lending Managed Services Increase Efficiency, Reduce Cost and Improve the Customer Experience Within Your Lending Operations

(House Bill 182) Housing Community Development Administration Residential Mortgage Loans

A Road Map for Disaster Risk Management

Service-Orientation and Next Generation SOA

Use of the BIS international banking statistics

nexvortex VOIP DISASTER RECOVERY BUSINESS SOLUTION

Quality Management Consultancy

How To Write A Packaged Bank Account Complaint Form

Assets and Liabilities Worksheet

CHAPS Market Report 2015

Current Assumption Universal Life

Get to know Transamerica

The Application Front End Understanding Next-Generation Load Balancing Appliances

Introduction to Mortgage Insurance. Mexico City November 2003

Transcription:

SOABestPractices anddesignpatterns KeystoSuccessfulService Oriented ArchitectureImplementation JohnFronckowiak 4/3/2008 AwhitepaperexploringbestpracticesforSOA.

WhatAreOracleReal ApplicationClusters? Regardlessofbusinessmodel,every organizationhaschallengeswhenitcomesto offeringmultipleproductsandservices throughmultiplechannelstoalargecustomer base.moreandmoreorganizationsareturningtonewapproachesinbusinessprocessmanagementto solvethesechallenges. ExecutiveSummary ThereisnoquestionthatthesuccessfulimplementationofService OrientedArchitecture(SOA) reliesonacarefulandholisticapproachtobusinessplanning.oneofthemostimportanttoolsin theevaluation,purchase,andongoinguseofsoaisthebodyofbestpracticesthatvendors, consultants,andcustomershavecompiled.thepromiseofbusinessagility,improvedcustomer service,andcompetitiveadvantagewithsoaisreal.whatvariesmostisthetime,cost,andeaseof SOAimplementation.Bylearningfromtheexperiencesofthoseorganizationsthathavebeen throughtheprocessandlookingatthestandardbestpracticesoflarge scaletechnology implementations,successcancomeearlierandmoredramatically. BriefOverviewofSOA SOAsprovidemodularservicesthatcanbeeasilyintegratedthroughoutanenterprise.Theyare flexibleandadaptabletothecurrentinformationtechnology(it)infrastructureandinvestments. SOAimplementationscontinuetheiremergenceinbusinessasamechanismforintegrating organizationaloperationsinnewanddifferentwaysandforpromotingreusewhileleveragingthe existingvalueoflegacysystems. BenefitsofSOA Inanybusiness,thebottomlineistheessentialtestofanytechnology.SOAcanprovidea significantreturnoninvestment(roi)byintegratinglegacyandmixedtechnologiesandmaximizing thevalueofexistinginvestmentswhileminimizingrisk.promotingreusethroughsoaalsohelps reduceoveralldevelopmentcosts. Ifservicesandtheirdataaregenericenough,theycanbeaccessedthroughavarietyofinterfaces. Decouplingservicesfromtheirpresentationreducesexpensesanddecreasestheoverall developmenttime.further,soamakesitconsiderthedynamicoperationsofanorganization,not justasetofstaticrequirements,therebyexposinginformationanddatasharingacrossthe organizationandfocusingdevelopmentonthebestwaystoimproveoveralloperations. ChallengesofSOA AlthoughSOAbringssignificantbusinessbenefits,therearechallengestotheirimplementation.As SOAservicesaretypicallycoarse grainedandlooselycoupled,theiroperationsexhibitmorelatency thanmoretightlycoupledimplementations.thiscanbeachallengewhenimplementingwithrealtimerequirements.soaisdesignedtobringtogetherlegacysystemsinheterogeneousit environments.standardizationofnaming,definitions,andidentificationcanpresent implementationchallenges.however,thesechallengescanberesolvedbytheimplementationof identityandnamingservices. Finally,SOAisdesignedtocutthroughanorganizationhorizontallyandvertically,whichpresents manycultural,cooperation,ownership,andbudgetissues.strongleadershipmustbeinplace,and executivesupportmustbeclearandevidentinorderforanysoaimplementationtobeasuccess.

IntroductiontoBestPractices Bestpracticessuggestthatthereisanoverallcommitmenttoincreaseorganizationalefficiency.These practicesmustbeconsideredfromthespecificcontextofyourorganization.althoughthenotionofbest practicesisconstantlyevolving,it sclearthatthefollowingareasarecritical: Visionandleadership Strategyandroadmap Policiesandsecurity Governanceandacquisition Operationsandimplementation VisionandLeadership TheimplementationofService OrientedArchitecture(SOA)requiresvisionandleadershipfromthe organization sexecutives.thisleadershipisextremelyimportantinthefaceofculturalresistance, becauseuserswillbemovingfromacurrentcomfortzoneandwillneedtothinkandcooperatewith greatercross functionality.aclear,consistent,andrepeatedmessageofthebenefitsofthesoafrom executiveleadershipmakesitclearthattheyarecommittedtothesoaimplementation. AnevangelistshouldbeinplacetospreadthewordonSOAbenefitsandtolistenandrespondtousers criticisms.educationisthekey.theevangelistshouldpromotethevaluesininformationsharingacross theorganizationandshowhowdoingsoprovidestheabilitytoanswerthebiggerbusinessquestions. Theevangelistmustbesomeonewhounderstandsthebusiness,understandsthetechnologies,andhas theclearandstrongsupportofexecutivemanagement. SOAintroducesamodelthatcutsacrosstraditionalorganizationlinesandcanproducenewand valuableinformationandservices.thesoaimplementationshouldlookhorizontallyandvertically throughtheorganizationtofindvalueinthecurrentlyavailableresources.remember,soacanhelpyou leveragelegacysystemsandgetthemcommunicatinginwaystheyneverhavepreviously.certainly, therewillbedifferencestoovercome,andit simportanttoprovidetheappropriatelevelofsupportfor allstakeholders. MakingthebusinesscaseforSOAisimportantforgaininguniversalorganizationaladoption,whichis importantbothforexecutivemanagementandforsupportstaff.thebusinesscaseshouldincludethe objectives,aconsiderationofalternatives,afinancialanalysis,aprojectplan,andareviewoftheproject risksandassumptions.thebusinesscasewillhelptheorganizationmakethestrategiccaseforthesoa implementationand,whenwellpublicized,helptosocializetheplanwithintheorganization.eachofthe suborganizationsshouldbeassignedcleardeliverablesandwelldefinedsuccess factorstoensurethat thereisclearownershipandwell definedmetricsonthedeliverables.eachofthesesuborganizations shouldalsoberewardedforensuringsuccessoftheirdeliverablesaswellastheoverallsuccessofthe projectundertakings.finally,theplanalsoservesasatrackingdocumentandanobjective measurementofprojectsuccess.

StrategyandRoadmap ThestrategyandroadmapdocumentexplainsthegoalsandobjectivesoftheSOAimplementation.It shouldbeconsideredanevolvingdocumentthatwillchangeasyoumovethroughtheacquisitionsand implementationprocesses.thedocumentshouldaddressthearchitecturalviewofthedesignandalso includerisk,security,andmanagementconsiderations. TheSOAstrategyshouldbepublishedearlyintheSOAadoptionprocess.Thisstrategydocumentspells outtheintentionsandthoughtprocessofleadershipandisessentialforsocializingtheprocess throughoutthegreaterorganization.thestrategyshouldclearlyidentifyexpectedoutcomesofthe projectaswellasthemeasurementsthatwillbeusedtodeterminewhetheroutcomesaremet. SOAimplementationwillnottransformtheentireorganizationovernight,soit simportanttoplanforan incrementaldeployment.ideally,beginwiththelow hangingfruit:chooseahandfulofservicesthatwill makeadifferenceandthatpeoplewillnotice.successbreedssuccess andconfidence. Resourcesthatweretypicallystuckinorganizationalsilosinthepastwillnowbeexposedandshared acrosstheorganization.thisnewstructurewillrequirenewwaysofaccountingforthecostofthose resourcesthattheexecutiveleadershipmustsupport. Theorganizationisnotastaticentity,andtheSOAstrategyshouldreflectthat.Plananddesignfor change.newopportunitiesandchallengeswillarise,andtheplanshouldbereadytorisetothemand beflexibleenoughtoincorporatethem. Again,astheSOAimplementationcutsacrossorganizationalboundaries,terminologyanddefinitions willbedifferent.creatingacommonorganizationalvocabularyisimportantforprovidingashared understandingoftheservicesandinformationthatwillbeprovided.thisvocabularywillalsohelp facilitatefurtherinformationsharingandcollaborationacrosstheorganization. PoliciesandSecurity WhenthedecisionismadetoimplementSOA,aclearsetofpoliciesandserioussecurityconsiderations areinorder.thepoliciesmustclearlyidentifythemodelandarchitecturesthatwillbeimplemented acrosstheorganization.securityandriskmitigationmustalsobeassessed,andtheseconsiderations mustfeedbackintotheoverallpolicydecisions. It simportanttoadoptasetoftechnicalstandardsacrosstheorganization.recognizingthatstandards areconstantlychangingandevolving,it simportanttouseindustrypartnerstotrackdevelopments. Flexibilitywithchangesandcompliancewithasmanyemergingstandardsaspossiblearekeyto maximizingyoursoainvestment. SOAbringstogetherlooselycoupledservicestoprovidegreaterbusinessvalue.Manytimes,these servicesmaybeinastateofconstantchangeandflux.it simportanttoimplementaservicesdirectory, whichcatalogstheavailableservices.

Atop down,bottom upapproachiscriticaltosecurity.leadershipmustarticulatetheoverallsecurity policiesandrequirements,andusersandsystemownersmustactivelyimplementandpromotethose policies. Disaster recoveryplanningisessentialforanyproject.planforandimplementabusinesscontinuance plan.becausesoacutsacrossbusinessdomains,servicelevelagreements(slas)areimportantfor definingexpectationsfortheongoingavailabilityofservices. Securityshouldnotbeanafterthought;rather,itshouldbebakedintothesolutionfromthebeginning. Makesecurityandauthenticationpartoftheplanningprocesstomitigateriskexposures.It smuch easiertoincludesecurityinthesolutionfromthebeginningthantoadditafterimplementationis complete. Oftentimes,itisimportanttodrivethesecurity,risk,andcompliancepoliciesviaacentralteam.These policiesshouldthenbereferencedtofromallimplementationsofsoainyourenterprise.thisisthe recommendedwaytoenforcesecurityandcompliancerequirementsacrossyourorganization,no matterhowlargeorcomplexitmayget. GovernanceandAcquisitions GovernanceandacquisitionsmustworkcloselyforasuccessfulSOAimplementation.ImplementingSOA forthelowestcostpossible justtogetitdone willnotworkinthelongrun.boththegovernanceand theacquisitionsprocessmustbeflexibletomeetthemarket sfrequentchanges.organizationsmust participatewithstandardsbodiesandwithusercommunities(bothinternallyandexternally)toensure thatthemostappropriatechoicesaremade.governancemustembraceanopen standards,loosely coupled,modularserviceapproach. ExperimentwithpilotprojectstogainanunderstandingofSOA.Theseprojectsprovidetheexperience necessarytotacklelargerprojectsandexposethecross domainchallengesthatwillbeencountered. TheSOAimplementationplanmustbebuiltaroundincrementaladoption,acquisitions,and implementation.thisincrementalapproachwilleasethetransformationprocess,buttakecareto ensurethatthecurrentpurchaseswillmeetandintegratewithfuturedemands.thisiswhere adherencetoopenstandardsandparticipationinstandardsbodies(andwithusers)willbeofmost benefit. ImplementingSOAisadifferentwayoflookingattheoverallbusiness.Useenterprisemodelingto identifyanddocumentthebusinessinfrastructureandprocesses.definingthescopeandboundariesof businessprocessisimportant,andthisiswhereenterprisemodelingwillhelp. Finally,SOAwillincreaserelianceonthenetworkasthetransportandcommunicationmethodof services.it scriticaltohavefacilitiesinplacethatwillmonitor,measure,andanalyzethenetwork.use networkslastodefineexpectations.inaddition,ownershipofboththesoaservicedirectoryandof servicesmustbeclearlyidentifiedtokeepthedirectoryuptodate.

OperationsandImplementation Operationsandimplementationiswherealltheleadership,planning,anddesignareactualized.SOA implementationworksbestwithanagiledevelopmentapproach,inwhichservicesarebuilt incrementallybutinarapidfashion.it simportanttorecognize andbepreparedfor timeswhena servicebeingmovedtoyoursoamaybemetwithresistanceandskepticism,whichmayresultinlower qualityfortheveryshortterm.withadoptionandacceptancecomeincreasedeffectiveness,greatly increasingtheoverallservicequality. Aswithacquisitions,SOAcannotbeputinplaceovernight.Focusontheservicesthataretheeasiestto implementbutprovidethegreatestbusinessvalue.usethemasbuildingblocks.whenoneiscomplete, buildonthatservicetoimplementthenext.momentumiskey:whenyougetstarted,rideyoursuccess andacceptancetothenextphaseofimplementation.itisimportanttorecognizetheearlysuccessesof notonlytheprojects,buteventheinvolvedplayers.thisrecognitionandvisibilityearlyonwillboth encouragethealreadysuccessfulplayers,butalsoinspirethosewaitingonthesidelinestojointhe party. Partneringandcollaboration internallyandexternally intheimplementationphasehelpstomitigate risk.suchinteractionalsohastheaddedbenefitsofmaximizinginvestment,easingcross domain boundaryissues,andleveragingsharedexperiences. AkeybenefitofSOAisreuseofservices.It softentemptingtobuildsomethingfromscratchinsteadof reusingwhat salreadyavailable.thiscanoftenhappenfortworeasons.first,developersmaynotbe awarethatasimilarservicealreadyexists.therefore,it simportanttomaintainadirectoryofavailable servicesthatisreadilyaccessibleandusesthecommonvocabularyadoptedacrosstheorganization. Second,whendesigningandimplementingservices,theiruseoutsidetraditionalboundariesmustbe considered.creatingcoarse grained,modularserviceshelpstopromotetheirreuseintheorganization. Organizationsshouldnotcringefromupdatingservicesthathavealreadybeendeployedwhenthereare additionalneedsdemandingextensionoffunctionality.forexample,eventually,alltherequirements shouldbefactoredintoasingle getcustomer serviceratherthanhavingmultipleservicesthatget differentsubsetsofcustomerinformation. Finally,justgetstarted!Theoryandtalkonlygosofar.Beginwithsomething,anything!Keepinmind, though,thatthosepioneeringservicesmaybecomewidelyadoptedovertime,sodon tneglectthem. SOApromotesreuseofandinterdependenceonservices,soeventhoseearlyeffortsmustbecaredfor andmanaged. BriefOverviewofDesignPatterns Designpatternsarereusablesolutionstocommonsoftwaredesignproblems.Designpatternsspeedup thedevelopmentprocessthroughtheimplementationoftried and testedsolutions.theycanplayan importantroleinsoaimplementation,especiallyinthestandardizationofservicedesign.sincetheir introductioninthelate1980s,numerouspatternshavebeenrecognizedanddocumented.manysoa

implementationsusewebservices.itisimportantforarchitectsofsoaimplementationstohavean understandingofthefourprimarydesignpatternsforwebservices: Adapter:Promotesthereuseofexistingtechnologiesthroughwrappers,extendingyourexisting investments Façade:Usedtoreducethecouplingbetweentheclientandtheservercomponents anessential techniqueforcreatingtheappropriatelevelofgranularity Proxy:Providesanobjectsurrogate,usedtosimplifytheinteractionbetweenWebservices components Controller:AkeycomponentoftheModel View Controller(MVC)architecture,usedasan intermediarybetweentheuserinterface(ui)andthedata Adapter Aspreviouslydiscussed,promotingthereuseofexistingtechnologiesisessentialforasuccessful and profitable SOAimplementation.TheAdapterdesignpattern,showninFigure1,allowsotherwiseincompatibleclassestoworktogetherbyconvertingtheinterfaceofanexistingclassintoaninterface thatclientsexpect. ERPor Legacy System AdapterJCA Client Figure1.TheAdapterdesignpattern OrganizationswilllooktoreuseexistingtechnologiesintheirSOAimplementations;thisiswhere theadapterpatternisimplemented.typically,existingtechnologiesprovideinterfacesthatare incompatiblewithwebservices.theadapterpatternprovidesabridgetotheexistingtechnology. Youdon thavetostartfromscratchwhendesigningwebservices:theadapterpatterncanleverage yourexistinginvestmentandquicklygetyoustartedontheroadtoserviceimplementation.however, it simportanttorealizethatnoteveryapplicationmaybeausefulservice.it simportanttobejudicious inyourdesign. Façade Providingtheappropriatelevelofgranularityisessentialtoservicedesign.Servicesthataretoofinegrainedcanincreasetheoverallnetworktrafficasmanyservicerequestsaremadetoperforman operation.morecoarse grainedservicescanincreaseoveralllatency,buttheyhelpexposeservicesthat exposeabusinessfunction.

TheFaçadepattern,showninFigure2,isoftenusedtoexposecoarse grainedservices.insteadof exposingthedirect,one to onefunctionalityofanexistingsoftwarecomponentorbusinessfunction, thefaçadepatternpromotesencapsulationoftheselower levelservicestoprovideasinglehigher level function. Client Mortgage Application IsEligible Bank HasSuficientSavings Figure2.TheFaçadedesignpattern Credit HasNoBAdLoans Loan HasNoBadLoans TheFaçadepatternpromotesconsistentinterfaces,abstractingclientsfromtheimplementationdetails ofaservice.further,thepatternfacilitatescontrolandmanagementofaservice,providingasingle entrypointthatsimplifieselementssuchassecurityandtransactionmanagement. Proxy TheProxydesignpattern,showninFigure3,providesasurrogateorplaceholderforanotherobject.It canbeusedtosimplifytheinteractionsamongservices.theproxycanserveasastandardizedinterface foracollectionoflegacyback endservices.inotherwords,insteadofprovidingaserviceforeach individualback endservice,youcanusetheproxytoconsolidatethemessagesintoasingleservice, thendispatchtherequesttotheappropriateback endservice,whichsimplifiestheinteractionwitha collectionofservices.

Client Customer Proxy NorthAmerica Europe Asia Customer getcustomerdata Customer getcustomerdata Customer getcustomerdata Figure3.TheProxydesignpattern TheProxydesignpatterncanalsobeusedfortesting,especiallywhenyouarecommunicatingwitha third partyobjectthatyoudonotcontrol.theproxywouldimplementthesameinterfaceasthethirdpartyserviceandcanstandinitsplaceduringthetestingprocess.again,thissimplifiesthetesting process. Controller TheControllerdesignpattern,showninFigure4,isprobablybestknownfromtheMVCapplication architecture.inthemvcarchitecture,themodelcontainsthedatathattheapplicationrequires;the viewmanagestheuseruis;andthecontrollerprovidesthelogicandservesastheinterfacebetweenthe modelandtheview.thecontrollerdesignpatternisusedtoseparatethepresentationanddatalayers.

Controller View Model Figure4.TheControllerdesignpattern TheControllerdesignpatterncanbeusedinSOAarchitecturestoleverageexistingapplicationMVC designarchitecturesandencapsulatethebusinesslogicoftheservice. ApproachingBestPractices SOAbestpracticesareconstantlyevolving.However,effortsmustbemadeineachoftheareas discussed:visionandleadership,strategyandroadmap,policiesandsecurity,governanceand acquisition,andoperationsandimplementation.havingachampionwhohasagoodunderstandingof SOAandcancommunicatethatvisiontoallthestakeholdersisessentialtoasuccessfulimplementation. Lookforthelow hangingfruitasyoubeginyoursoaimplementation.dosomething!establishsuccess withaproject;learnfromyourmistakesaswellasfromyoursuccess.anincrementalandagile approachwillbeessential. GettingStartedwithDesignPatterns Whetherdesignpatternsareafamiliartooloranewconcept,anunderstandingofthefourkeydesign patterns Adapter,Façade,Proxy,andController willbeessentialtoyoursoaimplementation.begin withindentifyingtheservicesyouneedtoimplement,andthenlooktoseehowtheyfitintooneof thesepatterns.soon,you llbeabletoeasilyrecognizehowaservicecanbeimplementedusingthese triedandtruepatterns,andthatwillgiveyouanupperhandinthecriticalprocessofservice standardization. Resources ThisarticleisastartingpointforunderstandingSOAbestpracticesanddesignpatterns.Thefollowing additionalresourceswillhelpyougainadeeperunderstanding: Oracle ssoaresourcecenterathttp://www.oracle.com/technologies/soa/center.html