已阅读5页,还剩50页未读, 继续免费阅读
(计算机软件与理论专业论文)基于soa的workflow平台研究与设计.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 竞争的日趋激烈,要求企业能够对不断变化的市场做出快速响应,应 3 系统被要求快速 搭建、实施以及跨企业协同需求日益普及;同时不同时期、不同类型、跨企业边界的异构系 统需要集成整合,s o a 概念被提出。基fs o a 架构可以减少系统的依赖性、降低费用和操 作的复杂性、提高灵活性并很好的解决了业务创新。应用系统应该支持软件组件的松散耦合, 按照面向业务流程的方式设计实现的。w e b 服务是目前实现s o a 的最好方式,对于s o a 来说,真正有价值的是对于w e b 服务的再利j l j 而不是w e b 服务本身。大量的采 j 标准的通 信协议w e b 服务在互联网中快速地出现,需要类似w o r k f l o w 的协同合作。w o r k f l o w 就是 一类能够完全或部分自动执行的经营过程;它根据一系列过程规则,任务能够在不同的执行 者之间进行传递与执行。 本文结合w o r k f l o w 的理论,研究并提出s w p 架构平台来实现w e b 服务之间的协同工作, 以期达剑w e b 服务的再利用以减少成本,提高效率,减小系统耦合度;同时让w e b 服务按照 我们事先制订或临时更改的业务流程作业,缩短w e b 服务作业的等待时间,同时让作业流程 得到监控并可以按照规则调整,最人的灵活性米满足企业需求,提升企业竞争力。 关键字:s o a ,w e b 服务,w o r k f l o w ,协同工作 i i a b s t r a c t w i t ht h em o r ea n dm o r ef i e r c ec o m p e t i t i o n s ,i tn e e d se n t e r p r i s er e s p o n s er a p i d l yt oa d a p t v a r i a t i o nm a r k e t i n g s y s t e mi sn e e dt ob u i l t ,i m p l e m e n t e da n dp o p u l a r i z e db e t w e e ne n t e r p r i s e s s o ac o n c e p t i o ni si m p o r t a n c ef o rd i f f e r e n ts y s t e mn e e d st oc o m b i n eb e t w e e nd i f f e r e n tt e r ma n d t y p e b a s eo ns o as y s t e ma r c h i t e c t u r ec a nr e d u c ed e p e n d e n c eb e t w e e ns y s t e m s ,r e d u c i n gc o s t s , s i m p l i f i e ds y s t e mo p e r a t i o n s ,e n h a n c i n gf l e x i b i l i t y ,a n ds o l v i n gb u s i n e s si n n o v a t i o np r o b l e m s a c c o r d i n gt ob u s i n e s s o r i e n t e dd e s i g n ,t h ea p p l i c a t i o ns y s t e ms u p p o r ts o f t w a r el o o s i n ga n d c o u p l i n g w e bs e r v i c ei st h eb e s tw a yt or e a l i z es o a f o rs o a t h ev a l u eo fw e bs e r v i c e si st h e u s eo fw e bs e r v i c e si t s e l fi n s t e a d al a r g en u m b e ro fs t a n d a r dc o m m u n i c a t i o np r o t o c o lw e b s e r v i c e sa p p e a r a n c ei nt h ei n t e r a c tq u i c k l y , a n dw h i c hn e e ds i m i l a rw o r k f l o wc o l l a b o r a t i o n w o r k f l o wc a nb ec o m p l e t e l yo rp a r t i a l l ya u t o m a t eb u s i n e s sp r o c e s s e s ;i tb a s e do nas e to fr u l e s , t h et a s kc a r lb ei nd i f f e r e n tb e t w e e nt h ei m p l e m e n t a t i o no fat r a n s f e ra n di m p l e m e n t a t i o n b a s e do nw o r k f l o wt h e o r y r e s e a r c ha n dp r o p o s e ds w pa r c h i t e c t u r ew e bs e r v i c e sp l a t f o r m t or e a l i z es y n e r g i e sb e t w e e nt h ew o r k st oa c h i e v et h er e - u s eo fw e bs e r v i c e st or e d u c ec o s t sa n d e n h a n c ee f f i c i e n c y 。a n dr e d u c es y s t e mc o u p l i n g a tt h es a m et i m ew e bs e r v i c e sw o r ka c c o r d i n g t ob u s i n e s sp r o c e s s e so p e r a t i o n s ,w h i c hi so u rp r i o ro rt e m p o r a r yc h a n g e sp l a n ,s h o r t e nt h ew a i t t i m ef o rw e bs e r v i c e so p e r a t i o n s w h i l ea l l o w i n gp r o c e s s e sc a nb em o n i t o r e da n da d j u s t e di n a c c o r d a n c ew i t ht h er u l e s ,t h em a x i m u mf l e x i b i l i t yt om e e tt h en e e d so fe n t e r p r i s e st oe n h a n c e t h e i rc o m p e t i t i v e n e s s k e yw o r d s :s o a ,w e bs e r v i c e s ,w o r k f l o w ,t e a m w o r k i i i 独创性声明 本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得的研究成 果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发 表或撰写过的研究成果,也不包含为获得宁夏大学或其它教育机构的学位或证书而使 用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的 说明并表示了谢意。 研究生签名:4 乙 时问:p 母莎年夕月口日 关于论文使用授权的说明 本人完全了解宁夏大学有关保留、使用学位论文的规定,即:学校有权保留送交 论文的复印件和磁盘,允许论文被查阅和借阅,可以采用影印、缩印或扫描等复制手 段保存、汇编学位论文。同意宁夏大学可以用不同方式在不同媒体上发表、传播学位 论文的全部或部分内容。 ( 保密的学位论文在解密后应遵守此协议) 研究生签名:孑勿夸 时间:矽秒g年争月口日 翩麟:枇 宁夏人学硕f 一论芝筇辛绪论 1 1 研究背景 第一章绪论弟一早三百了匕 全球竞争的日趋激烈,企业面临着产品生命周期缩短、产品更新换代更快;提高产品质敬 降低成本和改进服务等压力,企业面临一个变化更加频繁的外部和内部环境,要求企业能够对不 断变化的市场做出快速响应,以满足用户的需求,提供优质的服务和产品。同时为了适应企业动 态多变的业务环境,企业信息系统必须以高效、动态和灵活作为应对的策略。首先,企业信息系 统应该是按照面向业务流程的方式设计实现的,将复杂的业务流程分解成为功能相对独立的子流 程,当企业因为客户、合作伙伴和供应商的需求变化而改变业务流程的时候,信息系统能够快速 集成或重构已有的服务,来支持业务需求的变化;其次,企业的信息系统应该支持软件组件的松 散耦合。松散耦合的信息系统能够灵活适应企业不断变化的业务环境,比如经常改变的政策、业 务级别、业务重点、合作伙伴关系、行业地位以及其他与业务相关的冈素;再次,企业为了更好 地服务客户,需要更好地与上、下游合作伙伴协同工作,这需要企业信息系统必须采川标准的通 信协议,增强企业间业务流程的互操作性。 网络的应用已由单纯的信息传播发展剑各项以网络为基础的应用信息系统,从第一代支持静 态数据呈现w e b 开始,到目前已经能够支持后台数据库查询、交易处理,甚至剑对信息资源共享 的网络应用程序的阶段。但是,目前有一半以上的企业还是停留在静态式的w e b 和简单的电子商 务应用阶段,要实现动态的电子商务,就必须要对企业与企业之间的业务流程进行动态的集成。 业务流程之间必须能够通过互联网自动地进行交易,业务流程可以进行动态的配置,可以随时对 整个业务流程进行重组。而目前的情况是,商业系统都是由购买加开发的应j l 系统混合起米所组 成,且运行于多种平台上。由于设计和实现的延伸性差,造成系统之间的软件集成困难重重。在 企业与企业的业务流程集成过程中,与一个合作伙伴的系统集成已经很费时、耗资,因此当商务 需求改变时,企业不能够容易地转换合作伙伴。 传统的集成技术主要包括界面集成和数据集成等,其目的就是将企业内部或企业之间的应用 彼此连接起来。界面集成是一个面向用户的整合,它将系统的终端窗口和p c 的图形界面用一个标 准的界面来代替,有代表性的例子是使用浏览器标准界面;数据集成是为新的商业目的提供一个 可以访问已有数据库系统的新接口,是最早出现的应用于企业内部集成的一种模式,它支持不同 数据库之间的直接数据交换。 业务流程集成产生于跨越了多个应用的业务流程层。它是最高层次的企业应用集成,能实现 新的商务目标,为企业实现跨越多个组织结构、多个应用系统的协作,并形成统一的、增值的业 务流程。业务流程是一种面向工作流集成的思想,它不需要处理用户界面开发、数据库逻辑、事 务逻辑等,而只是处理系统之间的过程逻辑,与核心业务逻辑相分离。在结构上,面向过程的集 成方法在面向接口的集成方法之上,定义了另外的过程逻辑层;而在该结构的底层,应用服务器 用消息提供了数据传输的基础服务。 本文将s o a 的思想应用于企业设计之中,构建出了一个具有松散耦合的、易于集成和扩展的 基于s o a 的w o r k f l o w 平台,部署管理现有或新建的w e b 服务,并利用已有w e b 服务按需组建新的 宁砭:学硕乎f 一论文第一审绪论 w e b 服务;同时结合w o r k f l o w 的理论米研究w e b 服务之间的协同j :作,以期达剑让每个w e b 服务 能够按照我们事先制订或临时更改的业务流程作业,减小w c b 服务作业的等待时间,同时让所有 流程得到监控并可以按照规则调整,以实现业务流程集成。 1 2 国内外研究现状 1 ) s o a 的研究 通过采用面向服务的体系结构,企业能够迅速便捷地构建开放的、模块化的、可重用的、与 平台无关的、可扩展的分布式戍用系统。作为s o a 的一种实现手段,w e b 服务提供了基于x m l 标 准接口的若干中间件,具有完好的封装性、松散的耦合性、协议规范的标准性以及高度的可集成 性等特点,能够很好的满足s o a 应用模式的需求。 s o a 在国际市场上反响强烈。白2 0 0 4 年初业界推出s o a 后,b e a 、i b m 、o r a c l e 、微软等业 界巨头纷纷发布自己的s o a 战略,建议用户在进行企业i t 建设时考虑s o a 。而- 至1 2 0 0 6 年,基于s o a 架构的中间件产品已经成为网络化商业系统的主要设计思路,7 0 的商业企业公司考虑使用s o a 架构。i d c 预瓣1 2 0 0 7 年,包括软件、服务和硬件在内的s o a 市场将达至1 2 1 0 亿美元,其中商业企 业方面的市场将达到1 2 0 亿美元。由此可见s o a 已经成为人势所趋,有着广阔的市场空间和巨大 的发展潜力,在商业企业中的应用,将成为s o a 未来发展的一大亮点。、 目前很多软件公司都注重丁这一领域内的研究和开发。m m 公司在s o a 相关产品上研发上不 遗余力,已经投入超过1 0 亿美元建立s o a 研发中心,如今没有一个产品不是基于s o a 的。如为企 业电子商务提供统一的身份认证和授权管理的t i v o l i 认证管理系统。 h p 公司为了向客户提供更加灵活的软件,以帮助其实现业务流程的自动化,计划将o r a c l e f u s i o nm i d d l e w a r e 融入其面向服务的架构产品系列中去,利用o r a c l e 的软件和h po p e n v i e w 管理软 件套件,计划开发和提供基于s o a 的业务服务,以帮助客户对其业务流程进行自动化,同时充分 利用和集成不同的数据和应用。 b e aa q u a l o g i c 为企业提供了获得生产级s o a 部署所有优势的途径,b e aa q u a l o g i c 产品家 族提供了一种可互操作的基础架构和一组可重片j 的基础架构服务,用1 二管理s o a 和组装复合应用 程序,而无须考虑底层技术,并且可以实现如下四方面的性能:首先,可以提高业务响应能力、 效率和敏捷性;其次,可以降低i t 环境的复杂性;再次,还能增加业务服务的重用性;最后,它 还能有效地降低应用程序的生命周期成本等。 s o a 是软件业的一次革命,s o a 是中国i t 软件行业的一个重要机会。s o a 逐渐走向成熟应用, 在2 0 0 8 年,其重点将径直向着应用的方向发展。尽管s o a 被纷纷看好,而且也有部分的成功案例 推出和相关产品问世,如复旦协达2 0 0 5 年推出的基于s o a 的协同软件是国内较成熟的应用s o a 的 设计理念的产品,但是s o a 作为一个具有发展前景的应片j 系统架构,尚存在许多有待改进的地方, 例如在可靠性、安全性、编制、遗留系统支持和语义方面均还存在严重不足。 国外现在针对w e b 服务进行的研究。从w e b 服务被接纳为w 3 c 的标准后,w e b 服务就成了下 一代电子商务的标准。因此m i c r o s o f t ,i b m ,s u m 等巨头纷纷研究基于w e b 服务的产品: m i c r o s o f t 提出t x l a n g 业务流程定义语言,使得使用它的b i z t a l ks e r 旧r 平台能动态的对供应业 务流程进行集成;m m 提出了w s f l 业务流程定义语言,运用于w e b s p h e r e 平台中,从而对业务流 2 r j 。爱,、硕f 一论艾第。市绪论 程进行动态的集成;m i c r o s o f t j l l i b m 合作,提出了b p e i a w s 语言,并提交w 3 c 作为标准。同时, 他们倡导成立了w s 1 组织( w e b h h 务i n t e r o p e r a t i o no r g a n i z a t i o n ) ,着重丁研究w e b 月h 务的互操作 问题;i b m 研究出基于b p e i a w s 语青的业务流程执行引擎,目前处于试j j 状态,还需不断的完善; s u n 最近提出了$ 1 l 1 1n e to l l e 的体系结构,支持w e b 服务的开发和e b x m l 定义的业务流程。 2 ) w o r k f l o w 研究 :i :作流技术起源于二十世纪七十年代中期办公自动化领域的研究,1 9 8 3 年至1 9 8 5 年间,在图 像处理领域和电子邮件领域出现了早期的含有上作流程特征的商_ h j 系统。1 9 9 3 年8 月,第一个上 作流技术标准化的丁业组织一工作流管理联盟( w n c ) 成立。1 9 9 4 年,_ t 作流管理联盟发布 了用于:j :作流管理系统之间互操作的工作流参考模型,并相继制定了一系列j :业标准。与此同时, 许多工作流原型系统在实验室里开发出来。进入2 l 世纪以来,工作流技术已被越米越多的人认可, 与之相关的标准规范、工作流引擎及商业产品不胜枚举。按其发展历程,一般把它分为三个阶段: 电子数据流阶段:电子数据流阶段着眼丁利用信息技术减轻人们在流程中的计算强度,如设 计一个流程用来协调多个会计统计账目。 事务处理流阶段:事务处理流着眼于对企业局部业务的管理,比如,设计一套t 作流程,米 管理物资的采购和供应。 信息管理流阶段:信息管理流强调对企业业务的全局的整体性的管理。在这个阶段,工作流 就是为了完成同一目标而相互衔接、自动进行的一系列业务活动或任务。目前,工作流技术与信 息技术以及企业管理紧密结合,已经悄悄渗入m i s 系统、e r p 系统和c r m 系统等企业级关键系统 中,并迅速成为这些系统的核心。 近年来,工作流管理方面的研究十分活跃,在北美和欧洲等地,相关的研究机构纷纷成立, 其中比较著名的有i b m 公司a l m a d e n 研究中心、佐治亚人学计算机系等研究项目。介绍如下: 基于持久消息队列的分布式工作流管理系统e x o t i c a :该工作流管理系统由许多具有自治 能力的节点组成,每个节点的运行都独立于其它节点,节点之间通过可靠的消息队列通知对方, 过程中某一步已经完成。e x o t i c 使用i b m 本身的工作流产品f l o w m a r k 提供的建模工具建立模型。 e x o t i c a 面向分布式环境下的用户。 具有自适应能力的工作流管理系统m e t e o r :它的研究目的是开发出一个能够支持大规模 复杂的工作流程应用系统,并保证这些应用能在企业间异构的环境中正常运行。该系统采用了完 全分布的体系结构,并实现了对工作流程任务的分布调度。m e t e o r - 提供的工作流运行支持系统有 o r b w o r k ( 基于c o r b a 的完全分布式工作流执行系统) 和w e b w o r k ( 基于w e b 技术的完全分布 的执行系统) 。 基于分布式主动数据库技术的工作流管理系统w i d e :w i d e 是由西班牙、意大利和荷兰 等国的五个合作单位协同开发的工作流管理系统,主要目的是利用分布式数据库和主动数据库技 术来实现工作流管理,并提供先进的、面向应用的软件产品。它是对w f m c 参考模型的一种扩展。 w i d e 提出的工作流管理系统包括三层:最底层是数据库层;第二层为基本访问层 ( b a s l e a c c e s s l a y e r ,b a l ) ,实现对数据库的屏蔽;最顶层是服务器层,提供事务管理服务和 规则支持,同时还为系统用户提供访问接口。 基于状态与活动图的工作流管理系统m e i l t o r :m e n t o r 项目的研究是为工作流模型的定 义、执行和控制提供一个中间件平台,它采用状态和活动图做为建模规范,使用一个可视化工具 3 宁疆,:7 z 硕7 f ? ,论文第帚绪沦 s t a t e m a t e 作为建模t 具,执行活动中所需要的软什可以通过s t a t e m a t e 中的扩展接口集成到系统 中,用户也可以使用其它规程建模i :具来建立模型,m e n t o r 可将所建的模犁自动转化成状态活动 图。 在国内,清华人学、浙江人学、国防科技入学和上海交通大学等高校也进行了一定的研究i : 作。其中,上海交通大学的基y p e t r i 网的分布式- l 作流管理的研究,浙江大学研制的基于一l :作流 过程定义语言的工作流建模平台,都取得了良好的研究成果。清华的i :作流管理系统结构上分为 两个部分:j :作流引擎部分作为w i n n t 的一个服务程序在后台运行,其它部分统一在一个二i :作界 面上在前台运行,包括用户、角色、组织的管理,流程模板的定义,流程实例的启动,运行状态 的控制,系统运行状态的监控等,并且在此jr :作台上包括了客户端任务的生成,根据不同的川户 所拥有的权限来控制用户的操作功能。这种构架带来的优点是系统结构简单、开发容易、操作界 面统一,其缺点是扩展性较差。 1 3 论文主要研究内容和结构 本文以一个实际的基丁二s o a 和w o r k f l o w 的应用为研究对象,主要上作包括:首先深入研究 了s o a 、w 曲服务、工作流管理技术,工作流的流程定义和动态控制,提出了一套比较完整的基 于s o a 和w o r k f l o w 的技术解决方案;其次本人在某大型跨国企业近1 年的基于s o a 的w o r k f l o w 开发,积累了业界先进的工作流程技术和开发经验;理论与实践的紧密结合,最后将解决方案付 诸实施,s o a 的设计理念应用于企业信息系统设计中,主要采用的技术是w e b 服务。由于w e b 服务的全部规范都是以x m l 为核心和基础的,因此各个系统、平台和语言之间可以无障碍地基 于i n t e m e t 进行互操作。同时结合w o r k f l o w 的理论来研究w e b 服务之间的协同工作,以期达到 让每个w e b 服务能够按照我们事先制订或临时更改的业务流程作业,减小w e b 服务作业的等待 时间,同时让所有流程得到监控并可以按照规则调整,实现业务流程集成。 论文共分5 章,分别如下: 第一章、绪论 说明研究背景、国内外研究现状、论文土要内容和结构。 第二章、s o a 和w o r k f l o w 相关文章、资料的收集与整理。第一节说明s o a 的理念,定义,技术细i i 了;第二节说明w e b 服务的理念,定义,技术细节;第三节说明w o r k f l o w 的理念,定义,技术细节。 第三章、基于s o a 的w o r k f l o w 平台架构 本文提出一个以s o a 和工作流为基础的“基于s o a 的w o r k f l o w 平台架构( s 胛) ”,其目 的在于按需利用s o a 的思想将已有的w e b 服务按需组合成新的流程服务,结合w o r k f l o w 理论动 态组合w e b 服务,同时可以迅速的构建起新的增值w e b 服务,更好地满足用户的需求。因此, 本章将分成二部份说明:首先阐述刚汗的设计理念,以对本文设计有一整体性的概观;再说明 s 岍架构内的组成细节。 第四章、实证研究 为了实践先前所提出的s w p 架构,本章节演示一个雏型系统,以验证架构的可行性。 第五章、结论 4 弓:夏j 学硕学f 一论支第。市绪沦 l _i ii_ i 皇曼曼曼曼曼曼! 曼! ! 曼曼曼曼! 鼍 根据研究过程与结果,归纳整理出本文的结论,并提出未来研究方向的建议,以作为后续研 究的参考。 5 弓。夏j :学硕1 f z 论文筇i 帝s o a 和w o r k f l o w 第二章s o a 和w o r k f l o w 本章为相关文献资料的收集与整理。首先介绍s o a 的定义、特性;第二一1 了说明本文实现s o a 的w e b 服务定义及使用的相关技术细:常;最后一:i 了将介绍j i :作流程定义、架构和所包含之技术。 2 1s o a 在各行业领域内部出现人量基丁网络的信息系统,易形成信息孤岛;企业面临的市场压力, 要求应用系统能够快速搭建并实施;电子商务的发展,跨企业协同需求也日益普及。因此,客观 上需要有一种技术能够将构建于不同时期,不同类型的异构系统以及跨企业边界的软什系统进行 集成整合。在这种背景下,s o a 面向服务的应用软件一体化的概念应运而生【i 】。基ts o a 架构 的应用集成可以减少不同类型的i t 系统的依赖性,降低费用和i t 操作的复杂性;提高已部署系 统的灵活性,同时排除了抑制业务创新的障碍【2 j 。 2 1 1s o a 定义 迄今为止,对于s o a 还没有一个公认的定义。许多组织从不同角度和不同侧面对s o a 进行 了描述,较为典型的定义有: w 3 c 将s o a 定义为:“一种应用程序体系结构,在这种体系结构中,所有功能都定义为独立 的服务,这些服务带有定义明确的可调用接口,可以以定义好的顺序调用这些服务米形成业务流 程,【3 1 。 较权威的g a r t n e r 将s o a 定义为【4 1 :“客户端服务器的软件设计方法,一项应用由软件服务 和软件服务使用者组成。s o a 与大多数通用的客户端服务器模型的不同之处,在于它着重强调 软件组件的松散耦合,并使用独立的标准接口。” 文献m 1 也有其它的一些如下定义: m e t a 将s o a 定义为:“一种以通用为目的、可扩展、具有联合协作性的架构,所有流程都 被定义为服务,服务通过基于类封装的服务接口委托给服务提供者,服务接口根据可扩展标识符、 格式和协议单独描述。”该定义的最后部分表明在服务接口和其实现之间有明确的分界。 s e r v i c e a r c h i t e c t u r e c o r n 将s o a 定义为:“本质上是服务的集合。服务间彼此通信,这种通信 可能是简单的数据传送,也可能是两个或更多的服务协调进行某些活动。服务间需要某些方法进 行连接。所谓服务就是精确定义、封装完善、独立于其他服务所处环境和状态的函数。” l o o s e l y c o u p l e d c o r n 将s o a 定义为:“按需连接资源的系统。在s o a 中,资源被作为可通过 标准方式访问的独立服务,提供给网络中的其他成员。与传统的系统结构相比,s o a 规定了资源 间更为灵活的松散耦合关系。” 从上述的定义中可以看到s o a 的几个关键特性:一种粗粒度、松耦合服务架构,服务之间 通过简单、精确定义接1 2 1 进行通讯,不涉及底层编程接1 2 1 和通讯模型【3 7 1 。s o a 不是一种技术, 6 宁夏,:硕i 。学f i ! 论丈第二章s o a 和w o r k f l o w 而是一种架构和组织i t 基础结构及业务功能的方法。s o a 是一种在计算环境中设计、开发、部 署和管理离散逻辑单元( 服务) 的模型。 2 1 2s o a 架构 s o a 的基本体系架构由以下四部分组成如图2 1 : 图2 1s o a 体系结构 1 ) 服务提供者( s e r v i c ep r o v i d e r ) 服务提供者是一个可通过网络寻址的实体,它接受和执行 来自消费者的请求。它将自己的服务和接口契约发布剑服务注册中心,以便服务使用者可以发现 和访问该服务。 2 ) 注册中心( r e g i s t e r ) 服务注册中心是一个包含可用服务的网络可寻址的目录,它是接收 并存储服务契约的实体,供服务消费者定位服务之用。 3 ) 服务消费者( s e r v i c ec o l i s u r n e r ) 服务消费者可以是一个请求服务的应用、服务或者其它 类型的软件模块,它从注册机制中定位其需要的服务,并通过传输机制米绑定该服务,然后通过 传递契约规定格式的请求来执行服务功能。 4 ) 服务契约( c o n t r a c t ) 服务契约是服务消费者和服务提供者间交互方式的规范,指明了服 务请求和响应的格式,包括如图2 1 中l 到5 小项的规范。 s o a 的关键概念是“服务”,文献【3 】中w 3 c 将服务定义为:“服务提供者完成一组工作,为 服务使用者交付所需的最终结果。最终结果通常会使使用者的状态发生变化,但也可能使提供者 的状态改变,或者双方都产生变化”。 2 1 3s o a 的特点及优势 s o a 的设立基于6 个假设的前提:系统是松散耦合的;界面交换是非物质的;程序具有r p c ( r e m o t ep r o c e d u r ec a l l ) 远程功能呼叫功能;界面基于消息;消息使用x m l 数据,以及界面支 持同步或不同步两种数据传输形式。 当一个系统工作时不会对另一系统产生较大程度依赖,而 同时服务的实施在幕后进行时,系统被认为是松散藕合的。而非物质的界面并没有固定的形式, 每次使用的其实只是被交换的数据,而不是隐藏在背后的服务提供商的知识和经验。r p c 功能就 是程序运行起来就像一个本地函数或者子程序调用那般简单,使用者完全不必理会界面信息的任 何细节。一个基于信息的界面通过e s b 在程序间传送消息,这些消息基于x m l 数据,而非可展 7 宁夏,:学f 面! f 学f 一沦之第一:帝s o a 和w o r k f l o w 开的文件或某种专用的二进制语言。服务可能是同步的。即发送请求然后等待即时同意。同样的。 当服务请求发出后。程序继续处理另一个过程稍后再做出回虑时服务是不同步的【1 1 。 s o a 的特点 1 ) 松散耦合:s o a 允许独立的开发服务的提供者和消费者而不用考虑各白的技术组成。并 且允许服务消费者在消费者和提供者所需交换信息的最低知识级别上定义和发现臼己感兴趣的 服务。 。 2 ) 请求响应:s o a 主要支持的交换为,一个特定的系统向服务提供者请求一段信息或者请 求执行一段程序,服务提供者接到请求后发出响应以提供所请求的服务。 3 ) 同步:s o a 主要支持同步的服务调用和执行。这意味者当消费者请求信息或执行程序时, 在源和目的两个系统间必须维持一个链接直到消费者收到响应l l 。】。 s o a 的优势 面向服务的体系结构可以基于现有的系统投资米发展,而不需要彻底重新创建系统。如果组 织将开发力量集中在仓f j 建服务、利用现有的技术、结合基于组件的方法来开发软件上,将获得如 下儿方面好处: 1 ) 利用现有资产:通过使用适当的s o a 框架并使其可用于整个企业,将业务服务构造成现 有组件的集合。服务的内部细节以及在组成服务的组件之间传送的数据的复杂性都对外界隐藏 了。这种组件的匿名性使组织能够利用现有的投资,从而可以通过合并构建在不同的机器上、运 行在不同的操作系统中、用不同的编程语言开发的组件来创建服务。 2 ) 商品化基础架构:在所有不同的企业应用程序之间,基础架构的开发和部署将变得更加 一致。现有的组件、新开发的组件和从厂商购买的组件可以合并在一个定义良好的s o a 框架内。 这样的组件集合将被作为服务部署在现有的基础构架中,从而使得可以更多地将基础架构作为一 种商品化元素来加以考虑 3 ) 减少成本:随着业务需求的发展和新的需求的引入,通过采用s o a 框架和服务库,为现 有的和新的应用程序增强和创建新的服务的成本人大地减少了。同样,开发团队的学习难读也降 低了,因为他们可能已经熟悉了现有的组件。 4 ) 持续改进业务过程:s o a 允许清晰地表示流程,这些流程流通过在特定业务服务中使用 的组件的顺序来标识。这给商业用户提供了监视业务操作的理想环境。业务建模反映在业务服务 中。流程操纵是以一定的模式重组部件( 构成业务服务的组件) 来实现的。这将进一步允许更改 流程流,而同时监视产生的结果,因此促进了持续改进。 5 ) 以流程为中心的体系结构:现有的体系结构模型和实践往往是以程序为中心的,通常应 用程序像个黑匣子,没有粒度可用于外部。在以流程为中心的体系结构中,应用程序是为过程 开发的。流程可以分解成一系列的步骤,每一个步骤表示一个业务服务。实际上,每个过程服务 或组件功能都相当于子应用程序。将这些子应用程序链接在一起可以创建能够满足业务需求的流 程流。这种粒度允许利用和重用整个组织中的子应用程序【l 一】。 2 1 4 比较 1 ) s o a 与传统软件架构的比较 8 宁夏人学硕1 学f 2 论支第:节s o a 和w o r k f l o w s o a 被认为是传统紧耦合的、面向对象的模犁的替代者。下面将通过传统的软件架构中的分 布式组件架构与s o a 架构的对比,来阐述它们之间的不同。表2 1 在中的分布式组件架构与s o a 的对比给出了s o a 与分布式组件架构的不同点。 表2 - 1 分布式组件架构与s o a 对比 分布式组件架构s o a 面向功能面向流程 设计日的是为r ,实现需求设计目的是为j ,适应变化 开发用期长交互式和重用性开发 成本为中心业务为中心 应用阻塞服务协调 紧密耦合敏捷的和松耦合的 同构技术异构技术 面向对象面向消息 需深入j ,解实施细节独立十实施细节 s o a 是对传统的、紧密的面向对象模型的另一种选择,并没有排斥面向对象,系统的总体设 计是面向服务的,但到某个具体服务的实现可以是基丁面向对象设计的。s o a 是允许对象在系统 内存在的,所以s o a 其实也是基丁对象的了;但是s o a 作为一个整体就不是面向对象的,可以 说s o a 是更高层次意义上的架构。s o a 和面向对象的区别在于接口上,面向对象的接口是给其 他对象使用的,而s o a 的接口是可以给从组件到系统来使用的,s o a 的接口一般使用w e b 服务、 e j b 、c o r b a 等分布的技术米实现。s o a 具有以下更多优势:基于标准、松散耦合、共享服务、 粗粒度和联合控n t 6 , s 1 。 2 ) s o a 与w e b 服务的关系 w e b 服务仅仅是目前最流行的s o a 实现技术,但并1 可以用于开发s o a 的唯一技术,其 他使用w s d l 直接实现服务接口并且通过x m l 消息进行通信的协议也可以包括在s o a 之中。 s o a 与w e b 服务( w e bs e r v i c e ) 的数量无关。对于s o a 来说,真正有价值的是对于w e b 服务 的再利用而不是w e b 服务本身。即使将所有信息技术系统都用w e b 服务实现,也不见得就等于 部署了s c a 。有些企业使用了太多的w e b 服务来做同样的r r 服务,结果部署s o a 的效果非常 差。将w e b 服务等同于s o a ,很容易发生在一些希望快速实现s o a 但是并朱真正理解s o a 的 企业身上。 s o a 与w e b 服务是两个不同层面的问题,前者是概念模式,面向商业应用;后者则是实现 模式,面向技术框架。s o a 概念并没有确切地定义服务具体如何交互,而仅仅定义了服务如何相 互理解以及如何交互。其中的区别也就是定义如何执行流程的战略与如何执行流程的战术之间的 区别。而另一方面,w e b 服务在需要交互的服务之间如何传递消息有具体的指导原则。从战术上 实现s o a 模型是通过h 1 r r p 传递的s o a p 消息的w e b 服务模型。因而,从本质上讲,w e b 服务 是实现s o a 的具体方式之一p 】。 9 宁夏,j 学形i 学f o 沦之第:节s o a 和w o r k f l o w 2 2w e b 服务 从前一节的讨论中得知w e b 服务是s o a 目前最成功的解决方案;同时网络将演变为可计 算的智能网络,w e b 服务( s e r v i c e ) 将在其中扮演芙键的角色。依赖丁标准协议,过去组件实现 的功能将直接以w e b 服务的形式在w e b 上发布,而这种组仆可以被无数的川户所使用。同时为 了在异质化的环境里,一定要采用开放的架构才能整合不同的应用程序及不同的麻刚平台,而 w e b 服务就将成为下一代系统整合技术的基础【9 1 。 2 2 1w e b 服务的定义 相关文献对w e b 服务的定义描述如f : w e b 服务是在i n t e r n c t 上进行分布式计算的基本构造块。应刚程序是通过使用多个不同米源 的x m lw e b 服务构造而成的,这些服务相互协同t 作,而不管它们位于何处或者如何实现。 w 3 c 的定义:一个w e b 服务是指一个应用程序可经由x m l 来描述、查询以及利用u r i 来 辨识,此应用程序的介面与联系方式均已被完整定义,且支援其他的应用程序,并能借x m l 型 式的消息,经合乎网络协议米直接驱动p 1 3 】。部分学者的定义如下: m c c r i g h t :任何一个程序,不论在何种平台或是以何种语言开发,只要能通过网络被另一个 程序呼叫,就可以称为w e b 服务。 l a u r e n c e :w e b 服务是一个分散式计算的模式,具有松散的耦合,使用标准的网络协定传输, 并使用x m l 作为描述语言等特点。 定义都具有以下共同点: 1 ) w 曲服务通过标准的w e b 协议向w e b 用户提供有用的功能。多数情况下使用s o a p 协议。 2 ) w e b 服务可以非常详细地说明其接口,这使用户能够创建客户端应用程序与它们进行通 信。这种说明通常包含在称为w e b 服务说明语言( w s d l ) 文档的x m l 文档中。 3 ) w e b 服务已经过注册,以便潜在用户能够轻易地找到这些服务,这是通过通用发现、说 明和集成( u d d l ) 来完成的。 综上,w e b 服务可以定义为:w e b 服务是一种编程模型,它提供在可缩放的、松耦合的和非 特定平台的环境下交换消息的能力,消息交换使用标准协议。在x m lw e b 服务及其客户端之间 交换的基于s o a p 的x m l 消息,可以是结构化的,类型化或松散定义的消息。使用文本格式( 如 m 。) 的灵活性使消息交换能够以松耦合的方式随着时间的而发展,这也是w e b 服务成为s o a 最流行的解决方案的原因之一。 2 2 2w e b 服务的优势和用途 1 ) 异构平台互通和更广泛的软件复用。w e b 服务最大的优势是提供了异构平台无缝衔接的 技术手段。最先出现的复用就是源代码级的,把常用的代码包装为过程或函数被其他代码调用, 随之出现了将公共功能编写为2 进制的d l l 文件,或者c o m 组件。但是这样出现了如过程或函 数不能跨语言;d d l 中的函数必须要求用户熟悉其中的细节,如参数,参数传递规则:c o m 组 l o j 。疆,:。硕f 辱:化诊芝篇:节s o a 和w o r k f l o w 件也是编泽成2 进制,所以不能跨平台等问题。w e b 服务可以采用任何语言在任何平台下把一组 功能包装成w e b 服务,然后注册到u d d i 中心。用户只要获得了描述w e b 服务的w s d l 文件, 就可以用代理1 :具自动产生合适的客户端代理,然后通过代理访问w e b 服务提供的功能1 9 】。 2 ) 发行方便,能穿透防火墙。软件供应商将软件分解成若干w e b 服务模块,直接在w e b 上发布,通过支付少麓的费用,刚户利用远科的w e b 服务满足用户的特殊要求。w e b 服务通过 h t t p 协议传输这些x m l 格式数据,意味着这些凋t j 请求和同应消息可以穿过防火墙1 9 】。 3 ) 用途。包装商务逻辑,以保证能为更多的电子商务活动所用;使用w e b 服务可以将每个 现有的应用程序功能和数据以w e b 服务的形式公开。然后,便可以创建使用此w e b 服务集合的 复合应 j 程序以实现各个构成应h j 程序之间的互操作性;开发松耦合的复合软件【9 1 。 2 2 3w e b 服务中的主要协议 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 0 1 ) 是s o a 架构中的消息传 递机制。s o a p 是一个基于x m l 的简单协议,用于在w e b 上交换结构化的类型消息。该协议不 包含应用程序或传输语义,这使它高度模块化并具有强可扩展性。s o a p 技术希望达剑简单且延 伸性的功能,而此处所谓的“简单”是指不使用传统分布式对象运算的部分技术,如内存管理、整 批处理及物件参考等【9 1 。 1 ) s q 垤定义如下 w 3 c 规定s o a p 应包含下列四个部份9 川1 3 】: s o a pe n v e l o p e :定义了一个整体架构,包括消息的内容是什么,谁该处理它,甚至于它是 强制性或是选择性的接受。 s o a pe n c o d i n gr u l e s :编码规则定义了特定应用程序之间,若要进行资料交换时,所需的数 据类型交换方式,编码规则也是有关丁数据如何被编码及串行化的一纽定义集。 s o a pr p cr e p r e s e n t a t i o n :定义如何去使用s o a p 数据模型来符合r p c 呼叫和响应的协议。 s o a pb i n d i n g - 定义一个用在端点间交换s o a pe n v e l o p 的协议。 s o a p 就是指在因特网环境之下将沟通方式标准化的通讯规范,主要以h t t p 传输协定来传 递x m l 文件格式的内容。 2 ) s o a p 消息架构如下 s o a p 用于
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年民生保险顾问岗位招聘面试参考试题及参考答案
- RNA病毒信号机制-洞察与解读
- 2025年时尚策划专员岗位招聘面试参考试题及参考答案
- 2025年广告文案师岗位招聘面试参考试题及参考答案
- 2025年媒介策划经理岗位招聘面试参考题库及参考答案
- 2025年市场研究经理岗位招聘面试参考试题及参考答案
- 2025年补习班负责人岗位招聘面试参考试题及参考答案
- 2025年轻工产品设计师岗位招聘面试参考试题及参考答案
- 2025年医学科学联络员岗位招聘面试参考试题及参考答案
- 2025年保险咨询师岗位招聘面试参考试题及参考答案
- 2025年秋青岛版(五四学制)(新教材)小学数学三年级上册(全册)教学设计(附目录P129)
- 【《复杂场景下的运动目标跟踪算法分析》开题报告4200字】
- 2025新疆交通投资(集团)有限责任公司所属公司招聘26人笔试历年典型考点题库附带答案详解2套试卷
- 2025榆林镇北台、红石峡景区招聘(26人)考试笔试模拟试题及答案解析
- 村干部考入事业编面试真题(含答案)
- 铝锭贸易专业知识培训课件
- 2025年及未来5年中国建筑劳务行业投资潜力分析及行业发展趋势报告
- 2025年中考历史试题分类汇编:世界近代史(选择题汇编)(第1期)解析版
- 定制化老年大学海外游学创新创业项目商业计划书
- 住房公积金政策宣传课件
- 会诊制度存在问题及整改措施
评论
0/150
提交评论