07-服务计算基础(服务组合)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

2008-2010byLiWeigang.Allrightsreserved.服务计算基础主讲:李伟刚liweigang@nwpu.edu.cn西北工业大学软件与微电子学院2008-2010byLiWeigang.Allrightsreserved.第六章服务组合2008-2010byLiWeigang.Allrightsreserved.主要内容服务组合业务流程BPEL概述BPEL结构BPEL表示法及其处理BPEL相关产品和资源2008-2010byLiWeigang.Allrightsreserved.第一节服务组合2008-2010byLiWeigang.Allrightsreserved.Web服务组合是通过组合基本Web服务提供增值服务的能力,这些基本Web服务可能由别的组织提供。要点服务组合需要使用其它服务组合后形成的是一个具有新功能的服务服务组合使用的基本功能可以是组织外部的服务组合的概念2008-2010byLiWeigang.Allrightsreserved.服务组合——挑战2008-2010byLiWeigang.Allrightsreserved.服务组合——实例AirlineCAirlineAAirlineBInternetCheckFlightSchedulesWebServiceWebServiceWebServiceB2BApplicationsTravelAgencyDecisionMakingCompareOptionsCheckFlightSchedulesCheckFlightSchedulesIBMWebSphereSunJavaMicrosoft.Net2008-2010byLiWeigang.Allrightsreserved.Wearehere!2008-2010byLiWeigang.Allrightsreserved.业务面临的一个关键问题仍然是集成企业内部集成(EnterpriseApplicationIntegration,EAI)与合作伙伴的集成(Business-to-BusinessIntegration,B2Bi)企业联盟Webservices走向面向服务计算应用程序被视为“服务”松散耦合,动态交互异构平台没有哪一方取得完全的控制权服务组合如何组合服务?服务组合——目的2008-2010byLiWeigang.Allrightsreserved.第二节业务流程2008-2010byLiWeigang.Allrightsreserved.Programminginthelarge非程序员实现流程流程逻辑处理如何将功能点组合起来以解决更复杂的问题(如,处理一个订单)Programminginthesmall程序员实现功能功能逻辑处理具体的细粒度的任务(如,获取订单文件或更新客户记录)两种编程模型2008-2010byLiWeigang.Allrightsreserved.移植性和互操作性灵活的集成能力表达能力强,易于适应底层服务的变更可细分,基于类型的组合,使得:第三方能对已有服务进行组合为不同部门提供不同的的组合视图提高可伸缩性和复用性有状态会话和生命期管理支持多个有状态长周期会话可恢复长周期的业务流程需要错误处理和恢复机制,以便管理错误和恢复错误对过程模型的需求2008-2010byLiWeigang.Allrightsreserved.业务流程交互模式2008-2010byLiWeigang.Allrightsreserved.使用Orchestration,需要一个总控过程来控制涉及到的Web服务,并协调Web服务不同操作的执行。所涉及到的Web服务并不知道(也不必知道)它们是组合过程的一部分。只有中央的总控过程知道它们如何组合和协调Choreography并不依赖中央的总控协调过程。相反,每个涉及其中的Web服务都知道何时执行自己的操作,和谁交互。所有的Choreography参与者都需要知道业务流程,要执行的操作,要交互的消息,和交换消息的时机Orchestration(编曲)vsChoreography(编舞)2008-2010byLiWeigang.Allrightsreserved.从组合Web服务来执行业务流程的角度来看,Orchestration比Choreography更灵活:1、我们知道谁负责执行整个业务流程。2、即使Web服务并不知道它们是业务流程的一部分,仍然可以把它们组合起来。3、当错误发生时,我们可以提供一个备选的ScenarioBPEL遵循Orchestration范式Orchestration(编曲)vsChoreography(编舞)2008-2010byLiWeigang.Allrightsreserved.SamplePurchaseOrderPurchaseOrderRequestPurchaseOrderAcknowledgementPurchaseOrderResponseBusiness“A”Business“B”SampleBusinessProcess:PurchaseOrder2008-2010byLiWeigang.Allrightsreserved.PORequestSendPOReceivePOAckReceivePOResponseReceivePOSendPOAckSendPOResponsePOAcknowledgementPOResponseChoreography–TheobservablepublicexchangeofmessagesPublicProcessBusinessABusinessBFromaChoreographyPerspective2008-2010byLiWeigang.Allrightsreserved.SendPOReceivePOAckReceivePOResponseTransformTransformFromERPToERPPORequestPOAcknowledgementPOResponseOrchestration–AprivateexecutablebusinessprocessPrivateProcessBusinessABPELWorkflowFromanOrchestrationPerspective2008-2010byLiWeigang.Allrightsreserved.BusinessBBusinessAnalystToolBusinessASendPOReceivePOAckReceivePOResponseTransformTransformBusinessABPELWorkflowPORequestPOAcknowledgementPOResponseGenerateBPELTemplateGenerateBPELTemplateReceivePOSendPOAckReceivePOResponseTransformTransformBusinessBBPELWorkflowTwoBPELworkflowtemplatesreflectingabusinessagreementOrchestrationandChoreographyTogether2008-2010byLiWeigang.Allrightsreserved.第三节BPEL概述2008-2010byLiWeigang.Allrightsreserved.业务流程可执行语言BPEL(BusinessProcessExecutionLanguage)是专为整合WebServices而制定的一项规范标准。描述商业活动的抽象高级语言IBM的WSFL—支持图形化的流程Microsoft的XLANG—结构化构造方法BPEL描述流程可执行工作流—描述业务交互中参与者的实际行为;抽象流程—描述各方参与者对外可见的消息交换。BPEL的作用是将一组现有的服务组合起来,从而定义一个新的Web服务。因此,BPEL基本上是一种实现此种组合的语言。组合服务的接口也被描述为WSDLportType的集合。BPEL简介2008-2010byLiWeigang.Allrightsreserved.BPEL——组合Web服务2008-2010byLiWeigang.Allrightsreserved.BPEListheWebServicesOrchestrationstandardfromOASISbee•pel’,beep’•uhl,bip’•uhlAnXML-basedgrammarfordescribingthelogictoorchestratetheinteractionbetweenWebservicesinabusinessprocessBPELHistoricalTimelineDec2000MicrosoftpublishesXLANGMarch2001IBMpublishesWSFLJuly2002IBM,MicrosoftandBEAconvergeWSFL&XLANGintoBPEL4WS1.0March2003BPEL4WSissubmittedtoOASISMay2003OASISpublishesBPEL4WS1.11stH2007WS-BPEL2.0releasedWS-BPEL历史2008-2010byLiWeigang.Allrightsreserved.BPEL1.1(*)(*)BPEL1.1authors,May2003WS-BPEL2.0GettingthePlayersTogether2008-2010byLiWeigang.Allrightsreserved.WSDL定义了Webservices具有无状态的交互模型消息交换同步调用无关联的异步调用大多数“现实世界的”业务流程需要一个更强大的交互模型可以双向交换消息,也可以点到点(peer-to-peer)的交换,并能持续特定时间(分、时、天)BPEL提供了描述有状态的、长运行周期的交互的能力为什么需要BPEL?2008-2010byLiWeigang.Allrightsreserved.描述业务流程的业界标准使用通用的语言和技术在设计上很自然地与Webservices相适应用XML描述使用并扩展了WSDL1.1使用XMLSchema1.0作为数据模型在平台和开发商间可移植理论上可以在任何BPEL兼容的引擎上运行在交互的过程间实现互操作在Webservicesstack的顶层BEPL的优点2008-2010byLiWeigang.Allrightsreserved.WS-BPELXML,EncodingOtherprotocolsOtherservicesTransportandEncodingBusinessProcessesWSDL,Policy,UDDI,InspectionDescriptionSecurityReliableMessagingTransactionsCoordinationSOAP(LogicalMessaging)QualityOfServiceWearehereWS-BPELintheWS-*Stack2008-2010byLiWeigang.Allrightsreserved.第四节BPEL结构2008-2010byLiWeigang.Allrightsreserved.WS-BPELMyProcessinvokereceivereceiveinvokeinvokeHandlersfaulthandlereventhandlerfaulthandlercompensationhandlerterminationhandlereventhandlerPartnerLinksPartnerLinkTypePortType1Po

1 / 93
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功