(系统工程专业论文)基于CORBA与Agent的银行应用集成研究.pdf_第1页
(系统工程专业论文)基于CORBA与Agent的银行应用集成研究.pdf_第2页
(系统工程专业论文)基于CORBA与Agent的银行应用集成研究.pdf_第3页
(系统工程专业论文)基于CORBA与Agent的银行应用集成研究.pdf_第4页
(系统工程专业论文)基于CORBA与Agent的银行应用集成研究.pdf_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

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

文档简介

华中科技大学硕士学位论文 摘要 银行一般都有很多不同功能的应用系统运行在不同硬件,不同操作系统,不同网 络协议之上,这些应用系统通常是相对独立而且相互隔离的,没有遵循一定的规范。 而且这些系统中信息有许多是重复可以相互借用的,这种信息重复一方面增加了大量 的重复劳动和低效,另一方面使工作环节增多,数据准确性降低。因此银行计算机系 统迫切需要按统一规范在整个银行内重构银行信息系统,并改造已有的遗产系统,使 之能方便地集成到银行计算机系统中。 为解决这些问题,障文从作者实际参与的梧州工商银行个人金融管理信息系统项 目出发,引入了c o r b a 与a g e n t 技术,介绍了基于c o r b a 的a g e n t 通信机制,在 此基础上提出了解决以上问题的方法,并给出了银行应用集成的模型框架。本文基本 思路是以c o r b a 规范作为银行的底层通信构架,重构银行计算机系统,再利用a g e n t 与c o r b a 的互补性,按照职能对a g e n t 进行分类,将遗产系统用a g e n t 技术进行封 装,集成到银行计算机系统中。由于引入了移动a g e n t 技术,构建了基于多a g e n t 的应用集成模型,所以在分布对象技术基础上,充分发挥了a g e n t 在知识表达、事务 处理,智能性能方面的优势,建立了一个具有自组织、自学习和协同工作能力的银行 应用集成模型,极大地提高了系统的灵活性和适用性。 0 7 关键词:c o r b a ia g e n t 遁i i 耍澎遗产系统,多a g e n t 系统r 分布对象, 华中科技大学硕士学位论文 a b s t r a c t g e n e r a l l yi nb a n k ,t h e r er r em a n ya p p l i c a t i o ns y s t e m sr u n n i n go nd i f f e r e n th a l d w a r e , d i f f e r e n to p e r a t i o ns y s t e m s ,o rd i f f e r e n tn e tp r o t o c 0 1 t h e s ea p p l i c a t i o ns y s t e m sa l eu s u a l l y i n d e p e n d e n ta n di s o l a t e d ,a n dt h e yd o n o tf o l l o wac e r t a i np a t t e r n i nt h e s es y s t e m s ,m u c h i n f o r m a t i o nc a nb er e u s e df r o me a c ho t h e r t h i si t e r a n ti n f o r m a t i o ni n c r e a s e sag r e a td e a l o fl a b o ro nt h eo n eh a n d , a n di tm a k e sw o r kl i n k si n c r e a s e da n dd e c r e a s e sd a t aa c c u r a c y t h e r e f o r e ,c o m p u t e rs y s t e mi n b a n ku r g e n t l yn e e d st ob er e b m ka c c o r d i i l gt ou n i f i e d a r c h i t e c t u r ea n dt h el e g a c ys y s t e m si nb a n km u s tb er e f o r m e dt ob ei n t e g r a t e di nc o m p m e r s y s t e m i no r d e rt os o l v et h ea b o v ep r o b l e m s ,t h i sp a p e r , b a s e do na u t h o r sr e s e a r c hw o r ko f “p e r s o n a lf i n a n c e m a n a g e m e n ti n f o r m a t i o ns y s t e mo f w u z h o ub r a n c ho fi c b c ”, i n t r o d u c e sc o r b aa n d a g e n tt e c h n o l o g y , d r a w s i n t oc o r b a - b a s e d a g e n t c o m m u n i c a t i o nm e c h a n i s m ,a n dg i v e st h em o d e ls k e l e t o no f b a n ka p p l i c a t i o ni n t e g r a t i o n t h eb a s i cw a yo ft h i n k i n go ft h ep a p e ri st or e b u i l db a n kc o m p u t e rs y s t e mb ym e a n so f c o r b aa r c h i t e c t u r ew h i c hi st h es u b s t r a t i v ec o m m u n i c a t i o np l a t f o r m ,a n dt oe n c a p s u l a t e l e g a c ys y s t e m s t o i n t e g r a t e i n t ob a n kc o m p u t e rs y s t e mw i t ht h ec o m p l e m e n t a r i t y o f c o r b aa n da g e n t b yi m r o d u c i n g m o b i l e a g e n t i n t oc o r b aa n d b u i l d i n g t h e a p p l i c a t i o ni n t e g r a t i o nm o d e l ,t h eb a n ka 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 b e c o m ei n t e l l i g e n t a n d i n d e p e n d e n t w h i c h f u l l y m a k eu s eo ft h ea d v a n t a g e o fa g e n ti n k n o w l e d g e r e d r e s e n t a t i o n ,t r a n s a c t i o np r o c e s sa n di n t e l l i g e n c e c o n s e q u e n t l y ,t h es y s t e mb e c o m e s m o r ef l e x i b l ea n dp r a c t i c a b l e k e y v o r d s :c o r b a a g e n ta p p l i c a t i o ni n t e g r a t i o n l e g a c ys y s t e “ m u l t i a g e n ts y s t e m d i s t r i b u t e do b j e c t i i 华中科技大学硕士学位论文 1 绪论 中国工商银行梧州分行个人金融管理信息系统是梧州工行项目的第一期工程, 是为梧州工行定制的用于个人金融信息处理的应用软件,此项目的目的是将个人金 融业务数据加工整理成有价值的信息并对这些信息进行快速综合处理分析,动态地 以多样化的文字、图形、报表形式表示出来,为银行中高层管理人员在作出决策时 及时有效地提供信息支持。本系统采用传统的c l i e n t s e v e r 模式,客户端置于银行的 各支行与网点,分别管理本支行或网点的业务,服务端安放在地区级分行内,主要 负责分析处理总行回传的数据,采用的是o r a c l e8 i 数据库系统。系统客户端主界面 如图1 1 所示。 图i 1 系统主界面 将该系统每天所需数据导入系统后进行各种数据统计、计算、归类等处理后,可 以完成存款结构分析、存款成本分析、存款预警分析、业务量统计、异常数据统计、 华中科技大学硕士学位论文 银行收益、员工考核、优质客户管理、自定义查询、修改密码等功能。软件系统结构 如图1 2 所示。 用户登陆模块m j 上 系统用户界面 上 商向桀鉴袖 上上上上上上1 l a d o 数据连接 图1 2 软件系统结构图 系统数据库设计实体关系图如图1 3 所示。 华中科技大学硕士学位论文 图1 3 实体关系图 本系统自2 0 0 1 年1 1 月开始调研,2 0 0 2 年1 月确定需求,在完成系统分析与系统 设计后于当年3 月开始编写代码,5 月底工程基本结束,6 月即投产运行。 1 1 问题提出 在开发本系统之前,已经有很多不同功能的应用系统运行在不同的操作平台上 华中科技大学硕士学位论文 如会计帐务系统、储蓄帐务系统、会计报表系统、统计报表系统及信贷台帐等多个系 统。由于种种原因,这些应用系统相互独立且隔离。这些系统中信息有许多是重复可 以相互借用的,这种信息重复一方面增加了大量的重复劳动和低效,另一方面使工作 环节增多数据准确性降低。例如会计帐务系统和储蓄帐务系统包含着大部分基础数 据,而象会计、统计报表系统中的数据基本上是来自于前者,其他系统也有许多数据 可以从前者获得,但现在这些系统都是相互独立的,各自数据的获得都要靠人工录入, 造成了极大的浪费和低效。在第二期工程中主要是处理对公业务的数据,其中很多数 据还是来源于以上所提到的已有系统,若单独再开发一套系统,则势必造成资源浪费。 目前,银行计算机系统比以往任何时候都需要在整个银行内共享信息,但共享的 信息来自不同的地方。目前,多个独立的应用程序位于多种计算机软硬件配置上,而 这些软硬件很少是为共享信息或与同一平台上的其他应用程序通信而设计的,更不用 说与那些不同平台上的应用程序通信了。即便某个应用程序的确可与其他应用程序共 享信息,它一般也是与指定的少量应用程序通信【4 1 。 因此,如何将这些运行于不同硬件,不同操作系统,不同网络协议之上的银行应 用系统有效地集成在一起,以及如何继承已有的遗产系统成为本课题研究的中心问 题。 银行应用都需要以先进的信息技术为基础和依托。在银行纷纷通过经营过程重构 来改造原有系统,建立新型银行应用的过程中,遇到了许多困难和挑战,也给信息技 术的研究提出了新的课题。其中比较核心的两个问题是异构性问题和遗产系统的继承 问题。1 5 1 f 1 ) 异构性问题。不同的硬件平台、操作系统、数据库、网络协议等并存于同一 个系统中,这就是分布计算中常说的异构性问题。在银行应用中,异构性是普遍存在 的。它是银行应用集成的主要障碍,目前分布式计算的研究重点之一就是如何有效地 处理异构分布式计算问题。国际对象管理组织( o m g ) 提出的c o r b a ( c o m m o no b j e c t r e q u e s tb r o k e ra r c h i t e c t u r e ,通用对象请求代理体系结构) 技术和微软公司提出的 c o m d c o m 组件技术都是解决分布式计算特别是异构性问题的方案。而c o r b a 技 术是比较成熟和通用的解决方案。 华中科技大学硕士学位论文 ( 2 ) 遗产系统闯题。在银行信息化的过程中,银行自主开发或者购买了大量 的设备和软件,构筑本银行的信息系统。随着时间的推移,银行所采用的软件也日 趋丰富,种类和功能也越来越多。当银行需要把原有的零散的软件系统构造组合成 完整统一的信息系统的时候,就会面临对原有系统的取舍问题。银行长期使用这些 软件,积累了大量数据和经验,在开发新的系统的过程中,如果完全丢弃原有系统, 则开发周期大,费用高。但是如果保留原有系统,就要面对各系统之间的兼容性问 题。 目前解决遗产系统问题比较行之有较的是a g e n t 技术。a g e n t 具有独立性、自 主性和智能性,能满足银行应用各部分具有自主能动、协同工作能力的要求。而多 a g e n t 系统是一个既分布又协调的系统,因此具备一般分布式系统所要求的资源共 享、易于扩张、可靠性高、灵活性好的特点,同时各a g e n t 间可相互协调、相互合 作解决大规模的复杂问题,满足银行应用的高度开放性、分布性、可重构性和可伸 缩性的要求。利用多a g e n t 系统具有的层次性、自组织和学习推理能力,能有效保 证银行应用支持b p r 、动态企业建模、学习型组织和动态联盟等先进企业管理思 想的实现。 1 2 课题任务 现在银行所面临的主要问题是需要集成多种工作单元,以使银行能用现有软硬件 解决当前的或将来遇到的业务问题。这个问题的一个重要部分是用较新的桌面环境集 成大型机上已有的应用程序。重新创建解决方案则太花时间和金钱。本课题采用 c o r b a 与a g e n t 技术来解决这些问题。具体任务包括如下几方面: ( 1 ) 通过c o r b a ,无须与现有硬件、网络和软件结构打交道,就可以把p c 机及它的应用程序同银行其他部分连起来。有了c o r b a 技术可将银行现有的多个 计算机系统联接到一起,将各个应用系统中的数据进行整和,去掉不必要的重复, 充分利用计算机网络所提供的信息共享,减少不必要的人工录入环节,提高工作效 率。 ( 2 ) 充分利用现有环境实现平滑过渡。银行的计算机系统经过多年的积累已经 华中科技大学硕士学位论文 有了大量的成熟的应用,如果将这些应用抛弃重来需要花费大量的人力、物力和时 间,这种损失将是巨大的。使用c o r b a 与a g e n t 技术就是要将这种损失降到最低 点。 ( 3 ) 继续使用现有的计算机硬件设备和平台c o r b a 技术对应用者屏蔽了硬件 设备和网络通讯。应用者使用c o r b a 提供的i d l 编程,使不同的计算机硬件有了 统一的接口,完全解决了不同类型、不同厂家生产的计算机之间的数据一致性问题。 这样我们现有的各个计算机系统中所使用的硬件设备仍然可以在新系统中继续使 用。 ( 4 ) 用a g e n t 封装遗产系统。在c o r b a 系统中建立与应用系统相应的对象,同 时将现有应用程序用a g e n t 技术进行封装使其成为所建立对象的服务。这样,对现有 的应用程序只需要做少许的工作就可以应用于c o r b a 系统中,而且,这些应用程序 作为c o r b a 系统中的对象服务也可以为其他应用所使用,就象c 0 砌j a 系统中普通 的对象服务一样。 1 3 国内外研究状况 目前在应用集成方面的研究国外仍处于领先地位。如o r a c l e 、s y b a s e 和l o t u s 等 国外软件产商均在其主流产品中支持c o r b a 、e j b 和d c o m 技术以支持企业级应用 和w e b 应用,这些产品在企业e r p 和电予商务中均得到大量的应用。分布对象技术 在比较大型的网络系统中应用较多,比如像医学方面的医学信息系统、银行业、交通, 电信,几乎各行各业都有成功的例子,但在国内成功的比较少。有据可查的有中国移 动( 深圳) 公司提出了以c o r b a 体系为中心的有自己特色的新一代b o s s ( b u s i n e s s & o p e r a t i o ns u p p o r ts y s t e m ,业务运营支撑系统) 系统的解决方案。并在浙江省g p r s 和梦网短信计费系统的开发项目中得到应用。新模式软件集成有限公司开发的新模式 产品数据管理系统c p d m 采用基于c o r b a w e b 的体系结构。通过采用c o r b a 技术,实现了异构环境下信息和软件资源的共享,解决了企业在走向信息化过程中时 常发生但在以往却难以克服的“信息孤岛”问题,使企业的信息系统具有近于完全的兼 容性。但将分布对象应用于银行应用集成上还没有成功的例子。 6 华中科技大学硕士学位论文 分布对象技术应用起来比较复杂,因为这种软件通常都比较庞大,涉及到网络、 对象技术等多种技术,尤其是c o b r a ,系统开发比较困难。分布式系统通常采用组 合框架软件( c o m p o n e n ts o f t w a r e ) 方法进行开发或集成,是基于软件体系结构的集 成,只有特殊需求的组件才需要新开发,与其他组件在集成框架下集成为一个整体。 当然使用组合框架软件进行分布式系统开发需要一整套方法、工具和平台的支持。 国外利用分布对象技术开发的大型应用相对传统方法也不是很多,除了开发难度 较大外,还有这样一个原因就是人们都喜欢用成熟的技术。而在大型软件采用分布对 象技术,在项目开发过程的控制方面的经验不足,从一定程度上限制了分布对象技术 的应用。对于分布式对象计算这样的应用来说,需要有一系列方法论、软件工程的方 法和工具。如果不从开始就按照面向对象的方法来设计,利用面向对象的方法论和工 具来支持的话,很难做成一个成功的分布式应用。 在分布式应用集成方面,我国和国外的差距还是全面的,首先所有分布对象技术 的标准均是国外组织和企业制定的:第二在支撑平台上,国外有名的产品已不下百种, 而中国除了中科院等少数几个科研院所和公司有一些原型外,基本没有自己的产品: 第三,成功的应用太少。一般说来,网络分布式应用的第一代模式叫c l i e n t s e r v e r 模 式,第:二代叫3 层c l i e n t s e r v e r 模式,第三代叫分布式对象模式,目前国外基本上已 经从第二代向第三代过渡,电子商务的兴起将加速这一进程。而我国目前大型应用还 主要是简单c l i e n t s e r v e r 结构,但越来越多地采用3 层c l i e n t s e r v e r 的模式。比如本 课题所开发的梧州工行系统就是采用传统的c l i e n t s e r v e r 结构。 华中科技大学硕士学位论文 2 1 概述 2 c o r b a 技术简介 计算机支持下的工作正在转移到一个复杂的分布异构环境,这是技术发展和市场 需求驱动的必然结果。同时也给计算机界带来了新的挑战。用户在这种环境下以何种 方式获取信息? 用何种方式支持这种环境下的工作? 面对这些问题,急需新的模型支 持分布异构环境下的协同工作。面向对象技术和分布计算模式相结合所产生的分布对 象技术成为解决这些问题的希望。 分布对象技术的主要思想是:在分布网络上可用的所有资源被作为公共可存取对 象的集合,一个基于对象模型的分布对象管理系统( d o m s ) 负责管理这些分布对象, 并能以任意方式组合这些对象,以提供新的信息处理能力;这样的分布对象管理系统 把网络中的资源像面向对象数据库中的对象一样对待。一个客户不仅能够通过定义分 布对象模型上的接口来存取分布系统的可用对象,而且还能在更高的级别上表达对分 布系统的请求。 公共对象请求代理体系结构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 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 在不同的操作系统、语言、网络协议和硬 件结构间提供了应用层的互操作性,实现了从用户到用户的互操作性。o m g 未来计 划是运用这些有力的服务和功能支持分布环境上应用程序的开发。 2 2 基本规范 2 2 1 对象管理结构( o m a ) o m g 所采用的第一步就是对术语和结构进行约定。在1 9 9 0 年发表了对象管理 结构系统( o m a g ) ,它首先给出一种参考模型:对象管理结构o m a 。o m a 是一个 华中科技大学硕士学位论文 实现分布环境的高层次版本,其参考模型图2 1 所示。在o m a 模式中每一个软件代 表一个对象,它们通过对象请求代理与其他对象通信。 圈2 1 对象管理结构 o m a 有以下四部分组成。 ( 1 ) 对象服务:这是各分布对象程序使用的独立于领域的接口。例如,一个可 以提供定位其它可利用服务的服务对象就可以不考虑具体的应用领域。一些常用的对 象服务如方法调用处理过程,对象的永久性存储,安全机制,名字服务等等。 c o r b a 主要提供的服务及其作用如下: 生命周期服务( l i f ec y c l es e r v i c e ) :定义了对运行于o r b 上的部件进行创建、 拷贝、移动、删除等操作。 永久对象服务( p e r s i s t e n c eo b j e c ts e r v i c e ) :提供了包括对象数据库管理系统 ( o d b m s ) 、关系数据库管理系统( r d b m s ) 和文件系统等存储服务。 名录服务( n a m i n gs e r v i c e ) :在请求和服务之间提供跨协议的名字服务,使某 一对象在现存的网络名字空间中能够相应翻译。这些网络名字空间可能是:i s o x 5 0 0 s u nn i s + ,n o v e l ln d s ,i n t e m e tl d a p 等。 事件服务( e v e n ts e r v i c e ) :提供了对运营于o r b 上的对象动态创建或撤销事件 的服务。 并发控制服务( c o n c u r r e n c yc o n t r o ls e r v i c e ) :为事务或线程提供并发控制服务, 包括锁定和解锁等。 事务服务( t r a n s a c t i o ns e r v i c e ) :提供事务的定义、实施和撤销等服务。 联系服务( r e l m i o ns h i ps e r v i c e ) :提供建立、实现和取消运营在o r b 上各对象 华中科技大学硕士学位论文 联系的服务。 外部化服务( e x t e r n a l i z a t i o ns e r v i c e ) :提供供对象交流信息的流机制。 查询服务( q u e r ys e r v i c e ) :提供针对对象集合的查询操作,包括选择、插入、 更改、删除等。查询服务支持已有的s q l - 9 2 、s q l 9 3 等查询标准。查询服务还提供 了一套用于嵌套查询服务的体系结构。 属性服务( p r o p e r t ys e r v i c e ) :属性是对象的成份,反映对象的特征,它与对象 动态地联系在一起。该服务提供了动态建立和查询对象成份的功能,以及对属性的批 处理操作。 时间服务( t i m es e r v i c e ) :提供时间同步校验功能,对分布协调任务提供统一时 间标尺。它为用户提供的功能主要有4 个:用户可获取当前时间,并进行误差估计; 确定事件发生的次序;生成基于时间的事件;计算两事件的时间间隔等。 安全服务( s e c u r i t ys e r v i c e ) :提供完整的分布式对象安全框架,包括a g e n t 的 识别和鉴别、授权和访问控制、安全审计、通信安全、无否认等功能。 交易服务( t r a d es e r v i c e ) :支持对象的发布和竟标的服务。 专集服务( c o l l e c t i o ns e r v i c e ) :为对象提供支持逻辑功能集合。 ( 2 ) 公共设施( c o m m o nf a c i l i t i e s ) 是为许多应用提供的共享服务器集合。与对 象服务不同,公共设施是面向最终用户的。而对象服务是面向构件本身。公共设施的 提出,目的是为了基于c o r b a 定义组件技术和复合文档技术。1 9 9 7 年o m g 与 j a v a s o f t 同意将j a v a b e a n 作为公共设施的标准技术。 ( 3 ) 应用接1 2 ( a p p l i c a t i o n i n t e r f a c e ) 这是发展具体应用的接1 3 。o m g 并不是面 向具体应用,因此o m g 对此不做专门的规定。 ( 4 ) 对象请求代理o r b ( o b j e c tr e q u e s tb r o k e r ) :o r b 是组成o m a 的基础,它 负责部件间的通信。使不同对象在分布环境和独立于对象实现的平台之间进行交互。 1 1 2o m g 对象模型 o m g 将对象的具体实现和对象的外部接口相分离。o m g 对象模型定义了公共对 象语义,从而使得对象外部可见的接口规范化,而且这种标准是与具体实现无关的方 式定义的。c o r b a 的接口定义语言i d l ( i n t e r f a c ed e f i n i t i o nl a n g u a g e ) 是c o r b a 规 华中科技大学硕士学位论文 范中定义的一种中性语言。它通过描述对象的接口来定义对象类型,接口包括一系列 被命名的操作以及这些操作所需的参数f ”。它用来描述对象的接口,而不涉及对象的 具体实现。虽然i d l 本身不是可编程语言,但它为程序员提供了语言的独立性,实现 了语言层次上的互操作性。程序员不必知道调用者采用的语言。i d l 是面向对象的, 允许接口表示的抽象,多消息( 功能调用) 和接口继承。i d l 本身是类似于c + + 的语言 定义,其词法,语法都遵从c h 规定,任何提供基于c o r b a 的对象必须以i d l 形式 加以描述。 下面以梧州工行个人金融管理信息系统中的存款动态结构分析为例加以说明。在 此模块中要求能查询到某时间、某网点的帐户余额、帐户数目等数据,以折线图表示 各科目、各子目的存款余额、帐户数目变化趋势。系统操作界面如图2 2 所示。 图2 2 存款动态结构分析 用1 d l 可将上面需求描述如下: i d l i n t e r f a c es t r u c t u r e 华中科技大学硕士学位论文 = = = = 2 = = = = = = = = = = = = = = = = = = = = 自= = ;= := = r e a d o n l ya t t r i b u t es t r i n gb r a n c h n a m e ; l o n gd o u b l eg e t a m o u n t ( i ns t r i n gd a t e ,i ns t r i n gb r a n c l l n o ,i ns t r i n gc 眦t y p e ) ; l o n gg e t a c c c o u n t ( i ns t r i n gd a t e ,i ns t r i n gb r 锄c l 烈o ,i ns t r i n gc u r r t y p e ) : ) ; 上例中d a t e 指查询日期, b r a n c h n o 是支行或网点号,c u r r t y p e 是币种。 i d l 定义到其他特殊语言的映射,如c ,c + + ,j a v a t 等,由特殊程序语言定义的 不同对象实现,可以由i d l 编译器产生i d l 文件,使不同类型对象表现为同一种类 型接口的实例。 1 1 3 o r b 体系结构 c o r b a 的核心部件是o r b 。它包括了确定和定位对象,进行连接管理和收发数 据所必须的所有通讯设施。o r b 的基本任务是把请求从客户方传送到被激活的对象 实现中。o r b 为基于o m g 对象技术的软件模块提供了传送请求和响应的基本机制, 从而实现了应用系统在分布异构环境下的可重用、可移植和可互操作【1 1 。图2 3 就是 c o r b a 的基本框架。 图2 3o r b 体系结构 1 2 华中科技大学硕士学位论文 ( 1 ) 对象实现( o b j e c ti m p l e m e n t a t i o n ) 。它定义了实现一个c o r b a 对象i d l 接 口的方法,对象实现可由不同的语言如( c + + ,s m a l l t a l k 和j a v a ) 来编写。 ( 2 ) 客户( c l i e n t ) 。这是一个程序实体,可用来激活对象实现中的方法。远程对 象服务的访问对调用者来说是透明的,就象在一个对象中调用方法。 ( 3 ) 对象请求代理( 0 r b ) 。o r b 机制可以透明地将客户请求传送给目标对象实 现。通过使客户方不再管理方法激活的具体实现,从而简化了分布程序,当客户激活 一个方法,o r b 负责定位对象实现并透明地激活。将请求传输给对象实现并返回结 果。 ( 4 ) o r b 接口。o r b 作为一个逻辑实体,可以以各种方式实现。为了使应用和 具体实现相分离,c o r b a 为o r b 定义了抽象的接口。这种接口提供各种帮助函数, 如将对象参考转化为字符串或付本。 ( 5 ) c o r b ai d l 桩( s t u b s ) 和框架( s k e l e t o n s ) 。c o r b ai d l 桩和框架将客户、服 务应用、o r b 粘合在一起。c o r b a i d l 桩和框架提供了静态i d l 功能,它是由c o r b a i d l 定义的统一接口,c o r b a i d l 的定义和目的程序之间的翻译是通过c o r b a i d l 编译器自动匹配的。使用编译器减少了客户与服务者之间的可能不一致性,增加了自 动匹配编译者的机会。 ( 6 ) 动态激活接口d i i 。这个接口允许客户直接访问o r b 提供的请求机制。应 用使用d i i 动态地将请求与对象连接,而不通过请求i d l 所定义的s t u b s 来进行连 接。将d i i 与对象动态连接,对象的定义和接口在客户端编译时并不知道,因此这 些客户的请求必须包括对象参考、操作和参数。c o r b a 提供的接口仓库( i n t e r f a c e r e p o s i t i o n ) 就是一个对象接口描述的数据库,可以从接口仓库返回关于对象和服务 的具体描述。 ( 7 ) 动态框架接口( d s i ) 。d s i 存在服务方,类似于存在客户方的d i i 。d s i 允许 把请求传送给对象实现,而不需要知道对象实现在编译时的知识。通过d s i ,各种方 法可以不再通过由i d l 界面产生的方法所定义的框架进行访问,而直接通过接口仓库 提供的方法名和参数进行访问。 ( 8 ) 对象适配器( o a ) 。o a 实现了对象实现和o r b 内核之间的通信,它处理各 华中科技大学硕士学位论文 种服务。如:产生和解释对象参考、方法的激活、交互安全、对象实现的激活和撤销、 将参考映射成对象实现和对象实现的注册。对o a 处理对象实现的活动,o m g 提供 了四个策略。共享服务,即各个对象可以在一个程序中同时执行。不共享服务。 单方法服务,即每接到一个请求就启动一个新的服务。永久服务,只有在永久服 务中,对象的执行者可以认为总是处于活动状态。如果一个请求在任意其他的策略下 被调用,o a 将用指定的方法去激活对象,为了实现这些,o a 需要知道对象位置和 操作环境,实现仓库( i m p l e m e d a t i o nr e p o s i t i o n ) 为包含这些信息的数据库。它是 c o r b a 的标准部件。 2 3 o r b 问的互操作 现在已经出现了很多不同的o r b 产品,新产品都是基于具体的需求,在不同的 操作环境下实现的。而且在实际的应用中,一个网上也不可能只有一个b r o k e r 。有时 这些b r o k e r 可能要求在不同环境的平台上。这就产生了不同o r b 间互操作的需要。 再加上有些分布系统或客户服务器系统虽然没有遵守c o r b a 标准,但他们也需要与 c o r b a 互操作。为了解决这些问题,o m g 在1 9 9 4 年通过的c o r b a 2 0 定义不同 o r b 互操作的结构。 c o r b a 2 0 定义了一个叫领域( d o m a i n ) 的高层概念。领域根据实现和管理的不同 将对象分成不相交的对象集合,即一个个不同的领域。各领域之间就要用桥接来实现 交互。桥接应该可以灵活地适应以下两种情况:不需要太多的转换( 比如同一个 c o r b a 的不同领域) ,但要求高效。不要求效率,但需求提供路径和转换。 从策略上分,有间接桥接和直接桥接两种方法,间接桥接方式就是把交互的内容 先转换成一种公共形式。这种公共形式应是o m g 规定的标准形式,而且两方都认可 的。直接桥接方式就是把交互内容直接转换成另一领域的内部形式。如果转换后的形 式就是一个执行环境的内形式( 如t c p i p ) ,这个桥接就被称作全桥接。否则如果一个 执行环境与公共的协议不同,我们说每个o r b 只是一个半桥接。 从实现层次上分,有线内桥接o n l i n eb r i d g e ) 和请求层桥接( r e q u e s tl e v e lb r i d g e ) 两种机制。线内桥接就是在o r b 内部实现的桥接,它可以通过请求o r b 提供的特定 4 华中科技大学硕士学位论文 服务来实现,也可以通过引入专门的s t u b 和s k e l e t o n 代码来完成。o r b 之间的连接 都是请求层桥接方式,在这种方式中o r b 可以认为桥接和服务o r b 是对象实现的一 个部分,它只是通过d s i ( d y n a m i cs k e l e t o ni n t e r f a c e ) 晦 这个对象发一个请求,由d s i 把请求转换成服务器o r b 要求的形式,并通过d l l 激活服务器o r b 对象。结果返 回的过程与请求的过程相似。 o r b 定义了g i o p ( g e n e r a li n t e r - o r bp r o t o c 0 1 ) 协议和i i o p ( i n t e m e ti n t e r - o r b p r o t o c 0 1 ) 协议。g i o p 是一种通用协议,它主要是为了o r b 到o r b 闻交互而制定了 一系列标准传输语法,i i o p 是专门为t c p i p 下实现交互而作的协议。g i o p 与i i o p 的关系就象i d l 与它的实际映射语言( 如c + + ) 的关系。i i o p 设计用来与其他不兼容的 o r b 进行交互操作。i i o p 也可作为一种半桥与交互操作功能之间的一个中间层。 2 4o r b 系统的运行过程例 在o r b 系统中,一个客户应用需要使用某个对象实现时,通常要经历下述几个 过程。 ( 1 ) 客户通过某种方式找到要使用的对象的对象引用; ( 2 ) 若该对象实现有i d l 桩,则通过它发出请求:否则通过动态调用接口向对象 发出请求,这个过程需在接口库的支持下进行; ( 3 ) 请求到达o r b 核心后,o r b 核心把它传送给相应的对象适配器; ( 4 ) 对象适配器判断是否有i d l 构架的存在,若有则通过它调用对象实现中的方 法来完成具体的操作,若无,则通过动态框架接口中的动态实现过程来调用对象实现 的方法来完成具体的操作: ( 5 ) 操作的结果或异常将反向返回给客户方。一次对象请求和调用到此完成。 2 5c o r b a 规范的技术特点 归结起来,c o r b a 规范的技术特点主要有以下几个方面: ( 1 ) 分布计算技术和面向对象编程技术( 0 0 p ) 相溶合。通过o o p 的继承性,实现 华中科技大学硕士学位论文 软件代码的重用。 ( 2 ) “代理”概念的引入。代理的基本作用有三个:完成对客户方提出的抽象服 务请求的映射;自动发现和寻找服务器;自动设定路由,实现到服务器方的执行。通 过代理,用户在编制客户程序时不需了解实现的细节,只需完整地定义和说明所需完 成的任务和目标即可 ( 3 ) 客户方程序与服务器方程序完全分离。客户不再同服务器发生直接联系,而 仅和代理进行交互。因此在保持调用方式不变的情况下,服务器方和客户方程序都可 以自由地修改和升级而无需通知对方。 ( 4 ) 提供了“软件总线”的功能。该功能起到类似于计算机硬件总线的作用,只 要将应用模块按总线规范做成软插件,插入总线即可实现集成运行,实现了软构件的 即插即用。其中软件总线就是c o r b a 定义的一组独立于语言和环境的接口规范,按 照该接口规范开发出来的软件,便可方便地集成到该系统中。 ( 5 ) 设计原则和设计方式的层次化。c o r b a 规范仅定义了o r b 中用到的最基本 对象、属性和方法,而面向应用的对象可以在o m a 的应用对象、领域对象或开发环 境中逐层进行定义和实现,这样“层层扩展”,从而使o r b 始终处于非常精炼的状态。 c o r b a 的这些特点是其充分利用软件技术最新成果的结果,使其成为开放的、基于 客户n 务器模式的、面向对象的分布计算的工业标准。 华中科技大学硕士学位论文 3 1 a g e n t 概述 3 a g e n t 技术简介 近年来,有关a g e n t 的理论和应用在各学科中越来受到人们的关注,有关a g e n t 的各项研究工作迅速地开展。 那么,究竟什么是a g e m ? h e w i t t 指出:什么是a g e n t 对于基于a g e n t 的计算来 说是个尴尬的问题,就像人工智能主流中是智能这个问题一样。因为虽然a g e n t 这个 词被广泛地使用在相关领域中,却很难找到一个大家都能接受的定义。一般认为, a g e n t 是一种一定环境下包装的计算机系统,为了实现设计目的,它能在那种环境下 灵活地、自主地活动【2 1 。 一种较为普遍的观点认为,a g e n t 是计算机硬件或软件系统,其组成元素之间以 及与所在环境之间存在着某种特定的关系。a g e n t 具有有别于一般意义上所指硬件和 软件的特征:吲 ( 1 ) 自治性( a u t o n o m y ) :a g e n t 运行时不直接由人或者其它东西控制,它对它们自 己的行为和内部状态有一定的控制权。 ( 2 ) 社会能力( s o c i a la b i l i t y ) 或称可通信性( c o m m u n i c a b i l i t y ) :a g e n t 能够通过某种 a g e n t 通信语言( a g e n tc o m m u n i c a t i o nl a n g u a g e ) 与其它a g e n t 进行信息交换【6 】o ( 3 ) 反应能力( r e a c t i v i t y ) :即对环境的感知和影响。无论a g e n t 生存在现实的世界 中( 如机器人、i n t e m e t 上的通讯a g e n t 、用户界面a g e n t 等) 还是虚拟的世界中( 如虚拟 商场中的a g e n t 、交互式游戏中的a g e m 等) ,它们都应该可以感知它们所处的环境, 并通过行为改变环境。一个不能对环境作出影响的物体不法被称为a g e n t 。 ( 4 ) c a 发行为( p r o a c t i v e n e s s ) :传统的应用程序是被动地由用户来运行的而且机械 地完成用户的指令;而a g e n t 的行为应该是主动的,或者说自发的。a g e n t 感知周围 环境的变化,井作出基于目标的行为( g o a l d i r e c t e d b e h a v i 0 0 。 其中自治性是其根本特征。a g e n t 在软件系统中的代理又称为软件代理。另外, 在硬件机器人的概念里,软件代理可看作是一种软件机器人。a g e n t 是体现智力状态 华中科技大学硕士学位论文 的实体,它的状态可以看作是由信念( b e l i e f ) 、能力( c a p a b i l i t y ) 、选择( c h o i c e ) 和承诺 ( c o m r n i t m e n t ) 等心智构件组成【7 】。这些状态分别可用准确的方式表达,类似于人类通 常所使用的意义。某些硬件或软件成为a g e n t ,正是由于它们具备了对那些智力状态 进行分析和控制的能力。a g e n t 作为体现智力状态的实体,模拟人类的思维方式,对 利用计算机和其它自动化手段,解决客观世界的问题是一种有益的探索。 为了适应环境变化和协作求解,a g e n t 必须利用知识修改内部状态。o o , b 智状态 ( m e n t a ls t a t e ) 。a g e n t 的心智状态为a g e n t 如何行动提供了一种解释,也就是说a g e n t 的行动是由a g e n t 的心智状态驱动的。从心理学观点看,人类心智状态的要素主要有: 认知:信念、学习、知识等:情感:愿望、偏好、兴趣等;意向:目标、意图、 规划、承诺等。当前人们侧重研究信念( b e l i e f ) 、愿望( d e s i r e ) 、意图( i n t e n t i o n ) 的关系 和形式化描述,建立a g e n t 的b d i 模型【2 。 信念包

温馨提示

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

评论

0/150

提交评论