2011年4月8日星期五

Web服务知识整理

朱海萍,李增智,杨怀洲. 基于面向服务体系结构 SOA的业务管理研究. 北京邮电大学学报. 2004, 27.

在过去的40年里,软件体系结构试图处理日益增长的软件复杂性。但是,复杂性仍在继续增加,传统的体系结构好像已经达到了它们处理此类问题的极限.在很多情况下,问题在于缺乏一个一致的体系结构框架,它能够装配组件和服务, 以便快速甚至动态地交付应用程序. 面向服务的体系结构是一个组件模型,它将应用程序的不同功能单元(称为服务) 通过这些服务之间定义良好的接口和契约联系起来.基于面向服务的体系结构SOA构建业务管理能够适应不断变化的业务环境, 比如经常改变的服务策略、业务级别、业务重点、合作伙伴关系、服务质量参数以及其他与业务有关的因素。

Web服务是一系列标准和正在发展中的标准,它们是由W3C设计和指定的,用来促进跨平台程序对程序通信。Web服务作为实现SOA的一种方式,能够提供高层的业务描述、注册和发现机制,并进一步实现业务环境中的事务机制、安全机制和业务流程.从更高的概念层面讲,可以将Web服务视为一些工作单元,每个单元处理特定的功能任务,进而可以将这些任务组合成面向业务的任务,以处理特定的业务操作任务.

李景霞, 侯紫峰. Web 服务组合综述. 计算机应用研究.2005.第12期:4-8.(文章主要介绍了Web服务体系结构,Web服务的描述语言WSDL、OWL-S,以及Web服务的组合技术。)

近年来Web服务技术得到快速发展和应用,Web服务是基于网络的、分布式的、自描述的、模块化的组件,它执行特定的任务,遵循一定的技术规范,提供了面向Internet应用的统一服务注册、发现、绑定和集成机制,成为广域环境下实现互操作的一种主要机制,得到产业界和学术界的广泛认可。

Web服务体系结构:

Web 服务体系结构由三种角色和三种基本操作构成。三种角色包括:

(1)服务使用者。它是一个应用程序,一个软件模块或需要服务的另一种服务。它发起对注册中心中服务的查询,通过传输绑定服务,并执行服务功能, 服务使用者根据接口契约来执行服务。

(2) 服务提供者。它是一个可通过网络寻址的实体,接收和执行来自使用者的请求。将自己的服务和接口契约发布到服务注册中心,以便服务使用者发现和访问该服务。

(3) 服务注册中心。它是服务发现的支持者,包含一个可用服务的存储库,并允许感兴趣的服务使用者查找服务提供者接口。

Web服务体系结构中的每个实体都扮演着服务提供者、使用者和注册中心这三种角色中的某一种(或多种)。Web服务体系结构中的三种操作包括:

(1)发布。为了使服务可访问,需要发布服务描述以使服务使用者发现和调用它。

(2)发现。服务请求者定位服务,查询服务注册中心来找到满足其需求的服务。

(3)绑定和调用。检索完服务描述之后,服务使用者根据服务描述信息来调用服务。

Web服务体系使用一系列标准和协议来实现相关的功能。使用WSDL(Web Services Descript ion Language)来描述服务,使用UDDI( Universal Descript ion, Discovery and Integration)来发布、查找服务,使用SOAP( Simple Object Access Protocol)来调用服务。

随着Web服务技术的日益成熟,越来越多的稳定易用Web服务共享在网络上。但单个的Web 服务能够提供的功能有限,为了更加充分地利用共享的Web服务,有必要将共享的Web服务组合起来,提供更为强大的服务功能,加快系统开发的速度,快速满足用户需求。

Web 服务作为一种崭新的分布式计算模型已经在电子商务、企业应用集成等领域扮演着越来越重要的角色。随着Web服务相关标准的持续完善和支持Web服务的企业级软件平台的不断成熟,越来越多的企业将其业务功能和流程包装成标准的Web服务发布出去,实现便捷快速的寻求合作伙伴、挖掘潜在客户和达到业务增值的目的。如何有效地组合分布于Internet中的各类服务,实现服务之间的无缝集成,形成功能丰富的企业级服务流程以达到企业的商业目标,已经越来越成为Web服务发展过程中的一个重要步骤。Web服务组合的研究正是在这种背景下被提出来,并吸引了工业界和学术界的广泛关注。国内外学者围绕 Web 服务组合建模语言、服务组合方法、服务组合执行、服务组合验证等方面进行研究,启动了诸多研究项目,如METEOR-S、SEFL-SERV、e-Flow等。Web服务组合问题已经成为分布式计算、流程管理以及软件工程领域的一个研究热点,研究成果也层出不穷,本文重点就当前主要的服务组合方法进行综述。

Web 服务组合是指当单个Web服务无法满足用户需求时,将若干Web服务进行有机合成,以形成大粒度的具有内部流程逻辑的组合服务的过程。

吴家菊 ,刘 ,席传裕。基于Web服务的面向服务(SOA)架构研究。现代电子技术。2005.28(14).

随着互联网的发展,网上交易、电子商务的逐渐繁荣,企业内部、企业之间的信息交流越来越依赖于Internet/Intranet。随之而发展的Web服务为分布式计算提供了支持。Web服务的平台和语言中立性使得跨平台的互操作、系统的整合更加容易。同时Web服务技术的成熟化使得SOA架构思想得到很好的应用。

早在十年前,Gartner Group就提出了面向服务软件体系架构概念。但是传统SOA的实现采用的都是一种紧耦合、非通用的接口设计,无法满足跨企业的分布式系统的信息共享,无法使软件得到最大限度的重用,不能实现实时系统,因而一直没有得到很好的应用。随着W3C对Web服务的协议的规范化以及IBM、Microsoft、SUN等国际顶级IT大公司联合制定规范和服务支持,Web服务技术日趋成熟化。Web服务采用了一种面向服务的开放的、松耦合的架构,所有协议都是基于XML具有通用性,并且实现简单。因此,Web服务给SOA软件体系架构带来了新的契机。本文深入剖析了传统SOA架构技术和Web服务的原理、实现机制,并且分析了基于Web服务的SOA的实现,描述了基于We b服务的SOA的通信结构和实现层次结构。

SOA观念不是新的,CORBA和DCOM就很类似,但是,这些过去的面向服务架构都受到一些难题的困扰:首先,他们是紧密耦合的,这就意味着分布计算连接的两端都必须遵循同样API的约束。例如,如果一个COM对象的代码有了更改,那么访问该对象的代码也必须做相应更改。其二,这些面向服务架构受到厂商的约束。Microsoft控制DCOM自不必说,CORBA也只是一个伪装的标准化努力,事实上,实现一个CORBA架构,经常都是在某个厂商对规范的实现上进行工作。今天的SOA与过去不同的是基于已广泛接受的Web服务标准,从而提供了在每个不同的厂商解决方案间的相互性。

Web服务将软件模块看成一种Internet/Intranet上的服务单元,借助XML和广泛应用的Web协议,实现分布式的计算和异构平台的信息集成。

Web服务协议与技 术

Web服务的核心技术为XML。他的具体协议为SOAP、WSDL和UDDI。XML在Web服务中不是一个单独的协议,但他却是Web服务的核心技术。XML为Web服务提供了统一的数据格式,包括消息、服务描述以及工作流的描述等不同层次的协议,都采用XML作为定义语言。XML的数据描述机制奠定了Web服务革命的技术基础。

SOAP是用于交换XML编码信息的轻量级协议。他使用基于TCP/IP的应用层协议HTTP、SMTP、FTP等,可以与现有的通信大量兼容。

WSDL是借助XML来描述一个网络服务或端点,用于定义Web服务以及调用方式。

UDDI提供了在Web上描述并发现商业服务的框架,是面向Web服务的信息注册中心的实现标准和规范。

SOA是一种以服务流程为中心的体系结构。流程可以分解成一系列的步骤,每一个步骤表示一个业务服务。实际上,每个过程服务或组件功能都相当于一个子应用程序。将这些子应用程序链接在一起可以创建能够满足业务需求的服务流程流。流程流中的任何元素都是独立的服务,可以方便地修改。因此,SOA允许实时使用和重用整个组织中的子应用程序。SOA的实现方法是一种自顶而下的设计方法。SOA软件体系架构思想中最重要的一条就是:“服务就是一切”。系统架构设计师在设计软件系统结构时,一切都是从服务的角度出发,首先考虑服务需求,进行系统服务装配。

正。We b服务组合研究综述。计算机应用与软件。2007. 24(2):23~26.(文章主要介绍了Web服务、语义Web服务、服务组合的相关技术。)

W3C组织2004年初在Web服务体系结构(Web Services Architecture,WSA)中对Web服务的定义如下:Web服务是一个软件系统,被设计来支持网络上机器之间的可互操作的交互,它有一个清晰的、机器可读的、通用的标准描述(WSDL),其他系统以该描述中说明的方式与它交互,具体使用SOAP消息以及其他Web相关标准,具有完全开放、松散耦合、标准协议规范和高度可集成能力等特征。Web服务体系结构关注于全球Web服务网络中Web服务之间的互操作,主要目标集中在互操作性、可扩展性、安全性、Web集成、实现和管理几个方面。

综合已有的各种定义,我们对Web服务组合提出一个更为通用和完整的定义:利用Internet上分布的现有Web服务,根据用户的应用需求,自动地选择合乎需要的服务,在服务组合支撑平台的支持下,按照一定的规则协同完成服务请求。Web服务组合可以利用较小的、较简单的、且易于执行的轻量级服务来创建功能更为丰富、更易于用户定制的复杂服务,从而能够将松散耦合的、分散在Internet上的各类相关Web服务有机地组织成一个更为可用的系统,支持企业内、外部的企业应用集成EAI和电子商务等网络应用。

随着计算机应用的进一步发展,网络的研究重点从网络层系统互联向应用层服务集成的迁移已成为必然。而在应用领域,全球经济的竞争不断加剧,企业要在这种激烈的市场竞争中生存下去并要取得不断进步,必须能够对客户需求、市场机遇以及外部竞争的变化做出快速而灵活的响应。另一方面,如何更好地保护企业先前投资,利用已有资源,整合出符合要求的、有效的新服务,这已经成为一个迫切需要得到解决的问题。围绕这一问题,不少技术应运而生。当前正在迅速发展的是基于Web标准的服务组合,该方法被广泛用来改进企业软件系统的敏捷性、灵活性和可用性。

Web Services Architecture.2009.http://www.w3.org/TR/ws-arch/#whatis

Berners-Lee提出的语义Web的目标是使得Web上的信息具有计算机可以理解的语义,满足智能软件代理对WWW上异构和分布信息的有效访问和搜索。在语义Web中,Ontology具有非常重要的地位,是解决语义层次上信息共享和交换的基础。Gruber认为,本体是概念化的明确的规范说明。为了便于使用,需要有一个通用的标准语言来表示本体。在语言开发方面,主要集中在OWL-S它是一种具有显式语义的无歧义的机器可理解的标记语言。

QoS的最初定义由CCITT(ITU—T)给出:“QoS是一个综合指标,用于衡量使用一个服务的满意程度”。在OSI参考模型中,互联系统被构造为分层结构,各层协议的质量可定义为对于该层来说可见的性能参数,从而每一层都有一组提供给该层用户的QoS参数。在更高层次的应用层,Web服务已经发展成为企业应用集成的主要方式,Web服务能够提供的服务质量在商务关系中占有极其重要的地位。

20世纪90年代末,随着分布式对象技术和XML技术的发展,出现了Web服务(Web services)技术,基于Web服务的分布式计算模式正在成为技术发展的趋势。

We 服务是指那些由URI 来标识的应用组件,其接口和绑定信息可以通过XML定义、描述和查找;同时,Web服务通过基于Internet协议的XML消息,可与其他软件、应用直接交互。换言之,Web服务就是可以通过标准的Internet协议访问的应用组件,它不依赖于特定的硬件、操作系统和编程环境。

Web服务是一个软件系统,它被用来设计和支持网络上机器之间的可互操作的交互,它有一个清晰的、机器可读的、通用的标准描述(WSDL),其他系统以该描述中说明的方式与它交互,具体使用SOAP消息以及其他Web相关标准,具有完全开放、松散耦合、标准协议规范和高度可集成能力等特征。

党伟超, 白尚旺. 一种基于OWL-SWeb服务体系结构. 计算机技术与发展. 2007. 17 (5): 195-197.(这篇文章主要介绍了Web服务的关键技术,SOAP, WSDL, UDDI。指出了WSDL描述Web服务的不足,需要添加本体,之后介绍了OWL-S技术。)

Web服务技术是一种新型的面向服务体系结构实现形式,在Internet环境中,软件系统功能的实现借助于相互协作的各个服务交换信息来完成,这需要解决诸如Web服务描述、服务发现、服务的调用和组合等问题。

Web服务,是一个新的分布式计算模型,是web上数据和信息集成的有效机制。Web服务主要利用WSDL进行服务接描述,采用SOAP进行服务调用,UDDI规范进行服务的发布和查找。所有这些标准都基于XML,由于XML具有跨平台和松散耦合的特点,从而使web服务成为解决企业应用集成(EAI)、B2B等的最佳解决方案。

要实现服务的动态组合和协调还要解决诸如服务的重用与合成、安全、QoS及基于长事务的服务管理与调度等更为复杂的应用问题。

SOAP定义了在Web服务间传递消息的格式,并且还描述了使用http来传递消息。WSDL文档将Web服务定义为服务访问点或端口(port)的集合。UDDI的核心组件是UDDI商业注册,它使用一个XML文档来描述企业及其提供的web服务。白页,企业的基本信息,名称,地址,经营范围。黄页,依据标准分类法区分不同的行业类别,使企业能够在更大范围内查找已经在注册中心注册的企业或web服务;而绿页包括企业所提供的web服务的技术信息。

对于Web服务,需要从形式和内容两方面进行描述。在形式方面,XML保证了信息交互的标准化,而WSDL集中描述与服务调用相关的具体细节,如网络协议、消息格式、参数的类型等,也就是集中在Web服务的语法描述上,而没有对服务的语义和性能信息进行描述。对于基于Web服务的动态应用集成来说,它需要服务组件能够协同,并要求根据业务流程的变化能够动态地绑定和调整服务组件,仅仅依靠WSDL描述的物理信息,还不能完全达到目标这就要求在WSDL之外提供服务的语义描述信息和性能信息,使Web服务成为计算机可理解的实体,从而实现服务的动态发现、调用、组合、验证以及执行监控。要实现Web 服务发现、调用和组装的自动化,有两个关键问题。首先,对于服务发现,不能仅仅依赖关键词搜索,而需要按照服务所提供的功能搜索,这样才能找到确实需要的服务。其次对于服务调用和服务组装的自动化,需要基于语义的互操作,也就是说,服务之间必须能够理解互相交换的信息。

服务使用WSDL来描述还是不够,需要采用本体来描述服务,增加服务的语义信息。基于本体进行服务的描述与理解,通过构造企业特定领域本体,建立企业之间的关联。领域本体提供了该领域的概念定义和概念之间的关系,提供该领域发生的活动以及该领域的主要理论和基本原理等, 在该特定领域中可重用。

吴善明 ,沈建京,韩强. 基于领域本体和 OWL-S的Web服务组合方法. 计算机工程. 2009, 35(21).

本体即概念的明确规范说明。Web服务的语义描述主要依赖2类本体:领域本体和Web服务本体。Web服务本体定义了用于描述Web服务的主要方面,这些方面独立于Web服务作用的具体领域。领域本体是领域术语集和领域知识集的总体,是领域的概念化详细说明,可用本体语言将其详细说明。Web服务本体为Web服务提供了统一的本体框架模型,从而便于后续Web服务语义描述。领域本体为Web服务的语义描述提供公共的基本领域概念和术语。

OWL-S即网络本体服务语言,由DAML-S发展而来,是OWL的应用。OWL-S主要包括4个任务:自动Web服务发现,触发,组合和互操作,执行监控。为达到此类目标,OWL-S通过一组规范的知识本体来描述服务,并将该本体划分为3个组成部分:服务轮廓,即服务能提供什么;服务模型,即服务如何工作;服务基点,即服务如何被访问。

在OWL-S的服务模型中,定义一个过程模型,包括2个部分:(1)过程,从服务的组成过程(如输入、输出、前提和效果等)来描述服务,使服务能够进行规划、动态组合以及交互操作;(2)过程控制模型,实现智能主体对一个服务请求的执行控制。通常把这2个部分称为过程本体和控制本体,通过过程本体可以定制广泛服务,通过控制本体可以监控服务执行。在控制本体结构中,原子过程是能够直接被调用的Web服务,不可分割且可以单步执行。与之相比,简单过程也是单步执行,但它既不能被调用,也不需要与服务基点相结合。组合过程是由原子过程或组合过程通过控制结构连接起来的。

Web的创始人Tim Berners-Lee于2001年首次提出语义网的概念,并把它看成是网络的发展方向。

在计算机科学与信息科学领域,理论上,本体是指一种“形式化的,对于共享概念体系的明确而又详细的说明”。本体在特定领域内提供统一的词汇表,使各个系统之间表达的含义一致,也可以说本体就是一个术语集。广泛地应用于各个领域,例如物流领域本体、基于本体的知识管理、基于本体的知识检索等等。本体的实现目标是获取相关领域的知识,提供对该领域的共同理解.

本体原本是哲学上的术语,后来被用在计算机领域。指的是描述一组概念和关系构成的世界。本体最重要的目标就是尽量与现实世界中的事物一致。本体在哲学和计算机领域的共同点在于它们都是依赖某种类别体系来表达概念和现实之间的关系的。人们已经完成了大量的工作来解决本体相对性的问题。本体能够将有关概念关系通过框架结构显示地表示出来.

从历史上看,本体是哲学上形而上学的分支。二十世纪下半叶,哲学家们普遍开始研究构建本体的方法,但并没有成功地构建出本体。但计算机领域却构建出比较大型的本体,但没有从理论上对本体进行研究。二十世纪70年代,科研人员认识到构建本体的重要性,普遍认为把本体构建成计算机模型将促进人工智能和自动推理的实现。二十世纪80年代,科研人员普遍开始使用“本体”这个词语,由于其来自于哲学,科技界把本体视为应用哲第2章语义网相关技术概述学[27]。二十世纪90年代,汤姆?格鲁伯发表了一篇著名的论文《Toward Principles for the Design of Ontologies Used for Knowledge Sharing》。这篇论文为本体下了严谨的定义。本体大多是由类、定义、归类关系构成的分类层次机构,但也不全是这种形式的,它引入的仅仅是术语,而不是任何现实世界的知识。

李景霞, 侯紫峰. Web 服务组合综述. 计算机应用研究.2005.第12期:4~8.

语义网( Semantic Web)的发展要求可以通过Web资源的内容等语义信息来访问Web资源,而不仅仅是通过数据类型匹配、关键词匹配来查找信息。Web服务作为Web上的一类越来越重要的资源,同样要求Semantic Web对其提供广泛的语义支持,从而实现Semantic Web Services。OWL-S就是Semantic Web 中一种用来描述Web服务的属性和功能的本体规范,它使用一系列基本的类和属性来描述Web服务,提供了一个可共享的框架。它的目标是使得 Web 服务成为计算机可理解的实体,从而便于实现服务的发现、调用、互操作、组合、验证和执行监控等。

正。We b服务组合研究综述。计算机应用与软件。2007. 24(2):23~26.

Berners-Lee提出的语义Web的目标是使得Web上的信息具有计算机可以理解的语义,满足智能软件代理对WWW上异构和分布信息的有效访问和搜索。在语义Web中,Ontology具有非常重要的地位,是解决语义层次上信息共享和交换的基础。Gruber认为,本体是概念化的明确的规范说明。

语义Web的概念被用来定义智能的Web服务,以便支持服务的动态发现、组合、调用和互操作等工作的自动化。语义Web概念和Web服务的研究相结合,形成了当前的语义Web服务。语义We b服务基于Web服务建模框架(Web Services Modeling Framework,WSMF)的理念,将语义加入到工作流程领域(BPEL、BPML或WSCI)的建模机制中去,并集成这些语义到服务本体中。

为了便于使用,需要有一个通用的标准语言来表示本体。在语言开发方面,主要集中在OWL-S,它是一种具有显式语义的无歧义的机器可理解的标记语言。在OWL-S中,一个Service由三部分来描述:Service Profile、Service Mode和Service Grounding。 Service Profil描述服务是做什么的,Service Mode描述服务是怎么做的, 而Service Grounding则描述应该怎么访问服务。

王刚,Ontology、Agent及Qos在服务选择中的应用研究,安康学院学报,2010,22(1):8-15

由于服务质量要素的多维以及缺少语义和有效的协商,用户难以获取满意的服务。因而提出利用Ontology和Agent,并结合Qos (Quality ofService)要素来进行服务选择的办法。该方法利用本体及Qos要素来表示语义,重点研究和改进了本体相似度计算方法,研究了Qos要素参与的语义相似性计算方法,并由Agent根据语义相似度的大小和服务成本,进行协商,设计了具体的协商算法,通过协商达成一致,选出用户满意的服务方案。

利用Ontology和Agent,并考虑Qos要素来进行服务选择,避免单纯考虑Qos的要素·本文把相似性研究的成果引入到概念相似性度量,利用ontology来表示语义和知识

李迎秋, 温涛, 陈明华,QoS感知的Web服务选择,东北大学学报(自然科学版),2010,31(5):634-638

针对以往研究多基于未简化的过程模型,在服务选择算法执行过程中需要考虑不同类型的流程结构,影响了算法的执行效率.本文将复杂的过程模型进行预处理,将其简化为基于轻量级扩展分层图的模型,并在此基础上设计了基于自适应遗传算法的Web服务选择算法利用分层图技术对复杂的服务组合过程模型进行化简,将服务选择问题简化为有向图中的选路问题,这样在服务选择时就无需考虑不同的流程结构(例如,顺序、选择、并发和循环结构等),从而降低了服务选择算法的复杂性。

没有评论:

发表评论