(计算机软件与理论专业论文)电视台新闻中心eai应用研究.pdf_第1页
(计算机软件与理论专业论文)电视台新闻中心eai应用研究.pdf_第2页
(计算机软件与理论专业论文)电视台新闻中心eai应用研究.pdf_第3页
(计算机软件与理论专业论文)电视台新闻中心eai应用研究.pdf_第4页
(计算机软件与理论专业论文)电视台新闻中心eai应用研究.pdf_第5页
已阅读5页,还剩64页未读 继续免费阅读

(计算机软件与理论专业论文)电视台新闻中心eai应用研究.pdf.pdf 免费下载

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

文档简介

电视台新闻中心e a i 应用研究 浙江大学硕士学位论文 摘要 一, 、漉着计算机应用的发展与普及以及网络经济的到来,新的经济模式对传统企 业的运营模式和应用开发方法都提出了新的要求。 浙江电视台新闻中心作为一个较大规模的新闻传播媒体在信息化方面一直 走在前沿位置,存在着较多的信息孤岛,如何有效的利用原有的信息资源并使它 们能够协同工作并为未来企业的b 2 b 集成提供接口就成为了浙江电视台新闻中 心新一轮业务整合的关键和重点。而企业应用集成正是解决这一问题的最佳办 法,但是传统生产型企业的集成方法代价高,实现复杂,并不适合新闻中心的集 成需要。在为浙江电视台新闻中心开发新闻交流系统( z j t v - n x s ) 的过程中我 们所进行的多应用数据集成实践为我们采用新的集成技术与集成模式提供了必 要的经验。经过对新闻中心集成实践的总结,同时参考了一些成熟产品的集成机 制,在此基础上我们结合分布式技术、x 札技术和j a v a 应用技术,提出了一个 能够完成新闻中心应用逻辑集成的框架结构州ca 2 a i 框架。 该框架采用了异步消息代理机制,能够有效的解决传统的集成方法所存在的 如应用与适配器结合紧密,数据表示形式特殊等问题,同时具备集成到该框架中 的应用无需修改,实现代价较低,雕够通过建立企业模型为企业提供完整的企业 数据进而实现b 2 b 集成等优点。0 文中首先讨论了包括分布式计算以及设计模式在内的框架建立的理论基础 和关键技术,然后分析了浙江电视台新闻中心现有应用的现状与数据流,以及这 些系统间的数据交互,在此基础上给出了一个针对新闻中心业务流程基于x m l 的应用集成框架的总体结构,描述了整个框架各组成部分的作用和整体数据流 程,并且讨论了框架中的消息流和消息验证过程,并给出了框架中关键模块的实 现技术。 关键词:分布式计算、面向对象、x m l 、c o r b a 、设计模式、企业内部网、框、一 飞消息中间件、电子商务、b 2 歌1 l 酬毋垮_ 企业应用鼐静 、 卢 2 0 0 2 年3 月 皇望垒堑塑主:坚坠! 堕旦堑窒 一一塑坚盔兰堡兰! e ;! ! 生生 a b s t r a c t w i t ht h ed e v e l o p m e n to fc o m p u t e ra p p l i c a t i o n a n da r r i v eo fn e t w o r k e c o n o m y , c o m p a n i e s h a v et of a c et ot h ec h a l l e n g eo ft h en e w e c o n o m y m o d e s o m ed e p a r t m e n t si nn e w sc e n t e ro fz h e j i a n giv s t a t i o nh a v ea l r e a d y d e v e l o p e d i n f o r m a t i o ns y s t e m s ,w h i c hd o n ts h a r ed a t a w ec a l lt h e s es y s t e m s i s o l a t e dj n f o m l a t i o ni s l a n d s h o wt ou t i l i z et h e s ei n f o r r n a t i o nr e s o u r 鹋a n d m a k et h e s ea p p l i c a t i o nc o o p e r a t i o n st o g e t h e r ? t h ea n s w e ri se a i t h e f e s b i g d i f f e r e n c eb e t w e e nm e d i ac o m p a n i e sa n dt r a d i t i o n a l m a n u f a c t u r i n g c o m p a n i e s ,s o w ec a n n o t u s et h e i n t e g r a t i o n m e t h o dt h a tu s e di n m a n u f a c t u r i n ge n t e r p r i s e sd i r e c t l y a n dt r a d i t i o n a l e a im e t h o dn e e dm o d i f y l e g a c ys y s t e m s ;i t si m p l e m e n t a t i o na l s on e e d sm u c hm o n e y w eh a v es o m e d a t ai n t e g r a t i o ne x p e r i e n c ed u r i n gw ed e v e l o p e dn e w se x c h a n g es y s t e mf o r n e w s c e n t e r b yu t i l i z i n gn e w x m l t e c h n o l o g ya n d j a v am e s s a g es e r v i c e ,w e d e s i g nan e w x m l b a s e d a p p l i c a t i o ni n t e g r a t i o nf r a m e w o r k f o rn e w sc e n t e r o fz h e j i a n g ivs t a t i o n i ti sb a s e do nm e s s a g eb r o k e ra r c h i t e c t u r ea n d i m p l e m e n t e d w i t h c o m p o n e n tt e c h n o l o g y - - c o r b a ,s o i ti sa ne x t e n s i b l e p l a t f o r mi n d e p e n d e n t f r a m e w o r kt h a tc a n i n t e g r a t ee n t e r p r i s el e g a c y a p p l i c a t i o n sw i t hl i t t l ee f f o r t a l lt h ea p p l i c a t i o n si n t e g r a t e di n t ot h i sf r a m e w o r k d o n tn e e dt ob em o d i f i e d ;a l lt h ea p p l i c a t i o nd a t ar e l a t e dw o r kc a nb ed o n eb y a p p l i c a t i o ns p e c i f i ca d a p t e r a l lt h em e s s a g e s t r a n s f e r r e di nt h i sf r a m e w o r ka r e l nx m ld a t af i l e s ot h e s em e s s a g e sc a nb eu s e di nb 2 b i n t e g r a t i o nd i r e c t l y i nt h i st h e s i s f i r s tw e a n a l y z e t h es t a t e so ft h e a p p l i c a t i o ni nn e w sc e n t e r , a n dt h e nw ed e s c r i b et h ew h o l es t r u c t u r eo ft h ef r a m e w o r ka n dt h ed e s i g n , f u n c t i o n a l i t i e so f c o m p o n e n t s i nt h i sf r a m e w o r k a f t e rt h a tw eg i v et h e i m p l e m e n t a t i o no f t h ek e y c o m p o n e n t s i nt h ef r a m e w o r k w ea l s od e s c r i b et h e i n f o r m a t i o nf l o wi nt h i sf r a m e w o r ki nd e t a i l k e yw o r d s :d i s t r i b u t e dc o m p u t a t i o n 。x m l ,c o r b a ,d e s i g np a t t e r n s , i n t r a n e t 。f r a m e w o r k ,m o m ,e - b u s i n e s s b 2 b ,a 2 a ,j m s e a i 2 0 0 2 年3 月 d 电视台新闻中心e a i 应用研究 浙江大学硕士学位论文 第一章绪论 1 1 企业应用集成的产生 随着计算机软、硬件技术的发展,特别是i n t r a n e t 和i n t e r n e t 的出现,计 算机在企业的业务系统中起着越来越重要的作用。一方面,基于i n t r a n e t 的企 业信息化已具有一定基础,采购、生产、销售、财务、售后服务以及人事等环节 都在采用各种计算机应用系统参与管理。另一方面,许多企业在酝酿和实旌基于 i n t e r n e t 的电子商务,他们也迫切希望能够实现电子商务系统与企业内部现有 应用系统间的无缝连接。 因为商业数据( 诸如:客户数据、产品目录、产品库存水平、定价数据、订 单状态等等) 和业务规则( 诸如:税收规则、信用卡处理策略、产品授权规则、 定价算法、运输算法等等) 经常存在于e r p 或其子系统上。为了精确和一致,需 要能够从电子商务应用程序访问驻留在e r p 系统上的数据和业务规则,或将其复 制到电子商务应用程序。此外,必须将来自电子商务应用程序的数据( 诸如;客 户订单、w e b 客户和客户更新等等) 发回e r p 系统。所以无论是企业内部信息化 还是发展电子商务都涉及到应用系统之间的连接,这一领域的技术通称为企业应 用集成( e a i ,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 出现的情况 下,企业应用就出现了如下问题: 缺乏扩展到多个企业应用的商务处理逻辑。 无法控制企业应用数据从一个应用转换到另一个应用。 不存在一个集中的用户可控制的管理单元来控制所有的应用和数据的访 问权限。 缺乏有效的完整企业商务逻辑的控制单元。 在企业信息化建设的过程中存在自动化孤岛的情况下,显然重新设计并实现 所有的应用并使它们能够协同工作,形成一个整体并不是一个最好的方法,存在 了如下的弊端: 需要消耗大量的人力物力重新对企业的各部门的业务流程进行重新调研 耗费大量的时间进行新系统的设计和开发不利于企业在商业竞争中迅速 提高综合竞争力。 员工需要重新适应新系统的操作规程,引入了新的培训和操作成本。 在考虑了这样一些弊端之后,企业从整合自身业务流程,利用现有资源等方 面对应用开发方法提出了新的要求,正是在这样种情况下面,企业应用集成 e 舭应运而生。 2 0 0 2 年3 月 电视台新闻中心e a i 应用研究 浙江大学硕士学位论文 1 2 企业应用集成的定义 简单地说,e a i 是企业信息系统集成的科学、方法和技术,其目的就是将企 业内的应用彼此联接起来,或在企业之间连接起来。 实施e a i 挑战很大,但由于企业都急于实施b 2 b ,都要将当前的企业系统纷 纷转移到w e b 上去,e a i 便是必须迈过去的一道坎。 e a i 主要包括两方面:企业内部应用成和企业间应用集成。 1 3 企业应用集成的现状与发展 1 3 1e a i 的分类 从实施范围上e a i 可分为企业内部e a i ( i n t r a e a i ) 和企业间e a i ( i n t e r e a i ) 两大领域。i n t r a e a i 即企业内部各应用之间的集成,也称a 2 a ( a p p l i c a t i o nt o a p p l i c a t i o n ) 集成;i n t e r - e a i 即企业之间的应用集成,也称b 2 b 集成。a 2 a 集 成是b 2 b 集成的基础和前提条件,b 2 b 集成则最终实现电子商务带来的大规模宏 观经济效益。从实现技术上分,目前e a i 有三种主要类型。 数据层集成:支持不同数据存储器如数据库之间的直接数据交换,此类方法 有c l i ,o d b c 和j d b c 等。此类集成因无需修改应用程序而易于实现,但它的维 护昂贵、不适用于b 2 b 集成。 消息层集成:不同应用通过交换消息来实现集成。此类集成利用了现有应用 的数据转换及合法性检查从而易于保持数据的完整性。但它需要修改现有应用以 建立发送和接受消息的接口。 流程层集成:通过建立商业流程来整合现有应用,应用之间的数据交换仍然 通过消息进行,但有一个流程引擎来完成流程的解释执行及消息路由等功能。此 类集成将离散的应用转换成商业流程的粘合系统,灵活性高且适合b 2 b 集成,但 实现难度最大。 随着) ( m l 和应用服务器等技术的出现和发展,流程层集成逐渐成为e a i 的主 流。单项技术上出现了b p m l 等用于描述商业流程的x m l 标准,还有s o a p 、u d d i 、 w s d l 等用于商业流程和w e b 服务的通讯、注册与发现的一系列x m l 标准。许多 国外工业组织和研究机构都提出与电子商务相关的技术框架和标准规范,特别是 x m l 标准体系,如联合国和o a s i s 共同发起编写的e b x m l 、主要i t 厂家支持的 r o s e t t a n e t 、微软及其合作伙伴的b i z t a l k 等等,这几种电子商务构架的模式主 要是想解决b 2 b 集成的问题。 e a i 应用的领域主要集中在那些对电子商务和实时业务需求较大的行业和企 2 0 0 2 年3 月 电视台新闻中心e a i 应用研究 浙江大学硕士学位论文 业,电信、金融、制造领域、航空旅游以及门户等行业的实时集成应用已经成为 其最主要的战略市场。 1 3 2 企业应用集成的优点 减少数据冗余,实现信息共享 在一个没有实现系统集成的单位,只要稍加留神便可以发现各个分离的子系 统内部存在着大量的冗余数据。数据的冗余也带来数据的不致性,因为不同地 点存放的同一数据可能有不同的数值。 便于进行规模优化( r i g h t s i z i n g ) 一个单位的计算机相信息资源与该单位处理的业务相匹配时便称之为规模 优化,过大或过小的规模显然都不适宜,这样才能保证充分利用现有资源,获得 高的系统性能价格比,并且随着日后单位需求的增长,在原有投资的基础上进行 系统的扩充和升级。 有利于开展并行工程,提高工作效率与效益 并行工程c e ( c o n c u r r e n te n g i n e e r i n g ) 采用并行方法,在产品设计阶段,就把 产品研制周期中各有关的工程技术人员集中起来,同步地设计或考虑整个产品生 命周期中的所有因素,包括设计、分析、制造、装配、检验和售后服务等,这种 方式如图1 1 所示。 书 l 一产品设计f 否 :l 至交圃 羹 名浒医_臣a 彝 晤;i 五百五1 程 弋影屯h r 翌竺! 竖! ! l 、 薯望芏_ 函蟊叵丽:再 图1 1 并行工程的运行模式 具体实现上述模式的并行工程设计网络系统如图1 2 所示。图中的并行工程网 络中,四位设计人在各自工作站上进行独立设计,又可通过网络看到其他人设计 的情况,随时调用公共数据库中大量的标准、材料等有用数据,这样多项设计工 作可协调和并行地进行,这也只有在集成的环境下才能办得到。由于并行处理多 项工作,大大提高了工作效率和效益。 2 0 0 2 年3 月 电视台新闻中心e a i 应用研究 浙江大学硕士学位论文 图l 2 并行工程设计网络 有利于人们之间彼此协调地工作 系统集成为人们之间及时沟通信息和商议问题带来便利条件,只要是许可查 询的信息,就可以在自己的微机上随时而方便地得到,大家还可通过网络及时交 换意见。 1 3 3e a i 实现技术与产品 在所有e a i 产品中,e a i 中间件是最为典型的。目前有三种主要类型的中间 件适合企业内和企业之间的应用集成,他们是应用服务器、分布对象和消息代理。 应用服务器不仅提供应用逻辑的处理,也能使用事务语义协调许多资源的连 接。从而让应用服务器的用户能够使用交易的概念( 交易开始、信息抽取、信息 传输、信息更新、交易中止) 来集成后台资源。 应用服务器典型的用途是提供诸如i d e ( 集成开发环境) 的应用开发特性, 以及应用测试和应用部署等工具。新一代的应用服务器都支持j a v a 和e j b 。 应用服务器在事务处理中可以使方法共享,从而支持技术方法级的e a i 。然 而,每一种应用服务器都有各自的支持e a i 的特性,所以在选择应用服务器来实 施e a i 时,必须对这一点要了解得非常清楚才行。 分布对象之所以也被认为是中间件,是因为它提供应用之间通信的功能。然 而,它也提供应用开发功能,支持企业范围内的方法共享,从而支持方法级e a i 。 分布对象其实是一个小的应用程序,它使用标准的界面和协议来完成应用彼 此间通信。 例如,开发人员可以在u n i x 服务器上创建一个c o r b a 分布对象,又在n t 服务器上创建另一个c o r b a 分布对象。由于这两个对象都使用的是c o r b a 标准, 和标准的通信协议i i o p ( i n t e r n e ti n t e r o r bp r o t o c 0 1 ) ,所以它们可以交 换信息,并能相互之间调用方法。分布对象提供的是一种耦合的应用集成功能。 消息代理是一种理想的e a i 中间件。它可以使得多个应用之间方便地传输信 息,并能解决应用语义和平台之间不兼容的问题。此外,消息代理也可以方便地 2 0 0 2 年3 月 电视台新闻中心e a i 应用研究 浙江大学硕士学位论文 集成在应用之中,它可以在各种应用和数据库中传递信息模式和内容。 和应用服务器相比,消息代理使用事件驱动机制来传送信息。消息代理观察 源应用和目的应用的状态变化( 如数据库中数据更新) ,从而作出相应的反应。 一个单一的状态变化能够在消息代理及相应的应用中触发成百个事件一个 信息传送和商务事件处理的反应链。而应用服务器则是只有当交易发生时,执行 一个已程序化的处理功能。对于与之连接的应用来说,消息代理是松散耦合的, 不要求改变源应用和目的应用。而应用服务器是紧耦合的。 消息代理不能用于应用开发,而是允许不同应用进行“黑盒”式的通信的技 术,也就是说,消息代理不要求应用彼此之间非常“熟悉”,它起到中间代理的 作用。 1 4 企业应用集成面临的问题 e a i 软件很大程度上独立于它所连接的不同应用程序,因此业务处理过程是 可以在不改变应用程序的情况下进行变化和扩展。要取得应用集成所需的最终灵 活性,实现e a i 必须解决五个技术层面的问题。 1 业务处理过程的支持许多厂商都提供使用户可以可视地编制业务过程流 程图的工具。在业务流程图中,用户可以为每条消息定义规则,如”当订单完成 时,使订单应用程序通知会计系统发送账单,通知送货部门发送产品。”一些工 具包括智能路由功能,这种功能可以对消息进行分析,并根据消息计算出在业务 过程的下一步应当做什么。 2 数据传输数据可以点到点传送或利用一种所谓的”发行预订”架构传送。 在”发行预订”架构中,一些应用程序先告知代理对某种消息感兴趣,然后其它 应用程序则向这些应用发送这类消息。根据应用程序所处的网络和平台,传输可 以利用像数据库驱动程序、组件对象模型或消息传输等这类中间件来完成。 3 服务消息需要多种服务才能成功地完成任务。这些服务包括下列内容: 如果接收消息的应用程序比发送消息的应用程序速度慢,用队列保存消息:交易 的完整性用来保证交易在消息发送前或确认接收前完成;消息的优先级;错误处 理以及使网络管理工具可以控制数据流的”挂钩。 4 接口企业应用集成软件通过连接不同应用程序的接口获得对这些应用程 序的访问。这些接口通过向平台的组件模型提供说明信息或利用程序的应用编程 接口( a p i ) ,实现与应用程序的互操作。 5 转换由于并不是所有的应用程序都能以同样的方式或相同的格式存储数 据,因此,多数企业应用集成软件包括将数据转换为接收应用程序所要求格式的 功能。一些软件包括使用户可以可视地将一种应用数据格式映射到另一种数据 2 0 0 2 年3 月 电视台新闻中心e a i 应用研究 浙江大学硕士学位论文 格式或将此格式与其它格式协调的工具。 1 5 文本的研究内容与目标 在为浙江电视台新闻中心开发新闻交流系统( z j t v - n x s ) 的过程中,我们 发现浙江省电视台新闻中心的一些部门已经进行了本部门的信息化,建立了一些 符合本部门要求的信息系统,而我们的新闻交流系统无论在功能上还是在数据上 都与其中的一些信息系统不同程度的重叠,怎样能够实现对已有系统的无缝集成 呢? 怎样能够使已有的不同应用能够协同工作呢? 在项目的开发过程中我们很 好的应用了e a i 的集成思想,解决了新闻中心中多系统间数据交互与集成的问 题。经过对这些实践工作以及传统的应用集成方法的总结与思考,提出了x n c a 2 a i ( x m l b a s e da p p l i c a t i o nt oa p p l i c a t i o ni n t e g r a t o rf r a m e w o r kf o r n e w s c e n t e r ) 框架,希望通过该框架能够解决新闻系统中不同应用协同工作的难题, 并为实现低代价通用应用集成方案提供新的思路。 通过x n ca 2 a i 框架,我们希望能够达到的如下的目标: 将新闻中心现有应用无缝的集成到框架中,能够通过框架协同工作。 集成企业应用已有数据,提供一个完整的企业应用数据库。 能够提高良好的扩展性。 能够方便的引入其他集成技术。 通过我们的框架能够有效的产生与其他企业建立业务的通用数据文件。 本文将要讨论以下一些内容: x n ca 2 a i 框架建立的企业软硬件环境。 x n ca 2 a i 框架的建立所采用的关键技术。 x n ca 2 a i 框架的整体设计。 x n ca 2 a i 框架的关键模块实现技术。 基于x m l 的企业应用集成框架是建立在对企业应用集成技术和新兴的网络 应用技术的研究基础上结合浙江电视台综合信息系统的项目背景提出的一个企 业应用进行整合的新方法,在这个框架的基础之上能够实现对企业现有的历史遗 留系统( l e g a c ys y s t e m s ) 的整合并能够使企业迅速向电子商务发展,使企业整 个业务流程同时得到整合的高效的,可扩展的解决方案。 通过对这样一个应用集成框架的研究我们希望我们提出的这个高扩展性的 柔性框架结构不仅能够为浙江电视台整合现有业务提供强有力的技术整合改造 方案,并且能够成为一个通用的企业应用集成平台,在这个框架的基础之上能够 完成企业原有的历史遗留系统的整合,同时能够将新的应用系统也无缝的集成到 这令框架之上。使企业能够通过集成已有的应用系统来迅速向电子商务转型。 2 0 0 2 年3 月 电视台新闻中心e a i 应用研究 浙江大学硕士学位论文 第二章相关理论与关键技术 2 1 分布式计算 x n c a 2 a i 框架是建立在分布式环境基础之上的,没有分布式计算也就不存 在将建立在企业内部网( i n t r a n e t ) 基础之上的分离的应用系统集成起来的基础。 2 1 1 分布式计算的概念 所谓分布式计算就是两个或多个分布在网络的不同物理位置的应用之间能 够通过某种机制互相共享信息,协同工作的这样种异构环境。这些软件既可以 在同一台机器上运行,也可以在通过网络连起来的几台不同的机器上运行,更多 的是运行在网络中不同的主机上的。 根据分布式计算的定义我们可以看出分布式计算具有如下特点: 1 。资源共享 这包括:一是硬件资源共享,包括c p u 、存储器、大容量磁盘、打印机和其 它外部设备等;二是软件资源共享,包括软件工具、软件平台、商用软件、软构 件( c o m p o n e n tw a r e ) 及软部件( s o f tp a r to rs o f t w a r et c ) 等。 2 伸缩性( s c a l a b i l i t y ) 分布式系统可以大到通过互联网( i n t e r n e t ) 连接成千上万台机器形成的全 球性系统,也可以小到由局域网( l a n ) 连接几台机器形成的小系统。设计分布式 系统的一个重要目标就是提供这样一种体系结构,它既适合于大型组织结构,又 适合于小型结构。最小系统中可能只有三、五台计算机,而最大的系统则可能包 含有成百、上千甚至上万台计算机。而不管系统多大,其系统软件和应用软件应 当不需要变化或很少变化就能正常运行。 在分布式系统的客户机和服务器中,提供服务的软件应该是可扩充的,所以 对开放系统的一般要求为“可以提供多种用户能够修改和扩充的设旌”,客户机 和服务器需要系统软件来调度任务的执行,并使它们可以互相通信,这就是可扩 充性。根据应用需要,系统应是可裁减的,即删除系统中的某些软件或硬件单元j 系统仍能正常工作,所以称为可伸缩性。 3 可移植性( p o r t a b i l i t y ) 分布式系统应该提供一个开放的服务集合,可能有许多不同的服务,一个服 务也可能有许多不同的版本。例如,不同的文件命名和访问方法可能在一种工作 站上提供类& i sd o s 的设施,在另一种工作站上提供类似于u n i x 的设施,每个客 户程序可为特定应用选择并装载合适的设施进入其执行环境,这就是软件的可移 2 0 0 2 年3 月 电视台新阐中心e a i 应用研究 浙江大学硕士学位论文 植性,同样,系统能使标准化的硬件做到即插即用,本身就是可移植的标志。 4 互操作性( i n t e r p r e t a b i l i t y ) 不同厂家的软硬件,即使不是按标准生产或提供,但如果对外接口中的数据 格式相互之间可转换,也能满足开放系统的要求,这就是互操作性。可以这样说, 开放系统的数据是可交换的:开放系统的对外接口是公开的;开放系统必须提供 统一的通信机制;开放系统必须有能力处理硬件的异构性,提供统一的用户界面。 5 并发性 并发性和并行性在分布式系统中是一种内在的特征。在分布式系统中,有许 多计算机,每台计算机都具有自己的c p u 和存储器。若有 f 台计算机,每台计算 机中有一个c p u ,那么,就会有m 个进程并行执行。从分布式系统对于资源共享 的基本要求来看,可能有以下两种并发性: 许多用户同时发出命令,并与机器交互。在这种情况下,应用进程都在用 户工作站上运行( 并行) ,相互之间没有冲突。 许多服务器进程并发运行,每个进程响应不同的客户请求。在这种情况下, 服务器之间存在并行进程,每台服务器中又存在并发进程,这些并发进程要响应 不同的请求,但有可能要共享同一资源,因此必须解决并发控制问题。 6 容错性 分布式系统由于其结构特征,其直接效果就是计算机故障的不显性。一个工 作站的故障只影响到一个用户,而不影响其它用户需要的服务。如果系统中有几 个类似的服务器,即使一个服务器故障了,也不会对用户需要的服务构成影响, 最常见的服务就是打印和文件服务。在文件服务中,文件可以在几个服务器上存 放副本来获得此特征。 7 透明性 透明性为应用开发人员隐蔽了分布式系统的分布特征,透明性是分布式系统 软件开发的主要动力。这包括: 访问透明性:可用同样的操作访问本地的、远程的文件和其它对象。 位置透明性:访问任何对象时都不必了解其所处位置。 并发透明性:多个用户或应用程序在使用共享数据时互相不受干扰。 副本透明性:可以使用文件或其它数据的多个实例以增加可靠性和性能, 应用程序不必了解是否使用了副本。 故障透明性:故障可以封闭起来,即使出现软硬件故障时,也能使用户 和应用程序完成任务。 迁移透明性:系统中的对象可以在不同机器之间迁移,而不影响用户或 应用程序的操作和运行。 。 性能透明性:允许系统进行重构来改变性能,以适应用户负载的变化。 2 0 0 2 年3 月 电视台新闻中心e a i 应用研究 浙江大学硕士学位论文 规模透明性:允许系统或应用扩充规模而不必改变系统结构或应用算法。 透明性是使分布式系统中的分布资源表现为单一资源的最基本要求,可以 这样说,分布式系统都是围绕着透明性要求来设计的。 建立在分布式计算基础之上的分布式系统是由多个相互连接的处理资源组 成的计算机系统,这些资源可以合作执行一个共同的任务,最少依赖于集中的程 序、数据和硬件等资源。它具有如下特点: 分布式系统是由多个处理机或多个计算机组成。 这些计算机或处理机可以物理相邻,用机器内部总线或开关连接,通过 共享主存进行通信;也可以在地理上分散,用计算机网络互连,采厢消息( 或 称报文) 通信。 这些计算机或处理机组成个整体,对用户是透明的,即用户使用任何 资源时不必知道这些资源在哪里。 一个程序可分散到多个计算机或处理机上运行。 系统的表现与单一系统一样。 绝大多数的分布式计算是建立在客户机服务器( c l i e n t s e r v e r ) 模型内, 它由两种角色组成: 客户机:它向服务器提出信息或服务的请求; 服务器:它提供对客户机请求的响应。 2 1 2 分布式系统与客户机服务器模型 1 分布式系统的优缺点 任何事物都有两面性,分布式系统也有它的优点和缺点,下面我们看一看对 应于分布式系统所存在的优缺点: ( 1 ) 优点 因为分布式系统是表现为单机特征的多机系统,因此,它与集中式的单机系 统和分散的工作站都不同。我们分别将其与这两类系统进行比较。 与集中式系统相比,分布式系统具有以下几个方面的优点: 经济 通过网络连接的个人计算机比起大型主机而言,具有很高的性能价格比。 速度 分布式系统在平均响应时间上要比大型主机短( 特别是在用户众多的时候) 。 分布式系统对于任务分散、交互频繁并需要大量处理能力的用户来说特别适合。 内在的分布性 这一优点对于许多新型应用提供最直接的支持。例如,c s c w 应用系统( 也 2 0 0 2 年3 月 电视台新闻中心e a i 应用研究 浙江大学硕士学位论文 称群件,g r o u p w a r e ) 的直接平台便是分布式系统。 可扩充性 分布式系统管理员可以根据请求的需要扩充系统,而不必替换现有的系统成 分。 系统的可靠性 当一部分出现故障时,系统大部分工作仍可以继续,无须停机,只要将出故 障部分承担的工作转移出去即可。 与分散的工作站或个人机相比,它明显具有以下优点; 资源共享。 这是一个分布式系统最重要的目标。很显然,如果一台无外设机器与另一台 连接有多种外设的机器构成一个分布式系统,那么,这台机器就有t # f 设可用一 一它共享了另一台机器的设备。而一台无外设的个人机或工作站无法共享其它机 器的外设。当然,可共享的资源还有软件、数据等等。 通信得到加强。 分布式系统使原来分散的用户可以方便地相互通信,为合作工作提供了条 件,方便了日常工作。 可以扩充工作能力。 通道网络互连工作站或p c 形成的分布式系统可以提供比单机更强的能力, _ 台机器的负载可以均衡地分布到各台机器上,提高运行效率。 ( 2 ) 缺点 虽然分布式系统具有许多优点,但也存在一些弱点: 在分配处理和存储资源时缺乏灵活性 在集中式的计算机系统的多处理机系统中,所有的资源都由操作系统管理 分配。但在分布式系统中,工作站的处理机和存储器等资源一般都是局部的, 不能由其它机器的操作系统灵活地在整个系统范围内调度。 性能和可靠性过分依赖于网络 局域网的故障会引起对用户服务的中止。网络的超负荷则会引起性能的降 低,增大用户响应时间。另外,由于网络没有备份,即使网络的容错性和可靠 性不断加强、但这一理论上的不足却总是存在的。 安全保密性不足 为获取可扩充性,分布式系统中的许多软件接口都为用户可用的,每个能 够访问基本通信服务的用户也可以访问服务器接口。这样的开放结构对于系统 开发人员是非常有价值的,但是,这也为有意或无意的破坏打开了方便之门, 分布式软件必须想办法防止对于服务的违章非法访问。 2 客户机,服务器模型( c l l e n u s e r v e rm o d e l ) 2 0 0 2 年3 月 电视台新闻中心e a i 应用研究 浙江大学硕士学位论文 客户机,服务器模型的基本宗旨是,由一组合作进程构造操作系统,其中提 供服务的进程称为服务进程,使用服务的进程叫作客户进程。客户机和服务器通 常运行同样的操作系统微内核,而且服务器进程和客户机进程都以用户进程运 行。一台机器可以运行单一进程( 如服务器进程或客户机进程) ,也可以运行多个 服务器进程或多个客户机进程或者是客户机进程和服务器进程的混合。 请求应答 数据链路层 蝴 ( a ) 客户机服务器通讯模型( b ) 简化协议 图2 一l 客户机h i 务器模型 为了避免采用诸如o s i 模型中面向连接协议所带来的过多开销,客户机 服务器模型一般采用简单的无连接的请求应答协议。客户机向服务器发送消息 请求( 比如读取某个文件) ,服务器按要求完成工作,并返回结果或报错,如图2 1 ( a ) 所示。客户服务器模型的主要优点是其简单性:客户机发送请求,服务 器返回应答,不存在连接建立和撤销的问题。因为简单又带来了另一个优点,即 高效,该模型的协议栈很小但非常有效。假设所有机器都完全相同的话,那么该 协议栈只有三层( 图2 1 ( b ) ) 。其中物理层和数据链路层协议处理从客户机与服务 器之间的数据传送,一般用硬件来完成。由于不需要路由,也不需要建立连接, 因而也就不需要第三层和第四层。第五层的请求应答协议用来定义合法的请求 集合及合法的应答集合。同时,由于没有会话也就不需要会话层管理;同样,其 它高层协议也不再需要。 在客户机服务器模型中,服务器提供各种共享资源的服务,如文件服务、 打印服务或数据库服务等,客户由用户直接使用,处理与用户的交互( 用户输入 和屏幕显示) ,负责向服务器发送请求,等待并接收服务器发回的应答信息,处 理后给用户显示。在本模型中。客户和服务器本身并不要求必须是计算机,可为 各种处理进程。因此,该模型是一个系统模型,既可以作为硬件模型,也可以作 为软件模型,当然,我们在这里讨论这个模型主要是因为它是很多软件技术的发 2 0 0 2 年3 月 次 7 6 5 4 3 2 1 剧 7 6 5 4 3 2 1 电视台新闻中心e a i 应用研究 浙江大学硕士学位论文 展基础,也是我们这个集成框架的理论基础。 2 1 3c o r b a 和d c o m c o m ( c o m m o no b j e c tm o d e l ) 有时被称为公共对象模型,微软官方则称之为 组件对象模型( c o m p o n e n to b j e c tm o d e l ) 。d c o m 用于分布式计算,是微软开发 设计的,作为对c o m 的一个扩展。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 ) 表示公共对象请求代理体系结构,是由对象管理工作组( 伽g ) 开发的。c o w d c o m 和c o r b a 都是用面向对象的方法,进行软件组件的开发和应 用。它们是客户服务器世界中,进行应用系统开发时的两个竞争对手。这些体 系结构都支持分布式计算,并且提供对交互操作性和有限的可移植性的支持。在 创建可扩展的客户服务器系统时。分布式计算技术是必须的。由于这些分布式 对象里面封装了数据和商业规则,因此,它们能存在于系统的任何部分。现在异 构系统越来越普遍,这就导致分布式对象也变得越来越流行,并且,它们在连接 异构系统时确实做得非常好。 c o r b a 和d c 咖都是被设计用于分布式对象的客户服务器模式的通信。在这 两种技术中,都是一个客户调用一个请求,该请求则由远方的一个对象来实现, 远方的对象充当服务器的角色。提供服务的对象都有一个接口( i n t e r f a c e ,接 口) ,该接口是通过接口定义语言( i d l ) 来定义的。由于接口的存在,使对象的 实现过程对于客户是隐蔽的。c o r b a 和c o m 都是通过r p c 和引用远程对象的方法 来实现的。这两种技术中,对数据类型的支持都局限于几种数据类型,这些数据 类型被映射到多种程序设计语言中。 c o m 允许客户调用服务,服务是由c o m 兼容的组件通过定义一个二元兼容规 范和实现过程来提供的。c o m 兼容组件( c o m 对象) 提供了一系列的界面,允许 客户通过这些界面来调用相关的对象。 c o m 定义了客户和对象之间的二元结构,并且作为用不同程序语言书写的组 件之间的相互操作的基础,只要该语言的编译器支持微软的二元结构。 c o m 对象可以具有复杂的界面,但是每一个类必须具有它自己唯一的类标识 符( c l s i d ) ,并且它的界面必须具有全球唯一的标识符( g u i d ) ,以避免名字冲 突。对象和界面是通过使用微软的i d l ( 界面定义语言) 来定义的。c o m 体系结构 不允许轻易地对界面作修改,这种方法有助于防止潜在的版本不兼容性。c o m 开 2 0 0 2 年3 月 电视台新闻中心e a i 应用研究 浙江大学硕士学位论文 发者,为了给对象提供新的功能,必须努力为对象创建新的界面。c o m 对象是在 服务器内运行的,服务器为客户访问c o m 对象提供了三种方法。 在服务器中处理( i n p r o c e s ss e r v e r ) :客户和服务器在相同的内存处理进 程中运行,并且通过使用功能调用的方法彼此通信。 本地对象代理( l o c a lo b j e c tp r o x y ) :允许客户使用内部进程通信方法访 问服务器,而服务器运行于同一物理机器的一个不同的进程中。这种内部进程通 信方法也称为度远程过程调用。 远程代理对象( r e m o t ep r o x yo b j e c t ) :允许客户访问在另外机器上运行的 远程服务器。客户和服务器的通信使用分布式计算环境r p c 。远程对象支持这 种方法,被称为d c o m 服务器。 c o m 的两个主要的扩展:m t s 和m s m q 是由d c o m 提供的。d c o m 服务器对象支 持多线程。m t s ( m i c r o s o f tt r a n s a c t i o ns e r v e r ) 运行于w i n d o w sn ts e r v e r , 提供事务导向的进程,并且是基于d t c ( d i s t r i b u t e dt r a n s a c t i o nc o o r d i n g t o r , 分布式事务协调) 的。m t s 作为一个实时中间环境被包含于d c o m 中,提供对m s m q 的异步应用操作,以及针对r p c ( r e m o t ep r o c e d u r ec a l l ) 的同步操作。d c o m 中还内建了远程垃圾收集的功能,使之成为一个健壮的系统。 c o r b a 被设计和架构为服务于用不同程序语言书写、运行于不同平台上的对 象系统。c o r b a 依赖于o r b 中间件在服务器和客户之间进行通信。o r b 扮演一个 透明地连接远程对象的对象。每个c o r b a 对象提供一界面,并且有一系列的方法 与之相联。o r b 负责为请求发现相应的实现,并且把请求传递给c o r b a 服务器。 o r b 为客户提供透明服务,客户永远都不需要知道远程对象的位置以及用何种语 言实现的。 c o r b a 是基于对象管理体系结构的( o b j e c tm a n a g e m e n ta r c h i t e c t u r e ,即 o m a ) ,o m a 为构建分布式应用定义了非常广泛的服务。o m a 服务为划分为三层, 分别称为c o r b a s e r v i c e s ,c o r b a f a c i l i t i e s ,和a p p l i c a t i o n o b j e c t s 。当应 用程序需访问这些服务时,就需要o r b 通信框架。这些服务在o m a 中实际上是不 同种类的对象的定义,并且为了支持分布式应用,定义了很广泛的功能。 c o r b a s e r v i c e s ( c o r b a 服务) :是开发分布式应用所必需的模块。这些服务 提供异步事件管理,事务、持续、并发、名字、关系和生存周期的管理。 2 0 0 2 年3 月 电视台新闻中心e a i 应用研究 浙江大学硕士学位论文 c o r b a f a c i l i t i e s ( c o r b a 工具) :对于开发分布式应用不是必须的,但是在 某些情况下是有用的。这些工具提供信息管

温馨提示

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

评论

0/150

提交评论