(计算机科学与技术专业论文)流程引擎间交互方法研究、实现及应用.pdf_第1页
(计算机科学与技术专业论文)流程引擎间交互方法研究、实现及应用.pdf_第2页
(计算机科学与技术专业论文)流程引擎间交互方法研究、实现及应用.pdf_第3页
(计算机科学与技术专业论文)流程引擎间交互方法研究、实现及应用.pdf_第4页
(计算机科学与技术专业论文)流程引擎间交互方法研究、实现及应用.pdf_第5页
已阅读5页,还剩53页未读 继续免费阅读

(计算机科学与技术专业论文)流程引擎间交互方法研究、实现及应用.pdf.pdf 免费下载

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

文档简介

摘要 在电信运营市场竞争日益激烈的今天,运行维护能力已经成为电 信运营商的核心竞争力之一。通过运行调度系统的合理建设提高运维 质量是提高运行维护能力的重要手段。国内某电信运营商的运行调度 系统就是基于工作流技术建设的系统。每个调度流程的定义是通过工 作流技术来实现,并由工作流引擎来维护流程实例的状态和相关数 据。现有运行调度系统的建设情况还存在一些不足之处,给运营商的 运维工作带来一定的影响。 本文针对运行调度系统建设现状进行分析,找出存在的问题,给 出设计方案并实现。运行调度系统在运营商内部建立起了一套有效的 运行调度平台,分为部省两级,两级流程引擎之间要完成闭环化,透 明化的运行调度使得引擎间交互接口的建设成为必须。本文对部省两 级系统中工作流引擎状态交互的情况进行分析,对交互的方法进行研 究。在此基础之上对流程引擎交互接口的服务提出整体的设计方案并 进行抽象定义。针对引擎间工作流状态的通知服务,我们引入发布订 阅的交互模式进行设计。本文完成了交互接口服务的形式化描述及实 现。在实现技术上选用w e b s e r v i c e 技术。然后本文对交互接口服务 进行了部署以及测试,并对测试结果进行分析。交互接口理顺了不同 部门以及部门上下级之间的协作关系,规范和优化了工作流程,实现 了运行调度工作的流程化、自动化和规范化,提高了运维质量。最后 论文指出了设计和实现中的不足,并希望在以后的工作中得以完善。 关键词工作流引擎交互接口发布订阅w e b 服务 1 h er e s e a r c h ,a p p l i c a r i o na n d 姗l e 匝n t a t i o n o ft 髓i n t e r a c t i v e 卫旺t h o dsb e t 厂e e nt h e w o r k f l o we n g i n e s a b s t r a c t i nt h ei n c r e a s i n g l yc o m p e t i t i v et e l e c o ms e r v i c em a r k e t ,o p e r a t i o na n d m a i n t e n a n c ea b i l i t yh a sb e c o m et h ec o r ec o m p e t i t i v e n e s so ft e l e c o m o p e r a t o r s t h r o u g ht h e r e a s o n a b l ec o n s t r u c t i o ns c h e d u l i n gs y s t e mt o i m p r o v eo p e r a t i o na n dm a i n t e n a n c eq u a l i t yi sa ni m p o r t a n tm e t h o d a d o m e s t i co p e r a t o r so p e r a t i n gs c h e d u l i n gs y s t e mi sb a s e do nw o r l d l o w t e c h n o l o g y e a c hs c h e d u l i n gp r o c e s s i sd e f i n e dt h r o u g hw o r k f l o w t e c h n o l o g ya n dt h ew o r k f l o we n g i n em a i n t a i n st h es t a t ea n dr e l e v a n td a t a o ft h ee x a m p l e s c u r r e n ts i t u a t i o no fc o n s t r u c t i o no f o p e r a t i o ns c h e d u l i n g s y s t e ms t i l l h a ss o m es h o r t c o m i n g sw h i c hb r i n gs o m ep r o b l e m st o o p e r a t o r s i nt h i sp a p e r , f i r s t l yf i n d so u tt h ee x i s t i n gp r o b l e m sa n dp r e s e n t st h e d e s i g na n di m p l e m e n t a t i o nb a s e do nt h ea n a l y s i so ft h ec o n s t r u c t i o no f s y s t e m s c h e d u l i n gs y s t e me s t a b l i s h e das e to fe f f e c t i v eo p e r a t i o n p l a t f o r mi no p e r a t o r si n s i d ea n d i ti sd i v i d e di n t ot w op a r t s t h et w of l o w e n g i n e st oc o m p l e t et h et r a n s p a r e n c ya n dc l o s e d l o o po p e r a t i o n sm a k e s t h ee n g i n ei n t e r a c t i v ei n t e r f a c em u s tt ob ec o n s t r u c t e d i nt h i s p a p e r , a n a l y z e st h ew o r l c f l o we n g i n es t a t ei n t e r a c t i o ni nt h et w os y s t e m sa n d r e s e a r c h e sm e t h o d so fi n t e r a c t i o n o nt h eb a s i so fa n a l y s i s ,t h i sp a p e r p r e s e n t st h eo v e r a l ld e s i g na n da b s t r a c td e f i n i t i o no fs e r v i c e so ft h ef l o w e n g i n ei n t e r a c t i o ni n t e r f a c e a c c o r d i n gt ot h es e r v i c eo fw o r k f l o we n g i n e s t a t en o t i f i c a t i o n ,w ei n t r o d u c et h ep u b l i s h s u b s c r i b ei n t e r a c t i v em o d e i n t ot h ed e s i g n t h i sp a p e rc o m p l e t e st h ef o r m a l i z i n gd e s c r i b i n ga n d i m p l e m e n t a t i o no fi n t e r a c t i o ni n t e r f a c es e r v i c e s i nr e a l i z i n gt e c h n o l o g y , w ec h o o s ew e bs e r v i c e t h e nw ed e p l o yt h ei n t e r a c t i o ni n t e r f a c e s s e r v i c e sa n da n a l y z et h et e s tr e s u l t s t h ei n t e r f a c e sc a l ls t r a i g h t e nt h e c o l l a b o r a t i o nb e t w e e nt h ed i f f e r e n td e p a r t m e n t s ,s t a n d a r da n do p t i m i z e t h ew o r k f l o w s ,r e a l i z et h ea u t o m a t i o na n ds t a n d a r d i z a t i o n ,i m p r o v et h e q u a l i t yo fo p e r a t i o na n dm a i n t e n a n c e f i n a l l y , t h i sp a p e rs u m m a r i z e st h e w o r ka n dp o i n t so u tt h ed e f i c i e n c yi nt h ed e s i g na n di m p l e m e n t a t i o n h o p ed e f i c i e n c i e sc a nb ep e r f e c t e da n di m p r o v e d k e yw o r d sw o r k f l o w e n g i n e i n t e r a c t i v ei n t e r f a c e s p u b l i s h s u b s c r i b e 朊6s e r v i c e 独创性( 或创新性) 声明 本人声明所呈交的论文是本人在导师指导下进行的研究工作及取得的研究 成果。尽我所知,除了文中特别加以标注和致谢中所罗列的内容以外,论文中不 包含其他人已经发表或撰写过的研究成果,也不包含为获得北京邮电大学或其他 教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任 何贡献均已在论文中作了明确的说明并表示了谢意。 申请学位论文与资料若有不实之处,本人承担一切相关责任。 名:妒抓 嗍加7 一厂1 7 关于论文使用授权的说明 学位论文作者完全了解北京邮电大学有关保留和使用学位论文的规定,即: 研究生在校攻读学位期间论文工作的知识产权单位属北京邮电大学。学校有权保 留并向国家有关部门或机构送交论文的复印件和磁盘,允许学位论文被查阅和借 阅;学校可以公布学位论文的全部或部分内容,可以允许采用影印、缩印或其它 复制手段保存、汇编学位论文。( 保密的学位论文在解密后遵守此规定) 非保密论文注释:本学位论文不属于保密范围,适用本授权书。 本人签名: 导师签名: ) 袁林 日期:沙罗如7 日期: 训7 享t ,7 北京邮电大学硕士研究生毕业论文流程引擎间交互方法研究、实现及应用 1 1 课题背景 第一章引言 在电信运营市场竞争日益激烈的今天,网络运行维护能力已经成为电信运 营商的核心竞争力之一。网络运行维护是保障运营商的网络与业务正常、安全、 有效运行的不可或缺的重要部分。运行维护系统是网络运行维护的工具系统。 随着电信竞争的加剧,运行维护系统需要担负的工作内容比过去有了成倍的增 长。建设一个合理的运行维护系统是运营商降低运营成本,提高网络运维的质 量的一个重要手段。高效的运行维护系统能够提高运维管理水平,实现全网统 一的运行维护,从而提高客户服务水平和服务质量,增强对不断出现的新业务 的支撑能力和反应速度,并整合各专业的网络运行维护职能【1 1 。 运行调度管理是网络运行维护管理中最重的环节之一。运行调度系统是针 对网络运行维护体系进行流程固化、流程优化和应用集成的重要手段和有效工 具。运行调度人员基于运行调度系统进行流程的设计、流程中不同角色的职责 定义,确定运维流程【2 】。运行调度系统将为网络运行维护管理各系统提供交互 的纽带,电信企业网络维护管理过程也将随着信息化的运行调度平台提供的面 向过程的运维管理而发生巨大的变化【3 1 。 目前国内各电信运营商都建立起了一套有效的运行调度平台。它能够理顺 不同部门以及部门上下级之间的协作关系,规范和优化工作流程,实现运维工 作的流程化、自动化和规范化,提高运维工作效率。但目前运行调度系统的建 设存在着各种不同程度的问题,还无法完全满足运维工作的所有要求,需要进 一步的规划和完善,从而真正发挥运行调度系统在网络运行维护中的重要作用。 这些问题如果不能及时得到解决,必将影响网络运行维护的各项工作的顺利开 展,直接影响到运维工作的效率和质量,最终影响企业的服务水平和客户的满 意度。 1 2 论文研究目标 本文将针对国内某电信运营的运行调度系统建设现状进行分析。由于该运 行调度系统分为部省两级,而两级的运行调度系统都是基于工作流技术来实现 的。两级流程引擎之间要完成闭环化,透明化的运行调度使得引擎间交互接口 的建设成为必须。 北京邮电大学硕士研究生毕业论文流程引擎间交互方法研究、实现及应用 本文将针对部省两级系统中工作流引擎状态交互的情况进行分析,并对交 互的方法进行研究,在此基础之上对流程引擎交互接口的服务提出整体的设计 方案并进行抽象定义。针对引擎间工作流状态的通知服务,我们引入发布订阅 的交互模式进行设计,本文中将介绍w e b s e r v i c e 对订阅发布交互模式的支持规 范w s n 。 本文将完成流程引擎交互接口服务的形式化描述及实现。然后本文对交互 接口服务进行了部署以及测试,并对测试结果进行分析。在实现技术上选用 w e b s e r v i c e 技术。最后本文对所做工作进行了总结也指出了设计和实现中的不 足之处,希望日后能加以完善和改进。 本课题在研究过程中提出的流程引擎间状态交互的分析结果、发布订阅机 制等交互方法为以后在更复杂的异构网络中实现不同工作流系统间的接口设计 方案提供良好的借鉴,并为将来实现运行调度系统同各专业综合网管系统、客 服系统等系统之间的互联互通打下良好的基础。 1 3 论文结构 本文分为六章。 第一章,主要介绍了本文的研究背景及目标。 第二章,主要介绍了工作流技术以及流程引擎间交互技术。 第三章,以某电信运营商的运行调度系统为背景,对系统中工作流引擎状态交 互的情况进行分析,对引擎间交互接口的需求进行总结。 第四章,针对上一章提出的需求,对流程引擎间交互接口的服务提出整体的设 计方案并进行定义。 第五章,对流程引擎交互接口服务进行形式化描述并实现,最后对交互接口进 行测试和分析。 第六章,对论文进行总结,并对下一阶段工作进行展望。 2 北京邮电大学硕士研究生毕业论文流程引擎间交互方法研究、实现及应用 第二章工作流技术及流程引擎间交互技术 本章首先介绍了工作流技术及工作流系统,然后对w e b s e r v i c e 技术进行了 简介,它是流程引擎间交互重要手段。最后介绍了订阅通知的消息交互模式以 及w e b s e r v i c e 对其的支持:w s - n o t i f i c a t i o n 规范。 2 1 工作流技术简介 2 1 1 工作流和工作流系统 工作流( w o r k f l o w ) 就是工作流程的计算模型,即将工作流程中的工作如 何前后组织在一起的逻辑和规则在计算机中以恰当的模型进行表示并对其实施 计算。工作流要解决的主要问题是:为实现某个业务目标,在多个参与者之间, 利用计算机,按某种预定规则自动传递文档、信息或者任务【4 1 。 工作流管理系统的主要功能是通过计算机技术的支持去定义、执行和管理 工作流,协调工作流执行过程中工作之间以及群体成员之间的信息交互。工作 流需要依靠工作流管理系统来实现。 工作流属于计算机支持的协同工作( c o m p u t e rs u p p o r t e dc o o p e r a t i v ew o r k , c s c w ) 的一部分。后者是普遍地研究一个群体如何在计算机的帮助下实现协 同工作的。 工作流管理系统( w o r k f l o wm a n a g e m e n ts y s t e m ,w f m s ) 是定义、创建、 执行工作流的系统。在最高层上,w f l v i s 应能提供以下三个方面的功能支持: ( 1 ) 建造功能:对工作流过程及其组成活动定义和建模; ( 2 ) 运行控制功能:在运行环境中管理工作流过程,调度工作流过程中的 活动; ( 3 ) 运行交互功能:在工作流运行中,w 蹦s 与用户( 业务工作的参与者 或控制者) 及外部应用程序工具交互的功能【5 】。 由于信息技术的发展和日趋激烈的商业竞争,人们不再满足于独立、零散 的办公自动化和计算机应用,而是需要综合的、集成化的解决方案。作为一种 对常规性事务进行管理、集成的技术,w f m s 的出现是必然的。它管理流程以 使得业务逻辑和流程逻辑得以分离,可以带来以下收益: ( 1 ) 改进和优化业务流程,提高业务工作效率; ( 2 ) 实现更好的业务过程控制,提高顾客服务质量; ( 3 ) 提高业务流程的柔性等。 3 北京邮电大学硕二 研究生毕业论文 流程引擎间交互方法研究、实现及应用 2 1 2 工作流系统参考模型 工作流管理联盟w f m c 定义了工作流系统的参考模型【6 】,如图2 1 : 稠kimmislratitmilmonitmn窖tools 蕴l 缓 至p r o e m 习s i d e f i n i t i o nt oo bl 缓缀驻翰缀缀缀缀缓瑷缓骝豳 国固 图2 1 工作流系统参考模型 工作流系统的参考模型是以工作流执行服务器( w o r k f l o we n a c t m e n t s e r v i c e ) 为中心,其它组件通过w a p i ( w o r k f l o wa p i s ) 访问工作流系统提供 的服务。下面,将根据图2 - 1 介绍一下工作流参考模型中提到的各个组件模型, 以及之间的接口。 ( 1 ) 工作流执行服务器( w o r k f l o we n a c t m e n ts e r v i c e ) 工作流执行服务器是工作流系统核心的部分,关于工作流执行服务器, w f m c 给出了如下的定义:“由一个或多个工作流引擎构成的软件服务器,用 来创建、管理、执行工作流实例。应用程序可能会通过w a p i 来与这个服务交 互。 工作流引擎( t h ew o r k f l o we n g i n e ) 工作流引擎是工作流系统运行时期控制功能的核心组件。它的主要任务是: 解释过程定义。控制过程实例的创建、激活、挂起、终止等。为过程的活动实 例导航,例如,顺序或者平行的操作、最后时间期限、对工作流相关数据进行 解释等。参与者签名和退出。确定任务项目、实现用户意图;提供接口,支持 用户交互。维护工作流控制数据和工作流相关数据,并在应用程序间和用户间 传递数据。提供调用外部程序的接口,连接所有工作流相关数据。提供控制、 4 北京邮电大学硕士研究生毕业论文流程引擎间交互方法研究、实现及应用 管理和审查功能。 工作流引擎可以对过程、子过程、定义了对象类型和属性范围的运行实例 进行控制。 过程和活动状态变迁 一个工作流包括一组活动以及它们的相互顺序关系,还包括过程和活动的 启动和终止条件,以及对每个活动的描述。工作流参考模型规定了过程和活动 的一些基本状态。图2 2 描述了一个过程实例的基本状态迁移方案: 图2 - 2 过程实例基本迁移方案 一个过程会执行多个活动。过程可以被中断( 即s u s p e n d e d ) ,但是活动一 旦被激活是不能被中断的。活动是工作流执行服务器运行的最小单位。一个活 动实例所包括的基本状态如图2 3 所示: s u s p e n d l r e s u m e i 丫 s t a n 一# 一d 图2 - 3 活动实例的状态转移图 w a p i 与数据交换 对于工作流执行服务器而言一共有三类数据。第一类是工作流控制数据, 它是工作流引擎管理的内部数据,用来确定过程实例或活动实例的状态;第二 类是工作流相关数据,是判断过程中状态转移是否可以执行的数据,这些数据 在工作流执行软件问传递;第三类是工作流应用程序数据,是应用程序中的具 5 北京邮电大学硕士研究生毕业论文流程引擎间交互方法研究、实现及应用 体数据。除工作流控制数据是内部数据以外,工作流相关数据和工作流应用程 序数据都需要与外界交换。 在对w f m s 参考模型的基本介绍中曾提到,所有其他组件通过w a p i 与工 作流执行服务器交互。w a p i 所提供的主要功能即是数据交换和a p i 的调用。 在图2 1 中标明,w a p i 共有5 个接口与其它组件交互。 i m e f f a c e1 被称为工作流定义转换或过程定义导入导出接口,是定义工具 和工作流执行服务器问的接口。此接口主要职责是获取工作流定义以及打开、 创建和保存一个过程定义。 i n t e r f a c e2 被称为客户端应用程序接口,用于工作列表处理器和执行服务 器之间的交互。它支持的功能包括获取工作流流程定义,对过程实例和活动实 例实施控制,并获取过程实例和活动的状态信息,对工作列表进行操作。 i n t e r f a c e3 被称为应用程序调用接口。它定义了工作流执行服务器调用应 用程序的接口,负责激活一个应用程序来执行活动。此接口与客户端应用程序 接口功能相似,所不同的是i m e 血c e3 定义的是调用外部应用程序已完成系统 不能完成的工作。 h l t e r f a c e4 被称为工作流引擎协作接口。它定义了工作流引擎之间相互协 作所需要的工作流相关数据。通过此接口扩展对过程定义的公共解释,同时在 运行时其支持多种类型的控制信息的相互转换,在不同的执行服务器间传递工 作流相关数据和应用程序数据。 i n t e 疵c e5 被称为管理和监视接口。此接口提供给管理和监视工具,以便 用户可以通过接口中的w a p i 集中的具体命令,来操作、管理和监视工作流系 统。 ( 2 ) 过程定义( p r o c e s sd e f i n i t i o n ) 过程定义工具可以用来分析、建模、描述业务过程,它通过工作流定义转 换( i n t e r f a c e1 ) 与工作流执行服务器交互。过程定义组件的存在把建立阶段与 运行阶段环境进行了分离,可以使用建模工具来产生过程定义,作为工作流运 行时期的输入。对于过程定义部分,w f m c 提出了一个元模型来抽象过程定义 中的对象和对象间的关系和属性,为不同的产品间的过程定义相互转换奠定了 基础。w f m c 提出的元模型如图2 4 所示。 6 北京邮电大学硕士研究生毕业论文流程引擎间交互方法研究、实现及应用 图2 - 4 过程定义的基本元模型 ( 3 ) 工作流客户端应用程序( w o r k f l o wc l i e n ta p p l i c a t i o n ) 工作流客户端应用程序是用户与工作流系统交互的工具。工作流引擎通过 该程序向用户显示哪些活动需要被执行。原则上,每一个用户都有一个工作列 表,显示该用户或他所属用户组需要执行的活动。工作流客户端程序通过客户 端应用程序接口( i n t e r f a c e2 ) 与工作流执行服务器交互。 ( 4 ) 应用程序调用( i n v o k e d a p p l i c a t i o n s ) 所有的工作流产品都没有足够的逻辑单元知道如何调用所有的应用程序, 尤其当这些应用程序存在于异种的产品环境中时。这就要求能够处理所有平台 下的网络环境中进行调用逻辑,并需要使用公共格式和编码进行应用数据和相 关数据传递的方法。 应用程序调用接口( i n t e r f a c e3 ) 定义了工作流系统调用应用程序的接口。 为了满足上述异种环境的应用程序调用,一般工作流产品采用应用程序代理的 方式根据系统环境实现接口定义的a p i 。 ( 5 ) 异种工作流执行服务器 w 僦c 的主要目标是为不同开发商的工作流系统产品相互间能够进行无缝 传递任务项。要完成这个目标,不同的工作流执行服务器通过实现统一的接口, 工作流引擎协作接口( i n t e r f a c e4 ) ,来交换工作流相关数据。w f m c 定义了4 个协同工作模型:链锁式( c h a i n e d ) ,两个工作流环境中传递一个任务,这个 任务会在第二个环境中独立执行,不需要同步;子过程嵌套( n e s t e d 7 北京邮电大学硕士研究生毕业论文流程引擎间交互方法研究、实现及应用 s u b p r o c e s s e s ) ,一个过程可以全部在一个工作流引擎范围内执行,并封装成父 过程的一个任务,与父过程在不同的执行服务器中运行;p 2 p ( p e e r - t o p e e r ) , 一个过程中所有活动不一定在一个执行服务器中执行,在这个模型中,过程由 任务到任务来推进,交互只存在于工作流引擎之间;相似同步( p a r a l l e l s y n c h r o n i z e d ) ,此模型允许本质独立执行的两个过程之间存在同步点。一旦每 个过程都达到此同步点则需要激发一个公共时间。 ( 6 ) 管理和监视工具( a d m i n i s 仃a f i o n & m o n i t o r i n g t o o l s ) 管理和监视工具对流程进行监督和操作管理。这些工具分为两部分,一部 分负责工作流运行管理,如用户管理、工作流定义的实施,过程状态的检查和 管理。运行管理工具还提供了对过程中系统故障和瓶颈的“非正式”解决方案。 另一部分是记录和报告工具,它管理了工作流执行期间的日志信息、历史数据 等,并提供分析、评估功能。 2 1 3 工作流现有标准 在定义工作流的规范方面,包括前述w 伽c 组织及u m l 领域的规范,罗 列如下【刀: ( 1 ) w f m c sx p d l w f m c 是由约3 0 0 家成员参加的组织,基于参考模 型定义了一系列的标准。参考模型用用例( u s ec a s e ) 的形式描述了工作流系统 和其他相关部分之间的关系。x p d l 是w f m c 制定的描述业务流程控制流 ( c o n t r o lf l o w ) 的x m l 格式规范。 ( 2 ) u m l u m l 定义了建模和设计软件系统的9 类图。每类图包括可视 化的表示和语义。其中活动图的目的就是要可视化的表现业务流程。注意到在 一个流程定义包含四个层次的内容,需要指出的是:一个流程定义包含的内容 远远多于它的可视化部分。u m l 只涉及了可视化部分【8 1 。 ( 3 ) j a v a 的流程定义j s r2 0 7 是由j a v ac o m m u n i t yp r o c e s s ( j c p ) 发起, 如何在j 2 e e 应用服务器中实现业务流程自动化的标准。其基本模型是定义一 个特殊类型的e j bs e s s i o nb e a n ,作为一个业务流程的接e l 。j s r 2 0 7 标准化一组 x m l 元标记( m e t at a g s ) 作为j s r l 7 5 元数据的一部分。j s r 2 0 7 将s e s s i o nb e a n 和元数据作为皇j b 容器的输入,然后生成绑定方法的代码,这些方法在元数据 中描述。此规范还处于初级阶段,没有发布任何内容。 ( 4 ) e b x m l sb p s s e b x m l 是协同流程的相关标准集,主要关注不同公 司流程之间的通讯。可以看作e d i 的继承者。e b x m l 是由o a s i s 和 u n c e f a c t 联合发起。b p s s 是e b x m l 的规范【9 1 。 ( 5 ) b p e l ( m i c r o s o f t ,b e a ,i b m ,s a p ) b p e l 由一系列基于消息交换的 8 北京邮电大学硕士研究生毕业论文流程引擎间交互方法研究、实现及应用 规范( - 一a n qw s f l ,b p m l ) 产生。还有一个将此规范引入到j a v a 的提案: b p e l j 。此规范描述如何处理输入的消息,而不是对流程状态进行建模。就像 本文提到的,它不是一个关于业务流程规格化定义的规范。简单的说,可以将 它看作x m l 形式的编程语言,提供将w s d i , - s e r v i c e s 组合成控制流的能力。 顾名思义,此规范重点在( 不只限于) w 曲s e r v i c e 。 2 2w e b s e r v i c e 技术 2 2 1w e b s e r v i e e 技术简介 传统的分布式计算技术己经成为建立服务应用框架和软件构件的核心技 术,在开发大型分布式应用系统中表现出强大的生命力。但是它们自身都有一 定的局限性,他们要求服务器端和客户端具有明确的同类型、同构架的对等协 议,在软件和硬件方面进行紧密耦合。近年来,随着i n t c m e t 在各个领域应用 的普及和深化,人们迫切需要能够方便地实现i n t e r n e t 上跨平台、语言独立、 松散耦合的异构应用的交互和集成,因此,面向服务的体系架构( s o a ) 应运 而生,w e bs e r v i c e 就是其中一种,它具有简单性、高效性、灵活性、动态性等 诸多优势。 w e bs e r v i c e 是一种能够被描述并通过网络发布、发现和调用的自包含、自 描述、松散耦合的软构件。在w e bs e r v i c e 体系结构中,所有的应用实体都被 抽象成服务。其中包括三个实体和三种操作【l o 】。 图2 - 5w e bs e r v i c e s 体系结构图 w e b s c r v i c e 体系中的三个实体 ( 1 ) 服务提供者:从商务角度看它是指服务的所有者,从体系结构上看 它是指提供服务的平台。 9 北京邮电大学硕士研究生毕业论文流程引擎问交互方法研究、实现及应用 ( 2 ) 服务请求者:从商务角度看它是指需要请求特定功能的企业,从体 系结构上看它是指查找和调用服务的客户端应用程序。 ( 3 ) 服务注册中心:它是指用来存储服务描述信息的信息库。服务提供 者在这里发布他们的服务;服务请求者在这里查找服务,获取服务的绑定信息。 w e b s e r v i c e 相关的三种操作如下。 ( 1 ) 发布 服务提供者需要首先将服务进行一定描述并发布到注册服务器上。在发布 操作中,服务提供者需要通过注册服务器的身份验证,才能对服务描述信息进 行发布和修改。 ( 2 ) 查找 服务请求方根据注册服务器提供的规范接口发出查询请求,以获取绑定服 务所需的相关信息。 ( 3 ) 绑定 服务请求方通过分析从注册服务器中得到的服务绑定信息,包括服务的访 问路径、服务调用的参数、返回结果、传输协议、安全要求等,对自己的系统 进行相应配置,进而远程调用服务提供者所提供的服务。 与w e b s e r v i c e 相关技术标准主要包括: ( 1 ) s o a p ( s i m p l eo b j e c t a c c e s sp r o t o c o l ,简单对象访问协议) 是w e b s e r v i c e s 的核心。它是一个基于x m l 的协议,s o a p 为在一个松散的、分布 的环境中使用x m l 对等地交换结构化的和类型化的信息提供了一个简单的轻 量级机制。s o a p 本身并不定义任何应用语义,如编程模型或特定语义实现, 它只定义了一种简单的基于消息的传输机制。 ( 2 ) 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 e b 服务描述语言) 是描述 某个系统所提供服务的接口规范。w s d l 描述了可以执行那些操作以及使用什 么样的消息。操作和消息都是用抽象术语描述的,然后通过将它们绑定到 s o a p ,h t t p ,m i m e 等网络协议和消息格式来实现。可以认为w s d l 是用 x m l 格式描述的更通用的i d l 。 ( 3 ) 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 ,通用描述、发 现和集成) 是一个基于s o a p 消息体系的协议,提供了一种动态发布和查找w e b s e r v i c e s 的机制。通过u d d i 提供的标准接口,用户可以发布自己的w e b s e r v i c e s 供其它用户查询、调用;也可以查询特定服务的描述信息,并动态绑 定到该服务上【1 1 1 。 w e b s e r v i c e 技术主要以下三个特点: ( 1 ) 互操作性 1 0 北京邮电大学硕士研究生毕业论文流程引擎间交互方法研究、实现及应用 任何的w e b 服务都可以与其它w e b 服务进行交互。因为s o a p 协议是所有提 供商都支持的标准,避免了在c o r b a 、d c o m 和其它协议之间转换带来的麻烦。 ( 2 ) 普遍性 w e b 服务使用h 1 1 t 协议和x m l 进行通信。因此,任何支持这些技术的设备 都可以拥有和访问w 曲服务。现在各主要设备和软件供应商都已宣布支持s o a p 和周边w e b 服务技术。 ( 3 ) 易用性 w e b 服务的概念易于理解,任何开发语言都可以用来编写w e b 服务。目前已 经有很多工具可以开发和部署w e b 服务,还有一些工具可以将已有的c o m 组件 和j a v a b e a n s 、e n t e r p r i s ej a v a b e a n s 部署为w e b 服务【1 2 1 。 2 2 2w e b s e r v i e e 技术优势 w e b s e r v i c e 是基于标准和松耦合的。首先,广泛接受的i n t e r n e t 标准( 如 x m l 、s o a p 、h t t p 等) 提供了在各不同厂商解决方案之间的交互性。开发 者就可以开发出平台独立、编程语言独立的w e b s e r v i c e ,从而能够充分利用现 有的软硬件资源和人力资源。其次,松耦合将分布计算中的参与者隔离开来, 交互两边某一方的改动并不会影响到另一方。这两者的结合意味着用户可以实 现某些w e b s e r v i c e 而不用对使用这些w e b s e r v i c e 的客户端的知识有任何了解。 w e b s e r v i c e 技术主要有以下几方面的优势。 ( 1 ) 简单性 相对于其它分布式对象技术如d c o m 、c o r b a 和e j b ,w e bs e r v i c e s 更便于 设计、开发,维护和使用。开发和使用w e bs e r v i c e s 的平台框架之后,创建跨越 多个应用程序的商务流程处理变得相对简单。 ( 2 ) 基于开放标准 w e bs e r v i c e 是基于开放标准如u d d i 、s o a p ,h t t p 等,这可能是导致w e b s e r v i c e 被广泛接受的最重要的因素。基于开放的标准,节约了企业为支持新出现 的w e b 技术所需要的投资。 ( 3 ) 完全的平台、语言独立性 w e bs e r v i c e 进行了更高程度的抽象,只要遵守w e bs e r v i c e 的接口即可进行服 务的请求与调用。而c o r b a 、d c o m ,e j b 等模型要求在对等体系结构间才能进 行通信。如c o r b a 需要每个连接点都使用o r b ,d c o m 需要每个连接点都使用 w i n d o w s 平台,e j b 需要每个连接点都使用j a v a ,否则双方是不能通信的。 ( 4 ) 灵活性 基于w e bs e r v i c e 的集成是非常灵活的,因为它是建立在发布服务的应用程序 北京邮电大学硕七研究生毕业论文流程引擎间交互方法研究、实现及应用 和使用服务的应用程序之间的松散耦合。该特点使得企业应用易于更改,可以连 接异构系统和操作环境,在局部系统出错的时候能更好地恢复,使系统获得更高 的强壮性。 ( 5 ) 低代价 传统解决方案的实施是非常昂贵的,而w e bs e r v i c e 的实施则变得经济而快 速。 ( 6 ) 可分解 传统解决方案把应用程序作为一个单独的实体来集成。然而w e bs e r v i c e 允许 企业把大的应用划分为小的独立的逻辑实体并且包装它们。 ( 7 )高效性 w e bs e r v i c e 允许把应用程序划分为一些小的逻辑组件,因而在小粒度基础上 集成应用程序时,集成将变得更容易,这也使面向w e bs e r v i c e 的解决方案比传统 的解决方案效率更高。 ( 8 ) 动态 w e bs e r v i c e 通过提供动态的服务接口来实施一个动态的集成,然而传统的解 决方案都是静态处理的。在运行时,w e bs e r v i c e 的接口是有可能改变的,当接口 改变后,w e b 就会服务调用失败。此时,应用程序有能力再一次获取w s d l 文档, 重新生成调用接口,并与代码进行绑定。w 曲服务技术赋予了应用动态绑定的能 力,而不是仅仅具备静态绑定的能力【1 3 1 。 上面阐述了w e bs e r v i c e 的优势,不过在性能方面,由于w e bs e r v i c e 技术是以 x m l 为基础,接口传输中的s o a p 消息都是纯文本的x m l 文件。由于x m l 习s :身 具有较长的报文长度,因此基于x m 瞒式的消息需要较长的运算时间,可以说 为了实现基于开发的标准而牺牲了性能。但随着计算机性能的提高以及w e b s e r v i c e 技术的不断发展和成熟,相信w e bs e r v i c e 在性能方面也会不断提高。 2 3 发布,订阅消息交互模式 2 3 1 发布订阅消息交互概述 在发布订阅交互模式中,信息的生产者和消费者之间所交互的信息被称为 事件。发布订阅交互模型为消费者提供能够对某事件或某类事件感兴趣的能 力,同时,生产者可将消费者感兴趣的事件随时通知给消费者。生产者在一条 软件总线( 事件管理器) 上发布消息,消费者从总线上订阅它们感兴趣的信息, 发出一个订阅条件,表示对哪些事件感兴趣;总线在事件发生时,及时、可靠 1 2 北京邮电大学硕士研究生毕业论文 流程引擎间交互方法研究、实现及应用 地将事件传送给所有对之感兴趣的消费者。 发布订阅模式引入的发布者和订阅者两种角色,发布者和订阅者统称为客 户,它们都参与消息的传递和接受。这种异步的消息交互模型通过发布服务使 对其感兴趣的订阅者订阅它。一般分为以下几个步骤:( 1 ) 订阅者向发布者发 送一个消息订阅其感兴趣的主题,发布者收到消息后会给一个应答,确认订阅 是成功还是失败。( 2 ) 当订阅事件发生,发布者将向某主题的所有订阅者广播 消息。 图2 - 6 发布订阅交互模式示意图 发布订阅模式是一种灵活有效的交互模式,具有很多优势。发布订阅模 式在松耦合的环境下进行消息通信,信息交换的双方是间接通讯的,发布者发 起它们之间的通讯,它以通知的形式发布信息,然后通知代理服务程序会把这 些通知消息传送到那些对这些通知消息感兴趣的通知订阅者手上。在这种模式 中,生产者实体负责发布信息给一组消费者实体,后者对于这些信息指定了自 己的订阅。在发布订阅模式中,信息的发布和订阅之间松耦合,消除了交互双 方的依赖性,极大地增加了可扩展性。事实上,由于除去了这些依赖性从而减 低了不同实体之间的协调和同步,这种使得通信机制更适合于分布式环境。 发布订阅模式可以有以下的几种类型1 4 】: ( 1 ) 基于主题的发布订阅 最早的发布订阅模式是基于主题的。这种模式沿用了管道的思想,即把交 互双方通过管道绑定在一起,并提供方法对要传递的事件进行分类。主题代表 关键字,服务提供者发布某关键字的信息,而订阅者订阅某些关键字的信息。 参与者可以发布事件,或者按关键字标识主题来订阅事件。主题与组概念非常 的类似。 1 3 北京邮电大学硕士研究生毕业论文流程引擎间交互方法研究、实现及应用 在实际应用系统中,基于主题的发布订阅系统提供基于主题的程序抽象, 这种程序抽象提供的接口通常使用主题的名字作为一个参数。主题可以以层次 结构来组织之间的关系,订阅者可以订阅层次结构中的任何节点的主题,并且 通常隐含订阅这个节点下面所有子节点的主题。基于主题的发布订阅系统引入 了将主题映射到不同通信通道的程序设计抽象,它们表示类似于事件服务的接 口,主题名字通常描述为初始化参数。每个主题被视为自己拥有的一个事件服 务,它由唯一名字来标识,并具有提供p u b l i s h ( ) 和s u b s c r i b e ( ) 操作的接口。 基于主题的模式最大的弊端在于订阅者缺乏足够的表达力,原因是基于主 题的分类方式人为因素影响很大,不能反映事件的本质。基于主题的模式下的 事件过滤比较简单,过滤器的选择标准仅仅是主题。 ( 2 ) 基于内容的发布订阅 基于内容的订阅发布通过引进基于相关事件的实际内容的订阅模式,对主 题进行了改进。事件不是依据预定义的外部标准来分类,而是根据事件本身的 特性。这些特性可以是表示事件的数据结构的内部属性,或者是和事件相关联 的元数据。尽管可以采用层次化编址以及对通配符进行了相关改进,但基于主 题的订阅发布表示的是仅能提供有限表达的一种静态模式,只能提供有限的表 达能力。 与基于主题的模式相比,基于内容的模式赋予订阅者更充分的表达力。事 件不是通过外在的人为施加的标准进行分类,相反,这种分类体现了对事件属 性的关注,因为在基于内容的模式下,事件过滤

温馨提示

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

评论

0/150

提交评论