(系统工程专业论文)一种基于代理的动态服务组合方法的研究与实现.pdf_第1页
(系统工程专业论文)一种基于代理的动态服务组合方法的研究与实现.pdf_第2页
(系统工程专业论文)一种基于代理的动态服务组合方法的研究与实现.pdf_第3页
(系统工程专业论文)一种基于代理的动态服务组合方法的研究与实现.pdf_第4页
(系统工程专业论文)一种基于代理的动态服务组合方法的研究与实现.pdf_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

摘要 摘要 w e b 服务是近年来迅速发展起来的一种用于架构和实现企业间业务整合的 解决方案,主要是为了使原来各孤立的站点之间的信息能够相互通信、共享而 提出的一种接口,是现代网络流行的技术之一。但是单个的w e b 服务往往功能 较为单一,需要通过将不同的w e b 服务重新组合编排以实现复杂的业务逻辑功 能。基于w e b 服务的业务流程执行语言( b p e l 4 w s ) 是一个业务流程管理系统 的流程规范语言,它基于x m l 技术,用于整合现有的w e b 服务以形成复杂的 业务流程。但也在模板设计缺乏灵活性,和用户的互动方面等存在着欠缺。 本文在对w e b 服务和b p e l 4 w s 规范深入分析的基础上,研究了b p e l 所 存在的一些不足,并提出了自己的解决方案,设计了基于代理的动态服务组合 框架,将模型层次扩展成包括模板层,代理层和服务层的三层模型结构,重点 在于设计了代理服务a g e n t s c r v i c e ,在b p e l 4 w s 中引入代理服务a g e n t s e r v i c e 是对b p e l 4 w s 运行模式的改进,设计在b p e l 4 w s 中引入a g e n t s e r v i c e 之后, 不仅减少了流程模板的编制,而且增加了与用户的交互性。并且结合面向参观 者的信息服务组合平台( v o i s c p ) 的背景介绍了此技术的应用前景。 关键词:w e b 服务,b p e l 4 w s ,模板,v o i s c p ,a g e n t s e r v i c e a b s t r a c t a b s t r a c t w e bs e r v i c ei sar a p i d l ye m e r g i n gs o l u t i o nf o ra r c h i t e c t i n ga n di m p l e m e n t i n g b u s i n e s sc o l l a b o r a t i o n sw i t h i na n da c r o s so r g a n i z a t i o n a lb o u n d a r i e s i ti sa ni n t e r f a c e f o ri m p l e m e n t i n gc o m m u n i c a t i o na n ds h a r eb e t w e e ns i n g l ew e b s i t e w e bs e r v i c ei s o n eo ft h ep o p u l a rt e c h n o l o g i e si nm o d e mt i m e s s i n g l ew e bs e r v i c ej u s tp r o v i d e s l i m i t e df u n c t i o n a l i t y i ti s n e c e s s a r yt oc o m p o s es e v e r a ld i f f e r e n tw e bs e r v i c e s t o g e t h e rt oi m p l e m e n tc o m p l e xb u s i n e s sl o g i cf u n c t i o n b u s i n e s sp r o c e s se x e c u t i o n l a n g u a g ef o rw e bs e r v i c e s ( b p e l 4 w s ) i sax m l b a s e dp r o c e s sl a n g u a g ef o r b u s i n e s sp r o c e s sm a n a g e m e n ts y s t e mt h a tc a nc o m p o s ee x i s t e dw e bs e r v i c e st o c o m p l e xb u s i n e s sp r o c e s s b u ti te x i s t ss h o r t c o m i n gi nl a c ko fa g i l i t yi nd e s i g no f t e m p l a t ea n di n t e r a c tw i mu s e r s t h i sp a p e rs t u d i e st h es h o r t c o m i n go fb p e l 4 w sa n dp r o d u c e si t so w ns o l u t i o n s c h e m eo nt h eb a s eo fd e e p l yr e s e a r c ho nt h eb p e l 4 w ss p e c i f i c a t i o n i td e s i g n st h e f r a m e w o r ko fd y n a m i cs e r v i c e sc o m p o s i t i o nb a s e do na g e n t t h et h r e e l a y e r ss t r u c t i n c l u d i n gt e m p l a t el a y e r , a g e n tl a y e ra n ds e r v i c el a y e ri sd e s i g n e da n da g e n t s e r v i c e i se m p h a s i z e d i ti si m p r o v e m e n to fr u n n i n gm o d e sf o rb p e l 4 w s a f t e ri n t r o d u c i n g a g e n t s e r v i c ed e s i g n e db p e l 4 w s ,t h en u m b e ro fp r o c e s sm o d e li sd e c r e a s e da n d i n t e r a c t i v i t y 、析t 1 1 u s e r si se n h a n c e d t h e a p p l i c a t i o nf o r e g r o u n d u n d e rt h e b a c k g r o u n do fv i s i t o 卜o r i e n t e di n f o r m a t i o ns e r v i c ec o m p o s i t i o np l a t f o r m ( v o i s c p ) w i l lb ei n t r o d u c e d k e yw o r d s :w e bs e r v i c e ,b p e l 4 w s ,t e m p l a t e ,v o i s c p ,a g e n t s e r v i c e 同济大学学位论文原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师指导下,进行 研究工作所取得的成果。除文中已经注明引用的内容外,本学位论文 的研究成果不包含任何他人创作的、已公开发表或者没有公开发表的 作品的内容。对本论文所涉及的研究工作做出贡献的其他个人和集 体,均已在文中以明确方式标明。本学位论文原创性声明的法律责任 由本人承担。 学位论文作者签名: 套盔。 砌,莎年 月二f 日 学位论文版权使用授权书 本人完全了解同济大学关于收集、保存、使用学位论文的规定, 同意如下各项内容:按照学校要求提交学位论文的印刷本和电子版 本。学校有权保存学位论文的印刷本和电子版,并采用影印、缩印、 扫描、数字化或其它手段保存论文。学校有权提供目录检索以及提供 本学位论文全文或者部分的阅览服务。学校有权按有关规定向国家有 关部门或者机构送交论文的复印件和电子版。在不以赢利为目的的前 提下,学校可以适当复制论文的部分或全部内容用于学术活动。 学位论文作者签名: 年月日 第1 章引言 1 1 课题背景 第1 章引言 电子商务的市场需求推动了分布式计算技术的蓬勃发展,w e b 服务技术应 运而生,它是业界首次把x m l 、s o a p 、w s d l 和u d d i 等标准综合起来的新 技术,能够解决异构应用间的交互和协作,实现i n t e m e t 范围内的松耦合集成, 将是新一代电子商务技术的核心。 但是,当前的w e b 服务只是为异构应用的松耦合集成提供了技术手段,却 不能实现应用的流程层集成。i b m 、m i c r o s o f t 和b e a 联合推出的w e b 服务整合 语言b p e l 4 w s ,其目标就是要成为整合w e b 服务的标准。 本人参与了世博会信息服务组合平台的开发,世博会建设运营管理信息系 统是世博会信息化的核心平台,按照功能定位的不同划分为网络传输层、数据 处理层、应用服务层、控制指挥层、交换管理层五个层次。同济大学承担了其 中应用服务层的开发。应用服务层的各应用子系统面向世博会的建设运营和管 理的全过程,包括展务管理子系统、建设管理子系统、商务管理子系统、票务 管理子系统、安保管理子系统、交通管理子系统、物流管理子系统、工作人员 管理子系统、客流引导子系统、活动管理子系统、宣传推介子系统等。 考虑在世博的信息化平台中引入b p e l 4 w s ,其一,是因为b p e l 4 w s 对w e b s e r v i c e 提供了全面的支持,对于世博这样的综合项目,肯定涉及到方方面面的 服务,比如参观者需要主办方提供各种诸如订票,住宿,制定旅游线路等各种 服务,为了提供参观者完整的路线和方式,有必要将组合好的流程提供给参观 者,使他们得到便利。其二,b p e l 形成了一整套齐全的a p i 供外界调用,可以 将流程以不同的方式( j m s ,s o a p h t t p , s o a p j m s ) 绑定,使开发人员在前端方 便地部署流程。 但是b p e l 同样存在一些不足,例如在模板的设计阶段,在模板的某个节点 指向了p a r t n e rl i n k 中的t i c k e t t 0 0 1 w s d l 服务,但是由于某些原因,t i c k e t t 0 0 1 w s d l 不可用了,会导致整个流程不能使用,需要联系流程设计者把这个节点重定位 到其他的w e b 服务,如t i c k e t w s d l ,这就需要在服务a 处重新设置指向的参数, 第1 章引言 这个工作需要由后台的流程模板设计者来完成,给流程的运行带来了高维护性。 如下图1 1 。 ( j 宦 一,工、 ! 囱国 窿 一 图1 1 传统b p e l 运行方式 基于以上的不足,运用w e b 完好的封装性,松散耦合的特点,把人工的w e b 服务指向交由代理服务a g e n t s e r v i c e 来完成,模板层的接口一直是指向 a g e n t s e r v i c e w s d l ,没有发生变化,底层提供服务层的w e b 服务库,增加了流程 的高维护性。本论文设计的在b p e l 4 w s 中引入代理服务( a g e n t s e r v i c e ) 是对 b p e i a w s 的灵活运用,设计在b p e l 4 w s 中引入a g e n t s e r v i c e 之后,不仅减少 了流程模板的编制,而且增加了与用户的交互性。如下图1 2 。 口图 图1 2 引入a g e n t s e r v i c e 的运行方式 雁i 习 】 二j 臼 口。 口 第1 章引言 在世博这样庞大活动的背景下,面对各种参观者,提供个性化的,便捷的 服务是一个重大的课题,信息贯穿了整个参观活动的全过程,是决定世博服务 好坏的关键所在。基于这些,必须利用网络技术协同合作,旅游、机票、酒店、 餐饮、购物、娱乐联网运作,实现整个参观活动的高度整合。利用信息技术、 计算机网络系统的联动整合,实现大型活动的信息化。所以各种与旅游,餐饮 等相关信息的整合对于实现高质量的世博会服务是至关重要的。 1 2 课题研究目的 以面向参观者的信息服务组合平台( v o i s c p ) 为出发点,产生a g e n t s e r v i c e 的初步的模型,对于模型建模与w e b 服务间的灵活整合有一定的研究价值;考 虑到现有w e b 组合的发展,这个课题有广泛的应用价值,可以应用到其他的复 杂服务组合,通过这样的a g e n t s e r v i c e 的开发应用,进一步引出多a g e n t s e r v i c e 的管理和协同工作问题,对今后研究如何生成多a g e n t ,和a g e n t s e r v i c e 管理, 部署的方法都有一定的导向意义。 1 3 课题研究意义 随着p c 性能的提高,以前只能在大型机,工作站上运行的系统,软件现在 更多的转移到p c 上,但是随着软件的发展,更复杂的程序如果都运行在p c 上 的话,给p c 的性能提出了新的要求。另一方面,随着网络的发展,带宽的提高, 我们极其希望在网络上完成工作,分布式计算随之产生,w e b 服务作为分布式 计算的产物,使分布在网络上的资源构成了一个虚拟的计算机系统,从w e b 服 务的现实应用层面看,实际应用中客户面对表现形式和复杂性都可能不相同的 服务,如何正确高效地找到自己想要的服务至关重要,这正是w e b 服务发现的 任务,目前,w e b 服务搜索与发现采用的普遍方法是由客户使用搜索引擎找到 服务,或者在相关的w e b 页面中考察其是否满足服务请求的要求,因此,w e b 服务发现的自动化,基于语义和约束进行w e b 服务的查找及发现,特定应用环 境中的w 曲服务发现技术都是重要的研究方向。w r e b 服务使分布在网络中的资 源构成了一个虚拟的计算机系统,资源的重用和协同工作就涉及到如下的问题, 其一是复杂服务的组织和描述问题,其二是充分利用现有的i t 设备,并进行资 第l 章引言 源的按需配置的问题,其三是在服务组合的同时,如何充分显示和用户的交互 性,都是具有极其重要的理论意义和实际应用价值。w e b 服务作为一种新兴的 应用模式,是一个崭新的分布式计算模型,是w e b 上数据与信息集成的有效机 制。从电子商务应用领域来看,复杂的应用连接和程序代码造成了电子商务应 用的高维护代价和更新代价,而w e b 服务正好能够解决这一问题,成为目前应 用环境中最为合理的解决方案。随着w e b 服务从集中式到分布式的迅速发展, 以提高电子商务系统的健壮性,高性能计算能力为出发点,为了解决现实w e b 应用中“应用到应用 及“点对点”的核心问题,使当前w e b 应用适应全球化 和复杂商务处理的需求,进行w e b 上已有的计算组件的集成,基于现有协议提 高w e b 应用的互操作能力及服务质量,研究w e b 服务组合具有重要的意义。 本文在b p e l 4 w s 建模的基础上运用了代理技术,把代理技术和基于w e b 服务的业务流程执行语言两者结合起来。代理作为一个独立的软件,能够并行 执行封装了某些状态的事务,因而在分布式应用环境中具有交互和建模上的优 势。b p e l 4 w s 是重要的业务流程规范,它把不同的w e b 服务连接,整合起来, 创建新的流程,从而定义新的应用级w e b 服务。基于代理和b p e l 4 w s 实现w e b 服务合成,对于加强自动与动态的协作,特别是支持包含复杂分布式事务的动 态电子商务是一种很合适的设计理念。其中,b p e l 4 w s 支持面向w e b 服务的 静态工作流建模、管理与实现:软件代理技术支持知识表达和语义建模,并能 捕获、支持和实现开放环境中用于分布式计算的功能特征,因此能支持不确定 业务流程所涉及的动态w e b 服务的配置。 我们这里使用的代理是软件代理技术,软件代理是具有自治性和沟通能力 的软件程序。软件代理同时是具有智能的实体,在自身知识的支持下,能根据 目标进行识别和学习。软件代理的支撑技术主要包括软件实体动态建模、知识 表达和交互模式。代理由此可以把各种操作集成到行为里,按照不同的需要提 供功能。软件代理的运行遵循代理管理和平台服务规范,以及代理间通信模型 和语言规范。 目前,软件代理主要是采用j a d e 软件框架,j a d e 已成为开发软件代理的 一个主要平台,它是一个遵循f i p a 规范的软件框架。f i p a ( f o u n d a t i o nf o r i n t e l l i g e n tp h y s i c a la g e n t s ) 是个为异构软件代理的互操作制定标准的权威组 织。f i p a 代理平台支持的基础架构提供了软件代理进行部署的基本框架。其中, 生命周期管理系统监控代理的生成和回收。代理管理系统向托管代理提供“白 4 第l 章引言 页 目录服务,该目录存储着全局唯一的代理名称与局部通信传输地址之间的 映射。目录资源分配器是一个特殊的代理,它向平台上受管制的代理提供“黄 页”目录服务,该目录存储着代理及其所提供服务的描述。此外,消息传输服 务管理平台上代理间的通信。j a d e ( j a v aa p p l i c a t i o nd e v e l o p m e n te n v i r o n m e n t ) 是一个遵循f i p a 规范的软件框架。j a d e 提供了代理程序的类库、智能库、支 持基本代理服务( 生命周期管理,黄页,白页,信息传输与编码等) 的分布式运 行环境,以及一组调试工具等全面的系统服务。j a d e 容器内部运行架构继承了 f i p a 代理平台中的标准化服务。在j a d e 平台上,代理部署在容器中,代理的 交互和建模功能由其行为实现;代理间通过发送和接收基于交互协议的异步 a c l 信息进行通信。此外,j a d e 代理的执行模型除了具备软件代理的一般性质, 还具有以下特点:代理是并行的;不同代理可存在于同一容器中,不同容器可 存在于同一个平台;同一代理可以有不同行为,代理可同时从事多个交互。 代理与其说是一种新的技术创新,不如说是一种崭新的分析世界的思维方 法和用信息系统再现世界的设计方法。通过综合采用在信息科学、认知科学、 管理科学等各方面最新的研究成果,一种有高度智能和自治能力的软件代理将 深刻地改变我们对信息技术的理解,模糊传统的人机之间的界限,使人机之间 真正的协同工作成为可能。 1 4 研究内容及章节安排 论文共分为六章,其本文内容作如下安排: 第一章:引言。 第二章:本章主要介绍了基于b p e l 规范的w e b 服务组合方法的一些相关 的技术,包括w e b 服务的标准化技术,b p e l 流程建模的标准规范,然后分析 了在商业流程中利用大量w e b 服务进行组合的必要性。 第三章:本章首先介绍了分布式w e b 服务代理模型以及b p e l 中的代理服 务在其中的位置。介绍了基于代理的动态服务组合的总体框架,设计了包括模 板层,代理层和服务层的三层模型结构。分析了现有的b p e l 流程建模的优势和 不足之处,并且提出对不足之处的改进想法和实施可能。 第四章:本章介绍了对于流程各模块的设计与实现,主要是a g e n t s e r v i c e 的实现,包括对于客户端调用b p e l 4 w sa p i 的实现,最后通过一个订票流程介 第1 章引言 绍了其中的具体应用。 第五章:本章介绍了在世博项目中应用和实施基于代理的服务组合方法的 例子,通过系统用例图对面向参观者的信息服务组合平台进行了详细地介绍, 并剖析了其中的技术支持。 第六章:对现有工作进行了总结和展望,对进一步的开发方向作了简单分 析。 6 第2 章基于b p e l 的w e b 服务组合方法 第2 章基于b p e l 的w e b 服务组合方法 引言部分介绍了课题的研究背景,意义和研究领域,以及本文重点要介绍的 基于代理的b p e l 服务组合模式在整个代理技术中的位置。本章将对其中涉及到 的一些相关技术,包括w e b 服务和b p e l 4 w s 做一个全面的分析。 2 1w e b 服务概述及相关标准 2 1 1w e b 服务的定义 w 3 c ( w w w w 3 c o r g ) w e bs e r v i c e sa r c h i t e c t u r e 工作小组对w e b 服务的暂 行定义是:“w e b 服务是由u r i 标识的软件应用程序,其接口和绑定可以通过 x m l 构件进行定义、描述和发现,w e b 服务支持通过基于因特网的协议使用 基于x m l 的消息与其他软件应用程序直接交互。 从技术的角度来看,w e b 服务可以被认为是一种部署在w e b 上的对象,因 此具有对象技术所具有的优点。主要包括完好的封装性,松散耦合,使用协议 的规范性,使用标准协议规范以及高度可集成能力瞳1 。w e b 服务的是以x m l 为 主、开放的w e b 规范技术作为基础,因此具有比其他对象技术更好的开放性。 2 1 2w e b 服务的体系架构 w e b 服务的体系架构基于三种角色( 服务提供者、服务注册方和服务请求 者) 。三种角色之间的交互涉及三个操作:发布、查找和绑定。在典型情况下, 服务提供者定义w e b 服务的服务描述并把它发布到服务注册中心( 服务中介) , 也可以直接发给服务请求者。如果是前者,服务请求者使用查找操作来从本地 或服务注册中心检索服务描述,然后使用服务描述与服务提供者进行绑定并调 用w e b 服务实现交互,如果是后者,则直接调用提供的w e b 服务。图2 1 指 出了这些操作,提供这些操作的角色及它们之间的交互。 第2 章基于b p e l 的w e b 服务组合方法 图2 1w e b 服务体系结构 服务提供者:从企业的角度看,这是服务的所有者。从体系结构的角度看, 这是托管需要访问的w e b 服务的平台。 服务请求者:从企业的角度看,这是要求满足特定功能的企业。从体系结 构的角度看,这是寻找并调用服务,或启动与服务的交互的应用程序。服务请 求者角色可以由浏览器来担当,由人或无用户界面的程序( 例如,另外一个w e b 服务) 来控制它。 服务注册方:是指可搜索的服务描述注册中心或服务中介,服务提供者在 此发布他们的服务描述。在静态绑定开发或动态绑定执行期间,服务请求者查 找服务并获得服务的绑定信息( 在服务描述中) 。需要注意的是,对于静态绑定 的服务请求者,服务注册中心是体系结构中的可选角色,因为服务提供者可以 把描述直接发送给服务请求者。对于利用w e b 服务的应用程序,可以发生以下 三个行为:发布服务描述、查询或查找服务,这些行为可以单次或反复出现。 这些操作具体为: 发布:为了使服务可访问,需要发布服务描述以使服务请求者可以查找它。 发布服务描述的位置可以根据应用程序的要求而变化。 查找:在查找操作中,服务请求者直接检索服务描述或在服务注册中心中 查询所要求的服务类型。对于服务请求者,可能会在两个不同的生命周期阶段 中牵涉到查找操作:在设计时为了程序开发而检索服务的接口描述,而在运行 时为了调用而检索服务的绑定和位置描述。 绑定:最后需要调用服务。在绑定操作中,服务请求者使用服务描述中的 绑定细节来定位、联系和调用服务,从而在运行时调用或启动与服务的交互。“。 第2 章基于b p e l 的w e b 服务组合方法 2 1 3w e b 服务的相关标准 1 简单对象访问协议( s o a p ) 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 ,简单对象访问协议) 是一种用于交换 x m l 编码信息的轻量级协议,该协议通过一个模块化的消息模型以及编码的方 式定义了交换信息的简单机制。用于在分散型、分布式环境中交换结构化信息。 s o a p 本身并没有定义任何应用程序语义,如编程模型或特定语义的实现,它只 是提供了一种可通过多种底层协议进行交换的消息结构,这种框架的设计思想 是要独立于任何一种特定的编程模型和其他特定实现的语义。这使s o a p 能够被 用于从消息传递到r p c 的各种系统,而不依赖于任何特定的底层传输协议,在实 际应用中可以绑定多种传输协议,比如h 1 v r p 、f t p 或者s m t p 。如图2 2 所示。 a n yc o m m u n i c a t i o n s s o a p m e s s a g e 图2 2s o a p 传递消息示意图 s o a p l 1 规范包括了以下几个主要部分d 3 : 1 ) s o a p 封装( s o a pe n v e l o p e ) 定义了一个整体的表示框架,用于表示信息中的内容是什么,谁来处理它, 以及处理操作是可选的还是强制的。e n v e l o p 元素始终是s o a p 消息的根元素, 该元素包含一个可选的h e a d e r 元素,后面必须跟一个b o d y 元素。b o d y 元素代 表了该消息的有效内容。 2 ) s o a p 编码规则( s o a pe n c o d i n gr u l e s ) 它定义了一个数据编码机制,可用于交换应用程序定义的数据类型的实例。 3 ) s o a p 绑定( s o a pb i n d i n g ) 它定义了一个使用底层传输协议来完成在节点问交换s o a p 封装的约定。 4 ) s o a pr p c 表示( s o a pr p cr e p r e s e n t a t i o n ) 定义了一个用于表示远程过程调用和响应的约定。 9 第2 章基于b p e l 的w e b 服务组合方法 s o a p 可以简单的理解成这样的一个协议s o a p = r p c + h t t p + x m l :采用 h t t p ( 当然也可以是f t p 或s m t p 等) 作为底层通讯协议:以r p c 作为一致性的 调用途径,x m l 作为数据传送的格式,允许服务提供者和服务使用者经过防火 墙进行通讯交互。正是由于s o a p 的简洁性,在w r e b 服务协议栈中,s o a p 用于传 递消息,这种传递可以是跨平台的。此外,s o a p 消息还支持w 曲服务体系结构 中的发布、查找和绑定操作。 2 w e b 服务描述语言( w s d l ) w s d l ( w e 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 曲服务描述语言) 是用来描述网 络服务的一种基于x m l 格式的语言,它用于定义w 曲服务以及如何调用它们, 即描述w | e b 服务的属性,例如它做什么,它位于哪里和怎样调用它。w s d l 文件 可用于动态发布、查找以及绑定w 曲服务。在w s d l 出现之前,每个w e b 服务开 发环境使用特定方法描述w e b 服务,存在不同的标准,如微软的s c l ( s o a p c o n t r a c tl a n g u a g e ,s o a p 合约语言) 和i b m 的n a s s i ( n e t w o r ka c c e s s i b l es e r v i c e s p e c i f i c a t i o nl a n g u a g e ,网络可访问服务规范语言) ,各种描述之间并不兼容。为 了使各种不同环境下的w e b 服务更好的交互,w s d l 应运而生。2 0 0 1 年,微软与 i b m 共同向w 3 c 提交了w s d l l 1 版标准( h t t p :w w w w 3 c o r g t r w s d l ) 。 w s d l 文档主要说明了w 曲服务的三个基本属性: 1 ) 描述w 曲服务的接口:服务做些什么 p o r t t y p e 元素是对于某个访问入口点类型所支持的操作的抽象集合,这些操 作可以由一个或多个服务访问点来支持。 o p e r a t i o n 元素是对服务中所支持的操作的抽象描述,一般单个o p e r a t i o n 描述 了一个访问入口的请求响应消息对。 m e s s a g e 元素是通信消息的数据结构的抽象类型化定义。它使用t y p e s 元素所 定义的类型来定义整个消息的数据结构。 2 ) 绑定定义:如何访问服务 该部分是为特定的p o r t t y p e ( 端1 2 1 类型) 所定义的操作和消息指定具体传输 所使用的消息格式和协议细节,用到- 了b i n d i n g 元素。并且对于某个给定的 p o r t t y p e ,可能会出现多个绑定,比如可以将一个w e b 服务以s o a p 或者h t t p p o s t 的形式分别绑定。 3 ) 服务访问点定义:服务位于何处。 1 0 第2 章基于b p e l 的w e b 服务组合方法 这是将一组相关的服务访问点组合在一起,涉及到p o r t 和s e r v i c e 两个元素。 p o r t 元素定义为协议或数据格式绑定和具体w e b 访问地址组合的单个服务访 问点; s e r v i c e 元素代表端口的集合,相关服务访问点的集合。图2 3 形象地说明了 w s d l 的文档结构。 图2 3 w s d l 文档结构 w s d l 充分体现了当代w e b 技术标准的理念:开放。它允许通过扩张使用其 他类型的定义语言,也允许使用多种网络传输协议和消息格式。同时w s d l 还体 现了软件工程中的复用理念,分离了抽象的接1 2 1 定义层和具体部署层,使得抽 象接口定义的复用性大大提高。 3 发现与集成( u d d i ) 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 ,统一描述发现和集 成) ,它为在w e b 上发现服务提供了实现的方法。u d d i 通过服务注册,以及使用 s o a p 来访问这些注册信息来实现这个目标。 i b m 、微软和a r i b a 公司共同开发了u d d i ,这个规范定义了注册中心,使 公司可以发布信息和提供服务。服务使用者可以用u d d i 注册中心找到不同服 务提供者的服务信息。利用这些信息,使用者可以进行再操作。比如选择合适 的服务,进行服务组合等。 所谓的发现过程就是通过注册中心找到w e b 服务。发现过程可分为直接发 第2 章基于b p e l 的w e b 服务组合方法 现和间接发现。直接发现是从服务提供者维护的注册中心取得数据,通过直接 发现能保证取得的数据的精确性。间接发现,则是通过第三方注册中心取得数 据,这个数据可能不精确,原因在于不能保证第三方注册中心的维护力度。 u d d i 业务注册中心主要支持间接发现,其注册信息可分为白页,黄页和绿 页三种。白页包含企业一般信息,如名称、地址、联系方式和标识,还包括企 业的任何一种标识符。黄页把公司按照产品或服务类型进行分类,通过黄叶注 册中心用户可以搜索特定类别的公司与服务。绿页包括公司产品、服务和w e b 服务的技术信息。通常包含服务的w s d l 文档引用,可以使客户端关联到相关 的服务。 u d d ! 规范包括了s o a p 消息的x m ls e h e m a 和u d d i 规范a p i 的描述。它们两 者一起建立了基础的信息模型和交互框架,用来支持对各种w - e b 服务描述信息的 发布和查找。 虽然u d d i 可以帮助发现w e b 服务,并且发展很快,但目前来说还是有着 一些不足。一方面u d d i 还没有提交到标准组织,另一方面一些u d d i 注册中 心还存在数据可靠性的问题,因为一般注嬲中心用户是不能知道数据更新的情 况,因此也不能确定注册中心的数据、服务描述是否反映了w e b 服务的最新情 况。 2 2 基于b p e l 的服务组合的总体框架 基于b p e l 的服务组合的总体框架如下图2 4 所示。服务提供者通过w s d l 描述其提供的w 曲服务,定义了服务提供的操作,如何访问服务位于何处等信 息,并可以将服务相关信息注册到服务注册中心。根据具体的需求描述,利用 b p e l 建模工具建立多个流程模板,形成模板库。根据需求找到相对应的流程模 板,启动流程实例。流程引擎将负责b p e l 流程实例的执行,在执行过程中,可 以通过服务访问点直接调用w e b 服务,也可以在服务注册中心寻找匹配的服务。 第2 章基于b p e l 的w e b 服务组合方法 2 2 1b p e l 介绍 图2 4 基于b p e l 的服务组合总体框架 b p e l 4 w s ( b u s i n e s sp r o c e s se x e c u t i o nl a n g u a g ef o rw e bs e r v i c e s ,基于w e b s e r v i c e s 的业务流程执行语言) 是专为整合w e bs e r v i c e s 而制定的一项规范标准。 它从本质上来说是i b m 的w s f l 和m i c r o s o f t 的x l a n g 的结合物,目前已经 成为业界标准。w s f l 支持图形化的流程,x l a n g 则在结构化构造方面有独 到的方法,而b p e l 4 w s 正是吸取了两者的优点,同时摒弃了一些复杂繁琐的部 分,形成了一种较为自然的描述商业活动的抽象高级语言。 2 2 2 流程的建模 基于b p e l 的服务组合属于静态组合。静态组合是在组合服务定义过程中将 组合w e b 服务与完成活动功能的服务提供者静态绑定,将服务提供者的地址、 接口等信息直接记录在服务组合定义中,这种情形适合于固定合作伙伴间的交 互,需要服务提供者保证服务时刻可用,且服务接口不发生变化,因此在建模 过程中就需要定义好服务的具体信息。 采用i b m 的w e b s p h e r ea p p l i c a t i o nd e v e l o p e ri n t e g r a t i o ne d i t i o n5 1 ( 简称 第2 章基于b p e l 的w e b 服务组合方法 w s a d i e 5 1 ) 进行业务流程建模和部署。该工具提供了对面向服务的开发的全 面支持,包括创建业务服务、创建和编排业务流程、部署和调试业务流程等等。 w s a d i e 属于i b mw e b s p h e r es t u d i o 产品家族,是款基于j a v a 技术的集成平 台“1 。在业务流程的开发方面,该平台的主要特色有以下几点: 1 ) 良好的编程界面 在w s a d i e 支持图形化的b p e l 流程设计,在它的业务集成视图中可以直 观的使用拖拽的工具来可视化的编排业务流程。 2 ) 对b p e l 规范的扩展 在b p e l 原有规范的基础上进行了扩展,主要有:通过人工活动( s t a f f a c t i v i t y ) 实现了流程与外部人员的交互;通过j a v a s n i p p e t 活动在流程中嵌a , j a v a 代码片段以实现一些简单功能;通过t r a n s f o i t l l 服务实现对两个x m l 文档数据 的转换。 3 ) 业务流程与j 2 e e 平台的结合 在w s a d i e 中的流程编排工具使业务流程可以和j 2 e e 紧密的结合起来。 4 ) 可以创建嵌套的业务流程 即创建的流程又可以被其他更高层次的业务流程所使用。 5 ) 强大的流程部署功能 设计好的流程需要部署到服务器端,w s a d i e 提供了强大的部署工具,可 以将流程以不同的方式( j m s ,s o a p h t t p , s o a p j m s ) 绑定。 2 2 。3 流程的部署 流程建模完成之后,需要将b p e l 流程及相关应用程序部署到本地或远程的 w e b 服务器,以供客户端访问使用。部署时可以选择以多种方式来绑定流程嗨】。 e j b 绑定是默认也是必须的绑定方式,e j b ( e n t e r p r i s e j a v a b e a n ) 是基于j a v a 构建服务器端组建的标准,可以通过生成的e j b 组件接口来访问流程。 此外可以以s o a p ,j m s 等不同的方式绑定,两者都是定义了流程和外界之 间传递消息的标准。j m s ( j a v am e s s a g es e r v i c e ,j a v a 消息服务) 是一种解决在 不同系统之间交换信息的的机制,通过接口集合以异步方式发送或接收消息。 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 ,简单对象访问协议) 是一种用于交换x m l 编码信息的轻量级协议。此外在部署时还需要指定伙伴的绑定地址,可以便流 1 4 第2 章基于b p e l 的w e b 服务组合方法 程找到提供服务的伙伴引。 2 3 流程引擎实现技术 流程引擎是流程管理系统中的核心模块,它负责解释业务流程模型、推进 流程的执行、分配工作任务给工作人员和与外部应用系统交互等功能。目前支 持b p e l 的流程引擎有多种,本章对于流程引擎的分析主要基于i b m 公司的 w b i s f ( w e b s p h e r eb u s i n e s si n t e g r a t i o ns e r v e rf o u n d a t i o n ) 进行的。w b i s f 是 基于j 2 e e 应用服务器面向服务的集成服务器。w b i s f 的核心是业务流程和服 务,业务流程描述了业务流转的逻辑关系,而服务则代表了实现该流程所使用 到的各种应用。因为它依托于i b m 的j 2 e e 应用服务器w e b s p h e r ea p p l i c a t i o n s e r v e rv 5 1 ,从而提供了对j 2 e e 应用和w e bs e r v i c e s 的全面支持;同时它提供 了一个能执行业务流程的流程编排器( p r o c e s sc h o r e o g r a p h e r ) ,流程编排器提供 了对自动流程和人工流程的支持。w b i s f 本身就是面向服务的体系结构,它可 以把已有的各种j 2 e e 和w e bs e r v i c e s 应用编排到业务流程之中。实现了b p e l 流程、w e b 服务和j 2 e e 三者的结合h 3 。 2 3 1 流程引擎的体系结构 流程引擎是流程管理系统中的核心模块,它负责解释业务流程模型、推进 流程的执行、分配工作任务给工作人员和与外部应用系统交互等功能。图2 5 是流程引擎体系结构的示意图伽。 第2 章基于b p e l 的w e b 艉务组合方法 卿、喇 l | “”1 i 8 “2 ”4 ” p ? ( 、 圈口沁爿) 回 鼍 r _ j 瑁 匦量丑镯 自愀“h j f儿 麓驴吲豳。 嗣图8 :驴 m “一,u1 f f ”m ” w e b 服并8 :部署w e h 般* 利减鞋 彳 台作优俸:替熊w 曲麟 图25 流程引擎的体系架构 合作伙伴( 也称为伙伴) 是w e b 服务的提供者,流程可以和伙伴进行交互, 调用w e b 服务或被伙伴所调用。 流程引擎最后会部署在w e b 服务器中,在w s a d i e 中一般会把流程最后部 署在w b i s f 服务器中。合作伙伴和w e b 服务器之间以s o a p 传递消息,因为 w e b 服务中的协议栈中是以s o a p 作为消息传递协议的。 在流程执行过程中可能会有多个输入消息,这些输入消息会进入消息队列 等待,每个输入消息都可以触发一个流程实例。 流程执行队列实际上是指流程实例的执行队列。每一个流程实例都有一个 执行队列,该流程实例所有要执 亍的活动都会敖在这个队列里,这个队列会依 次执行每一个等待执行的活动。 第2 章基于b p e l 的w e b 服务组合方法 定时事件队列是存放流程中的定时事件的,有些活动可以设置定时间或有 一个截至期限,可以使活动经过一段时间的延迟再执行,定时事件管理器用于 管理这些活动,延时活动处于定时队列,延时结束后再插入到流程执行队列等 待执行。 错误队列是在流程实例执行过程中捕捉到的错误的集合。 流程引擎还支持流程实例和外部人员的交互,这些人员可以是不同的角色, 拥有不同的权限,人员可以参与到流程中来推动流程的执行。 2 3 2 流程编排器 流程编排器( p r o c e s sc h o r e o g r a p h e r ) 是w b i s f 提供的用于整合基于b p e l 的业务流程和j 2 e e 环境的工具。通过流程编排器,可以将业务流程技术和j 2 e e 开放标准所提供的其他服务结合起来口1 。 流程编排器的功能以a p i 的形式提供给外部系统,同步的i 冲c 形式的e j b 程序和异步的j m s 形式的程序都可以使用这些a p i 。 w e b 客户端通过a p i 和流程引擎交互。w e b 客户端可以使用基于浏览器 的图形用户界面,比如基于j s p ( j a v as e r v e rp a g e s ) 技术。它给用户提供一系 列的工作列表,包含了工作条目,用户可以执行查询,查看消息信息,或者执 行一些操作。 流程编排器提供两种主要的接口: 1 ) p r o c e s

温馨提示

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

评论

0/150

提交评论