




已阅读5页,还剩47页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件工程组lzwang,Service-OrientedArchitecture,WhySOA?,IT现状不同种类的操作系统,应用软件,系统软件和应用基础结构(applicationinfrastructure)相互交织一些现存的应用程序被用来处理当前的业务流程(businessprocesses),因此从头建立一个新的基础环境是不可能的。面临的问题业务的不断变化需要企业做出快速的反应需要复用现有的应用程序和应用基础设施(applicationinfrastructure)为客户,商业伙伴以及供应商提供新的互动渠道,Thebusinessdriversforanewapproach,WhileITexecutiveshavebeenfacingthechallengeofcuttingcostsmaximizingtheutilizationofexistingtechnologyAtthesametimetheyhavetocontinuouslystrivetoservecustomersbetterbemorecompetitivebemoreresponsivetothebusinesssstrategicpriorities.Therearetwounderlyingthemesbehindallofthesepressures:Heterogeneityandchange,Thebusinessdriversforanewapproach,HeterogeneityMostenterprisestodaycontainarangeofdifferentsystems,applications,andarchitecturesofdifferentagesandtechnologies.Integratingproductsfrommultiplevendorsandacrossdifferentplatformswerealmostalwaysanightmare.Butwealsocannotaffordtotakeasingle-vendorapproachtoIT,becauseapplicationsuitesandthesupportinginfrastructurearesoinflexible.ChangeGlobalizationande-businessareacceleratingthepaceofchange.Improvementsintechnologycontinuetoaccelerate,feedingtheincreasedpaceofchangingcustomerrequirements.,Thebusinessdriversforanewapproach,Asaresult,businessorganizationsareevolvingfromthevertical,isolatedbusinessdivisionsofthe1980sandearliertothehorizontalbusiness-process-focusedstructuresofthe1980sand1990stowardsthenewecosystembusinessparadigm.Businessservicesnowneedtobecomponentizedanddistributed.Thereisafocusontheextendedsupplychain,enablingcustomerandpartneraccesstobusinessservices.,Thebusinessdriversforanewapproach,Questions:HowdoImakemyITenvironmentmoreflexibleandresponsivetotheeverchangingbusinessrequirements?Howcanwemakethoseheterogeneoussystemsandapplicationscommunicateasseamlesslyaspossible?Howcanweachievethebusinessobjectivewithoutbankruptingtheenterprise?CurrentlymanyITexecutivesandprofessionalsalikebelievethatnowwearegettingreallyclosetoprovidingasatisfactoryanswerwithservice-orientedarchitecture.,Thebusinessdriversforanewapproach,Inordertoalleviatetheproblemsofheterogeneity,interoperabilityandeverchangingrequirements,suchanarchitectureshouldprovideaplatformforbuildingapplicationserviceswiththefollowingcharacteristics:LooselycoupledLocationtransparentProtocolindependentBasedonsuchaservice-orientedarchitecture,aserviceconsumerdoesnotevenhavetocareaboutaparticularserviceitiscommunicatingwithbecausetheunderlyinginfrastructure,orservice“bus”,willmakeanappropriatechoiceonbehalfoftheconsumer.Theinfrastructurehidesasmanytechnicalitiesaspossiblefromarequestor.ParticularlytechnicalspecificitiesfromdifferentimplementationtechnologiessuchasJ2EEor.NETshouldnotaffecttheSOAusers.Weshouldalsobeabletoreconsiderandsubstitutea“better”serviceimplementationifoneisavailable,andwithbetterqualityofservicecharacteristics.,Object-orientedanalysisanddesign,Object-orientedanalysisanddesignLarmandescribestheessenceoftheobject-orientedanalysisanddesignasconsidering“aproblemdomainandlogicalsolutionfromtheperspectiveofobjects(things,concepts,orentities)”inApplyingUMLandPatternsAnIntroductiontoObject-OrientedAnalysisandDesign.Jacobson,etal,definetheseobjectsasbeing“characterizedbyanumberofoperationsandastatethatrememberstheeffectsoftheseoperations”inObject-OrientedSoftwareEngineering:AUseCaseDrivenApproach.Inobject-orientedanalysis,suchobjectsareidentifiedanddescribedintheproblemdomain,whileinobject-orienteddesign,theyaretransitionedintologicalsoftwareobjectsthatwillultimatelybeimplementedinaobject-orientedprogramminglanguage.Withobject-orientedanalysisanddesign,certainaspectsoftheobject(orgroupofobjects)canbeencapsulatedtosimplifytheanalysisofcomplexbusinessscenarios.Certaincharacteristicsoftheobject(s)canalsobeabstractedsothatonlytheimportantoressentialaspectsarecaptured,inordertoreducecomplexity.,Component-baseddesign,Component-baseddesignisnotanewtechnology.Itisnaturallyevolvedfromtheobjectparadigm.Packagedsolutionsuitescanalsobeencapsulatedassuch“components”.Oncetheorganizationachievesahigherlevelofarchitecturalmaturitybasedondistinctlyseparatefunctionalcomponents,theapplicationsthatsupportthebusinesscanbepartitionedintoasetofincreasinglylargergrainedcomponents.Componentscanbeseenasthemechanismtopackage,manageandexposeservices.Theycanuseasetoftechnologiesinconcert:Large-grainedenterprisecomponents,thatimplementbusiness-leveluse-cases,canbeimplementedusingnewerobject-orientedsoftwaredevelopmentincombinationwithlegacysystems.,Service-orienteddesign,InComponent-BasedDevelopmentforEnterpriseSystems,Allenincludesthenotionofservices,describingacomponentas“anexecutableunitofcodethatprovidesphysicalblack-boxencapsulationofrelatedservices.Itsservicecanonlybeaccessedthroughaconsistent,publishedinterfacethatincludesaninteractionstandard.Acomponentmustbecapableofbeingconnectedtoothercomponents(throughacommunicationsinterface)toalargergroup”.Aserviceisgenerallyimplementedasacourse-grained,discoverablesoftwareentitythatexistsasasingleinstanceandinteractswithapplicationsandotherservicesthroughalooselycoupled,message-basedcommunicationmodel.,SOA,SOA的理念最初由全球最具权威的IT研究与顾问咨询公司Gartner于1996年提出:“Aservice-orientedarchitectureisastyleofmultitiercomputingthathelpsorganizationssharelogicanddataamongmultipleapplicationsandusagemodes.”。,SOA,OASISdefinesSOAasthefollowing:Aparadigmfororganizingandutilizingdistributedcapabilitiesthatmaybeunderthecontrolofdifferentownershipdomains.Itprovidesauniformmeanstooffer,discover,interactwithandusecapabilitiestoproducedesiredeffectsconsistentwithmeasurablepreconditionsandexpectations.,WikipediaIncomputing,thetermService-OrientedArchitecture(SOA)expressesaperspectiveofsoftwarearchitecturethatdefinestheuseofservicestosupporttherequirementsofsoftwareusers.InanSOAenvironment,resourcesonanetworkaremadeavailableasindependentservicesthatcanbeaccessedwithoutknowledgeoftheirunderlyingplatformimplementation。,SOA,SOA,在计算领域,面向服务的体系结构表示这样一种软件体系结构,它定义使用服务来满足软件用户的需求。在一个SOA环境下,网络上的资源是以独立可访问的服务存在的,访问这些服务不需要了解它们的底层平台实现细节。“一种应用程序体系结构,在这种体系结构中,所有功能都定义为独立的服务,这些服务带有定义明确的可调用接口,可以以定义好的顺序调用这些服务来形成业务流程”。,SOA,面向服务的体系结构(SOA)是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种各样的系统中的服务可以以一种统一和通用的方式进行交互。,Service-orienteddesign,importantservice-orientedterminology:Services:Logicalentities,thecontractsdefinedbyoneormorepublishedinterfaces.Serviceprovider:Thesoftwareentitythatimplementsaservicespecification.Serviceconsumer(orrequestor):Thesoftwareentitythatcallsaserviceprovider.Traditionally,thisistermeda“client”.Aserviceconsumercanbeanend-userapplicationoranotherservice.,Servicelocator:Aspecifickindofserviceproviderthatactsasaregistryandallowsforthelookupofserviceproviderinterfacesandservicelocations.Servicebroker:Aspecifickindofserviceproviderthatcanpassonservicerequeststooneormoreadditionalserviceproviders.,Interface-baseddesign,Inbothcomponentandservicedevelopment,thedesignoftheinterfacesisdonesuchthatasoftwareentityimplementsandexposesakeypartofitsdefinition.Therefore,thenotionandconceptof“interface”iskeytosuccessfuldesigninbothcomponent-basedandservice-orientedsystems.Thefollowingaresomekeyinterface-relateddefinitions:Interface:Definesasetofpublicmethodsignatures,logicallygroupedbutprovidingnoimplementation.Aninterfacedefinesacontractbetweentherequestorandproviderofaservice.Anyimplementationofaninterfacemustprovideallmethods.Publishedinterface:Aninterfacethatisuniquelyidentifiableandmadeavailablethrougharegistryforclientstodynamicallydiscover.Publicinterface:Aninterfacethatisavailableforclientstousebutisnotpublished,thusrequiringstaticknowledgeonthepartoftheclient.Dualinterface:Frequentlyinterfacesaredevelopedaspairssuchthatoneinterfacedependsonanother;forexample,aclientmustimplementaninterfacetocallarequestorbecausetheclientinterfaceprovidessomecallbackmechanism.,Interface-baseddesign,ThefollowingfigureshowstheUMLdefinitionofacustomerrelationshipmanagement(CRM)service,representedasaUMLcomponent,thatimplementstheinterfacesAccountManagement,ContactManagement,andSystemsManagement.Onlythefirsttwoofthesearepublishedinterfaces,althoughthelatterisapublicinterface.NotethattheSystemsManagementinterfaceandManagementServiceinterfaceformadualinterface.,Layeredapplicationarchitectures,Object-orientedtechnologyandlanguagesaregreatwaystoimplementcomponents.Whilecomponentsarethebestwaytoimplementservices,thoughonehastounderstandthatagoodcomponent-basedapplicationdoesnotnecessarilymakeangoodservice-orientedapplication.Theterm“theapplicationedge”reflectsthefactthataserviceisagreatwaytoexposeanexternalviewofasystem,withinternalreuseandcompositionusingtraditionalcomponentdesign.,Acloserlookatservice-orientedarchitecture,Service-orientedarchitecturepresentsanapproachforbuildingdistributedsystemsthatdeliverapplicationfunctionalityasservicestoeitherend-userapplicationsorotherservices.Itiscomprisedofelementsthatcanbecategorizedintofunctionalandqualityofservice.,Acloserlookatservice-orientedarchitecture,Functionalaspectsinclude:Transportisthemechanismusedtomoveservicerequestsfromtheserviceconsumertotheserviceprovider,andserviceresponsesfromtheserviceprovidertotheserviceconsumer.ServiceCommunicationProtocolisanagreedmechanismthattheserviceproviderandtheserviceconsumerusetocommunicatewhatisbeingrequestedandwhatisbeingreturned.ServiceDescriptionisanagreedschemafordescribingwhattheserviceis,howitshouldbeinvoked,andwhatdataisrequiredtoinvoketheservicesuccessfully.Servicedescribesanactualservicethatismadeavailableforuse.BusinessProcessisacollectionofservices,invokedinaparticularsequencewithaparticularsetofrules,tomeetabusinessrequirement.Notethatabusinessprocesscouldbeconsideredaserviceinitsownright,whichleadstotheideathatbusinessprocessesmaybecomposedofservicesofdifferentgranularities.TheServiceRegistryisarepositoryofserviceanddatadescriptionswhichmaybeusedbyserviceproviderstopublishtheirservices,andserviceconsumerstodiscoverorfindavailableservices.Theserviceregistrymayprovideotherfunctionstoservicesthatrequireacentralizedrepository.,Acloserlookatservice-orientedarchitecture,Qualityofserviceaspectsinclude:Policyisasetofconditionsorrulesunderwhichaserviceprovidermakestheserviceavailabletoconsumers.Thereareaspectsofpolicywhicharefunctional,andaspectswhichrelatetoqualityofservice;thereforewehavethepolicyfunctioninbothfunctionalandqualityofserviceareas.Securityisthesetofrulesthatmightbeappliedtotheidentification,authorization,andaccesscontrolofserviceconsumersinvokingservices.Transactionisthesetofattributesthatmightbeappliedtoagroupofservicestodeliveraconsistentresult.Forexample,ifagroupofthreeservicesaretobeusedtocompleteabusinessfunction,allmustcompleteornonemustcomplete.Managementisthesetofattributesthatmightbeappliedtomanagingtheservicesprovidedorconsumed.,SOAcollaborations,Thefollowingfigureshowsthecollaborationsinaservice-orientedarchitecture.Thecollaborationsfollowsthe“find,bindandinvoke”paradigm.Aserviceconsumerperformsdynamicservicelocationbyqueryingtheserviceregistryforaservicethatmatchesitscriteria.Iftheserviceexists,theregistryprovidestheconsumerwiththeinterfacecontractandtheendpointaddressfortheservice.,SOAcollaborations,Therolesinaservice-orientedarchitectureare:Serviceconsumer:Theserviceconsumerisanapplication,asoftwaremoduleoranotherservicethatrequiresaservice.Itinitiatestheenquiryoftheserviceintheregistry,bindstotheserviceoveratransport,andexecutestheservicefunction.Theserviceconsumerexecutestheserviceaccordingtotheinterfacecontract.Serviceprovider:Theserviceproviderisanetwork-addressableentitythatacceptsandexecutesrequestsfromconsumers.Itpublishesitsservicesandinterfacecontracttotheserviceregistrysothattheserviceconsumercandiscoverandaccesstheservice.Serviceregistry:Aserviceregistryistheenablerforservicediscovery.Itcontainsarepositoryofavailableservicesandallowsforthelookupofserviceproviderinterfacestointerestedserviceconsumers.Eachentityintheservice-orientedarchitecturecanplayone(ormore)ofthethreerolesofserviceprovider,consumerandregistry.,SOAcollaborations,Theoperationsinaservice-orientedarchitectureare:Publish:Tobeaccessible,aservicedescriptionmustbepublishedsothatitcanbediscoveredandinvokedbyaserviceconsumer.Find:Aservicerequestorlocatesaservicebyqueryingtheserviceregistryforaservicethatmeetsitscriteria.Bindandinvoke:Afterretrievingtheservicedescription,theserviceconsumerproceedstoinvoketheserviceaccordingtotheinformationintheservicedescription.Theartifactsinaservice-orientedarchitectureare:Service:Aservicethatismadeavailableforusethroughapublishedinterfacethatallowsittobeinvokedbytheserviceconsumer.Servicedescription:Aservicedescriptionspecifiesthewayaserviceconsumerwillinteractwiththeserviceprovider.Itspecifiestheformatoftherequestandresponsefromtheservice.Thisdescriptionmayspecifyasetofpreconditions,postconditionsand/orqualityofservice(QoS)levels.,SOAcollaborations,Inadditiontodynamicservicediscoveryanddefinitionofaserviceinterfacecontract,aservice-orientedarchitecturehasthefollowingcharacteristics:Servicesareself-containedandmodular.Servicessupportinteroperability.Servicesarelooselycoupled.Servicesarelocation-transparent.Servicesarecompositemodules,comprisedofcomponents.Thesecharacteristicsarealsocentraltofulfillingtherequirementsforane-businessondemandoperationalenvironment.,Finally,service-orientedarchitectureisnotanewnotion.,Sponents,Aserviceisacoarse-grainedprocessingunitthatconsumesandproducessetsofobjectspassed-by-value.Itisnotthesameasanobjectinprogramminglanguageterms.Instead,itisperhapsclosertotheconceptofabusinesstransactionsuchasaCICSorIMStransactionthantoaremoteCORBAobject.Aserviceconsistsofacollectionofcomponentsthatworkinconcerttodeliverthebusinessfunctionthattheservicerepresents.Thus,incomparison,componentsarefiner-grainedthanservices.Inaddition,whileaservicemapstoabusinessfunction,acomponenttypicallymapstobusinessentitiesandthebusinessrulesthatoperateonthem.Asanexample,letuslookatthePurchaseOrdercomponentmodelfortheWS-ISupplyChainManagementsample.,Sponents,Inacomponent-baseddesign,componentsarecreatedtocloselymatchbusinessentities(suchasCustomer,PurchaseOrder,OrderItem)andencapsulatethebehaviorthatmatchestheentitiesexpectedbehavior.PurchaseOrdercomponentprovidesfunctionstoobtaininformationaboutthelistofproductsorderedandthetotalamountoftheorderItemcomponentprovidesfunctionstoobtaininformationaboutthequantityandpriceoftheproductordered.,Inaservice-orienteddesign,servicesarenotdesignedbasedonbusinessentities.Instead,eachserviceisaholisticunitthatmanagesoperationsacrossasetofbusinessentities.Forexample,acustomerservicewillrespondtoanyrequestfromanyothersystemorservicethatneedstoaccesscustomerinformation.Thecustomerservicecanprocessarequesttoupdatecustomerinformation;add,update,deleteinvestmentportfolios;andenquireaboutthecustomersorderhistory.Thecustomerserviceownsallthedatarelatedtothecustomersitismanagingandiscapableofmakingotherserviceinquiriesonbehalfofthecallingpartyinordertoprovideaunifiedcustomerserviceview.Thismeansaserviceisamanagerobjectthatcreatesandmanagesitssetcomponents.,Service-orientedarchitecturebenefits,Withaservice-orientedarchitecture,wecanrealizeseveralbenefitstohelporganizationssucceedinthedynamicbusinesslandscapeoftoday:Leverageexistingassets.Easiertointegrateandmanagecomplexity.Moreresponsiveandfastertime-to-market.Reducecostandincreasereuse.Bereadyforwhatliesahead.Service-orientedarchitectureisbynomeansasilverbullet,andmigrationtoSOAisnotaneasytask.Ratherthanmigratingthewholeenterprisetoaservice-orientedarchitectureovernight,therecommendedapproachistomigrateanappropriatesubsetofbusinessfunctionsasthebusinessneedarisesorisanticipated.,Service-OrientedArchitecture,ArchitectureClassificationforSOA-BasedApplicationsW.T.Tsai,ChunFan,YinongChenArizonaStateUniversity,Tempe,AZ85287wtsai,fanchun,RaymondPaulDepartmentofDefense,Washington,DCRaymond.PJen-YaoChungIBMT.J.Watson,ResearchCenterjychung,Service-OrientedArchitecture,ThearchitectureofSOA-basedapplicationsisdifferentfromtraditionalsoftwarearchitecturewherethearchitectureismainlystatic.ThearchitectureofanSOA-basedapplicationisdynamic,i.e.,theapplicationmaybecomposedatruntimeusingexistingservices.ThusSOAhasprovidedanewdirectionforsoftwarearchitecturestudy,wherethearchitectureisdeterminedatruntimeandarchitecturecanbedynamicallychangedatruntimetomeetthenewsoftwarerequirements.Thusatargetapplicationisbuiltthroughservicediscoveryandcomposinginsteadoftraditionalprocessofdesigningandcodingsoftware.,Service-OrientedArchitecture,SOAsoftwarehasthefollowingcharacteristicsthataredifferentfromtraditionalsoftware:Standard-basedInteroperabilitySOAemphasizesonstand-basedinterface,protocols,communication,coordination,workflow,discovery,collaboration,andpublishingviastandardprotocolssuchasXML,SOAP,WSDL,UDDI,HTTP,CPP,ebXML,ebSOA,BPEL,FERA,andOWL-S.Thesestandardsallowservicesdevelopedondifferentplatformscaninteroperatewitheachotherwiththeknowledgeofservicespecificationsonly.DynamicCompositionviaDiscoverySOAprovidesanewwayofapplicationdevelopmentbyusingservicesjustdiscovered.Furthermore,thecompositionanddiscoverycanbecarriedoutatruntime.,Service-OrientedArchitecture,DynamicGovernanceandOrchestrationExecutionofservicesneedstobecontrolledandseveralmechanismsareavailable.Oneisservicegovernancebypolicy.Morespecifically,policiescanbespecified,checked,andenforcedduringdevelopmenttimeandatruntime.TheotherisorchestrationwhereprocessexecutionwillbecoordinatedbyacentralcontrolleranditisresponsibleforschedulingtheexecutionofservicesthatmaybedistributedacrossaconnectivitynetworksuchasESB(EnterpriseServiceBus).,Service-OrientedArchitecture,ArchitectureofSOAapplications,includingIBMSOAFoundationarchitecture,MicrosoftsWhitehorse,SAPsNetWeaver,OASISsFERAandvariousenterpriseSOAapplicationssuchasEnterpriseSOAandService-OrientedEnterprise.,ApplicationArchitectureIssues,DuetodynamicnatureofSOA,thearchitectureofSOA-basedapplicationshasthefollowingcharacteristicsthataredistinctfromtraditionalsoftwarearchitectures:Dynamicarchitectureanddynamicre-architectureLifecyclemanagementembeddedintheoperationinfrastructurearchitectureIntraditionalsoftwaredesig
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025综合购销合同书
- Unit 1说课稿-2025-2026学年小学英语第一册朗文国际英语
- 粤教版信息技术选修二《多媒体技术应用》第五章《5.1声音的采集与加工》教学设计 高二下册
- 棉花纺织厂原料采购合同
- 2023四年级语文下册 第1单元 3 天窗配套说课稿 新人教版
- Review 9 10 11 12说课稿-2025-2026学年小学英语Level 2剑桥国际少儿英语(第二版)
- Lesson 33:Let's Go to the Zoo!说课稿-2025-2026学年初中英语冀教版2012七年级上册-冀教版2012
- 关于清明祭祖的演讲稿
- 公司职员工作总结范例
- 阳泉市检察院招聘考试真题2024
- 上海市幼儿园幼小衔接活动指导意见(修订稿)
- 普通话测试命题说话50篇
- 14圆明园的毁灭 第二课时 课件
- 2024年天津高考英语第二次高考真题(原卷版)
- 细胞遗传学题库含答案
- AQ6111-2023个体防护装备安全管理规范
- DL-T747-2010发电用煤机械采制样装置性能验收导则
- 思辨与创新智慧树知到期末考试答案章节答案2024年复旦大学
- 婚姻家庭法学-形成性考核四-国开(HB)-参考资料
- 精神分裂症并发糖尿病患者护理查房
- 保险机构法人名单(截至2023年12月末)
评论
0/150
提交评论