文/黄余 朱秀娟
Web服务组合方法
文/黄余 朱秀娟
本文通过对Web服务组合的定义介绍,归纳介绍了目前主流的语义Web服务服务组合、BPEL的Web服务组合方法、于Petri网的Web服务组合方法以及基于Qos的Web服务组合方法进行了介绍四种常用的组合方法。为Web服务组合研究,提供一个小小的归纳,明确其研究关键点。
Web服务组合 方法研究
随着对Web服务的业务能力要求的逐渐提高,Web服务组合理论应运产生。基于XML的Web服务技术迅速发展,为互联网应用提供了一种共享数据的有效手段。Web服务的高效执行方式,Web服务与其他成熟技术的有机结合以及Web服务的组合是解决现实应用问题的重要技术。下面我们将对目前常用的Web服务组合方法进行分类并其对流程以及特点介绍,以发现目前Web组合方法的研究关键点及不足之处。
BPE是一种基于业务执行流程,使用XML编写的编程语言,是自动化业务流程的形式规约语言,在Web服务自动化业务流程中被广泛应用。
主要采用的为业务流程进行的编制和为业务协作的编排两种服务组合方式,这两个描述方法都被BPEL所支持,这样既可编写有可执行服务组合过程和定义服务协议。通过BPEL流程,用于表述特定业务的处理逻辑关系和算法,以支持面向过程的Web服务组合的方法。通过把现有的服务进行组合,形成一个新的服务,服务就成为了一个过程,而参与这个过程组合的称为参与者,消息的交换的行为称为活动,参与者则通过WSDL进行相互活动。
语义Web服务是为了计算机能过理解Web服务采用的一种方法描述的,目的是让Web服务成为计算机能够理解的实体,使Web服务能以开放的方式为应用程序提供服务。语义Web服务是由Web服务组合和语义Web组合而成,是能被本计算机理解和解释的一种服务信息。随着动态Web技术的普及,基于语义Web服务将大大增强其交互的处理能力,增强其Web上资源的管理效率。
语义Web服务将Web服务技术与语义Web的思想结合在一起,把服务赋予了语义的灵魂,语义为Web服务的描述加入了足够的信息,使Web服务成为能够被计算机实体。进而使Web服务能过实现自动化和智能化,是Web服务自动组合的必要基础。由于语义Web服务拥有足够的语义信息并且它还具备高度可集成和松散耦合的能力,服务中资源能过被自动的发现、组合。语义Web服务可以通过关键字和内容获得资源,WSMO、OWL-S、SAWSDL等较为成熟的语义Web服务描述语言做为服务的本体,自动的去调用、发现、组合、检测服务。利用语义推理技术,在语义Web服务的本体语言提供静态只是和Web服务能力支持下,查找出限定调下满足需求的服务候选集,并将它们组合起来,形成新的功能更强大的服务。
由于Petri网能够表达并发的事件,被认为是自动化理论的一种,被称为Petri网是所有流程定义语言之母。Petri网是简单的过程模型,由两种节点:库所和变迁,有向弧,以及令牌等元素组成的。 库所(Place)圆形节点;变迁(Transition)方形节点;有向弧(Connection)是库所和变迁之间的有向弧;令牌(Token)是库所中的动态对象,可以从一个库所移动到另一个库所,它们之间的活动由一定的规则加以限制。通过对Petri网分析我们发现与Web服务组合的图形非常相似,我们尝试把一个Web服务组合状态图映射为Petri网,进而求解。
Web服务组合使用业务过程语言和编程语言构造,跨域工作需通过工作流模型进行,该模型应具备成熟性、易用性等特点。我们把Web服务组合状态图映射为Petri网,一个变迁由Web服务操作表示,并且有三个端口:输入库、所和输出库所、控制库所,消息表示为令牌,服务动态组合时一个操作的效应/前提就是一个任务的效应/前提。为Web服务组合建立一个直观的,图形化的工具的分析模型。
以上三种是比较传统的Web服务组合的研究方法,它们间相互交叉。这些方法主要是侧重于Web服务组标准方面的功能属性。而对价格、可靠性、执行时间等用户所最关心的非功能属性研究QoS存在不足。
非功能的Qos属性是保障Web服务,系统运营成功和客户服务选择的重要依据。因此我们在Web服务组合过程中我们通常把Qos作为组合选择的一个标准。然而不同Web服务确定不同的Qos,如何从众多的服务候选集中选择出客户需要的Web服务最优解并把它组合起来,因此我们就需要采用基于Qos选择相同的服务。
Qos做为Web服务组合的一种限制条件,根据使用者对Qos做出的限制条件,选择出适合的服务组合,产生的服务组合最终必须满足使用者的一切Qos限制条件。那么基于Qos的服务器组合选择就应该对具有相同功能的Web服务进行组合选择。通常情况下我们需把基于Qos的服务器组合问题转化为数学问题,目前比较流行的是多属性决策问题、带QoS约束的单目标组合优化问题、多选择背包问题、以及整数、线性规划问题这五种方式。
基于QOS的Web的服务选择其核心就是一个优化组合问题,常用的策略方法有以下三种:全局最优策略、局部最优策略、混合策略。全局最优策略关注于在全部的服务器组合方案中确定出最优的方案,找出全局的最优QOS值,这个方法虽然得到了全局最优解,但缺点是算法复杂、资源浪费。局部最优致力于对单个抽象服务的组合方案,为每个抽象服务选择出Qos值得最优候选服务方案,再根据Qos限制的条件将这些Qos值取加权值,在把这些方案组合起来,使之成为一个整体。但由于这些服务相互间存在着不同的抽象联系,实际上并是是一个真正的整体,所以该方法得到的解往往是局部最优,而不是整体最优解。混合组合策略是把全局最优策略和全局策略结合起来交叉使用。具体方法是,现将每个抽象服务的候选策略通过局部最优策略过滤掉,而后在对剩余服务应用全局最优策略。该方法既然可以得到全局最优解,既节约了时间,又大大减少了系统资源的使用。因此我们把混合组合策略作为我们QOS的Web的服务选择最常用策略。
本文从Web服务组合方法、流程以及特点进行了介绍,发现服务的自动、高效的组合,就需解决服务冗余问题和简单组合问题,使服务得到增值。其根本就是实现Web服务的重用,避免资源浪费问题,而目前在两个层面基础问题需要解决:
不论什么语义系统都缺乏统一、良好的语言规范,对跨组织实现缺乏基础支持;
缺乏完善的评价模型。
[1]倪晚成,刘连臣.Web服务组合方法综述[J].计算机工程,2008,34(04):79.81.
作者单位 宜宾职业技术学院 四川省宜宾市 644003
黄余(1981-),男,四川省内江市人。硕士学位。讲师。主要研究方向为神经网络,计算机网络。朱秀娟,女,硕士学位。实验师。主要研究方向为神经网络,计算机网络。