中南大学SOA服务组合技术ppt课件.ppt

上传人:牧羊曲112 文档编号:1440891 上传时间:2022-11-25 格式:PPT 页数:61 大小:9.35MB
返回 下载 相关 举报
中南大学SOA服务组合技术ppt课件.ppt_第1页
第1页 / 共61页
中南大学SOA服务组合技术ppt课件.ppt_第2页
第2页 / 共61页
中南大学SOA服务组合技术ppt课件.ppt_第3页
第3页 / 共61页
中南大学SOA服务组合技术ppt课件.ppt_第4页
第4页 / 共61页
中南大学SOA服务组合技术ppt课件.ppt_第5页
第5页 / 共61页
点击查看更多>>
资源描述

《中南大学SOA服务组合技术ppt课件.ppt》由会员分享,可在线阅读,更多相关《中南大学SOA服务组合技术ppt课件.ppt(61页珍藏版)》请在三一办公上搜索。

1、面向服务的体系结构(SOA)5 服务组合技术,2022年11月25日,主要内容,服务组合(Service Composition)服务编排(Service Orchestration)服务协同(Service Choreography)编排 vs 协同服务组合中的协调问题(Service Coordination)服务组合方法,SOA的哲理:集成,集成 (Integration) 尽可能的集成 (Integration as far as possible)尽可能灵活的集成 (Integration as flexibly as possible)将小粒度服务集成为大粒度服务 (compose

2、 fine-grained services into coarse-grained service)将硬编码的集成变为动态可配置的集成 (transform hard-coded integration into dynamically reconfigurable integration)这是SOA的优势所在,也是我们追求的目标所在,5.1 服务组合(Service Composition),集成的方法:Composition vs Hard-coding,服务组合(service composition),独立存在的服务具有较低的价值,只有多方提供的多个服务集成在一起,通过协同来完成共同

3、的业务目标,服务和SOA才能体现出其优势。单个Web服务的功能或/和性能有限,难以满足一些业务应用的需求,从而需要解决服务组合问题。服务组合(Service Composition)是将已有服务组合为一个新服务的过程,以增加服务的可复用性、功能和性能。,案例:“开设银行账户”,服务组合的两大概念,SOA中提出了两个概念:orchestration和choreography前者定义了如何将小粒度的服务按照特定的流程聚合为大粒度的服务;后者则定义了如何在多方的业务流程之间通过服务实现协同的动作编排。二者的本质上都是用来规划服务之间的协同。,5.2 Service Orchestration服务编排

4、,Orchestration,Orchestration的本意是“为管弦乐谱曲”:使用五线谱所提供的基本音符,构造一首完整的乐曲。,SOA中的Orchestration:服务编排/服务组合,Orchestration:将多个小粒度的Web服务按照特定的业务逻辑规则构造为一个可执行的业务过程,同时又可以看作是一个大粒度的复合Web服务。执行时需要有中心控制机制;由一个组织所拥有;侧重点:如何使用已有的服务来构造新的服务。Composition Orchestration,SOA中的Orchestration:服务编排/服务组合,服务编排/组合的一个例子,SubmitOrder,CheckInve

5、ntory,CheckCredit,SendResult to User,Portal,SAP,Java,Web App,Mainframe,FormulateFulfillmentOffer,FormulateRejection,CanFulfill?,TransformOrder/Customer,DetermineDiscount,示例:“订单管理”的服务流程,服务编排的描述方法:BPEL(4WS),针对orchestration,出现了大量的服务协同建模标准,最典型的莫过于BPEL和BPEL4WS,在实践中得到了广泛的应用。BPEL: Business Process Executio

6、n LanguageBPEL4WS: BPEL for Web Services面向Web服务的过程建模语言;由IBM、Microsoft和BEA共同提出;BPEL能够实现基于WSDL的Web Services之间的流程编排和服务协同,它提供了一种XML注释和语义,用于指定对Web Services进行编排并确定Web服务之间的业务流程,实现Web Services之间的协同。,BPEL的基本结构,过程中的基本功能单元:活动活动之间的次序关系:先后次序多分支循环并发与同步非确定性选择过程的相关数据:容器错误处理机制:、补偿机制:,BPEL的一个例子,BPEL的一个例子,服务编排的运行模式(1)

7、:集中式的执行引擎,Centralized Service Orchestration,服务编排的执行过程,需要有一个中心控制引擎,负责调用各个离散的服务,示例:Oracle的BPEL执行引擎,服务编排的运行模式(2):基于Hub的分布式引擎,Decentralized service orchestration with hub support,服务编排的运行模式(3):无Hub的分布式引擎,Decentralized orchestration without hub,三种模式的对比分析,5.3 Service Choreography服务协同,Choreography,“编舞”:一支舞蹈

8、需要由多个演员来协同完成,编舞者需要将各人的动作编排在一起,形成为一套完整的舞蹈。“交响乐编排”:一支交响乐曲需要整个乐队各乐手之间的配合才能演奏成功,乐团指挥就是起到在不同乐手之间的协调功能。,SOA中的Choreography:服务编舞/服务协同,Choreography:将多个零散的、分别由多方提供的服务/业务流程按照彼此之间的协同关系组织起来,支持多方的交互行为。侧重于不同服务之间的消息传递的次序与规则,以保证期望的协同行为。无需中心控制;无需完全由一个组织所拥有;Collaboration Choreography,SOA中的Choreography:服务编舞/服务协同,服务协同的例

9、子(1):企业采购,服务协同的例子(2):航空订票,PlanTrip,Submit toTravel Agent,ReceiveTickets,SelectAirline,OrderTickets,SendTickets,GetItinerary,GetOrder,ReceiveConfirmation,ReserveSeats,ConfirmFlight,SendConfirmation,Traveler,Agent,Airline,ChargeCredit Card,服务协同模式的分类,链式协同模式 (Chained)chained substitutive (CS)chained add

10、itive (CA)同步协同模式 (Synchronized)parallel synchronized (PS),嵌套协同模式 (Nested)nested synchronous (NS)nested deferred (ND)nested parallel (NP),服务协同模式的分类:复合模式,服务协同模式的例子:采购过程,“服务协同”的描述语言:WS-CDL,WS-CDL: Web Service Choreography Description Language,WS-CDL的文档结构,“服务协同”的描述语言:WS-CDL,ChoreographyInteractionChanne

11、l instancesStructured ActivitiesSequenceParallelChoiceRepetitionPerformConditionalsNon-observableObservable,WorkunitsPackageParticipantsRolesRelationshipsChannel typesExceptionsFinalizers,一个例子,Market Taker的Quotation System视角的WS-CDL,Market Maker视角的WS-CDL,send RequestQuotereceive Quotesend AcceptQuote

12、choice receive QuoteHasExpiredsequence receive TradeAffirmationsend TradeAffirmed,Market Taker的Trading System视角的WS-CDL,receive RequestQuotesend Quotechoice sequence receive AcceptQuotesend QuoteAcceptConfirmedreceive TradeAffirmationsend TradeAffirmednoAction,5.4 二者的比较Orchestration vs. Choreography,

13、Orchestration vs. Choreography,Orchestration vs. Choreography,Orchestration vs. Choreography,providedinterface,. . .,orchestration,choreography,requiredinterface,Adaptation(execution),Adaptation (design),Adaptation (design),Internal service/API,二者在SOA的标准协议栈中的位置,SOA ToolsApp Dev Framework,SOAP, WSDL,

14、 UDDI,WS-I Basic Profile,Web Service Policy,Web Service Transactions,Web Service Reliable Messaging,J2EE 1.4,Web Service Security,Web Service Orchestration,Web Service Distributed Management,Web Service Coordination,Web Service Choreography,TPM, Mainframe, Legacy Sys,Applications,Databases,B2B Partn

15、ers,J2EE Application Server (OracleAS 10g),BPEL4WS vs. WS-CDL,BPEL需要集中式的控制机制;递归式的服务组合;可执行的过程建模语言;需要调用Web服务;WS-CDL无需集中式的控制机制(分布在各个参与方);描述性语言,不可执行;无需调用Web服务;,5.5 服务组合中的协调问题(Service Coordination),什么是“协调”(Coordination)?,多个Web服务通过orchestration或choreography组合在一起并被客户端所调用时,它们之间存在着复杂的交互过程。每个服务不是独立与客户端发生交互,各服

16、务之间需要共享若干信息,这些信息会影响到自身服务的执行策略。执行过程需要较长的时间;各参与方需要根据其他参与方的选择作出自己的决策;Coordination:各参与者之间通过传递消息的而共享信息的过程;使用Coordination的目的:为了在多个参与者之间达成一致的结果;为了让参与者都接收到在应用领域中某些特定的消息。,Coordination的实例(1):分布式事务处理,例如在实现分布式事务时,就需要由事务管理器在各个资源管理器之间相互协调,并且由两阶段提交协议(2PC)规定了具体的协调过程。,Coordination的实例(2):工作流管理,为了控制工作流的运行,需要使用coordina

17、tion与工作流中的各个活动打交道。,Coordination的实例(3):Travel Agency Service,服务协调器(Coordinator)的组成部分,Activation service:向客户端提供一个接口,用来创建协调上下文实例 (coordination instance or context);Registration service:向客户端提供一个接口,允许客户端将自己注册到上下文环境中来;A set of coordination protocol services:每个服务支持一种特定的协调协议。,服务协调器(Coordinator)的工作过程,public

18、Result CompositionService(Parameter p) Result a = ServiceA(p); Result b = ServiceB(p); Result c = ServiceC(p); return a+b+c; ,5.6 服务组合方法,服务组合的难点,BPEL等标准只是规定了服务编排之后的模型样式,难点问题在于如何进行编排。给定用户需求,如何选择恰当的服务集合并组织起来形成一个流程,并且能够满足功能和QoS方面的需求。这是一项非常困难的任务,需要考虑多方面要素,如coordination、transaction、context、conversation m

19、odeling、execution monitoring、infrastructure等。,静态组合 VS. 动态组合,静态组合:假定已知组合的目标,相关服务及其交互方式。此时,只需要找到对应的服务,建立相应的组合脚本(BPEL)并执行它即可。静态组合一般在设计时完成,适用于业务需求和环境较少发生变化的场合。Microsoft Biztalk、BEA Weblogic等均支持静态组合;缺点:可扩展性差随着可用服务的数量增加,手动组合是不现实的。在一些应用情况中,应用程序或用户的目标可能随系统或环境而变化,可用服务及其交互方式也可能随系统或环境变化。,静态组合 VS. 动态组合,动态组合根据用户

20、的动态目标和约束,以及可用资源和服务,在运行时执行组合,实现按需组合。动态组合的核心问题是根据当前环境生成备选组合规划,并评估(现实的)最优规划。 动态组合一般在运行时完成,适用于需求和环境频繁发生的场合。HP e-Flow和Sun StarWSCop等产品支持动态组合。,服务组合方法的分类:按自动化程度分,从服务编排过程的自动化程度来分,可分为手工组合、半自动化组合、全自动组合三类。手工组合:由人去理解服务的输入输出结构和语义,选定可用的服务,并手工将其组合起来。这种方式的效率低下,准确率不高,难以灵活的发生变化;半自动化组合:在组合过程中通过算法向用户提供一些过滤、选择、连接等方面的智能化

21、建议,以改善手工组合中存在的问题。全自动组合:服务的发现、匹配和连接都是自动执行而无需人工参与,这意味着服务组合可根据环境的变化来动态的调整,人工不再成为瓶颈。,目前研究热点:全自动组合,全自动组合:服务的发现、匹配和连接都是自动执行而无需人工参与。这意味着服务组合可根据环境的变化来动态的调整,人工不再成为瓶颈。但是,要想让计算机来代替人的工作,算法必须能够完全理解组合的目标、各候选服务的所能完成的功能以及QoS。semantics(语义)目前在这方面的研究主要是基于AI规划的方法,使用形式语言描述问题的初始状态、目标状态和一系列可能行为的描述,通过一个具有推理能力的规划器(planner),采用前溯或后溯的策略,逐步得到规划结果。,服务组合的主流途径,六种主要方法:BPELOWL-SWeb Components-calculusPetri NetsModel Checking/FSM)目前服务组合方法的两大主流:基于XML的方法:以WSDL+BPEL4WS为代表,主要应用于工业界的实践中;基于语义的方法:以RDF/DAML-S+Golog/Planning为代表,目前尚未成熟,主要出现在学术界的研究中,离实际应用还差得很远。,结束,2022年11月25日,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号