1、服务自动组合,主要内容,Web服务组合基础Web服务自动组合过程相对于各个环节的实现技术基于依赖图的组合方案生成,Web服务组合基础 Web服务组合的定义,web服务组合就是通过组合简单的Web服务来提供给用户形成新的增值的服务,即是将现有的Web服务加以组合形成具有更强功能可以解决复杂问题的Web服务。面向服务的计算中对服务组合的定义:服务组合是以特定方式(取决于服务组合语言)按给定应用逻辑将若干服务组织成为一个逻辑整体的方法、过程和技术。,Web服务组合基础 Web服务组合的分类,按照使用的方法学分类: 基于工作流:工作流的研究对Web服务的组合产生了很大的影响,典型的基于工作流的方法有B
2、PEL4WS,Eflow 基于软件工程:Web服务可以看成是一个独立的软件模块,软件工程中一些原则、技术、思想同样可以应用于Web服务组合 基于人工智能:使用人工智能规划,专家系统来自动或者半自动的生成web服务的组合,Web服务组合基础 Web服务组合的分类,按照动态程度分类: 静态:参与组合的Web服务、组合流程等均是设计时确定的,适合于构建稳定的组合系统。 半动态:预先给出当前组合Web服务的高层领域模版,但是运行时由系统根据用户需求和领域模版生成组合Web服务的各个步骤,再根据每一步对Web服务的需求而选择确定参与的Web服务。 完全动态:根据客户需求,运行时产生符合这种需求的若干个W
3、eb服务参与的组合系统。,按照人工参与程度分类: 人工:组合流程完全是设计人员一步一步制定的,工作流方法大部分都属于完全的人工组合方法。 半自动:设计人员可以在较高抽象层次表达组合需求,组合工具产生部分或者全部组合流程,设计人员可以在此基础上调整,不断反复,完成最终的组合流程。设计人员与组合工具有一个交互式过程。 自动:设计人员在较高抽象层次表达组合的功能和非功能性需求,组合工具自动产生组合流程。,Web服务组合基础 Web服务组合的分类,Web 服务自动组合过程,用户需求描述(服务组合建模),UML(UML-S):用UML对组合服务进行建模,把请求的服务建模为一个UML类,服务包含的操作映射
4、为类的方法,每个操作的内部行为用一个UML活动模型表示。 UML-S是对UML模型进行了扩展,加入了与服务描述相关的原型。UML-S类图:静态模型;UML-S活动图:动态模型。 OWL-S :ServiceProfile最大的特点是双向性,也就是说,服务提供者可以用它来描述服务的功能,而服务请求者也可以用它来描述所需要的服务需求。这样在服务发现时,服务匹配引擎就可以利用这种双向的信息进行匹配。,用户需求描述(服务组合建模),BPOL(Business Process Outsourcing Language) :两个主要部分组成:流规则以及组合需求。流规则指用户请求的并行或顺序服务,如果需要的
5、是并行服务,会指定并行任务数以及并行任务,同样,会指定顺序任务数以及顺序任务。每个任务可以由不同的服务提供者实现。组合需求指数据或数据流相关的需求,以及关于业务、偏好或事件的规则。 BPMN:业务过程建模符号BPMN1.0规范详细定义了如何实现从BPMN到BPEL的转换,Web服务语义描述,OWL-S:http:/www.w3.org/Submission/OWL-S/ WSMO/WSML(Web Service Modeling Ontology)本体:是一个关键元素,它们提供了描述其它元素的术语。进一步通过形式化语义连接机器和人类术语。服务:使用标准的基于web的协议用新的方式来交换和组合
6、数据。使用三个不同的方面描述:非功能属性,功能和行为。目标:指从用户角度来看一个服务应该提供的服务。中介器:目标是解决构成一个WSMO描述的不同元素之间出现的不匹配。允许连接异构资源。,OWL-S与WSMO不同之处OWL-S不区分用户需求的功能与服务提供的功能,service profile (例如名字,一个用户可读的描述和联系信息),WSMO建议使用一个广泛接受的词语库。 功能属性可以使用任意WSMO元素表示,而OWL-S只能在service profile中表示。,Web服务语义描述,SWSO/SWSL(Semantic Web Service Ontology):基于一阶逻辑,充分吸收了
7、OWL-S和WSMO/WSML的优点; http:/www.daml.org/services/swsf/1.0/swso/ WSDL-S:独立于语义表达语言,允许开发人员选择本体语言,如OWL或者UML。与其他工作相比,WSDL-S基于标准WSDL扩展,与已有的工具平台有更好的适应性。LSDIS实验室的METEOR-S项目旨在对现有的Web服务标准使用语义Web技术进行扩展。 WSDL-S是IBM和乔治亚州大学联合推出的。,UDDI,UDDI技术规范 V1:2000 年 9 月发布,版本 1 打下了注册中心的基础;V 2: 2001 年 6 月发布;版本 2 则添加了企业关系等;V 3:20
8、02 年9 月发布,版本 3 解决正在进行的 Web 服务开发中的重要领域内的问题,如安全性、改善了的国际化、注册中心之间的互操作性以及为进一步改进工具而对 API 进行的各种改进。 UDDI注册中心UDDI.SAP.COM(SAP公司)、UDDI.MICROSOFT.COM ( 微软公司)、UDDI.IBM.COM( IBM 公司)、WWW.NTT.COM/UDDI(日本NTT 公司)。都是遵循UDDI2.0规范。,本体,何为本体认为Ontology是共享概念模型的明确的形式化规范说明,这也是目前对Ontology概念的统一看法 本体建模5个基本建模元语:类(Classes)或概念(Conc
9、epts)、关系(Relations)、函数(Functions)、公理(Axioms)和实例(Instances) 已有本体及其分类,目前广泛使用的Ontology有:Wordnet(API)、Framenet等。中文:东南大学的中文WordNet(http:/ 商业化的,自动组合方法,基于Al理论的Web服务自动组合方法: 基于情景演算的Web服务自动组合 基于PDDL的Web服务自动组合 基于HTN的Web服务自动组合 基于定理证明的Web服务自动组合基于图搜索的Web服务自动组合方法: 基于依赖图的Web服务组合方法,Web服务组合的模型验证,基于Petri网的Web服务组合验证 基于
10、自动机理论的Web服务组合验证 基于进程代数的Web服务组合验证,Web服务组合优化,遗传算法等,Web服务组合的模型实现,手工编码技术:完全通过手工完成服务组合编码 模型驱动的半自动编码技术:通过软件工具由服务组合模型自动产生服务组合代码的骨架,然后再手工添加必要的成分; 自动编码技术:在服务具备语义信息的前提下,可通过服务组合代理自动产生服务组合代码。,依赖图,没有考虑前置条件和后置结果的影响 对于服务的功能没有进行匹配,对于具有相同输入输出而功能不同的服务的情况没有进行处理,考虑功能语义的依赖图,对组合服务自动生成的研究主要通过连接可用服务的输入输出参数来创建组合服务,但是并没有考虑组合
11、服务的功能语义。因此,可能会产生与用户的目的不一致的结果。具有相同输入输出参数的服务的功能可能是不同的。 功能语义,例如,计算距离的Web服务的功能指定为Calculate,Distance Service functionality = action, objectWeb service = (service functionality, input set, output set) 领域本体中包括领域数据和领域活动,即有数据和活动本体。活动本体定义了活动概念,表示了功能的语义层次,用来指定服务的功能。(Automated Generation of Composite Web Services based on Functional Semantics),认为有必要考虑的:加入功能语义 简化依赖图 服务时多操作的情况 在以服务为节点的图中进行服务组合,