




已阅读5页,还剩48页未读, 继续免费阅读
(计算机应用技术专业论文)基于web服务的工作流管理系统的研究与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
华北电力大学硕士学位论文摘要 摘要 本文分析了现有工作流管理系统的不足以及当前w e b 服务发展的新趋势,研究 了当前w e b 服务和工作流技术的原理和特点,探讨了w e b 服务与工作流技术组合 的必然,提出了一种基于w e b 服务的工作流管信息系统的框架模型,并将其应用到 了具体的某电力企业的系统开发过程中,同时研究分析采用w e b 服务工作流技术开 发管理系统的优势并得出相关的结论。在w e b 服务技术的架构下,执行工作流任务 的w e b 服务是可以动态选择的。本文将w e b 服务调度抽象为0 - 1 整数规划问题, 并用一种新的智能算法一人工鱼群算法对其进行了具体求解并给出相关结论。 关键词:w e b 服务,工作流管理系统,w e b 服务调度,人工鱼群算法 a b s t r a c t t h i sp a p e ra n a l y s e st h ed e f i c i e n c i e so fe x i s t i n gw o r k f l o wm a n a g e m e n ts y s t e ma n dt h e n e wd e v e l o p m e n tt e n d e n c yo fp r e s e n tw e bs e r v i c e s ,t h e nr e s e a r c h e si n t ot h et h e o r i e sa n d c h a r a c t e r i s t i c so fw e bs e r v i c e sa n dw o r k f l o wt e c h n o l o g y ,a f t e rd i s c u s s i n gt h en e c e s s a r i l yo f w e bs e r v i c e sa n dw o r k f l o wt e c h n o l o g y sc o m b i n a t i o n ,w ep u t sf o r w a r daf r a m em o d e lo f w o r k f l o wm a n a g e m e n ti n f o r m a t i o ns y s t e mb a s e do nw e bs e r v i c e s a tt h es a m et i m e ,w e a p p l yi tt od e v e l o p m e n tp r o c e s so fe l e c t r i ce n t e r p r i s ea n da n a l y z et h ea d v a n t a g e so fm a k i n g u s eo fw e bs e r v i c e sa n dw o r k f i o wt e c h n o l o g yt od e v e l o pm a n a g e m e n ts y s t e m u n d e rt h e a r c h i t e c t u r eo fw e bs e r v i c e st e c h n o l o g y ,i ti sf l e x i b l et oc h o o s ew e bs e r v i c e st h a tw i l l e x e c u t ew o r k f l o wt a s k i nt h ep a p e r ,w ea b s t r a c ts c h e d u l i n gp r o b l e mo fw e bs e r v i c e sa sao - t i n t e g e rp r o g r a m m i n gm o d e l w es o l v et h em a t h e m a t i c sm o d e lw i t ha r t i f i c i a lf i s h s w a r m a l g o r i t h m ( a f s a ) w h i c hi sa ni n t e l l i g e n ta l g o r i t h ma n do b t a i nt h er e l a t e dc o n c l u s i o n z h o uc h u n l e i ( c o m p u t e ra p p l i e dt e c h n o l o g y ) d i r e c t e db yp r o f w a n gc u i r u k e y w o r d s :w e bs e r v i c e s ,w o r l d l o wm a n a g e m e n ts y s t e m ,w e bs e r v i c e ss c h e d u l e , a r t i f i c i a lf i s h - s w a r ma l g o r i t h m 声明 本人郑重声明:此处所提交的硕士学位论文基于w 曲服务的工作流管理系统的研 究与实现是本人在华北电力大学攻读硕士学位期间,在导师指导下进行的研究工作 和取得的研究成果。据本人所知,除了文中特别加以标注和致谢之处外,论文中不包含 其他人已经发表或撰写过的研究成果,也不包含为获得华北电力大学或其他教育机构的 学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均己在论文 中作了明确的说明并表示了访 意。 学位论文作者签名:l 翌鑫竭日期 关于学位论文使用授权的说明 本人完全了解华北电力大学有关保留、使用学位论文的规定,即:学校有权保管、 并向有关部门送交学位论文的原件与复印件;学校可以采用影印、缩印或其它复制手 段复制并保存学位论文;学校可允许学位论文被查阅或借阅;学校可以学术交流为 目的,复制赠送和交换学位论文;同意学校可以用不同方式在不同媒体上发表、传播 学位论文的全部或部分内容。 ( 涉密的学位论文在解密后遵守此规定】 作者签名: 日期 盥搬 导师签名 日期 犁牦 华北电力大学硕士学位论文 1 1 选题背景 第一章绪论 工作流是从英文单词w o r k f l o w 翻译得来的。用活动及活动之间变化的过程表 示的业务流程就是工作流。工作流的概念起源于生产组织和办公自动化领域。它是 针对日常工作中具有固定程序的活动而提出的一个概念。目的是通过将工作分解成 定义良好的任务、角色,按照一定的规则和过程执行这些任务并对它们进行监控, 达到提高办事效率、降低生产成本、提高企业生产经营管理水平和企业竞争力的目 的。实际上,自从进入工业化时代以来,有关过程的组织管理与流程的优化工作就 一直在进行,这是企业管理的主要研究内容之一,只不过在没有引入计算机信息系 统的支持以前,这些工作是由人工来完成的。 8 0 年代初,p c 机尚未成为信息处理工具,日常业务活动中的表单、资料、文 件等文档均以纸张传送。人们希望有一个无纸化的、计算机化的工作环境。所以一 些公司、企业建立了可在大型机和小型机上运行的专用表单传递应用系统( f o r m s r o u t i n ga p p l i c a t i o n ) ,这是现代工作流管理系统的雏形【l 】,但那个时候还没有真正 的工作流管理系统出现。 8 0 年代中期,f i l e n e t 和v i e w s t a r 等图形图像处理公司率先开拓了工作流产品 市场,成为最早的一批工作流产品供应商。他们把图像扫描、复合文档、结构化路 由、实例跟踪、关键字索引以及光盘存储等功能结合在一起,形成了一种用于文档 处理的图像处理系统,它可以把扫描得到的计算机文档,按照一定的规则发送给相 关人员,这便是早期的工作流管理系统。f i l e n e t 于1 9 8 4 年推出的w o r k f l o wb u s i n e s s s y s t e m 、v i e w s t a r 于1 9 8 8 年推出的v i e w s t a r 、a c t i o nt e c h n o l o g y 8 0 年代推出的 c o o r d i n a t o r ,便是其中的代表。 进入9 0 年代,随着计算机的普及,计算机网络技术的迅速发展,企业的信息 化程度,企业信息资源越来越表现出一种异构分布、松散耦合的特点。企业的分散 性、决策制定的分散性和对日常事务活动详尽信息的需求,以及c l i e n t s e r v e r 体系 结构,分布式处理技术( c o r b a 、w w w 、c o m d c o m 、j a v a 2 j ) 的日益成熟, 都说明了这样一个事实:集中式信息处理的时代已经过去,实现大规模、异构、分 布式执行环境,使得相互关联的任务能够高效运转并接受密切监控成为一种趋势p j 。 到中后期,随着i n t e r n e t 技术的成熟,以企业i n t r a n e t 计算环境为基础建立起了各种 信息资源,如w w w 、数据库、电子邮件、目录服务、电话、传真系统等。但这些 资源基本上是相互独立的,即它们很少能够意识到其它信息资源的存在( 除非用特 ( i r 色 华北电力大学硕士学位论文 定的软件系统将它们连接起来) 。1 9 9 3 年工作流技术的标准化组织,工作流管理联 盟w f m c ( w o r k f l o wm a n a g e m e n tc o a l i t i o n ) 的成立,更标志着工作流技术在计算 机应用领域之中被明确地划分出自己的一席之地,相应的概念与术语得到了人们的 认可,把工作流的技术研究以及相关的产品开发带入了一个崭新的阶段。工作流管 理系统【4 j ( 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 ) 着眼于协调企业内的各种 资源,试图使各种业务活动在一定程度上自动进行,以高效地达成企业的业务目标。 如果能够以i n t e r n e t i n t r a n e t 为基础构造w f m s ,实现企业i n t r a n e t 环境下各种资源 的高效协调,将能够最大限度地发挥这些资源的综合潜力,为企业的业务目标服务。 同时,w w w 为i n t e r n e t i n t r a n e t 资源的访问提供了非常方便的手段,j a v a 技术的成 熟为开发跨平台的交互式应用提供了理想的开发工具。 1 2 现有工作流管理系统中存在的问题 激烈的市场竞争和高性能计算机网络技术的飞速发展使得现代制造企业必须、 同时也有可能组成虚拟企业,以共享与产品开发相关的数据和技术。通过合作和同 盟,盟员企业能够达到个体企业所难达到的整体优化。在虚拟企业中,盟员企业组 成协同工作组共同承担产品开发工作,开发工作的任务之间需要传递数据流和控制 流。为了保证开发工作的自动化或部分自动化,需要对开发过程建立跨企业的工作 流机制。但由于此工作流管理系统的运行环境是i n t e r n e t ,因此在局域网中不存在 或容易解决的问题:诸如工作流的安全性、共享性、私有性、防火墙等开始涌现出 来,主要表现在以下几方面: ( 1 ) 通信协议不统一:现有的工作流管理系统大都使用分布式对象体系结构, 但它采用的是非h t t p 的消息传输协议,这不适于i n t e m e t 上的跨企业通信。 ( 2 ) 不能直接支持跨企业协同产品开发过程:当将企业网范围内的w e b 服务 外化并提供给业务合作伙伴的时候,需要解决如何穿过防火墙入站、出站w e b 服务 请求与响应。 ( 3 ) 柔性差:尽管新的趋势将是在技术上实现的不断通用化和适应i n t e r n e t 与i n t r a n e t 的需要,但现有的工作流管理系统仍不能使企业管理模型连续平稳的过 渡到高端管理模式,即不能提供企业的柔性管理模式,同时不能动态调整企业的管 理模式,对企业的管理进行动态建模。 ( 4 ) 缺乏统一的标准:现有工作流管理技术与产品从术语的定义和使用、系 统结构的设计到与应用之间的接口规范上都存在较大的差异,从而导致产品之间、 产品与其它应用之间的集成十分困难。 ( 5 ) 开放性不够:现有工作流管理系统和产品的规范化程度低,从而导致它 们之间不能够实现互操作,这给企业管理系统的开发商和用户都带来了很大的不方 2 华北电力大学硕士学位论文 便,也在一定程度上阻碍了企业工作流管理系统的推广与发展。 ( 6 ) 可靠性差:现有的工作流管理系统对系统运行中出现的并发访问和异常 错误缺乏正确和可靠的支持。工作流实例在运行过程中,有可能出现多个活动同时 访问共享资源的情况,各个活动在数据操作上会相互重叠。 1 3 研究w e b 服务工作流技术的意义 随着i n t e r n e t 的巨大发展,电子商务、电子图书、远程教育等全新领域如异军 突起,迅猛发展并逐渐成为互联网世界必不可少且愈发重要的组成部分,后来随着 w e b 应用的不断深入,w e b 文件的复杂化、多样化、智能化使得高容量、高信息量、 高效率成为网络信息传输技术发展的追求。与此同时,传统的管理系统软件s c m 、 e r p 、c r m 、m i s 等需要适应用户不断的变化,软件的重用性、软件部分功能可组 装和拆卸变得愈发广泛而迫切。因此,将应用逻辑封装并以组件形式( w e b 服务) 部署在w e b 上加以利用,成为越来越来受推崇的方式。 被业界称为计算机i t 技术的第三次技术革命( 继p c 和i n t e r n e t 之后) 的w e b s e r v i c e s 技术已经逐步显示出巨大商业机会,软件因此正在酝酿一场巨变。这将是 自从w w w 问世以来这个产业所面临的一次最大规模的“洗牌”,酝酿着巨大的商业 机会,商业机会的实现,需要依靠技术和应用模式的双重保障。v e bs e r v i c e s 技术 的发展将促使w e bs e r v i c e s 应用的成熟和完善,而w e bs e r v i c e s 应用模式将为商业 应用提供指引,并促使商业应用的普及。w e b 正逐渐改变着社会结构和人类生活, 以w w w 为基础架构的各种应用系统正日益普及,从而极大的影响了各类管理应用 系统的丌发。以w e b 为基础的网络和传统的c s 结构相比有许多优势,如统一的通 信协议、度客户机( 客户端只需要浏览器) 、任何连入互联网的节点甚至无线连接 都可以接入管理系统等。从而使企业应用系统能有一个简化的、低廉的、基本无需 维护的客户端,并能建立一个高效的、节约的服务器端,而且使得开发过程集中在 服务器端进行,大大降低了开发及维护费用。企业w e b 服务是基于w e b 服务工作 流和组合技术,它包含高级w 曲服务技术层,采用面向服务体系结构( 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 曲服务,让任何程序在任何地方通过网络可以利用开放标准和共同的基 础设施作为对象描述、发现和访问,促进松散耦合的应用集成和开发。 目前,在全球范围内,对于工作流技术的研究及其相关产品的开发都己进入了 更为繁荣的阶段,更多更新的技术都被集成进来,文件管理系统、数据库、电子邮 件、移动式计算、i n t e r n e t 等都己被容纳到工作流管理系统之中。工作流产品的市 场每年以两位数字的速度在迅猛增长。 华北电力大学硕士学位论文 1 4 课题在国内外研究的状况 目前比较成熟的工作流产品有:著名的i b m 公司a l m a d e n 研究中心研究开发 的基于持久消息队列的分布式工作流管理系统e x o c i t a f m q m 。佐治亚大学计算 机系研究开发的具有自适应能力的工作流管理系统m e t e o r ( m a n a g i n ge n d t o e n d o p e r a t i o n s ) 、基于分布式主动数据库技术的工作流管理系统w i d e ( w o r k f l o wo n i n t e l l i g e n ta n dd i s t r i b u t e dd a t a b a s ee n v i r o n m e n t ) 以及基于状态和活动图的工作流管 理系统m e n t o r ( m i d d l e w a r ef o re n t e r p r i s e w i d e) 。其中w o r k f l o w m a n a g e m e n t e x o c i t a f m q m 和m e t e o r 是完全分布的工作流管理系统,它们都是由一个个具有自 治能力的节点组成。每个节点都有一个节点管理器,节点管理器具有工作流机的功 能,完成工作流机对活动的管理控制任务,如对活动完成情况的管理、活动间的导 航、异常处理等。从层次上来说,每个节点都是平等的。w i d e 和m e n t o r 则采用的 是c s 结构,活动间的导航、活动执行情况的管理、异常情况的处理都是由位于服 务器层的工作流机完成的,系统的各个节点之间存在着层次上的差别。 清华范玉顺教授等人设计提出了一个基于w e b 的工作流管理系统。这个系统基 于w o r l dw i d ew e b ,其体系结构的设计主要遵循几条原则:基于i n t e r n e t i n t r a n e t w w w 分布式计算环境,面向跨企业或机构的大型分布式工作流管理;集成已有爵警 各种信息资源,如w w w 、数据库、电子邮件、目录服务以及电话系统等,充分发 挥这些资源的综合潜力;与工作流管理联盟参考模型保持一致,以利于实现与其它 w f m s 系统的互连与互操作。设计的基本出发点是:集成各种已有的i n t e r n e t 资源, 使之能够被一致的协调起来,以促使企业业务目标的高效实现。同时讨论了其体系 结构、工作流模型、工作流实例的执行算法以及为提高灵活性、可用性及协作能力 而引入的两种新特性:工作流过程定义的自学习方法及对同步协作的支持。 成都理工大学提出了一种基于关系数据库的工作流管理系统。其目标是建立一 套工作流管理系统,只需根据工作流程、人员变动、数据内容的改变进行工作流和 动念表单的重新定义,而不需要修改应用程序。系统由工作流定义模块( 建模工具) 、 工作流管理与监控、应用模块和对外查询发布模块组成。 重庆工商大学提出了x m l 、j a v a 和工作流技术构建的可装配系统。此系统中 工作流技术的分步性为应用逻辑中的子功能相对独立提供了可划分的依据, j a v a b e a n s 组件和e j b 组件间的数据信息传递采用x m l ,这更增加了系统处理功能 的独立性。 1 5 本文的主要工作 本学位论文的主要研究内容如下: 4 华北电力大学硕士学位论文 ( 1 ) 阐述了工作流技术的相关概念和工作流管理系统的体系结构。 ( 2 ) 探讨了w e b 服务技术原理和架构,对w e b 服务的相关技术以及w e b 服 务的运行机理进行了相关阐述。 ( 3 ) 借鉴w e b 服务工作流技术,构筑了一个基于w e b 服务架构的可扩展性好、 性能高、能适应大吞吐量的企业级工作流管理信息系统的框架模型,使得信息系统 的流程定义和具体的应用程序分开,以便信息系统具有较强的灵活性、兼容性和自 适应能力。 ( 4 ) 以本文提出的工作流管理信息系统的框架模型为基础,结合具体实例从 管理系统的设计原理与实现两个方面分别进行了详细阐述。最后分析了采用w e b 服务工作流技术开发管理信息系统的优势,并得出了相关结论。 ( 5 ) 在w e b 服务技术的架构下,执行工作流任务的w e b 服务是可以动态选择 的。企业根据自身工作流任务的特点和要求,可以选择适当的w e b 服务来执行工作 流任务。本文将w e b 服务调度问题抽象为0 1 整数规划问题并用一种新的智能算法 一人工鱼群算法对其进行了具体求解并给出了相关结论。 1 6 本章小结 本章首先阐述了论文研究课题的选题背景,然后综述了工作流管理技术及研究 w e b 服务工作流技术的意义,讨论了课题在国内外的研究状况,最后给出了本文的 主要研究内容。 华北电力大学硕士学位论文 第二章工作流技术和工作流管理系统 2 1 工作流技术的相关概念 5 , 6 1 关于工作流技术的相关概念目前尚无统一、明确的定义,不同组织和产品都有 不同的描述,但其本质和基本特征是一致的。在本文中,我们以工作流管理联盟的 定义为标准。 工作流管理联盟w f m c ( w o r k f l o wm a n a g e m e n tc o a l i t i o n ) :成立于1 9 9 3 年8 月,其主要职责就是负责w f m s 的标准化工作。目前该组织的成员已经超过了2 0 0 个,其中包括软件厂商、科研机构与咨询机构。1 9 9 4 年1 1 月2 9 日,w f m c 发布了 工作流系统参考模型( w o r k f l o wr e f e r e n c em o d e l ) ,它详细描述了w f m s 的各主要 组成部分、各部分的功能以及相互之间的接口。下面简要介绍与工作流相关的一些 基本概念及其联系。 工作流:是指能够完全或者部分自动执行的经营过程,它根据一系列过程规则、 文档、信息或任务能够在不同的执行者之间进行传递与执行【7 j 。 流程定义:业务流程的形式化描述,用于支持系统建模和运行过程的自动化。 流程可分解为一系列流程和活动。定义主要包括描述流程起始、终止的活动关系网 络,以及一些关于个体行为的信息,如组织成员、与i t 相关的应用和数据。 活动:实现流程逻辑步骤的项工作任务描述。一般分为人工操作和自动处理 两类,是过程执行过程中可被工作流引擎处理的最小工作单元。 工作参与者:执行流程活动实例的资源,可分为人员、组织、角色和资源四类。 流程活动实例:实际运行中的一个流程或活动。每个实例代表一个能独立控制 执行、具有内部状态的线程。 工作流引擎:为流程活动实例的运行提供执行环境的软件服务,提供按照流程 定义来执行流程的功能。一个或多个工作流引擎构成了一个工作流域。 工作项:可被工作流参与者执行的活动实例的表示,一个活动实例通常产生一 个或几个工作项,工作项通过赋予相关参与者的工作列表而被参与者所感知。 工作列表:流程参与者所拥有的用于感知流程工作项的列表,是工作列表处理 器与工作流引擎的接口。 工作流控制数据:w f m s 所拥有的,不能被外部应用系统访问的,用于控制工 作流使能服务的数据。如系统所保存的各种有关流程实例状态数据。 工作流应用数据:外部应用系统自己的数据,它由各个外部应用所维护,不 6 华北电力大学硕士学位论文 能被w f m s 感知,但w f m s 可负责在不同的应用系统问传递应用数据。 图2 1 显示了工作流系统各个概念定义之间的关系【8 1 。 子过 图2 1 工作流相关概念之间的关系 2 2 工作流参考模型【5 】 图2 2 给出了w f m c 提出的工作流参考模型。 接l := j l+ t 图2 - 2 工作流参考模型 w f m c 定义了5 类接口,它们是: ( 1 ) 接口1 :工作流服务和工作流建模工具之间的接口,包括工作流模型的解 释和读写操作。 ( 2 ) 接口2 :工作流服务和客户应用之间的接口,这是最主要的接口规范,约 定所有客户方应用与工作流服务之间的功能操作方式; ( 3 ) 接口3 :工作流引擎和直接调用的应用程序之间的直接接口; 华北电力大学硕士学位论文 ( 4 ) 接口4 :工作流管理系统之间的互操作接口; ( 5 ) 接口5 :工作流服务和工作流管理工具之间的接口; 2 3 工作流管理系统 2 3 1 工作流管理系统概念【7 】 工作流管理系统( w f m s ) :是一种能定义、管理和执行工作流的软件系统。它 通过计算机表示的工作流逻辑来驱动软件有序地运行。工作流管理系统将现实世界 中的业务过程转化成某种计算机所能识别的形式表示,并在此形式表示的驱动下完 成工作流的执行和管理。使用w f m s 可以充分利用企业资源、有效地跟踪工作过程, 提高工作流过程定制的速度与质量。 虽然不同的工作流管理系统具有不同的应用范围和不同的实施方式,但它们还 是具有许多共同的特性。从比较高的层次上来抽象地考察工作流管理系统,可以发 现所有的工作流管理系统提供了3 种功能【7 j : ( 1 ) 建立阶段功能:主要考虑工作流过程和相关活动的定义、建模功能。 ( 2 ) 运行阶段的控制功能:在一定的运行环境下,执行工作流过程,并完成 每个过程中活动的排序和调度功能。 ( 3 ) 运行阶段的人机交互功能:实现各种活动执行过程中用户与i t 应用工具 之间的交互。 图2 3 给出了工作流管理系统三个主要功能之间的关系。 图2 3 工作流管理系统的特性 2 3 2 工作流管理系统体系结构 为了能够更好地支持企业经营过程建模、分析和实施,需要建立工作流管理系 统的相关标准。工作流管理联盟提出了工作流管理系统的一些规范,定义了工作流 华北电力大学硕士学位论文 管理系统的结构。 文献 7 w f m c 提出的工作流参考模型的体系结构图如图2 4 。这个参考模型的 体系结构给出了抽象的工作流管理系统的功能组成部件和接口,能够满足工作流管 理系统和产品应该具有的主要功能特征,可以为实现不同工作流产品间的互操作提 供公共的基础。 图2 4w f m c 的工作流管理系统体系结构 从工作流参考模型的体系结构图可以看出,工作流管理系统主要由三类构件组 成: ( 1 ) 软件构件:实现工作流管理系统不同组成部分的功能; ( 2 ) 系统控制数据:工作流管理系统中的一个或多个软件构件使用的数据; ( 3 ) 应用与应用数据:对于工作流管理系统来说,它们不是工作流管理系统 的组成部分,而是属于外部系统和数据,它们被工作流系统调用来完成整个和部分 工作流管理的功能。 9 华北电力大学硕士学位论文 2 4 本章小节 本章首先阐述了工作流技术的相关概念,然后对工作流参考模型进行了说明。 最后描述了工作流管理系统概念和工作流管理系统体系结构的相关知识。 1 0 华北电力大学硕士学位论文 第三章w e bs e r v i c e s 及其关键技术 3 1w e b 服务概念及特征 网络发展到今天,也许没有一个概念能像“w e b 服务”这么快的流行起来,并引 起了广泛的关注。的确,w e b 服务是一场软件的革命。那w e b 服务到底是什么呢? w e b 服务是一种基于标准的应用集成方式,它可以将运行在通过i n t e r n e t 、 e x t r a n e t 或i n t e r n e t 连接的分布式服务器上的应用集成在一起。w e b 服务集成了 c o m + 、c o r b a 、r m i 等技术的精华,并以开放标准为基础,推动电子商务取得成 、功。简言之,企业可以通过w e b 服务重组其应用和业务流程,充分利用w e b 服务 的动态特性,在市场上抢得先机。 w e b 服务是以独立于平台的方式,通过标准的w e b 协议,可以由程序员访问的 应用程序逻辑单元。它是松散耦合的、可复用的软件模块,从语义上看,它封装了 离散的功能,在i n t e r n e t 上发布后能够通过标准的i n t e r n e t 协议在程序中访问;从技 术角度来看,w e b 服务是对溯件技术在i n t e r n e t 中的延伸;从外部使用者的角度 来看,是种部署在w e b 上的对象组件峭,j 。 从以上定义可以看出,w e b 服务有两层含义:其一指封装成单个实体并发布到 网络上的功能集合体:其二是指功能集合体被调用后所提供的服务。简单的讲, w e b 服务是一个u r l 资源,客户端可以通过编程方式请求得到它的服务,而不需 要知道所请求的服务是怎样实现的,这一点与传统的分布式组件对象模型不同。 一个完整的w e b 服务除了其代码实现外,还定义了明确的接口。通常,接口描 述w e b 服务的内容和访问格式,客户端就是根据一个w e b 服务的接1 2 1 描述知道该 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 曲服务。 w e b 服务是一种部署在w e b 上的对象,因此具有对象技术所承诺的所有优点【l o 】 时,w e b 服务的基石是以x m l 为主的、开放的w e b 规范技术,因此具有比任何现 有的对象技术更好的开放性。它具备以下特征: ( 1 ) 完好的封装性:从使用者的角度看,w 曲服务是部署在w e b 上的一种对象 组件,具有对象的良好封装性。 ( 2 ) 松散耦合:当w e b 服务的调用界面保持一致时,w 曲服务的实现变更对调 华北电力大学硕士学位论文 用者是完全透明的。w e b 服务通过x m l s o a p 作为消息交换协议保持其松散耦合。 ( 3 ) 使用标准协议规范:作为w e b 服务,其所有公共的协约完全需要使用开放 的标准协议进行描述、传输和交换。这些标准协议具有完全免费的规范,以便由任 意方实现。一般而言j 绝大多数规范将最终有w 3 c 或o a s i s ( o r g a n i z a t i o nf o rt h e a d v a n c e m e n to fs t r u c t u r e di n f o r m a t i o ns t a n d a r d s ,结构化信息标准促进组织) 作为 最终版本的发布方和维护方。 ( 4 ) 高度可集成能力:由于w 曲服务采取简单的、易理解的标准w 曲协议作为 组件界面描述和协同描述规范,完全屏蔽了不同软件平台的差异,无论是c o r b a 、 d c o m 还是e j b ( e n t e r p r i s ej a v a b e a n s ) 都可以通过这一种标准的协议进行互操作, 实现了当前环境下最高的可集成性。 3 2w e b 服务的体系结构 通常,开发人员可以用自己喜欢的语言( 如v b n e t ,c n e t ,c + + n e t 或其 他语言) 来构建w e b 服务,然后使用相应的工具( 如s o a pt o o l k i t 或者v s n e t 的内 建支持) 来把它暴露给w 曲客户。于是,任何语言,任何平台上的客户都可以阅读 其w s d l 文档,以调用这个w e b 服务。客户根据w s d l 描述文档,会生成一个s o a p 请求消息。w e b 服务都是放在w e b 服务器( 如i i s 服务器) 后面的,客户生成的s o a p 请求被嵌入到一个h t t p 请求中,发送到w e b 服务器。w e b 服务器再把这些请求转 发给w e b 服务请求处理器,请求处理器解析收到的s o a p 请求,调用w e b 服务, 然后再生成相应的s o a p 应答。w e b 服务器得到s o a p 应答后,再通过h t t p 应答 的方式把它送回到客户端【1 1 1 。w e b 服务的总体结构如图3 1 所示。 o a p 请求 孝 w e b 服务器 口 服 务 s e r v i c e1 请 求 响 s e r v i c e2 : i 0 应 处 1r 理 ;o a p 响应 机 r 制 r s e r v i c en 图3 1 典型的w e b 服务结构 w e b 服务是在现有的w 曲技术和设施之上,通过制定新的协议和标准、提出新 的技术来实现的。新提出的与w e b 服务相关的主要协议和技术包括s o a p ( s i m p l e 华北电力大学硕士学位论文 o b j e c ta c c e s sp r o t o c o l ,简单对象访问协议) 、w s d l ( w 曲s e r v i c e sd e s c r i p t i o n l a n g u a g e ,w e b 服务描述语言) 、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 d i n t e g r a t i o n ,统一描述、发现和集成) 。s o a p 用来定义数据描述和远程访问的标准; w s d l 是发布和请求w e b 服务的描述语言;u d d i 则把w e b 服务与用户联系起来, 起中介作用。当然,w e b 服务的具体实现并不局限在这几种协议和技术上,任何支 持w e b 标准的系统都能支持w e b 服务。 表3 1 显示了整个w e b 服务的技术架构 1 2 - 1 5 】 r o u t i n g ,r e l i a b i l i t ya n dt r a n s a c t i o n w s r 、w s s s e r v i c ef l o w w s f l o s e r v i c ed i s c o v e r y ,i n t e g r a t i o nu d d i 至 c 巴 = o o o o c - k s e r v i c ed e s c r i p t i o nw s d l 口口 o c 口 暑 。 x m l - b a s e dm e s s a g i n gs o a p暑 t r a n s p o r t h t t p 、s m t p 、f t p i n t e r n e ti p v 4 、i p v 6 表3 1w e b 服务技术架构 应当指出,上图只是概念性的分层,而不是实际的分层。例如,w s d l 并没有 在s o a p 的顶层,而是用来描述w e b 服务的s o a p 接口的内容。 3 3w e b 服务相关技术和标准 ( 1 ) x m l w e bs e r v i c e s 的基石 扩展标记语言x m l ( e x t e n s i b l em a r k u pl a n g u a g e ) 是一门新兴的面向i n t e r n e t 应用的标记语言,它是由w 3 c ( w b r l dw i d ew e bc o n s o r t i u m ) 组织于1 9 9 8 年2 月 制定的一种通用语言规范。x 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 p l a n g u a g e ) 制定出来的,所以x m l 可看成是s g m l 的一个子集。若将s g m l 比作 “实数”集合,那么x m l 就可以看成是“整数 集合。x m l 继承了许多s g m l 的优点,且x m l 已将一些较复杂的s g m l 规则除掉了。x m l 用严格的嵌套标记 表示数据信息,特别适合在i n t e r n e t 环境中的多点数据交换环境下使用。在b 2 b 电 子商务应用环境中,x m l 是一种非常优秀且极为适合的商务交换技术。 x m l 具有以下鲜明的特点: 良好的可扩展性:x m l 可以让信息提供者根据需要,自行定义标记及属性, 结构化地描述信息内容,从而使x m l 可用于多种场合。 华北电力大学硕士学位论文 适于异构应用间的数据共享:x m l 的灵活性和扩展性使其可以对不同应用 甚至是差异很大的应用间的数据进行描述,尤其是对于那些专用于记录数据的应 用。另外,x m l 具有自我描述的特性,使得数据可以在不同的应用间进行交换和 处理而不必要求相应的应用程序是针对该数据定制的。 更有意义的数据检索:在x m l 出现之前,搜索软件要想执行带有语义信息 的查询是不可能的。x m l 是标记语言,标记使得基于语义的查询搜索成为可能。 例如,有了x m l ,书籍就可以很容易以标准的方式按照作者、标题、i s b n 序号或 其它的标准进行查询。 不同数据源的集成:x m l 能够使不同来源的结构化的数据很容易地结合在 一起。软件代理商可以在中间层的服务器上对来自不同后端数据库和应用的数据进 行集成。然后,数据就能被发送到客户或其它服务器做进一步的集合、处理和分发。 可伸缩性:由于x m l 把数据和显示分开,处理者能够在结构化的数据中嵌 套程序化的描述以表达如何显示数据。这是一种非常强大的机制,能尽可能的减少 客户计算机同使用者的交互,同时减少了服务器和浏览器进行数据交换的响应时 间,这大大增强了服务器的可伸缩性。 提供多语支持:x m l 规范中提供了对多语种的支持,包括u t f 7 、u f t - 8 、 u n i c o d e 、g b 2 3 1 2 ( 简体中文) 、b i g 5 ( 繁体中文) 等等,这一特点使得x m l 非 常有利于多语种的应用开发。正由于x m l 的这些优良特性,导致了基于x m l 的 s o a p 、w s d l 以及w s f l 等技术的产生。 ( 2 ) s o a p w e bs e r v i c e s 的消息传输方式 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 ,即简单对象访问协议。简单地 说,s o a p 是一个x m l 的应用,更是一种有线协议,类似于c o r b a 的i i o p 、d c o m 的o r p c 或j a v a 远程方法调用的j a v a 远程方法协议( j a v ar e m o t em e t h o dp r o t o c o l , j r m p ) 。 s o a p 和h t t p 一样是一种应用级的协议,因此它可以直接建立在传输协议之 上,比如t c p 。可是,当今的i n t e r n e t 结构中还有代理和防火墙等的介入,而它们 大多只允许h t t p 通过。为了让所有的连接到i n t e r n e t 的应用程序实现通信,s o a p 必须能够通过防火墙和代理。为了达到这一目的,当前的s o a p 应用都是建立在 h t t p 协议之上的,如图3 2 所示。s o a p 是在x m l 基础上定义的,完全继承了 x m l 的丌放性和描述可扩展性。s o a p 可以使用现有的基于t c p i p 的应用层协议 h t t p 、s m t p 、p o p 3 等,从而获得与现有通信技术最大程度地兼容。s o a p 的消 息路径机制和可扩充的h e a d e r 和b o d y 机制又为分布式计算提供了很好的支持。可 以相信,s o a p 决不只是一个漂亮的口号,它是一种即将深入渗透到未来分布式计 1 4 华北电力大学硕士学位论文 算的技术。s o a p 已经成为w e b 服务交换x m l 消息的标准协议。 w r e b 应用w 曲应用 s o a ps o a p h t t ph t t p t c pt c p i pi p 图3 - 2s o a p 可以基于任何传输协议 s o a p 规范主要由s o a p 信封、编码规则、r p c 表示三部分组成。信封定义了 整体s o a p 消息的表示框架,可用于表示消息中的内容是什么? 谁发送的? 谁应当 接受并处理它? 以及这些处理操作是否必需? s o a p 编码规则定义了数据的编码机 制,通过它来定义应用程序中需要使用的数据类型,并可用来交换由这些应用程序 定义的数据类型所衍生的实例。s o a pr p c 定义了一个用于表示远程调用和相应的 约定,例如,如何使用h t t p 或s m t p 协议与s o a p 绑定,如何传输过程调用,在 具体传输协议的哪个部分传输过程响应等。这三部分在功能上是正交且彼此独立 的。 ( 3 ) w s d l w e b 服务的描述方式 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 s d l 把w e b 服务定义为网络端点的集合【m 】。它有一个根元素,用类型( t y p e ) 、 消息( m e s s a g e ) 、端口类型( p o r t t y p e ) 、绑定( b i n d i n g ) 、端1 2 1 ( p o r t ) 和服务( s e r v i c e ) 等元素来定义w e b 服务m 。18 1 。其中,“类型”是消息的数据类型定义,通常用来描 述交换消息;“消息”代表待传输数据的抽象定义,由一个或多个部分组成;“端口 类型”表示抽象操作的集合;“绑定”使操作和消息的具体协议与数据格式规范关 联;“端口”指定一个用于绑定的地址,由此定义一个通信端点;“服务”则是相关 端口的集合。 在w s d l 中,端点和消息的抽象定义与具体的网路布置和数据格式绑定是相互 分离的,这样就可以抽象定义消息和端口类型,实现它们的重用。 ( 4 ) u d d i 注册和发布w e b 服务 统一描述、发现和集成协议( 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 d i n t e g r a t i o n ) 标准已经诞生很久了。u d d i 是一套基于w e b 的、分布式的、为w e b 服务提供信息注册中心的实现标准规范。创建u d d i 注册中心的目的是实现w 曲 竺竺生pbok一釜 竺!生pbok一i
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年人造革合成革行业当前发展趋势与投资机遇洞察报告
- 支付宝客服业务知识培训课件
- 操作基础知识培训课件教学
- 2025年麻醉恢复室试题及答案
- 2025年国家公务员考试行测试题及答案
- 企业合规经营在行业中的重要性试题(附答案)
- 2025年浙江省衢州市国家公务员公共基础知识预测试题含答案
- (2024)胰岛素知识试题及答案
- 2024年老年综合征管理新进展考核试题及答案
- 2025年社会工作者之初级社会工作实务题库附答案(基础题)
- b737培训课件49-6章apu滑油本是针对飞机737CL机型级的概述
- 邮政储汇业务员高级技师理论知识试卷5套(完整版)
- 压力性尿失禁
- YS/T 420-2000铝合金韦氏硬度试验方法
- 第一章-X射线衍射分析
- GB 21670-2008乘用车制动系统技术要求及试验方法
- 居家适老化改造需求评估表
- 2023年ADA糖尿病标准化诊疗指南
- 燃气专项规划调研资料汇总信息
- 肠造口患者的饮食
- 压力容器使用管理制度汇编
评论
0/150
提交评论