




已阅读5页,还剩66页未读, 继续免费阅读
(计算机应用技术专业论文)基于web服务工作流和portal技术的企业应用集成平台的研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 面向服务的体系结构( 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 ) 是近几年在企 业应用集成领域备受业界追捧的软件体系结构。虽然传统分布式通讯技术如 c o r b a ,d c o m 和r m i 也可以实现s o a ,但由于它们都存在着缺点,而不 能完全体现出s o a 的精髓。w e bs e r v i c e s 技术的出现和兴起给s o a 注入新的 内容。随着一种s o a 实践方案企业服务总线的出现,在中间件和系统集成 市场上掀起了一个不小的浪潮,各个厂商都在提出自己的计划,推出自己的相 关产品。 本文首先对企业应用集成的研究现状进行了综述,分析了传统企业集成方 法和实现技术的不足,如复杂、成本高、而且难于维护的点对点集成和与特定 厂商紧密藕合的e a i 中间件集成方法。接着在介绍s o a 基本理论和w e b s e r v i c e 相关技术后,提出了一种基于企业服务总线的s o a 解决方案,并通过结合b p e l 工作流和p o r t a l 门户技术,最终提出了论文的研究目标w 2 p - e a i 平台 然后通过对w 2 p - e a i 平台相关技术的分析,提出了w 2 p - e a i 平台的分层 架构模型,从下到上依次为信息系统层、服务层、业务流程层和表示层,并对 各层从功能性的角度给予了简单介绍。并在此基础上,又进一步提出了w 2 p e a i 平台的体系结构,其中主要涉及三种支撑平台服务基础设施平台、服务组 合支撑平台和门户集成支撑平台,它们分别对应于分层架构模型中的三个层次 服务层,业务流程层和表示层。接着重点描述了三种支撑平台各自的组成 架构和详细设计,并对w 2 p 姒l 平台架构与传统框架进行了比较。 最后,在平台分层模型和体系结构的基础上,通过整合所选的开源组件构 建出基于s o a 的开源实现平台。接着对实现平台的架构和开发流程进行了分 析,并通过一个简单的集成示例介绍了如何利用这个实现平台来进行企业应用 集成。 关键字:企业应用集成,面向服务的体系架构,业务流程执行语言,企业服务 总线,企业信息门户: a b s t r a c t 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 ) i st h em o s tp o p u l a rs o f t w a r ea r c h i t e c t u r e i nt h ef i e l do fe n t e r p r i s ea p p l i c a t i o ni n t e g r a t i o ni nr e c e n ty e a r s w h i l et r a d i t i o n a l d i s t r i b u t e dc o m m u n i c a t i o n st e c h n o l o g i e ss u c ha sc o r b a 、d c o ma n dr m ia l s o c a na c h i e v es o a ,w h i c hc a n tc o m p l e t e l yr e f l e c tt h ee s s e n c eo fs o ab e c a u s eo f t h e i rs h o r t c o m i n g s w e bs e r v i c e st e c h n o l o g yi n j e c t sn e wc o n t e n tt os o a ,a n dw i t h t h ee m e r g e n c eo fan e ws o a p r a c t i c ep r o 粤街口- e n t e r p r i s es e r v i c eb u s ,w h i c h h a sc r e a t eab i gw a v ei nm i d d l e w a r ea n ds y s t e m si n t e g r a t i o nm a r k e t ,t h ev a r i o u s m a n u f a c t u r e r sh a v ep r o p o s e dt h e i ro w n p l a n s , l a u n c h e di t so w n r e l a t e dp r o d u c t s f i r s to fa l l ,t h i sp 驴r e s e a r c h e ss t a t u so f e n t e r p r i s ea p p l i c a t i o ni n t e g r a t i o na n d a n a l y s i st h el a c ko ft h et r a d i t i o n a lm e t h o d sa n de a it e c h n o l o g y ,s u c ha st h e p o i n t - t o - p o i n ti n t e g r a t i o na n de a im i d d l e w a r ei n t e g r a t i o nm e t h o d :t h ef o r m e ri s c o m p l e x 、c o s t l y , a n dd i f f i c u l tt om a i n t a i n , w h i l et h el a t t e ri sc l o s ec o u p l i n gw i t h s p e c m cm a n u f a c t u r e r s a f t e ri n t r o d u c i n gt h eb a s i ct h e o r yo fs o a a n dw e bs e r v i c e t e c h n o l o g i e s , p a p e rp r o p o s e sas o a s o l u t i o n sb a s e do ne n t e r p r i s es e r v i c eb u s , a n dp r o p o s e st h eu l t i m a t eg o a lo ft h er e s e a r c ht h r o u g hac o m b i n a t i o no fb p e l w o r k f l o wa n dp o r t a lt c c h n o l o 舒w 2 p e a ip l a t f o r m s e c o n d ,t h r o u g ht h ea n a l y s i so f t h er e l a t e dt e c h n o l o g yo f w 2 p - e a ip l a t f o r m , p a p e rp r o p o s e sah i e r a r c h i c a ls t r u c t u r em o d e lf o rw 2 p - e a ip l a t f o r m f r o mt h e b o t t o ml a y e ro nt h eo r d e r :i n f o r m a t i o ns y s t e m sl a y e r 、s e r v i c e s l a y e r 、b u s i n e s s p r o c e s sl a y e ra n du s e ri n t e r f a c el a y e r ,a n dp a p e rg i v e sab r i e fi n t r o d u c t i o nf r o mt h e f u n c t i o n a lp o i n t t h e n ,t h i sp a p e rf u r t h e rp r o p o s e st h ea r c h i t e c t u r ef o rw 2 p - e a i p l a t f o r m ,w h i c hi n v o l v e st h r e es u p p o r t i n gp l a t f o r m s - - - - s e r v i c e si n f r a s t r u c t u r e p l a t f o r m 、s e r v i c e sc o m b i n a t i o ns u p p o r t i n gp l a t f o r ma n dp o r t a l i n t e g r a t i o n s u p p o r t i n gp l a t f o r m t h e yc o r r e s p o n dt ot h et h r e el e v e l so fh i e r a r c h i c a ls t r u c t u r e m o d e l - 锵r v i c e sl a y e r , b u s i n e s sp r o c e s sl a y e ra n du s e ri n t e r f a c el a y e f t h e nt h e p a p e r d e s c r i b e st h ea r c h i t e c t u r ea n dt h ed e t a i l e dd e s i g no fe a c hs u p p o r t i n gp l a t f o r m s u b s e q u e n t l y ,t h ep a p e rh a sac o m p a r i s o nb e t w e e nt h es t r u c t u r eo ft h ew 2 p e a i p l a t f o r ma n dt h et r a d i t i o n a lf r a m e w o r k f i n a l l y ,b a s e d0 1 1t h eh i e r a r c h i c a lm o d e la n dt h ep l a t f o r ma r c h i t e c t u r e , p a p e r c o n s t r u c t st h es o a - b a s e dr e a l i z e d p l a t f o r mt h r o u g hi n t e g r a t i n gt h es e l e c t e d o p e n - s o u r c ec o m p o n e n t s t h e np a p e rh a saa n a l y s i so ft h es t r u c t u r eo ft h er e a l i z e d p l a t f o r ma n dd e v e l o p m e n tp r o c e s s b e s i d e s ,p a p e ra l s od e s c r i b e sh o wt ou s et h i s r e a l i z e dp l a t f o r mt oa c h i e v ee n t e r p r i s ea p p l i c a t i o ni n t e g r a t i o nt h r o u g has i m p l e a p p l i c a t i o ne x a m p l e k e yw o r d :e n t e r p r i s ea p p l i c a t i o ni n t e g r a t i o n ,s e r v i c e s - o r i e n t e da r c h i t e c t u r e , b u s i n e s sp r o g r e s se x e c u t i o nl a n g u a g e ,e n t e r p r i s es e r v i c eb u s , e n t e r p r i s ei n f o r m a t i o np o r t a l n l 独创性声明 本人声明,所呈交的论文是本人在导师指导下进行的研究工作及 取得的研究成果。尽我所知,除了文中特别加以标注和致谢的地方外, 论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得 武汉理工大学或其它教育机构的学位或证书而使用过的材料。与我一 同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说 明并表示了谢意。 签名:日期: 关于论文使用授权的说明 本人完全了解武汉理工大学有关保留、使用学位论文的规定,即 学校有权保留、送交论文的复印件,允许论文被查阅和借阅;学校可 以公布论文的全部或部分内容,可以采用影印、缩印或其他复制手段 保存论文。 ( 保密的论文在解密后应遵守此规定) 签名:导师签名: ( 注:此页内容装订在论文目录前) 武汉理工大学硕士学位论文 1 1 研究背景 1 1 1 企业应用集成概述 第1 章绪论 e a i 的概念在r r 界提出和讨论已经有几年的历史了,最初大家谈到的 e a i 的概念,相对后来e a i 的发展来看,可以说是一个狭义的e a i ,正如其 字面上的含义“e n t e r p r i s e a p p l i c a t i o ni n t e g r a t i o n ”,即企业应用整合,仅指企业 内部不同应用系统之间的互连,以及通过应用整合实现数据在多个系统之间的 同步和共享l “2 1 伴随着e a i 技术的不断发展,它所被赋予的内涵变得越来越丰富。现在 大家谈到的e a i 的概念,具有更广泛的内涵,它已经被扩展到业务整合 ( b u s i n e s si n t e g r a t i o n ) 的范畴,业务整合相对于e a i 来说是一个更宽泛的概念, 它将应用整合进一步拓展到业务流程整合的级别1 3 1 业务整合不仅要提供底层 应用支撑系统之间的互连,同时要实现现存于企业内部应用与应用之间,本企 业和其他合作伙伴之间端到端的业务流程管理,它包括应用整合、b 2 b 整合、 自动化业务流程管理、人工流程管理、企业门户以及对所有应用系统和流程的 管理和监控等方方面面【4 】 企业对应用系统进行集成的愿望由来已久,但企业应用集成作为一个固定 概念提出,是最近几年的事情。美国著名的1 1 r 媒体i t t o o l b o x 对企业应用集 成的定义是:“通过硬件、软件、标准和业务过程的结合,实现两个或多个企业 系统之间的无缝集成,使他们能够统一运作” 5 1 。 e a i 技术和内容从不同的角度有不同的分类方法。从应用集成的对象来划 分可以分为面向数据的集成和面向过程的集成;从应用集成所使用的工具和技 术来划分,可以分六个层次,分别是平台集成、数据集成、组件集成、应用集 成、过程集成和业务对业务的集成。如果从企业组织角度e a i 可分为水平的 组织内的集成、垂直的组织内的集成和不同组织间系统的集成嘲。 e a i 的目标就是集成和流水线化跨越不同应用系统的过程,同时使企业的 员工、决策者和商业伙伴能够很容易的访问企业和客户的数据,而不管这些数 武汉理工大学硕士学位论文 据在什么地方和哪个系统中。此外,e a i 更进一步的目标是集成跨企业和跨组 织的信息和过程,其中包括实现传输流、数据流、信息流、过程流和b 2 b 流。 此处的流是指以一种平滑、连续、实时的方式把数据发送给用户或系统。 1 1 2 企业应用集成的研究现状 1 传统企业集成的方法和技术 ( 1 ) 点对点集成 根据m e t a g r o u p 的统计,经过相当一个时期不断的r r 系统建设,一家典 型的大型企业平均拥有4 9 个应用系统,3 3 的r r 预算是花在传统的集成上, 通过零星的“点对点”连接,使众多的“信息孤岛”联系起来,以便让不同的 系统之间交换信息。这使得企业的应用系统看起来像一张复杂的蛛网。孤立的 信息系统无法有效地提供跨部门、跨系统的综合性的信息。孤立的信息系统也 无法实现实时的信息存取和对业务流程的透视,无法实现对客户、供应商、项 目、订中、资产等的全面掌控,无法实现企业价值链的全面的、彻底的透视和 控制同。 在点对点的集成方法学中,每个企业信息系统( e n t e r p r i s ei n f o r m a t i o n s y s t e m ,e i s ) 都紧密地与其它e i s 通过它们的点对点连接在一起,它的优点 是容易理解并且当只有少量系统需要集成时可以快速实现。但如果一个e i s 发 生改变就会打破与它有关的应用集成;另一个缺点是每个e i s 都要求有足够多 的整合点来支持更多的系统集成,因此,这种方法很难集成大量的应用系统, 且集成的系统越多维护就越困难。 图1 - 1 点对点集成 2 武汉理工大学硕士学位论文 ( 2 ) 消息中间件 由于点对点的集成方法很复杂,成本高、而且难于维护,于是引入了另外 一种集成方法,它基于消息总线或者中间件。在这种情况下,e i s 和消息中间 件之间的连通性是用私有总线a p i 和应用程序a p i 来实现的,见图1 - 2 。 图1 - 2 基于消息中间件的集成 消息中间件和应用程序之间的紧密耦合使所有的应用程序都需要了解与其 集成的其他应用程序的内部工作方式系统之间的集成都是粒状的,并且通过 消息类型紧密藕合。传统e l i 实现中所使用的业务流程管理工具是私有的,这 阻碍了最优产品的应用嗍。 ( 3 ) c o r b a ,d c o m ,r m i c o r b a ,d c o m 和r m i 是传统企业集成中常用的分布式对象技术,它们 在早期的e a i 中发挥过积极的作用。 c o r b a 分布式对象技术 c o r b a ( c o m m o no b j m r e q u e s tb r o k e ra r c h i t e c t u r e ,公用对象请求代理 体系结构) ,是o m g ( o b j e c tm a n a g e m e n tg r o u p ,对象管理组织) 为了增强异 构软硬件系统的协同工作能力而提出的方案和相关的标准规范。c o r b a 允许 应用程序和其它的应用程序通讯,而不论它们在什么地方、什么环境或用什么 编程语言实现。c o r b a l 1 由o m g 在1 9 9 1 年发布,定义了接口定义语言( i d l ) 和应用编程接口( a p i ) 。i d l 是中立于任何语言的,c o r b a 通过i d l 来实现 与编程语言的无关性。c o r b a 服务器必须实现i d l 接口,而c o r b a 客户使 武汉理工大学硕士学位论文 用此接1 2 1 1 9 。 图1 - 3c o r b a 工作原理 d c o m 分布式组件技术 m i c r o s o f t 的d c o m ( d i s t r i b u t e dc o m p o n e n to b j e c tm o d e l ,分布式组件对 象模型) 扩展了组件对象模型技术( c o m ) ,使其能够支持在局域网、广域网 甚至i n t e m e t 上不同计算机的对象之间的通讯。d c o m 也使用了s t u b 和s k e l e t o n 代理机制,使得客户程序并不知道它正同一个远程的对象进行通讯。d c o m 与 c o r b a 的最大区别是d c o m 只能基于m i c r o s o f tw i n d o w s 平台,是 w i n d o w s - w i n d o w 方式的集成方案,c o r b a 是由中立组织o m g 制定具有独立 于操作平台的特性。 s k e l e t o n 图1 4 d c o m 工作原理 4 武汉理工大学硕士学位论文 r m i 远程调用 r m i ( r e m o t em e t h o di n v o c a t i o n ,远程方法调用) 是j a v a 版的r p c r m i 是j a v a - j a v a 的集成方案,客户程序与服务程序都必须使用j a v a 语言编写。r m i 的也是使用s t u b 和s k e l e t o n 的代理方式,但就没有像c o r b a 和d c o m 那样 有i d l ,r m i 是使用j a v a 语言中的i n t e r f a c e 。作为接口,服务程序必须实现这 个接口。r m l 隐藏了远程调用的细节,它是使用j r m p ( j a v ar e m o t em e t h o d s p r o t o c o l ,j a v a 远程方法协议) 进行通讯。 图1 - $ r m i 工作原理 2 传统企业集成技术的局限性分析 ( 1 ) c o r b a 和d c o m 都依赖于单一厂商的实现 尽管c o r b a 和d c o m 已经在各种平台上得到了实现,然而实际情况是建 立在这些协议之上的任何解决方案都依赖于单一厂商的实现。c o r b a 虽然由 中立组织o m g 提出并制定了一套标准和规范,但在实际应用中,不同厂商的 实现的标准并没有统一如果要开发c o r b a 应用程序,应用程序环境中的每 个节点都要运行同一厂商生产的o r b 产品。虽然现在也有来自不同厂商的 c o r b ao r b 能够相互操作。但是那种互操作性并不能扩展到像安全与事务管 理那样的更高级别的服务中去1 1 0 l 。 ( 2 ) c o r b a ,d c o m 和r m i 存在着紧耦合 c o r b a ,d c o m 和r m i 在服务请求者都需要一个s t u b 文件或是配置文件, 也可以是共享库。在服务提供者需要接口声明文件或服务器端的配置文件。这 就是说,服务器端和某个客户端的类型是唯一匹配的,进一步说只有拥有服务 提供者的s t u b 文件的客户才能与相应的服务提供者进行通讯。只要服务提供者 5 武汉理工大学硕士学位论文 的接口声明有所调整,所有客户都必须升级到新的s t u b 。因此,如果服务提供 者对接口做出的任何修改都将使之前做的全部步骤作废,而且需要重编译、重 新生成所有s t u b 和s k e l e t o n ,并向所有已知的服务请求者重新进行分发【“。 ( 3 ) d c o m 和r m i 与平台绑定 d c o m 是由m i c r o s o f t 提出并实现,是与w i n d o w s 平台紧密结合,它是更 适合w i n d o w s w i n d o w s 的企业内部集成。d c o m 目前为止还不适用于非 w i n d o w s 平台。r m i 运行在j v m 之上,j v m 屏蔽了底层操作系统的细节使r m i 能在各种主流操作系统中运行。但换句话说,r m i 也只能在j a v a 平台中工作, 客户端与服务器端都必须使用j a v a 语言。 ( 4 ) c o r b a ,d o o m 和r m i 之间的互操作难 c o r b a 使用h o p ,d c o m 使用o r p c ,r m i 使用j r m p 。c o r b a 对象不 能与r m i 或d c o m 直接进行通讯;r m i 则不能与d c o m 和c o r b a 实现会话; d c o m 也无法与r m i 或c o r b a 直接交互。如果确实需要它们进行交互则需要 另外的协议,如r m i - i i o p 或c o r b a d c o m 桥。 1 2 本论文的主要工作 s o a ( s e r v i c e o r i e n t e d a r c h i t e c t u r e ,面向服务架构) 是一种组件模型思想, 但它更强调的是松散耦合和中立的接口定义。按照s o a 的思想,企业的r r 系 统应该是由各种各样的服务组成,服务的重用能力比以往任何组件都要强,因 为它是直接反映业务而不是技术。s o a 的一个中心思想就是让企业彻底摆脱面 向技术的解决方案的束缚,轻松应对企业商业服务变化、发展的需要。 虽然s o a 不是新概念,但w e bs e r v i c e s 技术的出现和兴起给s o a 注入新 的赢液w e bs e r v i c e s 是使用x m l 技术作为基础,使它独立于操作平台和编程 语言,是真正意义的中立技术。使用w e bs e r v i c e s 技术可以使企业内异构环境 下的信息系统能相互操作。 本文运用s o a 思想结合w e b 服务工作流和p o r t a l 技术提出了一个基于s o a 的企业应用集成平台w 2 p e a i 平台。此平台是完全基于工业标准( 如: x m l 、w s d l s o a p 、w s b p e l 等) 的企业r r 架构。并在此基础上,构建了 一个基于开源项目的s o a 系统实现平台。这个实现平台应该既可以辅助开发 人员构建企业的s o a 应用,又可以作为s o a 系统的部署和运行平台。 6 武汉理工大学硕士学位论文 1 3 论文结构 本论文按照以下的方式进行组织: 第一章绪论。主要介绍了论文的研究背景、主要工作、研究的目的意义和 论文的组织结构。 第二章w 2 p e a i 平台的引入。研究了s o a 基本理论和w e b s e r v i c e s 相关技 术,提出了基于企业服务总线( e s b ) 的s o a 解决方案,并在此基 础上,最终提出了本文的研究目标基于s o a 的w 2 p e a i 平台。 第三章w 2 p - e a i 平台相关技术。介绍了各种平台相关技术:p o r t a l 门户相 关技术、企业服务总线、w e b 服务组合技术等。 第四章w 2 p - e a i 平台架构设计。主要介绍了w 2 p - e a i 平台的分层架构模 型,并在此基础上提出了w 2 p - e a i 平台的体系结构,并对体系结构 中的三种支撑子平台进行了架构分析和设计。 第五章w 2 p e a i 平台开源实现。基于第四章提出了w 2 p e a i 平台的分层架 构模型和体系结构,用各种开源项目组件组成了基于s o a 的开源实 现平台,分析了实现平台的开发框架、开发流程,并提供了简单的 集成示例。 第六章总结与展望。对全文的工作进行总结,并给出了进一步研究的方向 7 武汉理工大学硕士学位论文 第2 章w 2 p - e a i 平台的引入 2 1s o a 基本理论 2 1 1s o a 概述 s o a ( 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 ,面向服务的体系结构) 不是一个新 的概念,早在1 9 9 6 年,美国知名邛市场调研顾问公司g a r t n e r 最早提出了s o a 的预割”j ,2 0 0 2 年1 2 月,g a r t n e r 又提出了s o a 是现代应用开发领域最重要 的课题,并预计到2 0 0 8 年,s o a 将成为占有绝对优势的软件工程实践方法, 它将结束传统的整体软件体系架构长达4 0 年的统治地位,主流企业现在就应该 在理解和应用s o a 开发技能方面进行投型1 2 1 。可见s o a 将给软件工业带来革 命性的变化。 s o a 编程模型如图2 1 所示,s o a 的一个重要思想就是尽量重用现有的服 务,客户程序使用了服务3 提供的服务,而服务3 重用了服务i 和服务2 提供 的服务服务的对外接口都使用了开放的标准来定义如i d l 或w s d l 富户程序 图2 1 s o a 编程模型 1 s o a 的组成元素盼体嘲 如图2 - 2 所示,s o a 模型包含以下组成元素: ( 1 ) 服务( s e r v i c e ) 服务是粗粒度的处理单元,通过传送基于消息的值对象来使用服务。它与 面向对象编程语言术语中的对象不同,相反,它可能更接近于业务事务的概念。 8 武汉理工大学硕士学位论文 服务又不同于软件组件,服务可以由一些组件组成,这些组件一起工作,共同 提供服务所要求的业务功能。 图2 2s o a 组成元素 因此,相比之下,组件比服务的粒度更细。服务是可以在没有外部行为的 作用下自主运行的,并能完成一套业务功能。图2 - 3 说明了服务、组件和对象 的关系。 图2 - 3 服务、组件、对象的关系 服务拥有自己的状态,但它的状态非常简单只有两种:s t o p p e d ( 停止服务) 、 r u n n i n g ( 运行) 它不像面向对象中的对象可以有多种状态,不同的状态影响 着对象的操作。服务应该有很强的并发处理能力,可以响应多个客户程序的同 时使用。服务没有实例化的概念,不像面向对象中的对象需要实例化后才能使 用,服务应该是一个静态的概念,只要它存在随时可以使用。 ( 2 ) 服务提供者( s e r v i c ep r o v i d e r ) 服务必须由至少一个服务提供者实现,服务提供者是实现服务内部复杂的 9 武汉理工大学硕士学位论文 业务逻辑或业务流程的软件实体。服务提供者同样可以使用其它服务来实现业 务流程。服务与服务提供者是多对多的关系,一个服务可以由多个不同服务提 供者实现,但在某一时刻一个服务只有一个服务提供者,服务的提供者可以根 据不同的需求更换;一个服务提供者也可以提供多个服务接口。 ( 3 ) 服务描述( s e r v i c ed e s c r i p t i o n ) 在s o a 中的服务描述是用来描述服务是什么、应该如何调用服务以及成功 地调用服务需要什么数据。有了接口描述和服务的封装性,服务的使用者就可 以简单地把服务理解为一个逻辑实体,是一个或多个已发布接口定义的契约, 并不需要关心服务内部的细节。接口契约应该独立于操作平台和编程语言,以 至于所有想使用服务的消费者都能懂。如w s d l ,i d l 等。 ( 4 ) 消息协议( m e s s a g ep r o t o c 0 1 ) 消息是服务与外部使用服务的消费者共同遵守的通讯信息格式,服务消费 者使用消息来请求服务,服务也用同样的消息格式作为返回内容。它也应该独 立于操作平台和编程语言。如s o a p ,x m l 等 ( 5 ) 传输协议( t r a n s p o r tp r o t o c 0 1 ) 在s o a 中服务与服务间的通讯应该遵守相同的传输协议,传输协议是在服 务消费者与服务间传输消息的机制通讯协议也应该独立于操作平台和编程语 言。如h t r p ,s m t p ,j m s 等。 2 s o a 的角色【协1 6 1 s o a 有二个角色,服务使用者通过查询服务注册中心来查找需要的服务。 如果服务存在,注册中心就给使用者提供服务接口的描述文档和服务的端点地 址。 ( 1 ) 服务消费者( s e r v i c ec o n s u m e r ) 服务消费者是一个应用程序、一个软件模块或s o a 系统中的一个服务。它 发起对注册中心中的服务查询,通过传输绑定服务,并且执行服务功能。服务 消费者根据接口描述文档来使用服务。 ( 2 ) 服务提供者( s e r v i c ep r o v i d e r ) 服务提供者是实现服务接口的一个软件实体并可通过网络寻址来查找该实 体,它接受和执行来自使用者的请求。它将自己的服务和接口契约发布到服务 注册中心,以便服务使用者可以发现和访问该服务。 ( 3 ) 服务注册中心( s e r v i c er e g i s t r y ) 1 0 武汉理工大学硕士学位论文 服务注册中心是服务发现的支持者。它包含一个可用服务的存储库,并允 许感兴趣的服务消费者查找服务并提供接口 2 1 2s o a 作为e a i 体系结构的优势 迅速改变的能力和降低成本的要求是当今企业要面对的问题。为了保持竞 争力,企业必须快速地适应内部因素( 如兼并和重组) 或外部因素( 如竞争能 力和顾客要求) 。需要经济而灵活的r r 基础设施来支持企业。可以认识到,采 用s o a 将带来几方面的好处,有助于企业在今天这个动荡的商业环境中取得成 功【1 l : 1 利用现有的资产 s o a 提供了一个抽象层,通过这个抽象层,企业可以继续利用它在t r 方 面的投资,方法是将这些现有的资产包装成提供企业功能的服务。企业可以继 续从现有的资源中获取价值,而不必重新从头开始构建。 2 更易于集成和管理复杂性 在s o a 中,集成点是规范而不是实现。提供了实现透明性,并将基础设施 和实现发生的改变所带来的影响降到最低限度。通过提供针对基于完全不同的 系统构建的现有资源和资产的服务规范,集成变得更加易于管理,因为复杂性 是隔离的。当更多的企业一起协作提供价值链时,这会变得更加重要。 3 更快的响应和上市速度 从现有的服务中组合新的服务的能力为需要灵活地响应苛刻的商业要求的 组织提供了独特的优势。通过利用现有的组件和服务,可以减少完成软件开发 生命周期( 包括收集需求、进行设计、开发和测试) 所需的时间。这使得可以 快速地开发新的业务服务,并允许组织迅速地对改变做出响应和减少上市准备 时间。 4 减少成本和增加重用 通过以松散耦合的方式公开的业务服务,企业可以根据业务要求更轻松地 使用和组合服务。这意味资源副本的减少、以及重用和降低成本的可能性的增 加。 1 1 武汉理工大学硕士学位论文 2 2w e bs e r v j c e s 概述 w e bs e r v i c e s ( w e b 服务架构) 是由w 3 c ( w o r l dw i d ew e bc o n s o r t i u m , 万维网联盟) 制定的一套开放的标准的技术规范,w 3 c 对w e bs e r v i c e s 的定义 如下:“一个w e b 服务是为提供机器与机器间跨越网络的互操作而设计的一套 软件系统,它有一个用机器能处理的格式特别是w s d l ) 来定义的接口。其 它系统使用s o a p 消息且以一种被这个w e b 服务预先指定的方式来与这个w e b 服务交互,一般情况下,这些消息使用 盯r p 协议进行传输,在传输前这些消 息使用基于w e b 的相关标准来进行x m l 的序列化”i l 司 w e bs e r v i c e s 的目的是让不同的软件应用程序能相互操作,无论这些程序 是用什么编程语言实现、运行在什么样的操作平台或架构技术上。强大的互操 作性和可扩展性是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 可扩展标志语言) 。w e bs e r v i c e s 能 使应用程序以一种松散耦合的方式组合起来,并实现复杂的交互。 2 2 1w e bs e r v i c o s 软件架构模型 如图“所示,w e b 服务提供者提供可通过网络访问的软件模块 ( w e b s e r v i c e s 中的一个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 服务描述与w e b 服务提供者进行绑定并调用相应的w e b 服务,实现交互。 武汉理工大学硕士学位论文 2 2 2w e bs e r v i c e s 协议栈 w e b 服务架构由众多的标准协议规范组成,如下表所示1 1 3 】: 表2 - 1 w e b 服务协议栈 协议层协议 服务发布、发现 u d d l 服务描述w s d l 消息协议 s ( ”岬 数据表现数据模x m ls c h e m a 、啪 型 数据表 x m l 现 传输协议h 1 1 p 、s m t p 、f i p 、 j m s w e b 服务协议栈的基础是网络层。w e b 服务要被服务请求者调用,就必须 可以通过网络访问因特网上可以公用的w e b 服务使用普遍部署的网络协议。 h t t p 凭借其普遍性,成为了因特网可用的w e b 服务真正的标准网络协议。w e b 服务还可以支持其它因特网协议,包括s m t p 和f t p l l 9 1 构建w e b 服务的核心与基础是s o a p 、w s d l 和u d d i 这三个结构单元: 1 消息协议 s o a p 【2 0 j ( s i m p l eo b j e c t a c c e s sp r o t o c o l ,简单对象访问协议) 是基于x m l 的消息协议,它能使在分布式环境下的程序相互交换结构化的事先定义好的信 息。s o a p 是服务使用者和服务提供者共同遵守的消息格式,由于它也是基于 x m l 技术,所以s o a p 是独立于编程语言和操作平台的消息协议,能使在异构 环境下的应用程序相互通讯和操作。 2 服务描述 w s d l 2 l j ( w e bs e r v i c e sd e s c r i p t i o nl a n g u a g ew e b 服务描述语言) 是基于 x m l 格式的网络服务描述语言,它将w e bs e r v i c e s 中的服务描述成一组服务访 问点,客户端可以通过使用面向文档或面向过程的消息来访问这些网络服务。 w s d l 将这些操作和消息以一种抽象的方式进行描述,然后将具体的网络协议 和消息格式绑定来定义一个服务访问点。相关的服务实现者将与这个抽象的服 武汉理工大学硕士学位论文 务访问点联系起来。w s d l 是可扩展的,它是独立于服务消息格式和具体的网 络通讯协议的标准 3 服务发布发现 u d d i 2 2 ( u n i v e r s a ld e s c r i p t i o l l ,d i s c o v e r ya n di n t e g r a t i o n ,统一描述、发 现与集成) 是由o a s i s ( o r g a n i z a t i o nf o r t h ea d v a n c e m e n to fs t r u c t u r e d i n f o r m a t i o ns t a n d a r d s ,结构化信息标准促进组织) 制定的一套关于w e bs e r v i c e s 注册、发布、查询、发现和访问服务接口时要用到技术的标准规范。u d d i 是 基于一套开放的工业标准包括:m 1 甲、x m l 、x m ls c h e m a 和s o a p ,u d d i 为公开发布的服务和只在公司内部使用的服务提供一个可互操作的基于w e b 服 务的软件基础架构。 2 2 3w e bs e r v i c e s 的优点 1 采用更加中立的技术标准 w e bs e r v i c e s 是以x m l 为基础的独立于平台与编程语言的分布式软件通信 技术用w e bs e r v i c e s 实现s o a 将使s o a 的实现独立于具体的厂商。相比之 下c o r b a ,d c o m 和r m i 就不能做到完全中立。d c o m 明显地受m i c r o s o f t 公司的约束;r m l 只能用于j a v a 应用程序问的通信;尽管c o r b a 有一个通过 i d l 定义的平台无关的服务约定和一个支持不同语言和平台的实现,但是它需 要h o p 的特定通信协议和标准化的有限格式,且o r b 的实现中不同厂商问区 别很大【矧。 表2 - 2 s o a 的实现技术 c o r b ad c o mr m iw e bs e r v i c e s 操作 w i n d o w s 、u n i x 、w i n d o w s w 铀d o w s 、u n i x 、f 缅d o w s ,u n i x , 平台l i n u x 、s o l a r i s 等 l i n u x 、s o l a r i s 等l i n u x 、s o l a r i s 等 编程a c + + 、j a v a 等o c + + 、j a v aj a v a 、c c + + 语言n e t 等n e t 等 传输 o po r p cj r d 呼 h r r p 、f r p 、 协议s m t p 等 接口 i d lm s ) lj a v ai n t e r f a c ew s d l 定义 通讯远程对象 远程对象 远程对象s o a p 、x m l 消 消息息 1 4 武汉理工大学硕士学位论文 2 更加松散耦合 c o r b a ,d c o m 和r m i 都属于分布式对象技术,它们的客户程序都依赖 于对象的引用,并直接调用远程对象暴露的函数或方法,也就是说是属于代码 级别的,属于紧耦合。w e b s e n ,i c c s 用w s d l 描述服务接口,并用s o a p 作为 消息通讯,w s d l 和s o a p 都是基于x m l 面向文本的,是一种完全基于文本 的消息机制。基于消息的系统向消费者隐藏了实现,减少了接口被改动的可能 性,从而通过约
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度多人持股企业股权转让及后续运营管理协议
- 2025年二手房买卖合同修订:智能家居设备验收标准
- 2025版年薪制员工劳动合同法实施细则解读与应用指南
- 2025年度汽车租赁服务合同规范范本
- 2025年货运司机安全责任与福利保障合同
- 2025版农民工劳动合同模板(含劳动纠纷解决)
- 2025年度绿色有机猪肉直销合作合同模板
- 2025年蔬菜种植基地社会化服务合作协议
- 2025厂房租赁居间合同(含设备配套服务)
- 贵州省玉屏侗族自治县2025年上半年公开招聘城市协管员试题含答案分析
- 【小学体育教学中学生自主学习研究-以S区小学为例(附量表)21000字(论文)】
- 【初中数学】你有多少种画平行线的方法课件 2023-2024学年人教版数学七年级下册
- 网络安全培训试题附有答案
- 尿红细胞形态分析报告
- 网络产品行业报告
- 中药热奄包在皮肤瘙痒中的临床应用观察
- 监理人员考勤表
- 全国各气象台站区站号及经纬度
- 鼻外伤医学专业知识
- 风力发电站吊篮施工
- 花篮拉杆式悬挑脚手架工程技术交底
评论
0/150
提交评论