(计算机应用技术专业论文)基于工作流模板的web服务组合系统实现.pdf_第1页
(计算机应用技术专业论文)基于工作流模板的web服务组合系统实现.pdf_第2页
(计算机应用技术专业论文)基于工作流模板的web服务组合系统实现.pdf_第3页
(计算机应用技术专业论文)基于工作流模板的web服务组合系统实现.pdf_第4页
(计算机应用技术专业论文)基于工作流模板的web服务组合系统实现.pdf_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

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

文档简介

武汉科技大学硕士学位论文第1 页摘要随着计算机网络技术迅猛发展,人们希望互联网能够有效地提供他们所需的各种服务。w e b 服务作为一种开放的业务提供方式,已经得到了工业界和学术界的广泛认可。与此同时,网络上的w 曲服务数量正在成倍的增长。然而,单一的w e b 服务提供的功能毕竟有限,为了更加充分的利用w e b 服务,需要将w 曲服务组合起来,提供功能更为强大的服务,这样w e b 服务的潜力才能真正的发挥出来。目前国内外针对w e b 服务组合已经展开了大量的工作,一部分从语义角度出发,着重研究服务的匹配问题,但是,对于一般用户而言,很难对w e b 服务语义做出准确描述;一部分从工作流出发,着眼于服务组合与流程的相似性,然而对服务查找、匹配研究较少。因此如何结合两者的优点,构建一个通用的服务组合系统,是一个很值得思考的问题。本文针对上述问题,在对w 曲服务组合相关研究领域的研究现状进行详实分析和研究的基础上,提出了基于工作流模板的w c b 服务组合模型;在模型中,给出了一种基于服务粒度、功能语义、服务参数等的服务以及服务流程模板的描述方法,设计了服务组合过程中的流程匹配、服务发布和服务执行等算法;按照w e ;b 服务组合系统的结构和功能模块设计实现了一个w 曲服务组合原型系统,并根据高校毕业审核流程测试验证了该w e b 服务组合系统,测试结果表明,系统运行稳定,并具有较强的灵活性和实用性。关键词:w e b 服务;工作流;服务执行;组合第1 i 页武汉科技大学硕士学位论文a b s t r a c t麟t h em u s h r o o mo ft h en e t w o r kt e c h n o l o g y , v a r i o u ss e r v i c e sw h i c hw e r ea b l et os a t i s f ya l lr e q u i r e m e n t se f f e c t i v e l yw e r ee x p e c t e d a sao p e n e db u s i n e s sp r o v i d e r ,w e bs e r v i c e sh a sa l r e a d yb e e nw i d e l ya p p l i e di ni n d u s t r ya n da c a d e m i a a tt h es a m et i m e , t h en u m b e ro fw e bs e r v i c ei n c r e a s e sg r e a t l yi nt h ei n t e m e t h o w e v e r , as i n g l ew e bs e r v i c ef u n c t i o ni sl i m i t e d ;i tc a n tc o m p l e t eac o m p l e xb u s i n e s s ,8 0i t sn e c e s s a r yt oc o m p o s ee x i s t i n gw c bs e r v i c e st oc r e a t eav a l u e - a d d e ds e r v i c e al o to fr e s e a r c hw o r kf o rt h ew e bs e r v i c ec o m p o s i t i o nh a sb e g u na r o u n dt h ew o r l d s o m eo ft h e mf o c u s0 1 1t h ep r o b l e mo ft h ew e bs e r v i c e sm a t c h i n gf r o mt h ep o i n to ft h es e m a n t i c b u ti t sh a r df o rg e n e r a lu s e rt om a k ea na c c u r a t ed e s c r i p t i o no ft h ew e bs e r v i c es e m a n t i c o t h e ro ft h e me m p h a s i z e dt h es i m i l a r i t yb e t w e e nw o r k f l o w a n dw e bs e r v i c e sc o m p o s i t i o nt ob u i l dc o m p o s i t i o nf l o w ,h o w e v e rf i n d i n ga n dm a t c h i n gt h ew e bs e rv i c ei sr e s e a r c h e dal i t t l e s oh o wt oc o m b i n et h ea d v a n t a g e so fb o t ht oc o n s t r u c tag e n e r a lw e bs e r v i c ec o m p o s i t i o ns y s t e mi sap r o b l e mw o r t hp o n d e r i n g t h i st h e s i sa i m e da tt h ep r o b l e m sa b o v e ,p u t sf o r w a r dan e ww e bs e r v i c e sc o m p o s i t i o nm o d e lb a s e do na n a l y z i n ga n dr e s e a r c h i n gt h es t a t u so ft h ew e bs e r v i c ec o m p o s i t i o na n dr e l a t e df i e l d s ;i nt h i sm o d e l ,ad e s c r i p t i o i lm e t h o do ft h ew e bs e r v i c ea n dt h ew e bs e r v i c ef l o wb a s e do i l8 1 奠 v i c eg r a i n 、f u n c t i o ns e m a n t i c 、s e r v i c ep a r a m e t e r si sg i v e n , s o m ea l g o r i t h m s ,u s e di nt h e8 c l y i c ec o m p o s i t i o n , i n c l u d i n gf l o wm a t c h i n ga l g o r i t h m 、s e r v i c ep u b l i c a t i o na n df l o we x e c u t i o na l g o r i t h me t c ,a r ep r o p o s e d ;a n daw e bs e r v i c ec o m p o s i t i o np r o t o t y p es y s t e mi sr e a l i z e db yt h ed e s i g no ft h ec o n s t r u c t i o na n dt h ef u n c t i o nm o d u l e so ft h es y s t e m ,a tt h es a m et i m e , i ti sv e r i f i e db yt h eg r a d u a t i o na u d i tf l o wo ft h eu n i v e r s i t y t h er e s u l to ft e s td e m o n s t r a t e st h a tt h es y s t e mh a ss t a b l eo p e r a t i o n , b e t t e rf l e x i b i l i t ya n dp r a c t i c a l i t y k e y w o r d s :w e bs e r v i c e ;w o r k f l o w ;s e r v i c ee x e c u t i o n ;c o m p o s i t i o n武汉科技大学研究生学位论文创新性声明本人郑重声明:所呈交的学位论文是本人在导师指导下,独立进行研究所取得的成果。除了文中已经注明引用的内容或属合作研究共同完成的工作外,本论文不包含任何其他个人或集体已经发表或撰写过的作品成果。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。申请学位论文与资料若有不实之处,本人承担一切相关责任。论文作者签名:盐型聱日期:堡拙研究生学位论文版权使用授权声明本论文的研究成果归武汉科技大学所有,其研究内容不得以其它单位的名义发表。本人完全了解武汉科技大学有关保留、使用学位论文的规定,同意学校保留并向有关部门( 按照武汉科技大学关于研究生学位论文收录工作的规定执行) 送交论文的复印件和电子版本,允许论文被查阅和借阅,同意学校将本论文的全部或部分内容编入学校认可的国家相关数据库进行检索和对外服务。论文作者签名:指导教师签名:日期:武汉科技大学硕士学位论文第1 页第一章绪论1 1 研究背景随着i n t e m e t 的日渐成熟,越来越多的企业和部门依赖互联网提供信息和发布服务,因此,基于i n t e m e t 开放网络环境,实现资源的共享与应用集成己成为商业应用领域的焦点问题。然而,大多数企业的应用系统都是在不同时期采用不同技术去实现的,系统之间的语言差异、平台差异、协议差异和数据差异等给企业内部或者企业之间的业务集成带来了巨大的阻碍。同时,传统的分布式对象技术( 如c o r b a 、d c o m 等) 和中间件技术,虽然能在一定程度上对各个应用系统进行集成,但是它们都维护着相互独立的体系,与此同时,客户端与服务器端的紧耦合性,使得它们依然无法较好的解决应用集成过程中的应用系统的差异性问题。而且,在面对不断变化的企业运作环境和业务需求时,传统的分布式技术由于其紧耦合性,而显得不够灵活,往往导致牵一发而动全身的后果,这在无形当中增加了设计人员的负担以及企业的成本。因此,业界提出了w e b 服务来解决企业应用集成过程中的问题。根据w 3 c 的定义:“w e b服务是一种通过u r i 标识的软件应用,其接口及绑定形式可以通过l 标准定义、描述和检索,并能通过x a v i l 消息及i n t e r n e t 协议完成与其他应用程序的直接交互一i l 】。其中,通过w s d l ( w c bs e r v i c ed e s c r i p t i o nl a n g u a g e ,w e b h 殴务描述语言【2 】) 对w e ;b 服务进行描述,。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 o l ,简单对象访问协议【3 】) 来实现w e b 服务之间以及w 曲服务与其他应用程序之间的交互,u 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 ,通用描述、发现和集成【4 】) 来完成注册,检索等功能,这些协议在m m 、m i c r o s o f t 、s u n 等大公司以及w 3 c 等标准组织的推动下日渐成熟,w e b 服务正逐步成为i n t e m e t 网络环境中资源封装的标准形式。随着w e b 服务技术的不断发展,企业开发的以及网络上的w e b 服务日益丰富,w e b 服务所执行的功能d , n 简单的请求( 如天气服务等) ,大到复杂的商业业务流程( 如:订单、银行借贷等) 。一旦这些w 曲服务被部署,其他应用( 包括w e b 服务) 就能够发现并调用所部署的服务,由于其基于x m l 、s o a p 、w s d l 等标准协议技术以及其服务实现与服务接口的分离的方法,使其具有良好的跨平台性、自描述性以及松耦合性,促使基于w e b 服务的应用成为越来越多用户、企业以及研究机构的焦点。1 2 问题的提出尽管w e b 服务技术解决了不同平台间的集成问题,但是单个服务所提供的功能是有限的,无法完成具有强大功能的业务流程,这主要考虑到服务的可重用性和可维护性,不应该将复杂的业务流程封装到单个的w e b 服务中,同时服务的提供者越来越多,完成的功能越来越细,单个的w e :b 服务一般也不可能完成复杂的功能。因此,如何将已有的w e b 服务组合起来形成更加强大的功能,自然而然地引起了企业界和研究机构的巨大兴趣。第2 页武汉科技大学硕士学位论文w c b 服务组合是为了特定的业务目标,将多个独立自治的w c b 服务按照其语义及逻辑关系“拼装起来,以实现高层次的功能聚合【5 】。w c b 服务组合主要包括以下几个方面的问题:( 1 ) 服务的描述问题,由于网络上的w e b 服务日益增多,完成一项功能的w e b 服务可能有几个到几十个之多,如何准确的描述w e b 服务,使用户能准确的找到所需要的服务,已成为一个急需解决的问题。( 2 ) 服务的动态查找、绑定问题,w 西服务基本上都是由服务提供者部署在网络上的,然而由于网络的不稳定性( 比如底层网络不稳定,并发请求用户数目过多导致拥塞等) 、服务提供者提供的服务退出等原因,导致静态的服务组合方案随着时间的变化表现出不确定性,因此如何实时的( 即动态的) 查找到有效的w e b 服务,并将其绑定,成为组合过程中的又一大难题。( 3 ) 服务运行时的协作问题,由于w e b 服务是自描述的,每个w e b 服务是一个封闭的组件系统,同时w e b 服务本身是无状态的,因此不能支持服务之间的复杂交互。因此,需要一种技术来协调服务运行时的调用顺序、数据流管理等等。1 3 国内外研究现状针对上节提到的几个问题,当前研究w e b 服务组合主要分为两个派别【6 】:第一类研究者从语义网的角度出发,重视w e b h 艮务的自描述和语义。主要通过形式化的本体语言( 如o w l - s 、w s m l 等【7 】) 描述w e b 服务,使计算机系统能够理解w e b 服务的内容,实现服务的自动语义匹配和搜索,具有查准率高的优点。例如:在文 8 】中,阐述了基于d a m l - s 9 】的输入、输出参数类型的上下位匹配的思想;文【1 0 】中进一步发掘了参数类型之间的重叠关系,提出了部分匹配的算法。第二类研究者则从流程建模的角度出发,重视服务组合过程中的数据流和控制流。根据服务组合过程和工作流的相似性,利用流程建模语言( b p e l 4 w s l 、w s c d l 屹】等)对w e b 服务组合流程建模,从而实现具体的业务流程。这种基于工作流的w e b 服务组合通常以半自动的方式实现【6 】,利用系统提供的良好的人机交互界面,具有一定领域知识的用户能够很方便的定义抽象服务流,从而将w e b 服务组合起来。然而以上两类研究方向,或多或少都有些缺憾。针对一般用户而言,很难对w e b 服务的语义信息进行较为准确的刻画,并且对特定领域的w c b 服务,其功能语义描述还没有统一的规范,并且d a m l s 、o w l - s 等对服务的定义较为复杂,且并不全面。而第二类研究者通过利用可视化的流程建模工具,使系统复杂性低、工作量小、灵活性高,但是由于其关注的仅仅是服务组合的协作关系、执行顺序等,对服务组合过程中的服务查找,匹配等方法关注较少。因此,急需要一种轻量级的w e b 服务组合系统来解决上述问题,同时能得到较好的服务组合方案。武汉科技大学硕士学位论文第3 页i a 研究内容通过以上的分析,本文对w e b 服务组合及其相关问题进行研究,首先从如何对w e b 服务进行轻量级的语义描述出发,根据参考文献【1 4 】提出了一种基于功能语义以及i o 参数的服务描述方法;接着根据提供的服务描述方法提出了一种服务匹配算法,来实现服务组合过程中的服务查找问题;然后从服务组合过程中的流程建模角度出发,提出了一种基于工作流模板的服务组合模型;接着再从服务组合验证( 运行) 角度着手,提出了基于拓扑排序的服务运行算法:最后基于简单服务可以组合成复杂服务的思想,同时根据服务组合后运行时的情况分析,对服务q o s 按照一定的算法进行修改,同时对组合后的服务按照一定的算法进行发布,利于下次服务组合。1 5 论文的结构安排本文首先介绍了w e b 服务的相关概念以及发展情况;接着介绍了w e b 服务组合概念,以及工业界和学术界在服务组合上的相关工作和成果;然后介绍了工作流方法、服务语义问题以及服务发现问题,并在此基础上给出了服务组合模型,并且根据该模型给出了基于工作流模板的服务组合系统的设计思路;最后给出了具体的实现。论文共分为六章,具体结构如下:第一章绪论介绍研究的背景,国内外的研究现状,以及本文所研究的内容和论文的整体结构安排。第二章研究基础介绍本文研究的w c b 服务、工作流技术的基本理论,以及目前w e b 服务组合的方法等。第三章w e b 服务组合模型本章介绍了本文所提出的w e b 服务组合模型,详细介绍了模型中所用到的算法。第四章w e ;b 服务组合系统的分析与设计本章对w 曲服务组合系统进行了功能分析,总体架构设计,并对其中各个模块进行了具体的分析。第五章w e b 服务组合系统的实现本章结合前两章提出的算法和设计方案,详细讨论了怎样具体实现w e b 服务组合系统,并用该原型系统简单实现高校毕业审核服务组合系统。第六章结束语总结了论文的主要工作,对w e b 服务组合问题进行了概括,并对下一步的研究作了展望。第4 页武汉科技大学硕士学位论文第二章研究基础2 1w e b 服务2 1 1w 曲服务概念w c b 服务是描述一些操作的接口,该接口隐藏了服务实现的细节,允许通过独立于服务实现、独立于硬件和软件平台、独立于编写服务所用的编写语言的方式使用该服务,这使得基于w e b 服务的应用程序具备松散耦合、面向组件和跨技术实现的特点嗍。通过标准化的传递机制,用户可以通过网络访问这些操作。w e b 服务是用标准的、规范的基于x m l 的w s d l 语言描述的,这称为w e b 服务的服务描述。w s d l x c j 服务的描述包括消息格式、传输协议和位置,w e b 服务可以单独或同其他w e b 服务一起用于实现复杂的商业业务。站在外部使用者的角度,w e b 服务是一种部署在w e b 上的对象组件,它具有以下特征【1 6 】。( 1 ) 良好的封装性:w e b 服务是一种部署在w e b 上的对象,具备对象的良好封装性。对于使用者而言,它能且仅能看到该对象提供的功能列表。( 2 ) 松散的耦合性:这一特征来源于对象组件技术,当一个w e b 服务的实现发生变更的时候,调用者不会感觉到这一点。对于调用者来说,只要w c 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 还是f j b ,都可以通过这一种标准的协议进行互操作,实现了在当前环境下的最高的可集成性。2 1 2w e b 服务的体系结构w e b 服务体系结构主要包括服务提供者、服务注册中心和服务请求者三种角色,三种角色之间的包括发布、查找和绑定等操作。这些角色和操作一起作用于w e b 服务软件模块及其描述。一般情况下,服务提供者实现可通过网络访问的组件x 寸象接口,定义w e b 服务的服务描述并把它发布到服务请求者或服务注册中心。服务请求者从本地或服务注册中心检索服务描述,然后使用服务描述与服务提供者进行绑定并调用w e b 服务实现或同它交武汉科技大学硕士学位论文第5 页互。图2 1 表示了这些操作、提供这些操作的组件及它们之间的交互。d i图2 1w e b 服务模型( 1 ) w e b 服务体系结构中的角色服务提供者:这是服务的所有者,是服务所在的平台。服务请求者:这是寻找并调用服务,或启动与服务交互的应用程序。服务请求者角色可以由浏览器来担当,由人或无用户界面的程序来控制它。服务注册中心:这是可搜索的服务描述注册中心,服务提供者在此发布他们的服务描述。在静态绑定开发或动态绑定执行期间,服务请求者查找服务并在服务描述中获得服务的绑定信息。对于静态绑定的服务请求者,服务注册中心是体系结构中的可选角色,因为服务提供者可以把描述直接发送给服务请求者。( 2 ) w e b 服务体系结构中的操作发布:为了使服务可访问,需要发布服务描述以使服务请求者可以查找它。发布服务描述的位置可以根据应用程序的要求而变化。查找:在查找操作中,服务请求者直接检索服务描述或在服务注册中心查询所要求的服务类型。对于服务请求者,可能会在两个不同的生命周期中涉及到查找操作:在设计时为了程序开发而检索服务的接口描述,而在运行时为了调用而检索服务的绑定和位置描述。绑定:在绑定操作中,服务请求者使用服务描述中的绑定细节来定位、联系和调用服务,从而在运行时调用或启动与服务的交互。( 3 ) w e b 服务的构件服务:w c b 服务是一个由服务描述文档描述的接口,w e b 服务是对服务描述文档中所描述接口的实现。服务是一个软件模块,它部署在由服务提供者提供的可以通过网络访问的平台上。服务存在的目的就是要被服务请求者调用或者同服务请求者交互。当一个服务的实现使用到了其它的w e b 服务时,它也可以作为服务的请求者。服务描述:服务描述包含了服务的接口和实现细节信息。其中包括服务的数据类型、操作、绑定信息和网络位置。还可能包括可以方便服务请求者发现和利用的分类及其它元数据。可以将服务描述发布到服务请求者或服务注册中心。第6 页武汉科技大学硕士学位论文2 1 3w e b 服务协议栈w e b 服务协议栈包括w e b 服务概念层和对概念层支持的技术标准。由于不同团体和组织对w e ;b 服务的定义略有差异,因此所提出的w e b 服务栈的构架也不同。在众多组织定义的w e b 构架中,m m 的服务构架是最被接受的【3 1 1 。如图2 2 。静态- u d d i直接。呵叻iw s d ls o a ph t i p , f r p , e t m i l , e t c服务发现服务发布服务描述基于x m l 的消息机制网络图2 2w e b 服务协议栈图2 2 中,水平层部分,上层建立在下层基础上。垂直层部分表示每一水平层都需要解决的需求。水平层左边文字表示该层所采用的技术标准w e b 服务是独立的模块化的能够在网络上被描述、发布、发现和调用的应用程序【3 2 1 。图2 1 扩展了文献给出的w 曲服务基本架构,描述了在w e b 服务应用中各种角色如何使用基本协议实现w e b 服务的基本操作。w e b 服务的s o a p 协议用于规范服务请求者和提供者相互通信接口:w s d l 七【j , 议描述w e b 服务的功能接口、消息类型以及调用方式,w e b 服务请求者可以根据w s d l # 议动态调用w e b 服务tu d d i 协议提供在注册中心发布服务和查找服务的语法。w e b 服务框架内的三种角色分别是服务提供者、服务请求者和服务代理。服务提供者把部署成功后的w e b j i 务通过u d d i 协议发布到注册中心,并提供该服务的w s d l 描述:服务请求者向u d d i 注册中心发出查询请求,获取w e b 服务的w s d l 描述,并根据w s d l描述构造s o a p 消息来调用该w e b 服务:服务代理者维护u d d i 注册中心,处理服务提供者的u d d i 发布请求和服务请求者的u d d i 查找请求。2 1 4w e b 服务的关键实现技术2 1 4 1x m lx m l 即可扩展标记语言,是s g m l ( s t a n d a r dg e n e r a l i z e dm a r k u pl a n g u a g e ,标准通用标记语言) 的一个子集。它是元标记语言,即定义了用于定义其他与特定领域有关的结构化的标记语言的句法语言。它提供了一个标准,利用这个标准,可以根据实际需要定义自己新的标记语言,并为这个标记语言规定它特有的一套标签。x m l 是i n t e r n e t 环境中跨平台的,依赖于内容的技术,是当前处理结构化文档信息的有武汉科技大学硕士学位论文第7 页力工具。扩展标记语言x m l 是一种简单的数据存储语言,使用一系列简单的标记描述数据,而这些标记可以用方便的方式建立,虽然x m l 占用的空间比二进制数据要占用更多的空间,呦l 极其简单易于掌握和使用。因此,综上所述,x m l 具有描述信息、解释数据和存储数据等作用,因此x m l 不仅是i n t e m e t 上的标准语言之一,同时也是当今许多技术的核心( 比如语义w e b 、s o a p 、w s d l等) 。为了了解讧l 文件所表示的信息和数据,需要对x m l 进行解析,现阶段主要有两种技术:d o m 和s a x 。d o m ( d o c u m e n to b j e c tm o d e l ,文档对象模型) 是用与平台和语言无关的方式表示x m l 文档的官方w 3 c 标准。d o m 先加载整个x m l 文档,然后构造层次结构( a t ) ,通过层次结构组织的节点或信息片断的集合。这个层次结构允许开发人员在树中寻找特定信息。s a x ( s i m p l ea p if o rx m l ) 处理x m l 文件类似于流媒体的处理。分析能够立即开始,而不是等待所有的数据被处理。而且,由于应用程序只是在读取数据时检查数据,因此不需要将数据存储在内存中。应用程序不必解析整个文档,它可以在某个条件得到满足时停止解析。2 1 4 2s o a ps o a p 3 】是一种基于x m l 的消息规范,它描述了数据类型的消息格式以及一整套串行化规则,包括结构化类型和数组。另外,它还描述了如何使用h r l l p 来传输消息。s o a p 作为一种有效的服务请求被发送到一些网络节点,节点就可以采用下列任何方法在任意平台上执行,如远程调用( r p c ) 、组件对象模型( c o m ) 、j a v as e r v l e t 、p e r ls c r i p t 。因此s o a p 提供了应用程序之间的交互能力,这些应用程序可以在异构的平台上运行,而且可以使用不同程序语言和不同的技术来实现。在w 3 c 联盟召开的第一次w e bs e r v i c e s 专题研讨会上,为了探索实现新兴的w e ;bs e r v i c e 架构的标准化途径,该会议提出了一个“w e bs e r v i c e s 堆栈一的架构设想,其中s o a p 在“w e bs e r v i c e s 堆栈 中作为用于x m l 消息传递的一种非常普遍的协议,发挥着十分重要的作用。s o a p 规范的核心部分就是消息处理框架。s o a p 消息处理框架定义了一整套x m l 元素【1 8 】,用以“封装 任意x m l 消息以便在系统之问传输。s o a p 规范包含四个主要部分:s o a pe n v e l o p e ( s o a p 信封) 、s o a pe n c o d i n gr u l e s ( s o a p 编码规则) 、s o a pp r cr e p r e s e n t a t i o n( s o a pr p c 表示) 、s o a pb i n d i n g ( s o a p 绑定) ,s o a p 不是一个可执行的应用程序,只包含与实现平台无关及语言无关的通信所必需的功能和能力,应用该协议的开发人员能够创建s o a p 应用程序,实现平台之间可互操作的消息传送。可简单概括为x m l + h t t p ,简单性和可扩展性是s o a p 协议的特征。下图2 3 为w 3 c , l j 定的s o a p 消息传递模型。第8 页武汉科技大学硕士学位论文s o a p 结点s o a p 结点图2 3s o a p 消息单向传送模型在此模型中,s o a p 节点包括两种:s o a p 发送方、s o a p 接收方。s o a p 发送者将需要传送的消息按照s o a p 规范封装成x m l 形式的信封,同时规定此消息的最终目的地,当s o a p 接收者接收到消息后,处理此x m l 消息,但不反馈响应信息,信息的发送是单向的。2 1 4 3w s d lw s d l 2 1 ( w e b e r 务描述语言) 是一种x m l 应用,它定义了一套x m l 语法用来描述w e b服务的详细信息。w s d i _ 将w e b 服务描述定义为一组服务访问点,客户端可以通过这些服务访问点对包含面向文档信息或面向过程调用的服务进行访问。w s d l 首先对访问的操作和访问时使用的请求响应消息进行抽象描述,然后将其绑定到具体的传输协议和消息格式上,以最终定义具体部署的服务访问点。相关的具体部署的服务访问点通过组合就成为抽象的w e b 服务。w s d 【皮档定义w c b 服务使用下列几个元素( 如图2 4 所示) :类型( t y p e s ) :w e b 服务所支持各种操作的类型。消息( m e s s a g e ) :通信消息的数据结构的抽象定义。操作( o p e r a t i o n ) :对服务中所支持操作的抽象定义。端口类型( p o r t t y p e ) :包含一个或者多个端口的抽象操作集合。绑定( b i n d i n g ) :针对端口类型所定义的操作和消息,定义具体的端口类型被映射到特定的传输协议的过程和传输的数据格式规范。端口( p o r t ) :绑定网络地址,定义一个服务的访问点。服务( s e r v i c e ) :一组与w e b 服务定义的关联服务访问点的集合。武汉科技大学硕士学位论文第9 页2 1 4 4u d d i图2 4w s d l 文档结构图u d d i t 4 1 ( 统一描述发现集成) 是用于w e b 服务注册和发现的基于x m l 的协议。u d d i作为w e b 服务体系中的元服务,为w e b 服务体系提供基本的商业w e b 服务的注册和发现机制。u d d i 规范利用了w 3 c 和i e t f 的很多标准作为实现基础,比如扩展标注语言m l ) 帅等。另外,在跨平台的设计特性中,u d d i 采用了s o a p 规范,也就是说u d d i 相对其他w e b 服务技术有其独特性,u d d i 是一种服务,这种服务的具体实施形式就是w e ;b 服务。u d d i 通常会被认为是一种目录机制,但是它也定义了一个用x m l 表示服务描述信息的数据结构标准。2 2w e b 服务组合概念2 2 1w e b 服务组合概念w e b 服务为分布式应用提供了一个集成和交互机制。同时w e b 服务由于其特有的松耦合性、跨平台性等特点,使得它非常适合当今商务应用的集成,应用越来越广泛。但是单一的w e b 服务提供的功能毕竟有限,难以满足商务应用中日益复杂的业务流程,因此对已有的单个w e b 服务进行组合,以生成功能更复杂、更强大的w e b 服务来支持各种各样的需求进入人们的视野。所谓w 曲服务组合【1 9 】,是指利用i n t e r a c t 上分布的现有w e b 月t 务,根据用户的应用需求,自动地选择合乎需要的服务,在服务组合支撑平台的支持下,按照一定的规则协同完成服务请求。w e :b 服务组合可以利用较小的、较简单的、且易于执行的轻量级服务来创建功能更为丰富、更易于用户定制的复杂服务,从而能够将松散耦合的、分散在i n t e r n e t 上的各类第1 0 页武汉科技大学硕士学位论文相关w e b 服务有机地组织成一个更为可用的系统,支持企业内、外部的企业应用集成e a i和电子商务等网络应用。2 2 2 服务组合分类根据对w e b 服务研究的侧重点不同,对服务组合的分类也随之不同:一部分研究强调“自动化 :根据人工参与的程度将服务组合分为人工、半自动和自动三大类;一部分研究则强调“动态 :根据对参与组合的w e b 服务的绑定时间,将其分为静态的和动态的两大类,所谓静态的是指w e b 服务在设计时绑定,动态的指w e b 服务在运行时绑定。上述分类涵盖了服务组合的部分研究,这源于目前服务组合的研究者主要来自两个派别:第一类研究者从语义网的角度出发,重视w e b 服务的自描述和语义;另一类研究者则从流程建模的角度出发,重视服务组合中的数据流和控制流,强调对动态环境的处理;可以将上述组合方法按照依赖技术分为:过程驱动的服务组合和语义驱动的服务组合嘲;其中过程驱动的服务组合思想是利用服务组合与过程模型的相似性,使用过程建模工具对服务组合过程中的业务过程进行建模,然后对模型中的组件进行服务替换,从而得到可以执行的服务组合方案,其研究方向可以分为:基于工作流模型 2 1 ,2 2 、基于状态演算【2 3 , 2 4 和基于进程代数 2 5 ,2 6 】的服务组合。基于语义驱动的服务通过为w e b 服务描述和服务请求描述添加能被计算机系统所理解的语义,使w c b 服务组合通过推理自动生成。因此基于语义驱动的服务主要研究两方面:服务描述与推理选择。本文中主要利用的是半自动的动态的,基于工作流的服务组合方法。2 3 工作流技术2 3 1 工作流概念一个工作流【明包括一组活动( 也称任务) 以及他们之间的执行顺序关系、过程以及活动间的输入、输出数据。一个工作流描述实际应用中的一个具体业务流程,完成一个实际业务目标。2 3 2 工作流参考模型工作流模型是对工作流的抽象表示,也就是对经营过程的抽象表示。由于工作流需要在计算机环境下运行,因此建立相应的工作流模型就是必不可少的。工作流模型应该完整地提出支持工作流定义的概念,为建模用户提供工作流定义所需要的组件或元素。理想的工作流模型能够清楚地定义任意情况下的工作流,能够适应用户在建模过程中所提出的各种要求。然而,到目前为止,人们虽然提出了不少有意义、有见解的工作流模型,但从模型的能力上看,距这一理想情况尚有一定的距离。由于工作流必须首先描述清楚一个经营过程是怎样进行的,因此,许多工作流模型都是从过程定义入手,比如流程图、状态图、活动网络图等。这一类基于有向图模型的优点是比较直观、容易理解。一般情况下,图中的节点表示过程中的活动或者状态,而有向弧武汉科技大学硕士学位论文第1 1 页则表示节点间的时序依赖关系。工作流参考模型o v o r k f l o wr e f e r e n c em o d e l ) 是由工作流管理联盟于1 9 9 5 年提出的工作流管理系统的体系结构模型【2 8 1 。工作流参考模型标识了构成工作流管理系统的基本部件和这些基本部件交互使用的接口。这些基本部件如下图2 5 所示,包括:工作流执行服务、工作流引擎、流程定义工具、客户端应用、调用应用、管理监控工具;基本部件交互使用的接口包括:接口一、接口二、接1 3 = 、接口四和接口五。如下图2 5 所示:图2 5 工作流参考模型工作流参考模型的主要部件,具体如下【硼:工作流执行服务是工作流管理系统的核心部件,它的功能包括创建、管理流程定义,创建、管理和执行流程实例;在执行上述功能的同时,应用程序可能会通过编程接口同工作流执行服务交互;一个工作流执行服务可能包含有多个分布式工作的工作流引擎。工作流引擎是为流程实例提供运行环境并解释执行流程实例的软件部件。流程定义工具是管理流程定义的工具,它可能通过图形方式把复杂的流程定义显示出来并加以操作;流程定义工具同工作流执行服务交互。客户端应用是通过请求的方式同工作流执行服务交互的应用,也就是说是客户端应用调用工作流执行服务;客户端应用同工作流执行服务交互。调用应用是被工作流执行服务调用的应用;调用应用同工作流执行服务交互。为了协作完成一个流程实例的执行,不同的工作流执行服务之间进行交互。管理监控工具主要指组织机构、角色等数据的维护管理和流程执行情况的监控;管理监控工具同工作流执行服务交互。参考模型各部件之间由接口相连,以下是参考模型的接口:接口一为工作流定义交换接口,定义一个流程定义、建模工具和工作流引擎之间的标准接口,用于在建模和定义工具与执行服务之间交换工作流定义。接口二为工作流客户端应用接口,定义客户应用程序a p i 向工作流引擎请求服务,用于工作流客户端应用访问工作流引擎和工作列表。接口三为被调用的应用接口,定义允许工作流引擎通过通用代理软件,激活各种应用第1 2 页武汉科技大学硕士学位论文程序的a p i ,用于调用不同的应用系统。接口四为工作流系统互操作接口,定义工作流协同工作模型和通讯标准来支持互相工作,用于不同工作流系统之间的互操作。接口五为系统管理和监控接口,定义监视和控制功能,用于系统管理应用访问工作流执行服务。工作流参考模型的引入为人们讨论工作流技术提供了一个规范的术语表,为在一般意义上讨论工作流系统的体系结构提供了基础;工作流参考模型为工作流管理系统的关键软件部件提供了功能描述,并描述了关键软件部件交互,而且这个描述是独立于特定产品或技术的实现的;从功能的角度定义五个关键软件部件的交互接口,推动了信息交换的标准化,使得不同产品间的互操作成为可能0 0 1 。武汉科技大学硕士学位论文第1 3 页第三章w e b 服务组合模型研究3 1w e b 服务表示3 1 1w e b 服务的粒度描述单个w e b 服务完成的功能有限,如果对已有的w e b 服务进行组合,就能向用户提供更多功能的应用服务。通过w 曲服务组合能够将简单的w c b 服务组装起来,以实现完成复杂功能的w e b 服务,因此,基于“简单w e ;b 服务能够组合成复杂w e b 服务一,本文用粒度龟髂来描述服务的复杂程度,表示服务的层数。例如:原子服务表示此服务不是由服务组合成的新服务,其粒度为1 。如果一服务由其他为原子服务的服务组合而成,则其服务粒度为2 ;因此,存在如下公式3 1 计算粒度:g 。司几埙( gw s - ,gw i i ,g 。卜1 ,i 【1 ,n 】公式( 3 1 )即,组合后的服务粒度g 一的值为服务组合所有服务中最大的粒度值加1 。一般来说,软件设计过程中,层次划分越多,则软件设计越灵活,但是这个是以牺牲一定的性能为代价的。这也适用于w e b 服务组合,粒度可以作为层次的一个度量,因此用户通过对粒度的要求,可以得到较为灵活,性能较好的组合方案。3 i 2w e b 服务的功能描述语义w e b 服务是w e b 服务的语义扩展,同时又是语义网面向程序的扩展【3 3 】。目标是使服务能被计算机理解,实现服务发现、执行和组合等操作的智能化。当前工业界的服务描述的标准语言w s d l 只能提供语法级别的描述,缺乏良好的语义信息,它只有基于关键字和面向人的形式化信息,因而无法使机器对服务进行智能化的发现、选取。为了提供轻量级的、灵活有效的w e b 服务发现方法,文献【1 4 】提供了一种较好的w e b服务功能语义描述模型,以及基于功能语义的w 曲服务发现方法。w e b 服务主要是实现了一些操作和功能,其操作和功能都可以用名词0 b j e c t 和动词a c t i o n 组合而成的动宾短语进行描述,比如查询天气、预定酒店。同时,还要对服务的功能进行一定的限定c o n s t r a i n t ,比如查询北京的天气,预定五星级酒店等等。因此,可以将w e b 服务功能语义定义为:w s f s = o b j e c t = c l c e c n ,c n 为某领域描述客体的概念的集合,如天气,酒店等。a c t i o n - - c l c c v ,c v 表示对某- - o b j e c t 进行的动作和行为,比如查询,预定等。e o n s t r a i n t = p 1 p 2 p n ,p i 为对某一具体客体进行某种动作和行为时要遵守的规范和约束,比如( 地点= 北京) 或者( 星级z 5 星) 等等。同时,为了便于查询以及统一描述方式,需要构建领域功能本体集和服务语义标注机第1 4 页武汉科技大学硕士学位论文制,将服务的功能描述术语映射到同一共享本体,这样就可以解决服务提供者和用户的语义异构的问题。3 1 3w e b 服务的参数描述对于w e b 服务来说,其中重要的一方面就是其服务所需要的参数和所要返回的值。因此本文作如下定义:p a r a m = 。其中p a r a m n a m e 表示参数名称,p a r a m t y p e 表示参数类型,d i r e c t i o n 表示是输入还是返回。同时,由于服务参数匹配过程中,有完全匹配、包含匹配、不匹配几种情况,因此对于参数来说,同样要建立参数本体库,来解决各个参数类型之间的包含,匹配等关系。3 1 4w e b 服务的服务质量描述随着服务技术的不断普及,完成相同功能或者相似功能的服务的数量越来越多,因此对于服务的服务质量的准确描述也成为了一个关键。本文采用的一个五元模型对服务q o s ( q u a l i t yo f s e r v i c e ) 进行描述,它们分别是:执行成本q p l j c e 、执行时间q t h 、服务声誉q 。袖、可靠性q 一和可用性q 砌。( 1 ) 执行成本q

温馨提示

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

评论

0/150

提交评论