(计算机应用技术专业论文)基于web服务的事件驱动集成模型及应用.pdf_第1页
(计算机应用技术专业论文)基于web服务的事件驱动集成模型及应用.pdf_第2页
(计算机应用技术专业论文)基于web服务的事件驱动集成模型及应用.pdf_第3页
(计算机应用技术专业论文)基于web服务的事件驱动集成模型及应用.pdf_第4页
(计算机应用技术专业论文)基于web服务的事件驱动集成模型及应用.pdf_第5页
已阅读5页,还剩70页未读 继续免费阅读

(计算机应用技术专业论文)基于web服务的事件驱动集成模型及应用.pdf.pdf 免费下载

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

文档简介

摘要 本文针对当前企业应用集成研究中存在忽视业务流程集成、集成平台缺乏灵 活性和适应性、扩展性较差、互操作性不高等问题,提出了采用w e b 服务和事件 驱动技术解决企业应用集成问题的设计思想,设计了基于w e b 服务的事件驱动 企业应用集成架构一一w s e d e a i ( w e bs e r v i c e e v e n t d r i v e ne 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 ) 。该架构的核心思想是通过提供事件驱动来支持w e b 服务应用之间的异步通信,用e c a 规则表述该系统的业务逻辑,由业务事件触 发相应规则执行,从而实现系统的业务功能和构件协作,弥补了w e b 服务请求 响应模式中需要请求者必须明确发送信息的不足。 结合事件驱动架构和e a i 的特性,本文提出了基于e c a 规则的事件驱动流 程模型、业务流程元模型和基于事件驱动的数据集成模型,并利用工作流机制实 现了业务集成。由于j 2 e e 平台在安全性和事务管理方面具有较好的性能, w s e d e a i 架构采用j 2 e e 架构作为实现平台,开发了基于w e b 服务的事件驱动数 据集成体系架构的原型系统,该系统适用于那些对灵活性和扩展性要求较高,改 动频繁的应用集成系统。 实践表明,将w s e d e a i 架构应用到企业应用集成中,能重用现有系统的组 件,实现异构环境中信息交换,提高业务流程效率,给企业带来高度灵活性和柔 性。 关键词:企业应用集成;事件驱动;w e b 服务;数据转换;体系架构:e c a 规则 , k : a b s t r a c t t h i st h e s i sa i m sa tp r o b l e mo ft h ec u r r e n ts t u d yo fe n t e r p r i s ea p p l i c a t i o n i n t e g r a t i o nt h a ti n c l u d e si g n o r i n gb u s i n e s sp r o c e s si n t e g r a t i o n ,i n t e g r a t e da b i l i t yi s b a d ,f l e x i b i l i t yi sp 0 0 r a n di n t e r o p e r a b i l i t yi sn o tv e r yw e l la n d s oo u i tp r o p o s e st h e d e s i g nt h o u g h tw h i c hw e b s e r v i c e st e c h n o l o g ya n de v e n t d r i v e nt e c h n o l o g ya r eu s e d t os o l v et h eq u e s t i o no 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 n a n dd e s i g n st h ee n t e r p r i s e a p p l i c a t i o n i n t e g r a t i o n a r c h i t e c t u r eo ft h ee v e n t d r i v e nb a s e do nw e b s e r v i c e - - - w s e d e a i ( w e b s e r v i c e & e v e n t d r i v e n e n t e r p r i s ea p p l i c a t i o n i n t e g r a t i o n ) ,w h i c hs u p p o r t sa s y n c h r o n o u sc o m m u n i c a t i o nb e t w e e na p p l i c a t i o n su s i n g w e bs e r v i c e s t h em a i ni d e a lo fi ti st oe x p r e s sb u s i n e s sl o g i ci nt h ef o r mo fe c a ( e v e n t c o n d i t i o n a c t i o n ) r u l e s u n i f o r m l ym a n a g e db y t h er u l e e n g i n e ,b u s i n e s s e v e n t st r i g g e rc o r r e s p o n d i n gr u l ee x e c u t i o n s i to f f s e t st h es h o r t a g eo fr e q u e s t - r e p l y s e m a n t i c so fw e bs e r v i c e sb yp r o v i d i n ga ne v e n td r i v e na r c h i t e c t u r e c o m b i n i n ge d aa n de a ic h a r a c t e r i s t i c ,t h i st h e s i sp r o p o s e st h ee c a e v e n t d r i v e nm o d e l ,t h eb u s i n e s sp r o c e s sm o d e la n dt h ee v e n t d r i v e nd a t ai n t e g r a t i o n , a n dd i s c u s s e sh o wt oi m p l e m e n tb u s i n e s si n t e g r a t i o nb yw o r k f l o w w i t ht h eg o o d p e r f o r m a n c ei ns e c u r ea n dt h eb u s i n e s sm a n a g e m e n t ,j 2 e ep l a t f o r mi su s e dt o i m p l e m e n tw s e d e a ia r c h i t e c t u r e t h ep r o t o t y p es y s t e m ,b a s e do nw e bs e r v i c e s e v e n td r i v e nf l e x i b l ed a t ai n t e g r a t i o na r c h i t e c t u r e ,w a sd e v e l o p e db yj 2 e e i tc a nb e a p p l i e dt ot h 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 ns y s t e m so fc h a n g i n gf r e q u e n t l y , w h i c h r e q u e s th i g ht of l e x i b i l i t ya n de x p a n s i b i l i t y t h ee x p e r i m e n t ss h o w st h a t ,a p p l y i n gt h ew s e d e a ia r c h i t e c t u r et ot h e 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 ,c a nr e u s et h ee x i s t i n gs y s t e mc o m p o n e n t s , i m p l e m e n tt h ei n f o r m a t i o ne x c h a n g ei nt h ei s o m e r i s me n v i r o n m e n t ,e n h a n c et h e b u s i n e s sp r o c e s s e se f f i c i e n c y , a n db r i n gt h eh i g hf l e x i b i h t yt oe n t e r p r i s e k e yw o r d s :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 ( e a d ;e v e n td r i v e n ;w e bs e r v i c e s ; d a t at r a n s f o r m a t i o n ;a r c h i t e c t u r e ;e c ar u l e s 长沙理工大学 学位论文原创性声明 本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所 取得的研究成果。除了文中特另加以标注引用的内容外,本论文不包含任 何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡 献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的 法律后果由本人承担。 作者签名: 巨芳君 日期:矽z 年t - 月,日 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意 学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文 被查阅和借阅。本人授权长沙理工大学可以将本学位论文的全部或部分内 容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存 和汇编本学位论文。 本学位论文属于 1 、保密口,在年解密后适用本授权书。 2 、不保密团。 ( 请在以上相应方框内打“4 ”) 作者签名: 导师签名: 匡萼声 日期:矽年,月尼日 竿的日期:珈锌,月,么日 1 1 研究背景 第一章绪论弟一早三;百下匕 随着计算机软件技术的发展和企业信息化的不断发展,企业使用的软件,如: e r p ( e n t e r p r i s er e s o u r c ep l a n n i n g ) 、p d m ( p r o d u c td a t am a n a g e m e n t ) 和c r m ( c u s t o m e r r e l a t i o n s h i pm a n a g e m e n t ) 等应用和管理系统也越来越多。虽然这些 系统是应用在不同的领域,管理着不同的对象,但是它们之间也有很多相互交叉, 甚至重复的信息和数据。而且这些应用系统又是相互独立运行,形成企业的一个 个“信息孤岛m ”,相互之间没有畅通的信息交流与共享,使得企业经常会出现信 息和数据的更新不同步甚至不一致。孤立的应用系统没有统一的规范和标准,使 得在今后新系统的加入和旧系统的移植过程中,会产生接口兼容性问题,无法实 现实时的信息存取和对业务流程的透视,无法实现对客户、供应商、项目、订单、 资产等的全面掌控,无法实现企业价值链的全面的、彻底的透视和控制。企业为 解决这些矛盾,一种办法是对现有系统推倒重来,将企业的各个应用系统全部更 新成一个统一的管理系统,各个部门都在这个统一的系统上工作,但考虑到成本、 实施周期和难度因素,它不是一种切实可行的解决方案。另一种办法是从整体上 考虑企业的整个信息系统,根据实际需要,对各个应用系统进行总体规划,选择 一个合适的集成平台,把企业的各个“信息孤岛”有机地集成起来,这种解决方 案不管是从实施难度,还是从实施成本、周期和技术上考虑都是切实可行的。 企业应用集成( 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 ,e a i ) “一1 是企业信息技术 发展的一个主要趋势,是企业为适应当今时代的信息化潮流,同时又保护企业在 原来信息系统上的大量投资而必须做出一个战略选择。企业要成功实施e a i 的 关键在于把e a i 提升到一定的高度,即在考虑企业应用架构之初就全盘考虑企 业的i t 应用环境,在对其进行整体规划的基础上,建立一个完整的应用集成架 构。一方面,对于已经拥有庞大i t 基础设施的企业而言,应以业务为主导,形 成完整的业务流程,确定哪些应用之间需要进行数据交换,并明确如何将相关的 业务流程集成在一起;另一方面,对于刚刚开始信息化建设的企业来说,首先要 搭建合理的应用集成架构,有了完整的集成架构,在添加新的业务模块时就可以 很方便地将它们插入集成框架之中,使新的业务流程与已有的业务流程自然地衔 争优势,企业的经营 的自动化。企业要实 现经营方式向过程转变和业务过程自动化,必须对内部的计算系统进行集成,使 其能够与客户和供应商的计算系统进行信息交流,实现对整个业务过程的支持n 1 。 并且要求其集成化的应用系统的应用逻辑与业务过程逻辑分开,业务过程的改变 不会引起应用系统的改变,实现一种松耦合的应用集成。w e b 服务利用标准网络 协议和x m l 数据格式进行通信,具有良好的普遍性和灵活性,能够实现跨技术、 跨平台的组件间通信,为解决不同企业问异构平台企业应用集成提供了可能。但 如果不在数据集成的层次中加入业务逻辑,就无法在数据存储层次上去响应业务 流程的处理,限制了实时处理的能力,而业务过程通常是由事件驱动的。本文根 据这些需求和现有的企业应用集成体系结构的不足以及最新的企业集成技术,提 出了基于w e b 服务的事件驱动企业应用集成解决方案。该方案设计了采用事件 触发机制、使用w e b 服务进行数据转换,在适当时机使用w e b 服务和事件驱动 模型,支持多种数据格式的柔性事件驱动集成系统,阐述了如何把与业务逻辑紧 密相关的事件结合到数据集成中,让用户根据业务需求自定义集成任务,并将其 运用到企业集成中,以实现企业内部应用的有效整合。 1 2 国内外研究现状 1 2 1 企业应用集成研究现状 2 0 世纪8 0 年代,一些企业开始意识到应用集成的价值和必要性,试图在企 业系统整体概念的指导下对企业内部不同的应用系统进行互连,使之集成以达到 数据在多系统之间的同步和共享。由于缺少不同系统相互集成的技术,导致很多 关键的信息被封闭在相互独立的系统中,部门间重复着冗余的工作,导致了企业 工作效率的降低和运营成本的上升。2 0 世纪9 0 年代,随着e r p 应用的发展、企 业各种应用的迅速增加以及更多地将业务转向电子商务,e a i 方案对企业的重要 性也日益显现。 早期的企业应用集成是点对点的系统集成结构,它要求应用系统之间都应清 楚对方的结构,相互之间通过接口相连,无需对应用系统进行大的修改,编码工 作量不大。随着需要集成的应用系统个数增多,接口问题变得日益复杂,这时提 出了使用消息代理的集成结构,它要求系统之间的通信和数据交换是通过消息代 理来实现,不再是系统与系统之间直接进行交互,而是让消息代理作为信息交流 的交换平台,大大减少了接口连接数量,同时在系统改变或增加新系统时,只需 改动消息代理部分即可,增加了系统的可扩展性,降低了系统维护和升级的复杂 性。目前的过程代理是对消息代理的扩展,它除了处理消息代理中的信息交换外, 在过程代理中还封装了与各个应用系统相连的过程逻辑。 企业应用集成( e a i ) 从不同的角度有不同的分类方法。从应用集成的对 象来划分可以分为面向数据的集成和面向过程的集成;从应用集成所使用的工具 2 和技术来划分,可以分成六个层次,分别是平台集成、数据集成、组件集成、应 用集成、过程集成和业务对业务的集成。如果从企业组织角度e a i 可分为水平 的组织内的集成、垂直的组织内的集成和不同组织问系统的集成。 业界对于如何划分和规范e a i 层次的定义,并没有一个统一的标准,不同 的企业,其内容和层次可能也会存在一定的差异。但企业应用集成的目的是实现 在企业内外任何相连的应用系统和数据源间无限制地分享数据和业务过程。在此 对e a i 做如下定义:“e a i 是一种在企业中集成应用程序和数据以便达到自动业 务处理的规则和方法,是指在企业中的系统集成,包括应用程序、数据和过程 的集成。” 1 典型的企业应用集成方法 实现企业应用集成的方法很多,下面介绍最典型的五种集成企业信息系统和 企业应用的方法m ,: ( 1 ) 基于两层客户端服务器的方法 此方法是一种典型的不基于w e b 应用的两层客户端服务器模型。它是一个 企业信息系统( e n t e r p r i s ei n f o r m a t i o ns y s t e m ,e i s ) 提供一个适配器,此适配器 首先定义一个供访问e i s 数据和函数的a p i ( a p p l i c a t i o np r o g r a m m i n gi n t e r f a c e ) , 客户端通过这个a p l 访问在适配器中暴露出的数据和函数。适配器与e i s 之间的 通信使用e i s 专用的协议,这个协议还提供安全和事务处理功能,如图1 1 所示。 在基于w e b 的应用产生之前,是一种广泛采用的方法,但现在已较少采用了。 接口接口 图1 1 基于两层客户端服务器的集成 ( 2 ) 基于同步适配器的方法 此方法设计的同步适配器在客户端应用与e i s 之间提供了一个同步的请求 回答通信模式。一个适配器定义一个a p i ,包括可以被应用调用的远程函数。当 一个客户端应用需要与e i s 交互以创建一个可接收的项目时,就在e i s 中调用这 个远程函数。客户端应用初始化调用后等待回应,直到函数调用完成并且返回它 的答复给调用者,答复包含了在e i s 中执行的函数的结果。即函数在e i s 中执行 时,调用函数的客户端同时在等待其执行结果的返回。如图1 2 所示。 接口接口 图1 2 基于同步适配器的集成 3 ( 3 ) 基于异步适配器的方法 在异步适配器的通信中,客户端应用调用远程函数以在e i s 中创建一个可以 接收的项目时,客户端应用进行远程函数调用,然后立即返回继续自己的过程处 理或者其它任务的执行。远程函数被发送到e i s ,e i s 作为一个分开的异步调用 处理函数调用并返回一些结果信息给客户端应用,客户端应用在接到结果返回的 通知后再接收和处理结果。源适配器分派从e i s 到客户端应用的异步调用。如图 1 3 所示。 接口接口 接口接口 图1 3 基于异步适配器的集成 ( 4 ) 基于消息代理的方法 异步的基于消息的通信有两种形式的异步消息:基于队列的方法和发布订 阅的消息传递。一个消息代理可能提供以上方式中的一种消息传递。 基于消息队列的通信也叫点到点的消息传递,它包括一个应用发送一个消息 到一个消息队列中。在基于队列的通信中,一个队列作为相互通信的应用之间的 一个缓冲器,与发送方和接收方相互独立。发送方发送消息到这个队列中,接收 方从同一个消息队列中接收消息。如图1 4 所示。 基于队列的消息传递系统 图1 4 使用消息队列的集成 发布订阅方法与基于队列方法的工作方式不同。在发布订阅的消息传递 中,有多个消息发布者和多个消息订阅者,发布者发布自己的消息,订阅者订阅 它们感兴趣的特定主题的消息。如图1 5 所示。 图1 5 基于消息发布订阅系统的集成发布 丁阅 ( 5 ) 基于应用服务器的方法 图1 6 表示了一个应用服务器如何能够被用来与现有的企业应用和e i s s 集 成。它是现代平台集成技术中最流行的集成方法。它提供一个开发、部署和管理 基于w e b 的企业应用,在降低集成成本,减少技术风险和保护企业已有投资等 方面令企业受益菲浅。 l ! j 2 e e 应用服务器 图1 6 基于应刚服务器的集成方法 2 企业应用集成的使能技术 企业应用集成的关键是提高企业对市场环境的快速适应能力,即通过使用信 息技术和计算机网络技术,在企业内部发生行为与信息交互的组织、人和系统之 间,建立灵活机动的、高效率的信息处理和反馈系统,提高企业对市场变化的快 速响应性和适应性,使企业能在复杂多变的市场环境中求得生存并且不断获得发 展。支持企业集成的使能技术主要有“”,: ( 1 ) 分布式网络通信技术。以i n t e r n e t 、i n t r a n e t e x t r a n e t 、w e b 以及网格计 算( g r i dc o m p u t i n g ) 技术为分布式环境下的信息传输、数据访问与资源共享奠 定了技术基础。特别是w e b 技术的出现,可以提供一种成本低、用户界面友好 的网络访问介质,解决企业集成过程中信息与资源的实时访问与互通问题。 ( 2 ) 数据交换格式。标准化的产品、业务数据表达是实现企业中不同信息 系统与应用之间互操作的基础,促成了信息和业务数据的共享和分布,构成了企 业集成的核心,如产品模型数据交换标准( s t a n d a r df o rt h ee x c h a n g eo fp r o d u c t m o d e ld a t a ,s t e p ) 、电子数据互交换( e l e c t r o n i cd a t ai n t e r c h a n g e ,e d i ) 与可 扩展标记语言( e x t e n s i b l em a r k u pl a n g u a g e ,x m l ) 等。这使得不同的应用系统 可以交换数据和信息,无需关心其它应用如何创建和获取数据。 ( 3 ) 分布应用集成框架。如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 ) 、c o m + 、j 2 e e 、w e b 服务等,它们为企业分布式应用之间的互操 作提供了不同编程需要的标准,支持异构信息的共享、重用与互操作。 ( 4 ) 工作流管理。工作流通过将文档、信息或任务执照预先定义好的规则 和流程在参与者之间进行传递,完成经营过程的全部部分自动执行,它从更高 层次上提供了实现物料流、资金流、信息流及其相关过程与应用的集成机制,实 现企业业务过程的集成。 ( 5 ) 集成平台和产品全生命周期管理( p r o d u c to v e r a l ll i f e c y c l e m a n a g e m e n t ,p l m ) 。集成平台通过为异构分布环境下的应用提供透明、一致的 信息访问和交互手段,支持c i m s ( c o m p u t e ri n t e g r a t e dm a n u f a c t u r i n gs y s t e m ) 信息环境下各特定领域企业应用系统的集成。 3 企业应用集成的产品 对于企业应用集成系统,市场上已经有几种相关的系统,它们有的面向不同 的业务而开发,有的为适应不同的应用领域,同时许多研究机构也结合自己的研 究项目,推出了一系歹的原型系统。现介绍一些具有代表性的项目与产品: ( 1 ) e l i n k :它是由b e a 公司所开发的电子商务应用系统集成,利用b e a 交易平台,将原有应用系统与面向用户和企业企业的电子商务应用系统集 成。是成熟的企业应用系统集成解决方案。 ( 2 ) j c a :它是由s u n 公司和它的合作伙伴开发提出了一个j 2 e e 连接器 标准。j c a 定义了一套机制以便e 1 s 能够容易与应用服务器和企业应用集成。 ( 3 ) o r b i xe 2 a :它是i o n a 所开发的一套企业级网络服务( w e bs e r v i c e s ) 整合平台。运用网络服务的标准以及服务导向( s e r v i c eo r i e n t e d ) 的架构,o r b i x 提供企业一个具备开放特性且低成本的事例解决方案。这个解决方案将可允许企 业事例不同厂商的产品和技术,同时解决企业问( b u s i n e s s t o b u s i n e s s ,b 2 b ) 以及企业内部运用软件整合( e a i ) 的问题。 ( 4 ) p a r t n e r :它是由h p 惠普科技推出的针对独立软件开发厂商( 1 s v ) 与 企业内部研发人员的支持方案,并结合h pb l u e s t o n e 技术工具、社群机制与技术 支持服务等三大主要核心。l i p b l u e s t o n e 解决方案是以通过验证的j 2 e e 与x m l 等各项开放性标准为基础,为研发者提供一套简易的开发流程,且可在各种平台 与操作系统上以极低的成本快速导入最适宜的应用,可避免遭遇技术上的瓶颈, 同时能在非特定的环境中支持各式硬件与操作系统。 尽管这些系统都在不同的领域和侧面发挥了重要的作用。但都是针对特定的 软硬件结构、网络环境或特定的应用领域而进行研究和开发的。面对软硬件结构 等的动态变化,系统的自适应能力较差。而且这些国外的集成平台产品价格相对 昂贵,在实施和支持上难以满足国内大多数企业客户的需要,同时也不支持国内 形成的主流财务软件、行业应用软件。 6 1 2 2w e b 服务和企业应用集成 自8 0 年代以来,网络计算模式发生了巨大的变化,计算环境从集中走向分 布。为了解决计算机应用的分布性、异构性,出现了分布式构件技术“一1 ,如: d c o m ( d i s t r i b u t e dc o m ) 、r m i ( r e m o t em e t h o di n v o c a t i o n ) 和c o r b a 等,这 些技术从一定层次上解决了某些分布式应用的问题。x m l “”的出现为网络计算 提供了良好的通信平台,它是一种通信信息的通用表示方法,允许计算机存储和 传输那些能够被其他计算机系统理解的数据。通过开放的x m l 、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 0 1 ) 、w s d l ( 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 e ) 和u d d i ( u n i v e r s a ld e s c r i p t i o nd i s c o v e ra n di n t e g r a t i o n ) 等i n t e m e t 标准,w e b 服务消除 了现存的解决方案中的互用性问题。结合国内外研究,w e b 服务主要应用于以下 领域: 1 跨企业通信:应用程序有成千上万的用户,而且分布在世界各地,由于 客户端和服务器之间通常会有防火墙或者代理服务器,这时客户端和服务器之间 的通信将是一个棘手的问题。w e b 服务采用了标准的w e b 协议,可以较好的解 决此类问题,使其它平台上的客户能重用这些应用程序。 2 应用程序集成:企业中经常要把用不同语言写成的、在不同平台上运行 的各种程序集成起来,而这种集成将花费很大的开发力量。即使在同一个平台上, 不同软件厂商生产的各种软件也常常需要集成在一起。由于平台和语言独立性, w e b 服务能够很好地解决此类问题。 3 b 2 b 的集成:跨企业的交易环境,更是一个异构的环境。w e b 服务能够 容易地实现互操作性,使得交易参与方的应用,不管采用哪一种系统运行平台和 开发语言,都能够集成起来。这样就大大减少了花在b 2 b 集成上的时间和成本。 面向服务的集成技术是业务集成技术上的一次重要的变化,被认为是新一代 的应用集成技术“。集成的对象是一个个w e b 服务或者是封装成w e b 服务的业 务处理。w e b 服务技术是基于最广为接受的、开放的技术标准如:h t t p ( h y p e r t e x tt r a n s f e rp r o t o c 0 1 ) 、s m t p ( s i m p l em a i lt r a n s f e rp r o t o c 0 1 ) 、s o a p 、 w s d l 和u d d i 等,支持服务接口描述和服务处理的分离、服务描述的集中化存 储和发布、服务的自动查找和动态绑定以及服务的组合,成为新一代面向服务的 应用系统的构建和应用系统集成的基础设施。在w e b 服务解决方案中,应用程 序以独立的交互服务形式开发,为潜在的用户提供定义良好的接口。同时,也提 供给应用程序开发人员相应的技术支持,比如使他们能够浏览所有的服务,并且 选中感兴趣的服务,用这些服务组装而成新的功能n u “。w e b 服务已经成为了企 业应用集成方案的主流技术“,用w e b 服务来实现e a i 如图1 7 所示。 7 图1 7 用w e b 服务实现e a i 1 2 3 事件驱动模型的研究 传统的软件架构中,多线程允许一个服务器处理多个连接,但是实际情况下, 当线程数达到一定的数量时,由于在线程之间不断切换,系统的额外开销增大, 甚至会将场面变得一团糟,所以工作几乎陷于停顿。最重要的是在请求,应答服 务器中,每个线程都会花大量的时间在帕操作中阻塞,在用户负载增加时,性 能将下降非常快。所以需要重新寻找一个新的方案,保持数据处理的流畅,于是, 事件驱动设计应运而生n ”。事件驱动模型是近年来逐步流行的并发管理方法,其 目标是保持负载变化时的系统健壮性,当供应负载增大超出饱和值时,吞吐量只 有很小的退化。当任务数增加时,服务器的吞吐量也增长直到瓶颈饱和。如果任 务数进一步增加,过量的任务将被吸收在服务器的事件队列中。吞吐量在负载很 宽的变化范围内保持恒定,而每个任务的延迟呈线性增长。 事件驱动模型是要解决异步驱动的问题,模型的优劣决定着信息系统柔性的 高低,国外的研究相对比较成熟。1 9 8 1 年l o r i n 和d e i t e l 提出了一个典型的客 户朋艮务器框架是事件驱动模型,而且在现代多任务操作系统或在实时应用中, 它普遍被用于图形用户接口( g r a p h i c a lu s e ri n t e r f a c e ,g u i ) 的设计,被称为队 列驱动,与过程驱动模型相反u ”。1 9 9 2 年b e r s o n 提出了事件驱动系统是一个通 过消息传递机制进行相互交互的对象系统,并指出了客户服务器框架的出现将 取代主机计算的单片机系统,并对应用中的一些问题进行了研究| ”。 很多商业化或开放源码的服务器软件普遍采用这种模型,例如a p a c h e m ,、微 软i i s 、b e a w e b l o g i c 、i b mw 曲s p h e r e 、f l a s h 、t h t t p d 、z e u s 、和j a w s “1 等w e b 服务器,以及h a r v e s t n ”w e bc a c h e 。在此方法中,服务器包含少量的线 程,它们不停地循环,处理来自队列的事件。服务器对每个任务都维护其连续状 态,而不是依赖于一个线程的上下文。这里事件可以由操作系统或应用在内部产 生,并对应于网络和磁盘功d 的就绪和完成指示、定时器超时以及其它应用指定 的事件。e v e n t d r i v e n 的数学模型是图灵机( t u f i n em a c h i n e ) ,是技术编程的基 础,现有几乎所有的程序模式都是事件驱动的。而面向事件架构是要解决异步驱 动的问题。采用非阻塞i o ,将系统划分成几个子系统,子系统问以e v e n t 来通 讯,通过对e v e n t 队列的控制来达到调整系统性能的目的。并通过a g e n t ( 代 8 理) 来处理事件,然后触发其他相应动作( 如向另一业务组件n 务发出请求) 。 为了适应业务环境不断变化而对应用系统提出的及时、高效、可靠的要求, j d e d w a r d s 公司率先采用了事件驱动的对象技术m 。这一技术包括二部分内容: 事件驱动的编程和基于业务对象的业务规则。事件驱动的编程方法将应用系统的 控制权掌握在用户手中,用户可以根据实际情况处理过程而不是被限制于事先设 置的过程,当业务过程有所变化时,系统有足够的柔性以适应新的变化。基于业 务对象的业务规则由众多可重复使用的、封装的业务规则对象组成,这些业务对 象根据一定的业务要求组合起来,可以灵活地完成众多的业务活动,同时又具备 通用性和可开发性等优点。 事件驱动的模型如图1 8 所示,事件调度程序作为输入设备和应用程序之间 的中间媒介。事件调度程序是服务器,而应用程序是客户。事件调度程序将输入 设备的输入作为事件,并把它们作入事件消息。一般地,一个应用在一段时间内 是活动的,事件调度程序清楚这是哪个应用并能根据事件流去引导它。 键盘 图1 8 事件驱动模型 通用的事件驱动系统如图1 9 所示,包括产生未加工事件的事件发生器、服 务器或者对事件消息中的未加工事件进行处理和编码的事件调度程序及接收事 件的客户端。客户端仅为在特定应用中使用的事件提供执行代码( 也叫消息处理 程序) 。客户为事件0 和1 提供执行代码,而事件2 没有被使用。即事件驱动可 能发送了三种类型的事件消息,但客户将执行只感兴趣的事件0 和1 。另外,客 户是一种消极模型,它从事件调度程序接受事件消息,标识事件类型并且将其返 回到适当的执行代码中。这使得客户在所有被送的事件消息中处于非智能过程。 1 3 课题来源及研究的主要内容 1 3 1 课题来源 本课题来源于湖南省自然科学基金高性能网络服务的异步事件模型和关键 算法研究及横向课题人力资源管理信息系统。 1 3 2 研究的主要内容 基于w e b 服务的事件驱动集成模型研究的主要目标是在企业应用集成技术 的基础上,提出企业应用集成架构并建立基础平台,该架构能够将企业遗留系统 和正在使用中的企业应用灵活地集成到一个虚拟的企业信息系统中,使他们在这 个虚拟的信息系统中更自由方便的交换数据和使用企业应用提供的软件服务。 本文结合w e b 服务和事件驱动技术,提出了基于w e b 服务的事件驱动集成 体系架构,并对其各个相关模块进行了深入的探讨。论文的主要研究内容如下: 1 基于w e b 服务的事件驱动集成架构 通过分析事件驱动技术和w e b 服务技术结合的可能性和必要性,构筑了一 个基于事件驱动构架的可扩展性好、性能高、能适应大吞吐量的企业级企业应用 集成系统的体系结构( w s e d e a i ) 。并论述了基于w e b 服务的事件驱动企业应 用集成系统的工作机理以及系统框架。 2 基于e c a 规则的事件驱动业务集成模型 采用事件服务、工作流服务和消息代理等技术,提出了w e b 服务构架下的 事件驱动的业务集成模型,并利用工作流机制来实现事件驱动业务集成。 3 基于事件驱动的数据集成模型 为了实现异构系统数据的整合,将使用w e b 服务进行数据转换的事件驱动 体系架构应用于企业集成,开发了基于w e b 服务的事件驱动数据集成体系架构 的原型系统,适用于那些对灵活性和扩展性要求较高,具有不同形式的遗留信息 系统的数据集成。 4 应用研究 将基于w e b 服务的事件驱动集成模型应用到某公司的应用集成设计中,通 过分析该公司应用系统的现状及问题,设计了基于j 2 e e 的w e b 服务的事件驱动 应用集成解决方案,解决某公司现有应用系统的分布式集成的实际问题。 1 4 小结 本章针对企业应用集成研究中忽视了业务流程集成、集成平台缺乏灵活性和 适应性、扩展性较差、互操作性不高等问题,通过分析了利用w e b 服务和事件 驱动架构的综合集成方案的可行性,明确了构建一个虚拟的企业应用集成系统来 达到整合企业信息系统,使企业业务流程更加流畅的主要目标和任务。 第二章基于w e b 服务的事件驱动集成模型分析 体系结构设计是系统设计的起点,也是系统成功与否的关键之一。根据 g a r t n e r 的观点,现代的、灵活的企业i t 的基本架构模式是面向服务的和事件驱 动的,本章分析了事件驱动技术和w e b 服务技术的结合的可能性和必要性及 e d a 和w e b 服务的整合框架,提出了基于w e b 服务的事件驱动企业应用集成 ( w s e d e a j ) 体系结构,并论述了该体系结构的工作机理以及系统架构。 2 1 基于w 曲服务的事件驱动集成模型的需求分析 集成的较高层建立在较低层上,业务过程的集成需要首先集成所涉及的数据 源和应用程序,数据和应用程序的集成必须视为实施过程服务的更高层服务以及 由此产生的业务扩展的基础,因此必须考虑为集成数据源和应用程序建立可靠的 基础服务框架。下面对基于w e b 服务的事件驱动企业应用集成系统进行相关需 求分析。 2 1 1 性能需求分析 1 传统的集成技术 ( 1 ) 面向信息的集成技术 这是数据级集成的重要技术。信息集成主要采用数据复制、数据聚合和接口 集成。其中,接口集成仍然是一种主流技术,它通过集成代理的方式实现集成, 即为应用系统创建适配器作为自己的代理。如果适配器的结构支持一定的标准, 则将极大地简化集成的复杂度,并有助于标准化。目前,j 2 e e 中的j c a 标准极 大地方便了企业应用集成,这项技术可以用来协调各企业信息系统之间的信息交 换和共享。 ( 2 ) 面向过程的集成技术 这是一种过程流集成的思想,它不需要处理用户界面开发、数据库逻辑、事 务逻辑,而只是处理系统之间的过程逻辑,和核心业务逻辑相分离。在结构上, 面向过程的集成方法新增了定义过程逻辑层;而在该结构的底层,应用服务器、 消息中间件提供了支持数据传输和跨过程协调的基础服务。对于提供集成代理、 消息中间件以及应用服务器的厂商来说,提供用于业务过程集成是对其产品的重 要拓展,也是目前应用集成市场的重要需求。这项技术可以用来完成不同应用系 统之间的整合,如实现电子商务系统和e r p 系统之间的业务结合。 2 企业应用集成的理想条件 传统的企业应用集成存在以下需要注意的问题: ( 1 ) 基本上是面向功能的企业集成 上述集成技术都是基于功能定义的设计方式,只注重从技术和内容去分类, 偏重于各自实现的功能,没有强调e a i 的各类集成间的相互关系和相互间的影 响,以及作为一个整体对企业i t 的影响。虽然这种方式相对简单和直观,但从 宏观和长远角度上难以形成灵活配置和扩展的体系结构,在管理上也不能提供适 应多变的业务需求的有效1 1 r 管控框架。 ( 2 ) 忽视了企业的流程设计和集成 在系统设计时,传统方法往往简单地直接套用具体业务流程的实例,从流程 功能定义角度考虑,针对具体流程设计专门的紧密耦合式的集中流程控制逻辑, 一旦内部流程变更增加或者是捆绑,就去重新开发新的流程控制逻辑而难以重用 现有应用资源,导致流程控制系统改动频繁,一处变更牵动全身。另外,缺乏全 局性的宏观模型体系,只考虑眼前的应用实现,流程或应用系统之间随意性强, 差异性巨大,可重用性差,难以实现数据与应用的共享,也无法形成较为统一和 通用的逻辑模型视图。 ( 3 ) 缺乏必要的灵活性和适应性,扩展性较差 他们都是针对特定的软硬件结构、网络环境或者特定的应用领域而进行研究 和开发的。面对软硬件结构等动态变化,系统的自适应能力较差。同时,他们是 针对独立的应用提供的服务,系统的体系结构都是面向特定应用的,与整个企业 的组织毫无关系,使得系统无通用型可言,可实施性较差。e a i 的目标就是让整 个企业的所有系统都成了一个松散结构中的组件,系统接口、应用通信、数据转 换和目录信息都是建立在开放的、被广为接受的标准之上,用户能迅速地访问到 他们所需要的信息。所以上述的集成技术较难实现这一目标。 ( 4 ) 缺乏合理的粒度规则 e a i 开发需要选择合适的粒度。由于上述的集成技术中没有考虑到组件要与 现有应用程序相匹配,经常会选择错误的粒度进行需求分析和需求设计,从而导 致了开发结果难于达到先前要求。组件的粒度很大程度上影响了信息模型,如果 粒度过大,则应用程序的内部有独立的商务逻辑和商业观点,在集成过程中,很 难与别的应用程序相协调;同时,如果粒度过小,则会带来不必要的复杂性。粒 度问题也决定了商业流程逻辑的隔离性,它影响了适配器和中间组件的作用范 围、包的隔离性以及操作的简单性。粒度也会对操作点和操作层次的设计带来挑 战。 ( 5 ) 系统安全方面不够灵活 e a i 体系架构中没有提出企业安全机制上的实现和集成,使得系统的可靠性 不够强壮,安全性下降。 e a i 提供一个开放的框架,使现有的应用程序和数据库可根据企业业务的需 要实现集成,并且能快速地添加新的应用和系统,使企业既可以保护已有的投资, 又可以根据市场和业务的需求重新整合原有的i t 系统,产生新的竞争力。需要 指出的是e a i 并不是一个最终解决方案,它是一个灵活的标准化的企业应用底 层架构,联系横贯整个企业的异构系统、应用、数据源等。它使新的i t 应用和 商业活动能够更容易和更有效地被部署,也使企业中的应用能够实时无缝地互相 通信,但e a i 的部署需要企业根据自身i t 状况进行配置和开发,所以理想的企 业应用集成方案必须满足以下条件n ( 1 ) 基于工业标准,尽量减少异构环境之间对私有适配器和连接器的需要。 ( 2 ) 松散的耦合。即请求不必针对特定应用的a p i 。 ( 3 ) 异步执行方式。使得在等待第一个应用的响应时可以执行第二个应用。 ( 4 ) 可靠性。保证消息被准确投递。 ( 5 ) 安全性。必须支持鉴别、授权标准以保护被交换信息的完整性。 2 1 2 功能需求分析 e a i 作为一个特殊的系统必须具备许多功能,最主要的功能大体如下: 1 消息处理系统 消息处理系统是一个集中数据转换器和网关,使企业间能实现以电子方式交 换结构化和非结构化信息,它用于管理在授权商务伙伴间传递结构化应用的数据 分配、抽取和删除,以及审计跟踪信息,异常管理的错

温馨提示

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

评论

0/150

提交评论