(计算机软件与理论专业论文)支持qos的应用定制和服务组合模型研究与实现.pdf_第1页
(计算机软件与理论专业论文)支持qos的应用定制和服务组合模型研究与实现.pdf_第2页
(计算机软件与理论专业论文)支持qos的应用定制和服务组合模型研究与实现.pdf_第3页
(计算机软件与理论专业论文)支持qos的应用定制和服务组合模型研究与实现.pdf_第4页
(计算机软件与理论专业论文)支持qos的应用定制和服务组合模型研究与实现.pdf_第5页
已阅读5页,还剩57页未读 继续免费阅读

(计算机软件与理论专业论文)支持qos的应用定制和服务组合模型研究与实现.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 随着w e b 服务技术鉴于其封装性、松耦合等特点获得了的广泛应用,众多的 服务提供商将他们的服务以w e b 服务的形式封装并发布。相应的,消费者对于服 务的功能、反应速度、服务质量的要求也日益提高,使得单个服务越来越难以满足 众多用户的个性化需求。此时,服务组合变得十分必要。 服务组合即要求能够根据用户的需求,采用现有的各种服务动态的生成可以满 足用户需求的新的服务。由于采用了已有的服务,一方面可以实现软件的复用、资 源的共享;同时,组合服务的动态生成,极大地缩短了服务开发周期、降低了开发 成本。 目前服务组合领域研究的难点主要集中在:如何准确的描述用户的实际需求; 并根据需求选择合适的服务以组合生成可以满足需求的新服务;服务组合过程的自 动化以及组合后服务的服务质量等方面。本文主要围绕着支持q o s 的应用定制和 服务组合系统设计与实现展开论述。 提出了基于最大应用模板的应用定制和服务组合系统模型。包括模型的体系结 构和工作流程。通过最大应用模板准确描述应用的工作流程和业务逻辑,并根据用 户的需求自动演化生成应用定制。将应用定制映射到对应的服务类,实现自动化的 服务组合。 设计了基于信用的q o s 保证机制。包括信用模型以及信用记录驱动的服务管理 策略。定义信用记录调整算法,采用信用记录的形式来表征服务的历史信用状况, 并对服务的q o s 作出预测。以此为基础实现信用记录驱动的服务管理系统。 最后,设计、实现了支持q o s 的应用定制和服务组合系统,并通过实验验证了 该系统的有效性。 硕士研究生殷宪振( 计算机软件与理论) 指导教师蒋静教授 关键词:面向服务计算;服务组合;应用定制;q o s l 信用模型 a b s t r a c t w e bs e r v i c e st e c h n o l o g y sc h a r a c t e r i s t i c so f p a c k a g e d ,l o o s e l yc o u p l e dm a d ei th a daw i d er a n g e o fa p p l i c a t i o n s m o r ea n dm o r es e r v i c ep r o v i d e r sp a c k a g e dt h e i rs e r v i c e si n t ow e bs e r v i c e sa n d p u b l i s h e dt h e m a c c o r d i n g l y , t h es e r v i c ec o n s u m e r sd e m a n d so fr e s p o n s es p e e d ,s e r v i c eq u a l i t yg e t h i g h e ra n dh i g h e r , m a k i n gi ti n c r e a s i n g l yd i f f i c u l tt om e e tt h ec o m s u m e r s n e e d sw i t ht h es i n g l e s e r v i c e s o ,s e r v i c ec o m p o s i t i o ng e t sn e c e s s a r y s e r v i c ec o m p o s i t i o nm e a n sc o m b i n e dk i n d so fe x i s t i n gs e r v i c e si n t oan e ws e r v i c ed y n a m i c a l l y i na c c o r d a n c ew i t hu s e r sn e e d s a sar e s u l to f u s i n ge x i s t i n gs e r v i c e sc a nr e a l i z en o to n l ys o f t w a r e r e u s e ,s h a r i n go fr e s o u r c e sb u ta l s ot h ed y n a m i c a l l yg e n e r a t e dc o m b i n a t i o no fs e r v i c e s ,w h i c hg r e a t l y s h o r t e nt h ed e v e l o p m e n tc y c l eo f s e r v i c ea n dr e d u c et h ed e v e l o p m e n tc o s t s a l m o s ta l lo fr e s e a r c ho ns e r v i c e sc o m p o s i t i o na l lf o c u s e do nt h e s ed i f f i c u l t yf i e l d s :h o wt o a c c u r a t e l yd e s c r i b et h e a c t u a ln e e d so fu s e r s ;a n di na c c o r d a n c ew i t ht h ed e m a n df o rs e r v i c e st o c h o o s et h er i g h te x i s t i n gs e r v i c ea n dc o m b i n e dt h e mi n t oan e ws e r v i c et om e e tt h en e e d so fu s e r ; s e r v i c e sc o m p o s i t o np r o c e s sa u t o m a t i o na n dq u a l i t yo fc o m p o e ds e r v i c e , e t c t h i sa r t i c l ei sm a i n l y a b o u tt h ed e s i g na n di m p l e m e n t a t i o no fa na p p l i c a t i o nc u s t o m i z a t i o na n ds e r v i c ec o m p o s i t i o ns y x t e m w h i c hs u p p o r tt h eq o s f i r s t , t h el a r g e s ta p p l i c a t i o no fat e m p l a t e - b a s e da p p l i c a t i o n sa n ds e r v i c e sc u s t o m i z e dm o d e l p o r t f o l i o ,w h i c hi n c l u d et h ea r c h i t e c t u r ea n dw o r k f l o w s e c o n d l y , t h et h e s i sd e s i g n e dt h ec r e d i t - b a s e dq o sa s s u r a n c em e c h a n i s m s ,w h i c hi n c l u d et h e r e c o r d so fc r e d i ta n dc r e d i t - d r i v e nm o d e lo fs e r v i c em a n a g e m e n ts t r a t e g y f i n a l l y , t h et h e s i sd e s i g n sa n da p p r o a c ha p p l i c a t i o nc u s t o m i z a t i o na n ds e r v i c ec o m p o s i t i o n s y s t e mw h i c hs u p p o r tt h eq o sa n de v a l u a t ei t sp e r f o r m a n c ew i t he x p e r i m e n t s m a s t e rs t u d e n t :x i a n - z h e ny i n ( c o m p u t e rs o f t w a r ea n dt h e o r y ) d i r e c t e db yp r o f j i a n gj i n g k e y w o r d :s e r v i c e - o r i e n t e da r c h i t e c t u r e ,s e r v i c e sc o m p o s i t i o n , a p p l i c a t i o nc u s t o m i z a t i o n ,q o s ,c r e d i tm o d e l 学位论文独创性声明、学位论文知识产权权属声明 学位论文独创性声明 本人声明,所呈交的学位论文系本人在导师指导下独立完成的研究成果。文中 依法引用他人的成果,均已做出明确标注或得到许可。论文内容未包含法律意义上 已属于他人的任何形式的研究成果,也不包含本人已用于其他学位申请的论文或成 果。 本人如违反上述声明,愿意承担由此引发的一切责任和后果。 论文作者签名:存垒掘 日期:2 口t 罗年r 月p 日 学位论文知识产权权属声明 本人在导师指导下所完成的学位论文及相关的职务作品,知识产权归属学校。 学校享有以任何方式发表、复制、公开阅览、借阅以及巾请专利等权利。本人离校 后发表或使用学位论文或与该论文直接相关的学术论文或成果时,署名单位仍然为 青岛大学。 本学位论文属于: 保密口,在年解密后适用于本声明。 不保密电 ( 请在以上方框内打“4 ”) 论文作者签名:缸勃很 日期:矽纡i ,月。日 导师雠耨暂 吼知脚洲日 ( 本声明的版权归青岛大学所有,未经许可,任何单位及任何个人不得擅自使用) 6 1 第一章引言 1 1 研究背景 第一章引言 随着社会的发展、技术尤其是网络技术的进步,从根本上改变了人们传统的服 务与消费理念。w e b 服务是基于网络、分布式、自包含、自描述、模块化的应用程 序,作为一种新的服务方式,使服务的双方都脱离常规的时间、地点的限制,极大 的方便了用户,同时也为服务提供商带来了巨大的利润。因此越来越多的企业将自 己的应用程序作为w e b 服务发布。 相应的,服务的用户对服务的反应速度,服务的功能,服务的质量要求也越来 越高。而且供应商提供的单个服务也越来越难满足用户的实际需要。因此,服务组 合成为必然。服务组合即根据具体需要把相关的服务动态组合并发布为一个可以完 成特定任务的新服务。 s o a ( s e r v i c e o r i e n t e da r c h i t e c t u r e ) 川技术是一种面向服务的组件模型,它旨在 降低交互的软件代理之间的耦合度,可以根据需求通过网络对松散耦合的粗粒度服 务组件进行分布式部署、组合和使用。它将应用程序的不同功能单元( 服务) 通过 服务之间定义的接口和协议联系起来,接口的定义独立于实现服务的硬件平台、操 作系统和编程语言,可以实现应用架构与计算的分离。 在s o a 体系结构中,服务提供者将其一k 务封装为服务并对外发布,服务消费者 根据自身业务需要,查找满足需要的服务进行消费【2 】。随着面向服务计算技术的广 泛应用,提供同一功能的服务越来越多,选择已有的各种服务,并对这些服务进行 组合,从而为消费者提供量身定制的应用,逐渐成为竞争的主要囚素。而撩堋 务组 合领域,最有挑战性的问题就是如何方便、准确地表达用户的需求以及如何选择、 集成合适的服务来满足和解决用户需求。 用户的需求一般都处于较高的抽象层次,而且具有很强的个性化特征,凶此无 法对不同用户的不同需求进行统。的描述。另,。方面出于组件复用的日的w e b 服务 被设计为仅能满足简单、具体的需求。因此为了更好的满足用户复杂的个性化需求, 必须设计一个应用定制和服务组合模型。该应用定制和服务组合模型应该具有以下 功能:能够准确的根据用户的复杂需求,为用户定制满足个性化需求的应用;能够 针对用户的个性化复杂需求,组合所需要的w e b 服务生成新的服务。 1 2 课题研究现状 在面向服务的计算中,程序开发人员可以将服务作为基本的元素来使用。在这 个基础之上,服务的组合( c o m p o s i t i o n ) 成为了服务最覃要的特性之一。在此w e b 青岛大学硕士学位论文 s e r v i c e 的定义可以类比为面向对象编程中对对象的定义,那么所谓服务组合利用各 个已有对象的功能来实现新的功能。无论是程序开发人员还是最终用户,都可以将 已有的服务进行组合,从而获得新的、功能更加强大的服务,以满足不同的需求。 另外,一方面服务组合通过对服务的重性,提高了资源的使用率,同时由于使用了 已有的组件,也大大缩短了开发周期。一个好的服务的组合方法必须具有足自适应 性和服务质量( q u a l i t yo fs e r v i c e ,q o s ) 两个特性,其中自适应性包含了三个方面:上 下文的适应性,要求系统可以准确的描述用户的需求,并以系统可以理解的形式表 示;多通道的服务提供,不会互相干扰的并行调用;在提供组合服务时,组合过程的复 杂细节应该对用户透明。组合后服务的q o s 应该跟其它非组合生成的服务有相类似 的参数。此外组合服务还需要特别关注:连通性( c o n n e c t i v i t y ) 和正确性( c o r r e c t n e s s ) 。 目前有关服务组合方面的研究主要分成三大方向:第一个方向是定义能够实现 服务描述、调用机制和服务组合的描述语言;第二个方向是寻找能够实现自动服务组 合的机制、思想及算法:第三个方向是构建合适的服务组合框架。 1 3 本文研究内容及意义 服务组合能够重用己有的服务,实现功能更强人的复合服务。从用户的角度来 说,组合后的服务能够更好的满足用户的要求,同时将调用各单独服务的逻辑隐藏 在流程内进行,可以更方便、更简练实现对服务的调用。从开发者的角度来说,对 服务进行组合可以有效的节省开发时间成本。从服务提供者的角度来说,能够降低 提供各种服务的配置成本和运行成本。从各单独服务的角度来说,服务组合能够为 服务的调用提供结构化的表示,将业务逻辑映射到流程描述中,而不是映射到服务 内,使得服务能够有更广泛的同时也是更专一的功能实现。研究服务组合,是为了 从语义、语法上将服务进一步抽象的表达。从服务组合的运行流程上来看,服务组 合实际是在用户和已存在服务之间的一个中间层。它一方面要能理解客户的需求, 一方面要能理解已存确:服务的调用格式,本来在这两者之间就存在很大的距离,并 且随着用户对服务的速度、功能、质量要求越米越高,单个服务的就更加难以满足 要求。所以,研究服务组合就是可以连接这两部分,消除这其中的“鸿沟”。研究服 务组合也是实现对异构服务的关联的手段。当今各个已存在的服务可能由不i 司的提 供商提供、用不同语言编写、运行在不同平台、不同的网络环境,我们需要将这些 细节对用户隐藏,只给用户( 或上一层服务调用者) 提供一个统一的语法接口,同时 保留各个服务的语义的独特性。服务组合不光是从应用的角度上将这些异构环境下 的服务统一起来,而且提供了服务问的交互手段,大大增加了不同服务的表现方式。 当今的服务组合的学术研究集中在实现自动组合的思想算法研究和框架研究两 个方向,让已有的服务通过某种组合的机制来自动生成新的服务;同时,当今的商业 2 第一章引言 规范集中于如何正确的生成、描述和执行组合服务的体系架构上,使得服务组合可 以准确的设计和执行。学术研究现在还处于比较模糊的阶段,因为实现自动组合需 要以合适的框架和合适的算法两者为基础,缺一不可;商业规范相对来说较为成熟, 已经能够较好的满足商业上流程描述和流程执行的需要,但仍然有朝着更准确、更 详细的方向研究的潜力。 针对上述需求本文提出一种基于最大应用模板的应用定制和服务组合模型。最 大应用模板是该系统所支持的所有应用的模板,包含此类应用所涉及的所有服务, 准确描述了系统所支持的应用的业务逻辑和业务流程。所有根据不同用户个性化的 需求动态定制的应用,都是由此模板通过简化衍生而来。该应用定制同时可以细化 用户个性化的复杂需求到具体的w 曲服务需求,并将应用定制影射到具体的w e b 服务 类,从细化的用户需求生成调用各w 曲服务所需的参数,实现服务的组合。 鉴于组合的服务随服务组件数量的增加,其可用性迅速降低,无法保证组合服 务的连续性。因此我们引入基于信用的q o s 保证机制,通过以信用记录驱动服务管 理算法,以确保组合后服务的服务质量。 1 4 本文的结构 本文的研究内容的组织结构图,如图1 1 所示。 图1 1 本文结构图 青岛大学硕士学位论文 1 5 小结 本章是一个综述性的章节,为本文的研究工作做了简单的介绍。共分四部分。 第一部分:研究背景的介绍,分析了研究的意义和必要性。第二部分:介绍目前本 课题的研究现状,并讨论分析了目前研究存在的问题。第三部分:本文的主要研究 内容。第四部分:本文的组织结构图。 4 第二章服务组合技术概论 第二章服务组合技术概论 2 1 面向服务架构和w e b 服务技术 2 1 1 面向服务架构 s o a 是一种架构模型,是构造分布式系统的应用程序的方法。它将应用程序功 能作为服务发布给最终用户或者其他服务。它可以根据需求通过网络对松散耦合的 粗粒度应用组件进行分布式部署、组合和使用。一个应用程序的业务逻辑( b u s i n e s s l o g i c ) 或某些单独的功能被模块化并作为服务呈现给消费者或客户端。这些服务的 关键是他们的松耦合特性。服务的接口和实现相独立。应用开发人员或者系统集成 者可以通过组合一个或多个服务来构建应用,而无须理解服务的底层实现。服务层 是s o a 的基础,可以直接被应用调用,从而有效控制系统中与软件代理交互的人为 依赖性。 s e r v i c e a r c h i t e c t u r e c o m 将s o a 定义为:“本质上是服务的集合。服务问彼此通 信,这种通信可能是简单的数据传送,也可能是两个或更多的服务协调进行某些活 动。服务间需要某些方法进行连接。所谓服务就是精确定义、封装完善、独立于其 他服务所处环境和状态的函数。”l o o s e l y c o u p l e d t o m 将s o a 定义为:“按需连接资 源的系统”。在s o a 中,资源被作为可通过标准方式访问的独立服务,提供给网络 中的其他成员。与传统的系统结构相比,s o a 规定了资源间更为灵活的松散耦合关 系。g a r t n e r 则将s o a 描述为:“客户端服务器的软件设计方法,一项应用南软件服 务和软件服务使用者组成,s o a 与大多数通用的客户端朋艮务器模型的不同之处,在 于它着重强调软件组件的松散耦合,并使用独立的标准接口。” 虽然不同厂商或个人对s o a 有着不同的理解,但是我们仍然可以从上述的定义 中看到s o a 的几个关键特性:一种粗粒度、松耦合服务架构,服务之间通过简单、 精确定义接口进行通讯,不涉及底层编程接口和通讯模型。 s o a 作为种业务建模思想和架构风格;它以服务为核心,构建系统:通过进 化控制节奏;支持对业务进行整合,使其成为一一种能够相互联系、可重用的业务任务 或者服务。具有以下特征: 独立的功能实体,在i n t e r a c t 这样松散的使用环境巾,任何访问请求都有可能出 错,因此任何企图通过i n t e r n e t 进行控制的结构都会面临严重的稳定性问题。s o a 非常强调架构中提供服务的功能实体的完全独立自主的能力。传统的组件技术, 如n e tr e m o t i n g ,e j b ,c o m 或者c o r b a ,都需要有一个宿主( h o s t 或者s e r v e o 青岛 学目学论女 来存放和管理这些功能实体:当这些宿主运行结束时这些组件的寿命也随之结束。 这样当宿主本身或者其它功能部分出现问题的时候,在该宿主上运行的其它应用服 务就会受到影响。s o a 架构中非常强调实体自我管理和恢复能力。常见的用米进行 自我恢复的技术,比如事务处理( t r a n s a c t i o n ) 消息队列( m e s s a g eq u e u e ) ,冗余部 署( r e d u n d a n t d e p l o y m c n t ) 和集群系统( c l u s t e r ) 在s o a 中部起到至关重要的作用。 大数据量低频率访问,对于n e t r c m o t i n g e j b 或者x m l - r p c 这些传统的分 布式计算模型而言他们的服务提供都是通过函数调用的方式进行的,个功能的 完成往往需要通过客户端和服务器来回很多欢函数调用才能完成。在i n t r a n e t 的环境 下,这些调用给系统的响应速度和稳定性带来的影响都可以忽略币计,但是在 i n t e m e t 环境下这些因素往往是决定整个系统是否能正常工作的一个关键决定因素。 因此s o a 系统推荐采用大数据量的方式一次性进行信息交换。 基于文本的消息传递,由于l m e m e t 中人量异构系统的存在决定了s o a 系统必 须采用基于文本而非二进制的消息传递方式。在c o m 、c o r b a 这些传统的组件模 型中,从服务器端传往客户端的是一个二进制编码的对象,在客户端通过调用这个 对象的方法来完成某些功能;但是在i n t e m e t 环境下,不同语言,不同平台对数据、 甚至是一些基本数据类型定义不同,给不同的服务之间传递对象带来的很大硐难。 由于基于文本的消息本身是不包含任何处理逻辑和数据类型的,因此服务问只传递 文本,对数据的处理依赖于接收端的方式u r 以帮忙绕过兼容性这个的大泥坑。 此外对1 个服务来说,i n t e r n e t 与局域网最大的一个区别就是在i n t e m e t 上 的版本管理极其 难,传统软件采用的升级方式在这种松散的分布式环境中几乎无 法进行。采用基于文木的消息传递方式,数据处理端可以只选择性的处理自己理解 的那部分数据而忽略其它的数据,从而得到的非常理想的兼容性。 i b m 给出的s o a 架构框架如圈2 i 所示: nu:lnessp e s 。s 糯南 ! 幡 g f 。c ”p o n e n m 。车 喜| _ l 毫上j 尸i i囊 宫 0 i 2 i | 一鲁 搴i 鲁i 1 5 l 毒 io p o u o s y s tl;一 i 器鬻隧嚣嚣l 晤菇凿 图2 1 面向服务架构的i b m 框集 6 第二章服务组合技术概论 该图从技术层面描绘了s o a 的架构模型,以及o a 技术架构所包含的主要概念: 以服务为基本单元,可以把服务视为构件;服务质量可度量,且可以提升;基于开 放标准;该架构同时是一种分层架构,具有分布的能力:与技术无关性,鼓励扩展; 支撑业务敏捷的要求;架构层面主张组合。 2 1 2w e b 服务 w e b 服务是一个与操作系统平台、开发语言无关的分布式计算技术,它是一些 自包含、自描述、模块化的程序,可以发布到i n t e m e t 上,并被需求者发现和调用。 首先看一下i b m 和w 3 c 对w e b 服务的定义: i b m 对w e b 服务的定义是:w e b 服务是描述一些操作,利用标准化的x m l 消息 传递机制实现通过网络访问这些操作的接口。该接口隐藏了实现服务的细节,服务 的运行不依赖特定的软硬件平台和编程语言。这使得基于w e b 服务的应用程序成为 松散祸合、面向组件和跨技术实现。w e b 服务履行一项特定的任务或一组任务。w e b 服务可以单独或同其它w e b 服务一起用于实现复杂的聚集或商业交易。 w 3 c 对w e b 服务的定义是:w e b 服务是一个用来支持网络上计算机之间交互的 软件系统,它有一个接口,这个接口使用一种机器可操作的格式来描述,其它系统 通过一种能使用s o a p 消息描述的方式米与w e b 服务交互。w e b 服务可以看作是一 种部署在w e b 上的对象,同时它的基础是以x m l 为主的、开放的w e b 规范技术, 因此,w e b 服务既具有对象技术的优点,又拥有比任何现有对象技术更好的开放性。 w 曲服务封装了其实现的细节,通过基于x m l 的w e b 服务描述语言( w s d l ) 描述了 与服务交互的消息格式、传输协议、位置等信息。基于以上两者对w e b 服务的描述 可以得出w e b 服务提供了一个分布式的计算技术,它改变了传统的点对点集成处理 方式,通过松散的应用集成,w e b 服务使业务流程集成变成了方便实施的解决方案。 当前w e b 用户的需求正向智能化、个性化和综合化方向发展,w e b 服务正成为一种 为用户提供更加综合、个性化服务的有效解决方案和用平台。 w e b 服务是描述了一些操作的接口,该接口隐藏了服务实现的细节,允许通过 独立于服务实现、独立于硬件和软件平台、独立于编写服务所用的编写语言的方式 使用该服务,这使得基于w e b 服务的应用程序具备松散藕合、面向组件和跨平台实 现的特点。通过标准化的x m l 传递机制,用户可以通过网络访问这些操作。w e b 服务是用标准的、规范的基于x m l 的w s d l ( w e bs e r v i c e sd e s c r i p t i o nl a n g u a g e , w e b 服务描述语言) 语言描述的,这称为w 曲服务的服务描述。这一描述包含了与 服务交互所需要的全部细节,包括消息格式、传输协议和位置w e b 服务刊以单独或 同其他w e b 服务一起用于实现复杂的商业交易。从外部使用者的角度而言,w e b 服 7 青岛大学硕士学位论文 务是一种部署在w e b 上的对象组件,它具有以下特征: ( 1 ) 完好的封装性:w e b 服务作为是一种部署在w e b 上的对象,自然也具备对象的 良好封装性。对于使用者而言,它能且仅能看到该对象提供的功能列表。 ( 2 ) 松散耦合:这一特征来源于对象组件技术,当一个w e b 服务的实现发生变更 的时候,调用者不会感觉到这一点。对于调用者来说,只要w e b 服务的调用接口不 变,w e b 服务实现的任何变化对他们米说都是透明的。甚至当w e b 服务的实现平台 从j 2 e e 迁移到n e t 或者迁移时,用户对此都一无所知。 ( 3 ) 使用协约的规范性:首先,w e b 服务对象界而所提供的功能应当使用标准的描 述语言。其次,由标准描述语言描述的服务界面应当是能够被发现的,因此,这一 描述文档需要被存储在私有或公共的注册库里面。最后,所有层次上的处理都应当 是可管理的,因此,需要对管理协约运用同样的机制。 ( 4 ) 使用标准协议规范:作为w e b 服务,其所有公共的协约完全需要使用开放的 标准协议进行描述、传输和交换。一般而言,绝大多数规范将最终由w 3 c 或者o a s i s 作为最终版本的发布方和维护方。 ( 5 ) 高度可集成能力:由于w e b 服务采用简单的、易于理解的标准w e b 协议作为 组件对外接口描述和协同描述规范,完全屏蔽了不同软件平台的差异,因此,无论 是c o r b a 、d c o m 还是n e t ,都可以通过这一种标准的协议进行互操作,实现了 在当前环境下的最高的可集成性。 w e b 服务体系结构是一种面向服务的体系架构( s e r v i c e - - o r i e n t e da r c h i t e c t u r e , s o a ) ,是服务提供者、服务注册中心和服务请求者三种角色之间的交互,其交互涉 及发布、查找和绑定操作。服务提供者定义w e b 服务的服务描述并把它发布到服务 请求者或服务注册中心。从企业的角度看,服务提供者是服务的所有者:从体系结构 的角度看,定义w e b 服务的服务描述并把它发布到服务请求者或服务注册中心。 服务请求者使用查找操作来从本地或服务注册中心检索服务描述,然后使用服 务描述与服务提供者进行绑定并调用w e b 服务实现与之交互。从企业的角度看,服 务请求者是要求满足特定功能的企业,如商业合作伙伴;从体系结构的角度看,这是 寻找并调用服务,或启动与服务的交互的应用程序。服务请求者角色可以由浏览器 来担当,由人或另外一个w e b 服务来控制它。 服务注册中心是可搜索的服务描述注册中心,服务提供者在此发布他们的服务 描述。对于静态绑定的服务请求者,由于服务提供者可以把描述直接发送给服务请 求者,服务注册中心是体系结构中的可选角色。 图2 2 展示了w e b 服务体系结构中三种角色的交互关系。 第二章服务组合技术概论 图2 2 w e b 服务体系架构 对于利用w e b 服务的应用程序,必须发生以下三种行为:发布服务描述、查询或 发现服务描述以及根据服务描述绑定或调用服务。这些行为可以单次或反复出现。 服务发布是为了使服务可访问,需要发稚服务描述以使服务请求者可以查找它。 发布服务描述的位置可以根据应用程序的要求而变化。 服务发现是服务请求者直接检索服务描述或在服务注册中心中查询所要求的服 务类型和服务描述。 服务绑定是服务请求者使用服务描述中的绑定细节来定位、联系和调用服务, 从而在运行时调用或启动与服务的交互。 2 2 服务组合原理 随着w e b 服务技术的日趋成熟,数量众多的稳定、易用的w e b 服务发布在网络 上。但是单个的w e b 服务所提供的功能有限,为了更有效的利用现有的w 曲服务, 实现w e b 服务的组合变得十分必要,以更短的开发时间,为用广提供更强大的服务 功能,同时也为服务的重用和自动化集成提供了基础。 所谓服务组合,i b m 给出的定义为,通过服务之问的排列顺序和相互之问的复 杂交互,来实现特定商业逻辑的一组服务1 3 】。h p 的定义为,对己有的服务进行重组 包装,完成新的商业逻辑,同时提高其q o s 的质量保证【4 】的过程。 2 3 服务组合关键技术 w e b 服务组合是建立在w e b 服务基础之上的,将现有的一些功能单一的w e b 服务组合成能够实现复杂服务的过程。w e b 服务组合的实现是建立在一系列开放的 9 青岛入学硕上学位论文 i n t e m e t 标准之上的,其基本的规范包含x m l ,s o a p ,w s d l ,i j l ) d i 。下面对这 四个规范作简单介绍 2 3 1x m l 可扩展标记语言( e x t e n s i b l em a r k u pl a n g u a g e ,简称x m l ) ,又称可扩展置标 语言,是一种标记语言。标记指计算机所能理解的信息符号,通过此种标记,计算 机之问可以处理包含各种信息的文章等。如何定义这些标记,既可以选择国际通用 的标记语言,比如h t m l ,也可以使用像x m l 这样由相关人士自由决定的标记语 言,这就是语言的可扩展性。x m l 是从标准通用标记语言( s g m l ) 中简化修改出 来的。它主要用到的有可扩展标记语言、可扩展样式语言( x s l ) 、x b r l 和x p a t h 等 x m l - 口j 扩展标记语言( e x t e n s i b l em a r k u pl a n g u a g e ,x m l ) 使用标记来界定内容, 允许用户定义任意复杂度的结构,具有良好的扩展性。具有描述性,适合数据交换 和共享:具有无关性,独立于具体的平台和厂商,确保了结构化数据的统一。x m l 已经成为开放环境下描述数据信息的标准技术,也是w e 服务中信息描述和交互的 标准手段。 x m l 使用x m l s c h e m a 作为建模语言。具有丰富的数据类型,支持类型继承, 能对x m l 文件进行严格的合理性检查;使用与x m l 完全一致的文法,统一了分析 和处理方式;引入了命名空间的概念,解决了可能的名称重复问题。x m l s h c e m a 是 w e b 服务中协议制定的标准语言,它和x m l 共同构成w 曲服务的基石。 2 3 2w s d l w s d l ( w e bs e v r i c ed e s c r i p t i o nl a n g u a g e ,w e bs e v r i c e 描述语言) 是w e b 服务技 术的一个重要组成部分,它规定了对服务的描述方式。通过对服务的完整描述,服 务请求者町以知道服务的访问方式和具体位置;服务开发者也可以以此接口为标准, 开发相兼容的服务。它采用了最新的x m l 技术,使得它具有很强的通用性和适应 性。 w s d l 文档把服务定义为网络终端或者端口的集合,如图2 2 。在w s d l 里, 终端和消息的抽象定义从他们具体的网络应用或数据形式绑定中分离开来。这样就 允许抽象定义的冉利用:“消息”一被交换数据的抽象描述、“端口类型”一作的抽 象集合。而某特殊端口类型的具体协议和数据形式规范组成了一个可以冉利用的“绑 定”。一个网络地址加上一个可再利用的绑定则定义为一个端口,端口的集合则定义 i o 第一二章服务组合技术概论 为一个服务。因此,一个w s d l 文档定义网络服务时用到了以下元素: 服务s e r v i c e :一个相关终端的集合。 端口p o r t :由一个绑定和一个网络地址定义的单个终端。 绑定b i n d i n g :- - 个特定端口类型的具体协议和数据形式规范。 端口类型p o r t t y p e :被一个或多个终端支持的抽象操作的集合。 消息m e s s a g e :一个抽象的,类型己经定义的,被用来通讯的数据定义。 类型t y p e :数据类型定义的容器,它利用了一些类型系统( 比如x s d ) 。 w s d l 文档可用于动态发布w e b 服务、查找已经发布的w e b 服务以及绑定调 用w e b 服务。 2 3 3s o a p 圈2 3w s d l 服务实现和接口定义 s o a p ( s i m p l eo b j e c ta c c e s sp r o t o c 0 1 ) 简单对象访问协议是在分散或分布式的环 境中交换信息的简单的协议,s o a p 可以和现存的许多因特网协议和格式结合使用, 包括超文本传输协议( h 丁f p ) ,简单邮件传输协议( s m t p ) ,多用途网际邮件扩充 协议( m i m e ) 。它还支持从消息系统到远程过程调用( r p c ) 等大量的应用程序。 s o a p 使用基于x m l 的数据结构和超文本传输协议( h t t p ) 的组合定义了一个标准 的方法来使用i n t e r a c t 上各种不同操作环境中的分布式对象。是一个基于x m l 的协 议。共包括四部分: 封套( e n v e l o p ) :用来定义框架的,该框架用于描述消息中包含什么内容、消息是 谁发送的、应当山谁接收并处理以及如何处理。 s o a p 编码规则:一组表示应用程序自己定义的数据类型的。 s o a pr p c :一个表示远程过程调用和响应的协议r e m o t ep r o c e d u r ec a l l s ) 。 s o a p 绑定( b i n d i n g ) :用来使用底层协议交换信息。 青岛大学硕士学位论文 s o a p 消息基本上是从发送端到接收端的单向传输,但它们常常结合起来执行类 似于请求应答的模式。所有的s o a p 消息都使用x m l 编码。一条s o a p 消息 就是一个包含有一个必需的s o a p 的封装包,一个可选的s o a p 标头和一个必需 的s o a p 体块的x m l 文档。 s o a p 不是分布式对象系统,也不是一个r p c ( 远程调用与控制) 系统,当然也不 是一个应用程序,它只是一种消息的形式,为了实现机器与机器之间的传输。s o a p 使得组件与应用程序之间彼此通过互联网交流。 2 3 4u d d i 统一描述、发现与集成协议( u n i v e r s a ld e s c r i p t i o n ,d i s c o v e r ya n di n t e g r a t i o n ) 标准 是由a r i b a 、i b m 和微软三家共同制订的基- 丁分布式w e b 服务信息注册的规范, 是基于x m l 的b 2 b 企蟑k 目录标准,它是一个基于x m l 的跨平台的描述规范,可 以使世界范围内的企业在互联网上发布自己所提供的服务。它的潜力在于将全球所 有企业发展电予商务所需的一切信息全部囊括,为全球范围开展企业电子商务带来 无限契机。 u d d i 既是规范,也是一套执行规范的实施办法,它使商家注册他们的w e b 服务 信息必须实施这个统一规范。它的主要功能是定义一种发布和发现w e b 服务信息的 办法。u d d i 规范包括适用于简单对象访问协议s ( o a p ) 信息的x m l 模式和u d d i a p i 规范的描述。二者的结合构成基本的信息模式和交互框架,从而能够发布各种 w e b 服务方面的信息。 2 4 服务组合研究现状 服务组合问题的研究涉及到多个领域,目前国内外很多专家和学者从不同的方 面对其进行了大量研究,并取得了一定的成果。依据切入角度的不同,服务组合方 法的分类有多种方式。 2 4 1 服务组合导向方式 依据服务组合时的导向方式服务组合方法可以分为:基于业务流程、组件协作、 a i 规划、语义w e b 等功能属性的服务组合方法和基于q o s 描述、q o s 需求计算等非功 能属性的服务组合方法。b p e l 和e f l o w 是基于一k 务流程的服务组合代表,借助工作 流模型来表示业务的逻辑,通过节点和路径来表示整个工作流程。e f l o w t 5 i 不i i c m i 6 】 研究了服务组合中基于用户需求的动态服务选择问题。尤其是c m i 为了适应动态服 第二章服务组合技术概论 务组合,在服务定义模型中提出了名为“占位”的概念,一个“占位是一个抽象 的活动,代替运行过程中某类具体活动。选择机制是从“占位”活动中选择具体活 动。但是c m i 和e f l o w 都是在单个任务层面上的局部服务选择,而且缺乏服务质量 模型的支持。 基于组件协作的服务组合方法,通过描述组件服务之间的消息编排( 消息交换 序列) 来建模组合服务。这种组合服务建模方法着眼于消息交换行为,可以较为直 观的描述多方参与的协作过程。同时,该方法能够与c c s l 7 j 、p i 演算1 8 j 等描述并发进 程间通信的形式化手段建立直观的映射,从而支持组合模型行为性质的分析。但是 由于组合服务模型定义了组件服务的行为,对组合服务模型修改将导致组件服务行 为设计的变更,因此灵活性相对较差,不太适合描述动态的服务组合场景。 基于语义组装通过对w e b 服务的语义表示,使得服务之问可以相互理解,利于 信息的共享和交互,从而加速服务的发现,匹配,选择和动态组合过程。语义w e b 服务基于w e b 服务建模框架( w e bs e r v i c e sm o d e l i n gf r a m e w o 水,w s m f ) 一j 的理念, 将语义引入工作流程领域( b p e l 、b p m l 或w s c i ) 的建模机制中去,并集成这些语义 到服务本体中。o w l s 是基于描述逻辑的w 曲服务语义描述,并且支持q o s 属性。 通过语义表示,主体能自动识别服务语言限制和偏好以及服务描述。2 0 0 4 年2 月1 0 日,w 3 c ( t h ew o r l dw i d ew e bc o n s o r t i u m ) 宣布o w l 和r d f 为该组织的推荐标准。 基于规划的组合方法将经典的人工智能( a i ) 规划思想引入服务组合。该类方法 的组合服务建模过程高度自动化。主要是借助a l 领域的经典研究方法,如情景演算、 规划域定义语言、定理证明等,并与语义w e b 技术相结合,研究语义w 曲服纠1 0 j 、 组合目标分解、组合推理以及组合服务模型的自动构造方法。该类方法形式化色彩 浓厚,对组合服务正确性的关注贯穿组合的整个过程,对运行系统的关注比较少。 事实上要实现全自动的服务组合,本身是一个十分复杂的过程,因此目前该类方法 还处于理论、方法的研究探索阶段。 2 4 2 服务组合运行方式 服务组合方法根据组合的运行方式可分为三类:人工组合方法、半自动的组合方 法和自动的组合方法。人_ t ( m a n u a l ) j 艮务组合也称为静态服务组合,要求用户采用流 程脚本语言描述业务逻辑,生成服务组合方案,提交给流程的执行引擎来处理。 t a y l o r 等t j 采用图形化的用户界面,支持用户以拖拽的形式生成组合方案。b p w s 4 j 也提供了一个e c l i p s e 插件允许用户以基于x m l 的组合图的形式描述- k 务流程。 m e n d e l l l 2 1 等人对b p w s 4 j 进行了扩展,允许在运行时选取和替换服务。该类系统运 行环境的构造方面具有较大优势,但是要求用户具备一定的编程能力,需要x m l 层 青岛大学硕士学位论文 次上构造工作流。 半自动( s e m i a u t o m a t e d ) h 艮务组合技术在人工服务组合的服务选取过程中引入了 语义支持。c a r d o o n 和s h e a t h 等提出了一

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论