




已阅读5页,还剩72页未读, 继续免费阅读
(计算机科学与技术专业论文)企业服务集成结构及其开发支持技术研究与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 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 的主题词,它将彻底改变企业现有的 1 1 r 架构。经过几十年的企业信息化建设,企业内已存在许多分散孤立的应用系统, 随着业务规模不断扩大,集成已经成为当今企业的迫切需求。本文首先分析了传 统企业服务集成方法和实现技术的不足。虽然s o a 不是新概念,传统分布式通 信技术如c o r b a 和d c o m 等也可以实现s o a ,但由于它们都存在着缺点,而 不能完全体现出s o a 的精髓。e s b 集成技术和j b i 规范的出现和兴起给s o a 注 入新的内容,使得集成系统的规范性、灵活性、松耦合性更强。 本文在介绍s o a 概念和e s b 、j b i 相关技术后,结合国家发展与改革委员会 高新技术产业化项目“协同业务集成中间件平台$ y n c h r o b i p ( b u s i n e s si n t e g r a t o r p l a t f o r m ) ”,重点描述了本文提出的基于e s b 和插件技术、基于服务设计的企业 服务集成软件系统s y n c h r o e s b 的五层体系结构。该结构的核心是运用s o a 的思 想,具有企业信息的服务组件在节点服务器运行,业务流程被中央服务器集中管 理调度,真正实现了“集中式管理、分布式运行”的工作模式,进而实现了企业 信息的共享和服务集成。 基于企业服务集成s y n c k r o e s b 系统结构的设计方案,提出了其开发支持技 术合成企业业务流程的客户端应用开发工具s p o 的设计目标及其总体框架设 计,在此框架的基础上给出了s p o 工具具体实现的详细方案,分别从模块划分、 配置文件及用户界面的实现、业务流程开发实例几个方面进行讲述,这也是本文 的重点。s p o 工具的用户交互界面使用基于e c l i p s e 的集成开发界面,业务流程 的开发和数据映射设置都使用图形化的方式,从而为用户提供了一种快速开发、 功能强大且可扩展的应用平台,更大地提高了企业服务集成s y n c h r o e s b 系统的 灵活性和可扩展性。 关键词:面向服务架构,企业服务集成,企业服务总线,业务流程 a b s t r a c t 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 ) i st o d a yo n eo ft h em o s tp o p u l a rt o p i ci n c o m p u t e ri n d u s t r y , b a s e do ns t a n d a r d ,f l e x i b l ea n dl o o s e l yc o u p l e da r es o a sk e y w o r d s ,i tw i l lc o m p l e t e l yc h a n g et h ee x i s t i n ge n t e r p r i s ei tf r a m e w o r k a f t e rs e v e r a l d e c a d e so fe n t e r p r i s ei n f o r m a t i o n - b a s e dc o n s t r u c t i o n , e n t e r p r i s e sh a v eb e e ni n e x i s t e n c em a n ys c a t t e r e di s o l a t e da p p l i c a t i o n s w i t ht h ee x p a n d i n gb u s i n e s ss c a l e , i n t e g r a t i o nh a sb e c o m et h eu r g e n tn e e d so ft o d a y se n t e r p r i s e s t h ep a p e rf l r s t a n a l y s e st h ed e f i c i e n c yo ft r a d i t i o n a lm e t h o d sa n dt e c h n o l o g i e so fe n t e r p r i s es e r v i c e i n t e g r a t i o n a l t h o u g h s o ai sn o tan e wc o n c e p t , t r a d i t i o n a ld i s t r i b u t e d c o m m u n i c a t i o nt e c h n o l o g i e ss u c ha sc o r b aa n dd c o ma l s oc a na c h i e v es o a , b u t t h e yh a v es h o a c o m i n g s c a l ln o tc o m p l e t e l yr e f l e c tt h es o a sc s s e n t h ee m e r g e n c e a n dr i s eo fe s bi n t e g r a t i o nt e c h n o l o g ya n dj b is p e c i f i c a t i o ni n j e c tn e wc o n t e n t si n t o s o a ,m a k i n gt h ei n t e g r a t i o ns y s t e mm o r en o r m a l i z e d ,f l e x i b l ea n dl o o s e l yc o u p l e d a f t e ri n t r o d u c i n gs o a c o n c e p ta n de s b ,j b it e c h n o l o g y , c o m b i n i n gw i t ht h e h i g h - t e c hi n d u s t r yp r o j e c to ft h en a t i o n a ld e v e l o p m e n ta n dr e f o r mc o m m i t t e e “s y n c h r ob u s i n e s si n t e g r a t o rp l a t f o r m ,t h ep a p e rd e s c r i b e st h ef i v e - l a y e rs y s t e m c o n s t r u c t i o no f e n t e r p r i s es e r v i c ei n t e g r a t i o ns o f t w a r es y s t c r as y n c h r o e s bb a s e do n e s ba n dp l u g - i nt e c h n o l o g ya n ds e r v i c ed e s i g nw i me m p h a s i s t h ec o r eo ft h i s c o n s t r u c t i o ni st o a p p l yt h et h o u g h to fs o a ,s e r v i c ec o m p o n e n t sr u n n i n go n p e e r s e r v e r , b u s i n e s sp r o c e s sm a n a g e db yu l t r a s e r v e r , w h i c hr e a l l yr e a l i z e st h e w o r k i n gp a t t e r no f “c e n t r a lm a n a g e m e n t , d i s t r i b u t i o n a lr u n n i n g ,t h e nr e a l i z e st h e e n t e r p r i s ei n f o r m a t i o ns h a r i n ga n ds e r v i c ei n t e g r a t i o n b a s e do i lt h ed e s i g np r o p o s a lo fs y n c h r o e s bf r a m e w o r k , t h ep a p e rp r o p o s e st h e d e s i g ng o a la n do v e r a l lf r a m ed e s i g no f c l i e n ta p p l i c a t i o nd e v e l o p m e n tt o o ls p o ,t h e n p r e s e n t st h ed e t a i l e dp r o p o s a lo fs p o ,i n c l u d i n gm o d u l ed i v i s i o n , c o n f i g u r a t i o nf i l e s a n du ir e a l i z a t i o na n db u s i n e s sp r o c e s sd e v e l o p m e n te x a m p l e t h eu io fs p om a k e s u s eo fi n t e g r a t e dd e v e l o p m e n ti n t e r f a c eb a s e do ne c l i p s e ,a n db u s i n e s sp r o c e s s d e v e l o p m e n ta n d d a t am a p p i n ge s t a b l i s h m e n ta p p l yg r a p h i c a lm e t h o d ,t h u sf o ru s e r si t p r o v i d e sa na p p l i c a t i o np l a t f o r mo fr a p i d - d e v e l o p m e n t ,f o r m i d a b l ef u n c t i o na n d e x t e n s i o n ,w h i c he n h a n c e st h ef t e x i b i l i t ya n de x t e n s i o no f t h es y n c h r o e s bg r e a t l y k e y w o r d s :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 , e n t e r p r i s es e r v i c ei n t e g r a t i o n ,e n t e r p r i s e s e r v i c eb u s ,b u s i n e s sp r o c e s s 西北工业大学 学位论文知识产权声明书 本人完全了解学校有关保护知识产权的规定,即:研究生在校攻 读学位期间论文工作的知识产权单位属于西北工业大学。学校有权保 留并向国家有关部门或机构送交论文的复印件和电子版。本人允许论 文被查阅和借阅。学校可以将本学位论文的全部或部分内容编入有关 数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编 本学位论文。同时本人保证,毕业后结合学位论文研究课题再撰写的 文章一律注明作者单位为西北工业大学。 保密论文待解密后适用本声明。 学位论文作者签名:到盔指导教师签名: 竺三竺! 二卫 西北工业大学 学位论文原创性声明 秉承学校严谨的学风和优良的科学道德,本人郑重声明:所呈交 的学位论文,是本人在导师的指导下进行研究工作所取得的成果。尽 我所知,除文中已经注明引用的内容和致谢的地方外,本论文不包含 任何其他个人或集体已经公开发表或撰写过的研究成果,不包含本人 或他人已申请学位或其它用途使用过的成果。对本文的研究做出重要 贡献的个人和集体,均已在文中以明确方式标明。 本人学位论文与资料若有不实,愿意承担一切相关的法律责任。 学位论文作者签名: z 0 0 7 年弓月冲日 西北工业大学硕士学位论文 第一章绪论 1 1 引言 第一章绪论 经过几十年的企业信息化建设后,当今相当一部分企业使用分散孤立的应用 系统来满足不同的业务需求,不同的系统问很难进行交互和共享数据,不可避免 地形成一个个信息孤岛。然而,这些企业并不能一夜之间就将它们的那些孤立程 序全部放弃或替换,因为它们都是一些关键业务,而且在当前的商业环境下从零 开始重新开发它们的整个信息系统常常是不合算的。 另外,很多企业需要不时地引进各种新的应用和系统很重要的一点就是这 些新的方案基于最新的体系架构,它们与原有老系统的体系架构有着很大的不 同。如何有效地解决这些问题,成功实施企业应用的整体集成,是每个企业必须 解决的问题。 面向服务的集成( s e r v i c e - o r i e n t e di n t e g r a t i o n ,s o i ) 使得1 1 r 架构能够在已 有的应用中提供可重用的服务的功能【l 】,是企业之间或企业内部各部门协同工作 的需要,允许企业在其应用程序开发过程中把精力集中于业务流程,而先不去关 注有关集成或应用程序底层实现问题。s o i 使用s o a 的指导原则来构造面向服 务的企业应用系统,在此系统中,业务用户能够动态地联合和组成满足不断演化 和改变的业务要求的高级流程 2 1 。s o i 的中心思想是使得企业应用摆脱面向技术 解决方案的束缚,灵活地适应企业业务流程变化和发展的需要。通过将注意力放 在服务上,应用程序开发能够集中起来,提供更加丰富、目的性更强的业务流程, 基于s o l 的企业应用系统会更加真实地反映出与业务模型的结合【3 】。 1 2 传统企业服务集成的方法和技术 1 2 1 点对点集成 根据m e t ag r o u p 的统计,经过相当一个时期不断的i t 系统建设,一家典 型的大型企业平均拥有4 9 个应用系统,3 3 的i t 预算花在传统的集成上【4 】,通 西北工业大学硕士学位论文第一章绪论 过零星的“点对点”连接,使众多的“信息孤岛”联系起来,以便让不同的系统 之间交换信息。这使得企业的应用系统看起来像一张复杂的蛛网【习( 如图1 - 1 所 示) ,孤立的信息系统无法有效地提供跨部门、跨系统的综合性信息。 图l l 蛛网式的企业应用系统 在点对点的集成技术中,每一个企业信息系统( 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 都要求有足够多的整合 点来支持更多的系统集成,服务的参与双方都必须建立l 对1 的联系,如果有5 个互相集成的e i s ,就需要1 0 个不同的整合点,如图1 2 所示。因此,这种方法 很难集成大量的应用系统,且集成的系统越多维护就越困难。 1 2 2 消息中间件 图l - 2 点对点集成 由于点对点的集成方法很复杂、成本高且难于维护,于是引入了另外一种集 成方法,称为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 ,企业应用集成) 。它基于消 息总线代理或者中间件。在这种情况下,e i s 和消息中间件之间的连通性是用私 2 西北工业大学硕士学位论文第一章绪论 有总线a p i 和应用程序a p i 来实现的,见图l - 3 。 图1 - 3 基于消息中问件的集成 消息中间件和应用程序之间的紧密耦合使所有的应用程序都需要了解与其 集成的其他应用程序的内部工作方式。系统之间的集成都是粒状的,并且通过消 息类型紧密耦合。传统e a i 实现中所使用的业务流程管理工具是私有的,这阻碍 了最优产品的应用。 c o r b a 、d c o m 和r m i 是传统企业服务集成中常用的分布式通讯技术,它 们在早期的企业服务集成中发挥过积极的作用。 1 c o r b a 分布式对象技术 c o r b a ( c o m m o no b j e c tr e q u e s tb r o k e r a 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 ,对象管理组织) 制订的一种标 准的面向对象应用程序体系规范1 6 ,或者说c o r b a 是o m g 为了增强异构软硬 件系统的协同工作能力而提出的方案和相关的标准规范。 c o r b a 为实现分布式对象的透明远程通讯使用了代理的概念。c o r b a 会 产生两个代理,一个是客户程序的代理称为s t u b ,另一个是服务程序的代理称为 s k e l e t o n 。s t u b 是以客户程序使用的程序语言的方式执行。它通过提供与服务程 序对象相同的界面来模拟服务程序对象,但它不能实现本地操作。s k e l e t o n 是一 个以服务程序对象的程序语言方式执行的本地对象,在服务程序处理中对它进行 配置。s t u b 与s k e l e t o n 之间的通讯使用i i o p ( i n t e m e ti n t e ro r bp r o t o c 0 1 ) 协议i ,j 。 2 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 l e dc o m p o n e n tm o d e l ,分布式组件对象模型) 扩展了组件对象模型技术( c o m ) ,使其能够支持在局域网、广域网甚至i n t e m e t 3 西北工业大学硕士学位论文 第一章绪论 上不同计算机的对象之间的通讯。d c o m 的工作原理与c o r b a 十分相似,也使 用了s t u b 和s k e l e t o n 代理机制,使得客户程序并不知道它正同一个远程的对象 进行通讯。代理之间的通讯使用了r p c ( r e m o t e p r o c e d u r e c a l l ,远程过程调用) 的d c o m 协议。服务对象接口使用m s i d l 进行描述,服务对象必须实现其接 口。d c o m 与c o r b a 的最大区别是d c o m 只能基于m i c r o s o f tw i i l d o w s 平台, 是w i n d o w s - w i n d o w s 方式的集成方案,c o r b a 是由中立组织o m g 制定具有独 立于操作平台的特性。 3 贼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 ,它是 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 作为接口,服务程序必须实现这个接口。服务 器程序负责创建服务对象并将对象存放在j n d i ( j a v an a m i n ga n dd i r e c t o r y i n t e r f a c e ,j a v a 命名和目录接口) 中,一个服务对象与一个名字关联。客户程序 必须知道服务器的地址和对象的名字,通过n a m i n g 1 0 0 k u p o 方法查找服务对象。 得到服务对象就可以使用对象方法,就像本地调用一样。r m i 隐藏了远程调用的 细节,它使用j r m p ( j a v ar e m o t em e t h o d sp r o t o c o l ,j a v a 远程方法协议t s l ) 进行 通讯。其中r m i 的工作原理如图l - 4 所示。 鼍 p 一 甲 广1 名姗 图1 4 r m i 工作原理 1 2 4 传统企业服务集成技术的局限性分析 1 c o r b a 和d c o m 都依赖于单一厂商的实现 尽管c o r b a 和d c o m 已经在各种平台上得到了实现,然而实际情况是建 立在这些协议之上的任何解决方案都依赖于单一厂商的实现。因此,如果要开发 一个d c o m 应用程序,分布式应用程序中所有参与的节点都必须以w i n d o w s 风 4 西北工业大学硕士学位论文 第一章绪论 格运行。c o r b a 虽然由中立组织o m g 提出并制定了一套标准和规范,但在实 际应用中,不同厂商的实现的标准并没有统一。虽然现在也有来自不同厂商的 c o r b ao r b 能够相互操作。但是那种互操作性并不能扩展到像安全与事务管理 那样的更高级别的服务中去。不仅如此,所有特定于厂商的优化在这种情况下将 丢失殆尽 9 1 。 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 文件的客户才能与相应的服务提供者进行 通讯。只要服务提供者的接口声明有所调整,所有客户都必须升级到新的s t u b 。 因此,如果服务提供者对接口做出任何修改,都将使之前做的全部步骤作废,而 且需要重新编译、重新生成所有s t u b 和s k e l e t o n ,并向所有已知的服务请求者重 新进行分发u o l 。 3 c o r b a 、d c o m 和r m i 之间的互操作难 c o r b a 使用i i o p ,d c o m 使用o r p c ,i t l m 使用j l m 但。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 3 本课题的主要研究与开发工作 经过几十年的企业信息化建设,企业内已存在许多分散孤立的应用系统,随 着业务规模不断扩大,企业i t 架构环境中单个应用程序无法包容业务的各种需 求,即使是一个大型的e r p 解决方案,仍然不能满足不断膨胀的需求。企业信 息系统的重用和集成已经成为当今企业的迫切要求。传统的e a i 解决方法包括点 对点集成和基于中间件的集成方法,它们都是面向接口的集成方式,对各个应用 系统的接口进行基于某些特定标准的处理,从而达到系统整合的目的。随着需要 集成的系统不断增多,系统的接口呈指数增长,这种情况下不但维护存在很大的 难度,而且当一个应用系统的接口发生改变时,连接到该系统的其它应用都要跟 随改变。传统的e a l 都使用了诸如c o r b a 、d c o m 和r m i 等分布式程序通讯 技术,这些技术都缺少完全开放的标准,它们的实现都与特定厂商的私有技术紧 5 西北工业大学硕士学位论文 第一章绪论 密绑定。 s o a 是一种组件模型思想,但它更强调的是松散耦合和中立的接口定义。 从s o a 的观点出发,企业内的各种信息系统应该是为企业内外的用户提供全方 位的信息服务,按照“软件就是服务”的观点看,企业内的信息系统与信息系统 之间也应该走向一种互为服务的关系。服务是从业务流程的视角来看待技术的, 这种视角同一般的由可用技术所驱动的商业视角是相反的。服务的优势是它会同 业务流程结合在一起,能够更加精确地表示业务模型,更好地支持业务流程。按 照s o a 的思想,企业的i t 系统应该是由各种各样的服务组成,服务的重用能力 比以往任何组件都要强,因为它是直接反映业务而不是技术。需要开发新的应用 时,则可以先考虑重用现有的服务,这样可以大大缩短开发周期和降低成本,使 企业1 1 r 系统更加灵活“随需而变”。 虽然s o a 不是新概念,但j b i 规范和e s b 技术的出现和兴起给s o a 注入新 的血液。2 0 0 3 年3 月,s e e e 的执行委员会认可了一项新的j a v a 规范:j a v a 业 务集成( j a v ab u s i n e s si n t e g r a t i o n ,j b i ) j b i 本质上是对j 2 e e 应用包的扩展并 加入了j b i 组件的功能,这些j b i 组件是采用j b i 来抽象业务流程元数据的自由 对象。j b i 规范及a p i 描述了构建基于插件、基于服务设计的企业级e s b 系统的 平台,使用e s b 的解决方式将使集成系统更具规范性、灵活性和松耦合性。但 j b i 规范不等同于s o a ,要构造灵活的企业i t 架构还需要s o a 的以服务为中心 的架构思想。 s o a 、e s b 和j b i 规范技术是本文主要的研究对象,运用s o a 思想设计出 灵活的基于插件、基于服务设计的企业服务集成软件系统s y n c h r o e s b 的体系结 构和设计并实现s y n c h r o e s b 系统下合成业务流程的客户端应用开发工具平台 s y n c h r o e s bp r o c e s so r c h e s t r a t i o n ( s p o ) 是本文的开发目标。本课题开发的企业 服务集成软件系统s y n c h r o e s b 是由西安协同软件产业( 集团) 股份有限公司和 西北工业大学联合申报国家发展与改革委员会高新技术产业化项目,并于2 0 0 5 年1 0 月获得批准的“协同业务集成中间件平台s y n c h r o b i p ( b u s i n e s si n t e g r a t o r p l a t f o r m ) ”项目的一部分。协同业务集成中间件平台是在协同工作流管理系统 s y n e h r o f l o w 产品基础上扩展而来的功能更加齐全的企业中间件平台产品,它 为e a i 、电子政务,电信、物流等行业构筑更加功能强大的基础应用平台,该产 品的推广应用将极大地提高企事业单位信息化水平。 本软件系统面向电信和电子政务等重点应用行业的数据集成的需求,利用虚 拟集成方式,遵循j b i 、x m l 、x s l t 等技术规范,实现企业信息系统中各应用 6 西北工业大学硕士学位论文 第一章绪论 软件系统间各异构数据源的互操作,进而实现企业信息的共享和应用集成。本软 件系统既可与工作流管理系统紧密结合构成企业信息化集成的基础架构,也可以 独立运行作为企业服务和数据集成的中间件软件,作为企业应用软件开发和运行 的支撑平台。该软件系统下的应用开发工具平台s p o 通过连接各种业务服务的 实例使应用开发用户可以对业务流程进行合成、执行、修改、测试和监控等各种 操作,该工具可以帮助用户将各种应用系统聚合在一起,实现服务组合功能,并 且可以和软件系统的其他子系统一起协同工作以实现企业信息系统的集成功能。 1 4 论文内容安排 第一章:绪论。分析传统企业服务集成方法和技术的不足,并提出本课题的 主要研究与开发工作。 第二章:企业服务集成核心技术。介绍s o a 的概念及相关实现技术。重点 讲解e s b 的定义,特点、功能,分析采用e s b 技术的优点,以及j b i 规范的架 构和j b i 组件的功能等。 第三章:企业服务集成软件系统s y n c h t o e s b 的结构设计。详细阐述企业服 务集成软件系统s y n c h r o e s b 的体系结构设计,包括系统功能、设计思想和结构 体系等部分。 第四章:s y n c h r o e s b 系统开发支持技术一企业服务集成应用开发工具s p o 的设计。详细阐述s p o 工具的功能结构设计、体系结构设计、s p o 工具中所使 用的服务组件的设计以及在s p o 工具中合成的业务流程部署运行机制。 第五章:企业服务集成应用开发工具s p o 的实现。从项目具体开发的角度 阐述s p o 工具的具体实现,包括其具体的模块划分、配置文件以及用户界面的 设计实现等。重点讲述模块的划分、关键数据结构及功能实现和用户界面的设计 实现。 第六章:总结与展望。对本文的研究开发内容作了简要的总结与展望。 7 西北工业大学硕士学位论文第二章企业服务集成核心技术 第二章企业服务集成核心技术 2 1 s o a 理念与原理 随着信息技术的发展,特别在计算机网络和i n t e m e t 时代出现了大量基于网 络的大型分布式应用系统。随着公司业务的不断发展,对资源、数据的集中,决 策支持统一的要求越来越急迫,需要将现有的多个应用系统进行集成和整合;另 一方面随着业务的快速交化企业要应对竞争的新要求,需要不断更新业务流程和 应用模式,建设新的应用系统,由此s o a 应运而生。 2 1 1 s o a 的概念 s o a 不是一个新的概念,早在1 9 9 6 年,g a r t n e r 最早提出s o a 的预言,2 0 0 2 年1 2 月,g a r m e r 又提出了s o a 是“现代应用开发领域最重要的课题”,并预计 到2 0 0 8 年,s o a 将成为占有绝对优势的软件工程实践方法【1 1 1 ,它将结束传统的 整体软件体系架构长达4 0 年的统治地位,可见s o a 将给软件工业带来革命性的 变化。s o a 到目前为止还没有一个明确的官方定义,综合各方面的资料,本文 给出的s o a 定义如下: 1 s o a 是一种组件系统模型 s o a 是一个组件模型,它将应用程序的不同功能单元( 称为服务) ,通过服 务间定义良好的接口和契约联系起来f 埘。接口采用中立的方式定义,独立于具体 实现服务的硬件平台、操作系统和编程语言,使得构建在这样的系统中的服务可 以使用统一和标准的方式进行通信。这种具有中立的接口定义( 没有强制绑定到 特定的实现上) 的特征称为服务之间的松耦合。s o a 实质就是要将系统模型与 系统实现分割开来。 2 s o a 是一种应用程序体系结构 i b m 将s o a 定义为:“一种应用程序体系结构,在这种体系结构中,所有功 能都定义为独立的服务,这些服务带有定义明确的可调用接口,可以以定义好的 顺序调用这些服务来形成业务流程”。m e t a 将s o a 定义为l ”】:“一种以通用为 8 西北工业大学硕士学位论文第二章企业服务集成核心技术 目的、可扩展、具有联合协作性的架构,所有流程都被定义为服务,服务通过基 于类封装的服务接口委托给服务提供者,服务接口根据可扩展标志符、格式和协 议单独描述”。 3 s o a 是一种软件设计方法学 s o a 的目的是最大限度地重用现有的服务以提高i t 的适应性和效率。s o a 要求开发人员在开发新的功能服务时要首先考虑重用现在的服务,并要考虑到新 的服务也有可能在以后被重用,所以要用中立的标准来定义服务接口。面向服务 的分析与设计是面向对象技术的扩展和补充,它是在更大范围内对软件系统的建 模方法。 4 s o a 是概念模式,需要具体的实现技术 前面也说过s o a 不是新概念,已经存在了数年,但只是在出现了基于标准 的集成技术之后,s o a 才开始被加速采用。在w e bs e r v i c e 技术出现之前,s o a 是用c o r b a 或d c o m 技术来实现,由于c o r b a 和d c o m 存在着许多的不足, 所以s o a 的思想一直没有被广泛采用。 从s o a 的定义可以看出两点:1 ) 软件系统架构:s o a 不是一种语言,也 不是一种具体的技术,更不是一种产品,而是一种软件系统架构,它尝试给出在 特定环境下推荐采用的一种架构,从这个角度上来说,它其实更像一种架构模式, 是一种理念架构,是人们面向应用服务的解决方案框架。2 ) 服务是整个s o a 实 现的核心。s o a 架构的基本元素是服务,服务可理解为提供给请求者并按一定 规则使用的新型应用程序,它可以通过服务发布、查找和调用。服务实现的功能 可以是响应客户的一个简单请求,也可以是完成一个复杂的业务流程。一旦一个 服务配置好后,其它应用程序和服务就可以直接发现和调用该服务。服务具备良 好的封装性、松散耦合性、使用协约的规范性、使用标准协议规范和高度可集成 性能等特点【1 4 j 。 2 1 2 s o a 的特征与核心分析 s o a 是一种粗粒度、松耦合的软件架构,其服务之间通过简单、精确定义 接口进行通讯,不涉及底层编程接口和通讯模型1 5 】。s o a 具有以下特征: 1 服务的封装( e n c a p s u l a t i o n ) 。将服务封装成用于业务流程的可重用组件 的应用程序函数。它提供信息或简化业务数据从一个有效的、一致的状态向另一 个状态的转变,封装隐藏了复杂性。 9 西北工业大学硕士学位论文 第二章企业服务集成核心技术 2 服务的重用( r e u s e ) 。服务的可重用性设计显著地降低了成本。为了实现 可重用性,服务只工作在特定处理过程的上下文( c o n t e x t ) 中,独立于底层实现 和客户需求的变更。 3 服务的互操作( i n t e r o p e r a b i l 畸) 。互操作并不是一个新概念。在c o r b a 、 d c o m 、w e bs e r v i c e 中就已经采用互操作技术了。在s o a 中,通过服务之问既 定的通信协议进行互操作。主要有同步和异步两种通信机制。 4 服务是自治的( a u t o n o m o u s ) 功能实体。服务是由组件组成的组合模块, 是白包含和模块化的。s o a 非常强调架构中提供服务的功能实体的完全独立自 主的能力以及实体自我管理和恢复能力。常见的用来进行自我恢复的技术,比如 事务处理、消息队列、冗余部署和集群系统在s o a 中都起到至关重要的作用。 5 服务之间的松耦合度( l o o s e l yc o u p l e d ) 。服务请求者到服务提供者的绑 定与服务之间应该是松耦合的。这就意味着,服务请求者不知道提供者实现的技 术细节,比如程序设计语言、部署平台等。服务请求者往往通过消息调用操作, 请求消息和响应,而不是通过使用a p i 和文件格式。这个松耦合使会话一端的软 件可以在不影响另一端的情况下发生改变,前提是消息模式保持不变。 6 服务是位置透明的( l o c a t i o n t r a n s p a r e n c y ) 。服务是针对业务需求设计的。 需要反应需求的变化,即所谓敏捷( a 酉l 时) 设计。要想真正实现业务与服务的 分离,就必须使得服务的设计和部署对用户来说是完全透明的。 通过以上特征,我们可以看出s o a 的核心有以下几点; 1 所有功能都被定义为服务,包括较高层次的业务功能( 例如,一个贷款 申请或者发出一个订单) ,以及更低一级功能实现的交易( 如取得信用记录) 和 系统服务功能( 如身份验证或者用户相关信息) 。 2 所有的服务相互独立,它们像“黑盒子”一样,外部构件根本不知道也 不用关心它们的功能是如何完成的,只要能取得所需要的结果就足够了。 3 接口是可调用的,即:在架构层次上,无论服务位于本地( 在系统内) 还是在远端( 系统外) 都不影响调用,服务内部是如何实现的也不用关心。服务 可能是在同一个系统中,也可能在一个不对称多处理器的另一个地址空间中,甚 至可能位于企业内部网中一个完全不同的系统中,还可能位于通过b 2 b 连接的 合作伙伴的系统中。 4 所有的服务都是可管理的,包括: 1 ) 安全方面:验证请求,在需要时加密和解密数据,确认信息的有效性。 2 ) 部署方面:为了优化性能或者减少冗余,允许网络中服务位置动态变化。 西北工业大学硕士学位论文第二章企业服务集成核心技术 3 ) 登录方面:提供审计和评估能力。 4 ) 动态路由方面:提供失败恢复和负载均衡能力。 5 ) 维护方面:管理服务的最新版本。 2 2 企业服务总线e s b 2 2 1 用e s b 实现s o a 如前所述,s o a 是理论概念模型,需要具体的实现技术,也就是说s o a 本 身并没有限定实现它的技术。前面讲到的c o r b a 和d c o m 也可以实现s o a , 但由于c o r b a 和d c o m 本身存在着不足,所以用c o r b a 或d c o m 实现的s o a 并没有得到十分广泛的应用。到目前为止w e b 服务技术是实现s o a 的最佳选择。 w e b 服务是s o a 中提供服务的实体,当两个服务需要交换数据时,就需要借助 e s b ( e n t e r p r i s es e r v i c eb u s ,企业服务总线) 来进行交互。因此e s b 就是实施 s o a 的中间件。 既为了建立企业服务集成中所有信息的适当控制,又为了应用安全性、策略、 可靠性等方面的要求,在s o a 体系结构中加入了一个新的软件对象。这个对象 就是e s b 中间件,它使用许多可能的消息传递协议来负责适当的控制、流甚至 还可能是服务之间所有消息的传输。虽然e s b 并不是绝对必需的,但它却是在 s o a 中正确管理业务流程至关重要的组件【1 6 1 。e s b 本身可以是单个引擎,甚至 还可以是由许多同级和下级e s b 组成的分布式系统,这些e s b 一起工作,以保 持s o a 系统的运行。在概念上,它是从早期比如消息队列和分布式事务计算这 些计算机科学概念所建立的存储转发机制发展而来的。总之,使用s o a 架构服 务,需要连接不同位置、不同传输协议、不同消息格式的组件或服务的基础设施, 而e s b 满足这些需求,可以作为实现s o a 的中间件。 2 2 2 e s b 定义、特点及功能分析 e s b 是传统中间件技术与x m l 、w e b 服务等技术结合的产物,用于实现企 业应用不同消息和信息的准确、高效和安全传递“7 1 。e s b 作为一个, f - j 件,支持 分布、异构环境中的服务、消息以及基于事件的交互,并且具有适当的服务级别 和可管理性。但是目前对于e s b 还没有一个严格的定义或者标准来限定。e s b 1 1 西北工业大学硕士学位论文第二章企业服务集成核心技术 目前有以下几种定义: 1 ) e s b 是s o a 架构的一个支柱技术,作为一种消息代理架构它提供消息队 列系统,使用诸如s o a p 或j m s ( j a v am e s s a g es e r v i c e ) 等标准技术来实现。有 人把e s b 描述成一种开放的、基于标准的消息机制,通过简单的标准适配器和 接口,来完成租粒度应用( 比如服务) 和其他组件之间的互操作【嘲。 2 ) e s b 提供了可靠消息传送和数据集成基础。解析x m l 消息,基于内容 进行转发和转换。e s b 的好处是它不仅可以支持最新的w e b 服务协议,还可以 支持企业遗留系统中所使用的消息传送协议【1 9 1 。 3 ) i d c 将e s b 定义为【2 0 】:基于开放的标准消息总线,用于通过标准的适配 器和接口,来提供各程序和组件之间的互操作功能。它支持相互独立的异构环境 中的服务、消息及基于事件的交互,并且具有适当的服务级别和可管理性。它以 一种普遍承认并执行的标准方式来实现e a i 的目标,因此克服了e a i 的缺点。 4 ) e s b 是一种在松散耦合的服务和应用之间标准的集成方式。它可以作用 于:面向服务的架构一分布式的应用由可重用的服务组成:面向消息的架构应 用之间通过e s b 发送和接收消息;事件驱动的架构应用之间异步地产生和接 收消息。e s b 就是在s o a 架构中实现服务间智能化集成与管理的中介,它提供 了服务管理的方法和在分布式异构环境中进行服务交互的功能【4 】。 最被普遍认同的e s b 定义的基本原则是:1 ) e s b 是一种逻辑体系结构组件, 它提供与s o a 的原则保持致的集成基础架构。2 ) s o a 原则需要使用与实现 无关的接口、强调位置透明性和可互操作性的通信协议、相对粗粒度和封装可重 用功能的服务定义。3 ) e s b 可以作为分布式的异构基础架构进行实现。4 ) e s b 提供了管理服务基础架构的方法和在分布式异构环境中进行操作的功能。 基于s o a 的e s b 集成技术具有以下特点【2 l 】; 1 ) 可从企业外部访问。这个特性可以是合作伙伴也可以加入到“大集成” 的系统中来。基于标准的协议( 如e b x m l 、h 丁r p 协议) 是其保证。 2 ) 随时可用。异步设计模式的实现,可保证服务随时可以使用。 3 ) 粗粒度服务接口。采用粗粒度服务接口的优点在于使用者和服务
温馨提示
- 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秋招笔试模拟题含答案安全环保与HSE岗
- 广州市中储粮2025秋招写作案例分析万能模板直接套用
- 2025年中国铁建集团招聘面试模拟题及答案详解
- 2007年劳动合同范本
- (2025年标准)买月饼协议书
- 正确对待孩子的逆反心理
- 苜蓿种植培训课件
- 装置性违章培训
- 设备泄漏挥发性有机物排放控制技术规范
- 粉体团聚现象控制-洞察及研究
- 《冠心病合并2型糖尿病患者的血糖管理专家共识(2024版)》解读
- 医疗AI发展中的伦理问题及应对策略
- 车工多选考试题及答案
评论
0/150
提交评论