欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

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

    • 资源ID:1440891       资源大小:9.35MB        全文页数:61页
    • 资源格式: PPT        下载积分:16金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要16金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

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

    面向服务的体系结构(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 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),独立存在的服务具有较低的价值,只有多方提供的多个服务集成在一起,通过协同来完成共同的业务目标,服务和SOA才能体现出其优势。单个Web服务的功能或/和性能有限,难以满足一些业务应用的需求,从而需要解决服务组合问题。服务组合(Service Composition)是将已有服务组合为一个新服务的过程,以增加服务的可复用性、功能和性能。,案例:“开设银行账户”,服务组合的两大概念,SOA中提出了两个概念:orchestration和choreography前者定义了如何将小粒度的服务按照特定的流程聚合为大粒度的服务;后者则定义了如何在多方的业务流程之间通过服务实现协同的动作编排。二者的本质上都是用来规划服务之间的协同。,5.2 Service Orchestration服务编排,Orchestration,Orchestration的本意是“为管弦乐谱曲”:使用五线谱所提供的基本音符,构造一首完整的乐曲。,SOA中的Orchestration:服务编排/服务组合,Orchestration:将多个小粒度的Web服务按照特定的业务逻辑规则构造为一个可执行的业务过程,同时又可以看作是一个大粒度的复合Web服务。执行时需要有中心控制机制;由一个组织所拥有;侧重点:如何使用已有的服务来构造新的服务。Composition Orchestration,SOA中的Orchestration:服务编排/服务组合,服务编排/组合的一个例子,SubmitOrder,CheckInventory,CheckCredit,SendResult to User,Portal,SAP,Java,Web App,Mainframe,FormulateFulfillmentOffer,FormulateRejection,CanFulfill?,TransformOrder/Customer,DetermineDiscount,示例:“订单管理”的服务流程,服务编排的描述方法:BPEL(4WS),针对orchestration,出现了大量的服务协同建模标准,最典型的莫过于BPEL和BPEL4WS,在实践中得到了广泛的应用。BPEL: Business Process Execution LanguageBPEL4WS: BPEL for Web Services面向Web服务的过程建模语言;由IBM、Microsoft和BEA共同提出;BPEL能够实现基于WSDL的Web Services之间的流程编排和服务协同,它提供了一种XML注释和语义,用于指定对Web Services进行编排并确定Web服务之间的业务流程,实现Web Services之间的协同。,BPEL的基本结构,过程中的基本功能单元:活动活动之间的次序关系:先后次序多分支循环并发与同步非确定性选择过程的相关数据:容器错误处理机制:、补偿机制:,BPEL的一个例子,BPEL的一个例子,服务编排的运行模式(1):集中式的执行引擎,Centralized Service Orchestration,服务编排的执行过程,需要有一个中心控制引擎,负责调用各个离散的服务,示例:Oracle的BPEL执行引擎,服务编排的运行模式(2):基于Hub的分布式引擎,Decentralized service orchestration with hub support,服务编排的运行模式(3):无Hub的分布式引擎,Decentralized orchestration without hub,三种模式的对比分析,5.3 Service Choreography服务协同,Choreography,“编舞”:一支舞蹈需要由多个演员来协同完成,编舞者需要将各人的动作编排在一起,形成为一套完整的舞蹈。“交响乐编排”:一支交响乐曲需要整个乐队各乐手之间的配合才能演奏成功,乐团指挥就是起到在不同乐手之间的协调功能。,SOA中的Choreography:服务编舞/服务协同,Choreography:将多个零散的、分别由多方提供的服务/业务流程按照彼此之间的协同关系组织起来,支持多方的交互行为。侧重于不同服务之间的消息传递的次序与规则,以保证期望的协同行为。无需中心控制;无需完全由一个组织所拥有;Collaboration Choreography,SOA中的Choreography:服务编舞/服务协同,服务协同的例子(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 additive (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,ChoreographyInteractionChannel instancesStructured ActivitiesSequenceParallelChoiceRepetitionPerformConditionalsNon-observableObservable,WorkunitsPackageParticipantsRolesRelationshipsChannel typesExceptionsFinalizers,一个例子,Market Taker的Quotation System视角的WS-CDL,Market Maker视角的WS-CDL,send RequestQuotereceive Quotesend AcceptQuotechoice 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,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, 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 Partners,J2EE Application Server (OracleAS 10g),BPEL4WS vs. WS-CDL,BPEL需要集中式的控制机制;递归式的服务组合;可执行的过程建模语言;需要调用Web服务;WS-CDL无需集中式的控制机制(分布在各个参与方);描述性语言,不可执行;无需调用Web服务;,5.5 服务组合中的协调问题(Service Coordination),什么是“协调”(Coordination)?,多个Web服务通过orchestration或choreography组合在一起并被客户端所调用时,它们之间存在着复杂的交互过程。每个服务不是独立与客户端发生交互,各服务之间需要共享若干信息,这些信息会影响到自身服务的执行策略。执行过程需要较长的时间;各参与方需要根据其他参与方的选择作出自己的决策;Coordination:各参与者之间通过传递消息的而共享信息的过程;使用Coordination的目的:为了在多个参与者之间达成一致的结果;为了让参与者都接收到在应用领域中某些特定的消息。,Coordination的实例(1):分布式事务处理,例如在实现分布式事务时,就需要由事务管理器在各个资源管理器之间相互协调,并且由两阶段提交协议(2PC)规定了具体的协调过程。,Coordination的实例(2):工作流管理,为了控制工作流的运行,需要使用coordination与工作流中的各个活动打交道。,Coordination的实例(3):Travel Agency Service,服务协调器(Coordinator)的组成部分,Activation service:向客户端提供一个接口,用来创建协调上下文实例 (coordination instance or context);Registration service:向客户端提供一个接口,允许客户端将自己注册到上下文环境中来;A set of coordination protocol services:每个服务支持一种特定的协调协议。,服务协调器(Coordinator)的工作过程,public 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 modeling、execution monitoring、infrastructure等。,静态组合 VS. 动态组合,静态组合:假定已知组合的目标,相关服务及其交互方式。此时,只需要找到对应的服务,建立相应的组合脚本(BPEL)并执行它即可。静态组合一般在设计时完成,适用于业务需求和环境较少发生变化的场合。Microsoft Biztalk、BEA Weblogic等均支持静态组合;缺点:可扩展性差随着可用服务的数量增加,手动组合是不现实的。在一些应用情况中,应用程序或用户的目标可能随系统或环境而变化,可用服务及其交互方式也可能随系统或环境变化。,静态组合 VS. 动态组合,动态组合根据用户的动态目标和约束,以及可用资源和服务,在运行时执行组合,实现按需组合。动态组合的核心问题是根据当前环境生成备选组合规划,并评估(现实的)最优规划。 动态组合一般在运行时完成,适用于需求和环境频繁发生的场合。HP e-Flow和Sun StarWSCop等产品支持动态组合。,服务组合方法的分类:按自动化程度分,从服务编排过程的自动化程度来分,可分为手工组合、半自动化组合、全自动组合三类。手工组合:由人去理解服务的输入输出结构和语义,选定可用的服务,并手工将其组合起来。这种方式的效率低下,准确率不高,难以灵活的发生变化;半自动化组合:在组合过程中通过算法向用户提供一些过滤、选择、连接等方面的智能化建议,以改善手工组合中存在的问题。全自动组合:服务的发现、匹配和连接都是自动执行而无需人工参与,这意味着服务组合可根据环境的变化来动态的调整,人工不再成为瓶颈。,目前研究热点:全自动组合,全自动组合:服务的发现、匹配和连接都是自动执行而无需人工参与。这意味着服务组合可根据环境的变化来动态的调整,人工不再成为瓶颈。但是,要想让计算机来代替人的工作,算法必须能够完全理解组合的目标、各候选服务的所能完成的功能以及QoS。semantics(语义)目前在这方面的研究主要是基于AI规划的方法,使用形式语言描述问题的初始状态、目标状态和一系列可能行为的描述,通过一个具有推理能力的规划器(planner),采用前溯或后溯的策略,逐步得到规划结果。,服务组合的主流途径,六种主要方法:BPELOWL-SWeb Components-calculusPetri NetsModel Checking/FSM)目前服务组合方法的两大主流:基于XML的方法:以WSDL+BPEL4WS为代表,主要应用于工业界的实践中;基于语义的方法:以RDF/DAML-S+Golog/Planning为代表,目前尚未成熟,主要出现在学术界的研究中,离实际应用还差得很远。,结束,2022年11月25日,

    注意事项

    本文(中南大学SOA服务组合技术ppt课件.ppt)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开