




已阅读5页,还剩63页未读, 继续免费阅读
(计算机应用技术专业论文)组件技术在企业信息系统中的应用.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 随着信息技术的高速发展,企业级的信息系统和以往相比,有了很大的进 步。企业级的应用不再局限于以往的单机系统或简单的客户端服务器系统,而 是逐步向着三层、多层基于组件的体系结构的方向发展。 面向对象技术依赖于特定编程语言,只能基于源代码级别的重用,组件技 术由于其不依赖于特定的编程语言,大大提高了系统中模块的可复用性和可扩 展性。组件化的软件可以很容易地嵌入第三方组件,而这些第三方组件大部分 是成功应用过的、安全稳定的组件,企业不仅可以减少开发成本,而且大大增 强了软件的安全性和可靠性,使得企业可以集成组装软件系统。可以说,组件 化开发为应用程序的开发提供了一条崭新的思路。 本文以某i t 公司的合同管理系统为应用背景,综合运用n e t 平台下的组件 的相关技术,实现了一个典型的适合企业应用的管理系统。论文主要包括以下 几个方面: ( 1 ) 组件的概念以及国内外组件技术的发展现状,当前组件技术的发展特 点和趋势。 ( 2 ) 研究了组件技术的工作原理和技术特点,比较分析了当前主流的三种 分布式组件平台:m i c r o s o f t 的n e t 平台,s u n 公司的j 2 e e 规范,以及o m g 组 织的c o r b a 规范。 ( 3 ) 本文选择m i c r o s o f t 的n e t 平台作为主要应用平台,在介绍了n e t f r a m e w o r k 的核心概念之后,着重分析了n e t 组件的开发和应用,讨论了n e t 组件和c o m 组件间的相互调用技术。 ( 4 ) 遵循软件工程的方法详细讨论了基于组件的多层合同管理系统的构建 过程,对项目涉及的商业逻辑层、配置层、数据服务层、数据库层、共享层、 界面层等进行了介绍。最后对组件技术进行了总结,并探讨了组件的发展趋势。 关键字:组件技术,n e t 框架,企业信息系统,多层框架 a b s t r a c t w i t hf a s td e v e l o p m e n to fi n f o r m a t i o nt e c h n o l o g y , 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 h a sm a d eg r e a tp r o g r e s s t h ee n t e r p r i s ei n f o r m a t i o ns y s t e mi sn o ta p p l i e dt os i n g l e c o m p u t e ro rs i m p l eb r o w s e r s e r v e ra p p l i c a t i o n ,b u tg r a d u a l l yd e v e l o p e dt ot h et h r e e o rm u l t i t i e ra r c h i t e c t u r e o b j e c t - o r i e n t e dt e c h n o l o g yd 印e n d so ns p e c i f i cp r o g r a m m i n gl a n g u a g e ,s oi t j u s t c a r lb em u s e do ns o u r c ec o d e h o w e v e r , w i t h o u td e p e n d i n go ns p e c i f i c p r o g r a m m i n gl a n g u a g e ,t h ec o m p o n e n t - b a s e dt e c h n o l o g yg r e a t l yi m p r o v e s t h e r e u s a b i l i t ya n de x p a n s i b i l i t y o fm o d e li n a p p l i c a t i o ns y s t e m c o m p o n e n t - b a s e d s o f t w a r ec a nb ee a s i l ye m b e d d e dt h et h i r d p a r t yc o m p o n e n t s ,m o s to fw h i c ha r e a p p l i e ds u c c e s s f u l l y i n s e c u r i t y , s o t h e e n t e r p r i s ec a l ln o to n l yr e d u c et h e d e v e l o p m e n tc o s t ,b u ta l s oe n h a n c et h es e c u r i t ya n dr e l i a b i l i t yo fs o f t w a r e ,a n dt h e c o m p a n yc a ni n t e g r a t ea n da s s e m b l et h es o f t w a r e i nt h i sw a y , c o m p o n e n t - b a s e d t e c h n o l o g yp r o v i d e sag r e a ti d e af o rt h ed e v e l o p m e n to f a p p l i c a t i o np r o g r a m i nt h i st h e s i s ,b a s e do nc o m p o n e n tt e c h n o l o g yo n n e tp l a t f o r m ,t h ec o n t r a c t m a n a g e m e n ts y s t e mo fai tc o m p a n yi st a k e n a sa na p p l i c a t i o ne x a m p l e ,a n da l l e n t e r p r i s ea p p l i c a t i o ns y s t e mi sa c c o m p l i s h e d t h em a i nc o n t e n t sa l es h o w na s f o l l o w s : ( 1 ) i n t r o d u c et h ec o n c e p to fc o m p o n e n tt e c h n o l o g y , a n dt h ec u r r e n tr e s e a r c h s t a t ei n c l u d i n gi t sf e a t u r e sa n dd e v e l o p m e n tt r e n d ( 2 ) d i s c u s st h ep r i n c i p l e sa n df e a t u r e so fc o m p o n e n t ,a n dg i v et h ec o m p a r i s o n b e t w e e nt h et h r e ed i f f e r e n tp o p u l a rc o m p o n e n tp l a t f o r m si n c l u d i n gm i c r o s o f t n e t p l a t f o r m j 2 e ef r o ms u na n dc o r b a f r o mo m g ( 3 ) c h o o s em i c m s o f i n e tf r a m e w o r ka sad e v e l o p i n gp l a t f o r m a f t e r i n t r o d u c i n gt h ec o r ec o n c e p t i o no f n e tf r a m e w o r k ,a n a l y z eh o wt od e v e l o pa n d a p p l yt h e n e tc o m p o n e n t ,a n dd i s c u s st r a n s f e r r i n gb e t w e e n n e tc o m p o n e n t sa n d c o m c o m p o n e n t s ( 4 ) a c c o r d i n gt o s o f t w a r e e n g i n e e r i n gm e t h o d ,c o m p o n e n t - b a s e ds y s t e m b u i l d i n gp r o c e s si sp r e s e n t e di nd e t a i l s i xd i f f e r e n tt i e r sw h i c ha r eb u s i n e s sl o g i c l l l a y e r , c o n f i g u r a t i o nl a y e r , d a t am o d e ll a y e r , d a t a b a s el a y e r , u t i l i t yl a y e ra n dw e b l a y e r a r e i n t r o d u c e d f i n a l l y , t h ec o m p o n e n tt e c h n o l o g y a n dt h et r e n do f c o m p o n e n t - b a s ed e v e l o p i n gt e c h n o l o g ya r ei s s u e d k e yw o r d s :c o m p o n e n tt e c h n o l o g y , ,n e tf r a m e w o r k ,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 ,m u l t i - t i e rf r a m e w o r k i l l 武汉理工大学硕士学位论文 1 1 研究课题的提出 第1 章绪论 随着计算机技术的不断发展,尤其是i n t r a n e t i n t e r n e t 的飞速发展,软 件应用置身于更加广阔的环境中,企业的应用系统和以往相比,有了很大的进 步,对软件设计提出了更高的要求。传统的企业应用软件典型的开发模式可以 实现代码的定制,避免了重复劳动,且拥有强大功能,但弊端是没法满足企业 个性化需求,往往难以体现企业的变化和成长,无法做到“随需应变”。在此 背景下,以b e a 为代表的一批技术创新型公司率先提出并开始倡导面向组件的 开发技术,该技术改变了过去4 0 多年以计算机语言和代码为主导的传统开发模 式,转而采用组件库这一全新思路。组件化的软件可以很容易嵌入从第三方组 件供应商购买的组件,而这些新购入的组件大部分是成功应用过的、安全稳定 的组件,企业不仅可以减少开发成本,而且大大增强了软件的安全性和可靠性, 使得企业可以集成组装软件系统。组件不是基于源代码级别的重用,而是基于 更高级别的二进制的重用,因其不依赖于特定的编程语言,大大提高了系统中 模块的可复用性和可扩充性。可以说,组件化开发为应用程序的开发提供了一 条崭新的思路。利用分布式的组件技术,我们可以构建跨越单机、局域网、甚 至i n t e r n e t 的地理上分布的大型分布式应用系统;利用分布式组件技术,我们 可以非常容易地将应用程序系统进行分层,例如分解成表示层、中问层和数据 库层,使用组件技术实现的应用软件系统不再是一个固化的整体性系统,而是 通过组件间互相提出请求及提供服务的协同工作机制来达到系统的目标,这样 可以大大降低层与层之间的相互依赖。由于组件具有良好的接口特性,因此, 基于组件集成的系统具有较大的灵活性,便于团队合作开发,降低开发、部署 复杂度,同时使得升级和更新也更简单易行。这种被业界形象地称为“搭积木” 式的软件开发方式业已成为信息化的主流方向之一。 本课题以某i t 公司合同管理系统为应用背景,综合利用n e t 平台的组件 技术,实现了一个典型的适合企业使用的合同管理系统。 武汉理工大学硕士学位论文 1 2 课题研究的现状 组件是具有一定的功能和结构,并符合一定的标准,可以完成一个或多个 特定的服务的软件实体,可独立部署、可组装。采用组件技术的软件生产方式 就是一种类似于“零部件组装”的集成组装式软件生产方式,它把零件、生产 线和装配运行的概念运用在软件产业中,打破了手工作坊式的软件开发模式, 而且采用组件技术可以实现软件复用,实现“搭积木”的生产方式。在组件技 术领域,国内相比于国外。起步较晚,基础较差,成功的大型企业级分布式应 用案例较少,较多的都仅停留在对国外主流分布式组件技术的理论研究和逐步 应用阶段,近年来在组件技术应用方面也取得了一些成绩。而在国外,理论成 熟较早,应用和研究都很丰富,出现了许多成功的应用案例,这些案例包括医 药、金融、交通、电信等几乎各个行业。目前公认的主流分布式组件技术均出 自国外:有m i c r o s o f t 公司的n e t 平台、s u n 公司的j 2 e 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 m m o no b j e c tr e q u e s tb r o k e ra r c h it e c t u r e ) 规范。2 1 1 2 1 国内组件技术发展现状 软件组件化可以分为两个层面:一个是在软件企业内部实施基于组件的软 件开发,形成组件开发、管理、应用组装的流水线模式,实现企业内部的软件 工程化开发;另一个是在软件产业范围内形成组件生产企业、组件流通中介、 软件集成企业等的专业化分工与协作,构筑软件生产的上下游产业链,实现软 件工业化生产。尽管国内组件技术起步比较晚,但国内在主流组件技术规范的 基础上也研究出了一些令人振奋的成绩。 ( 1 ) 北京大学软件工程研究所0 1 北京大学软件工程研究所是一个专注于软件工程及其相关领域的研究和实 践的学术机构,近年来,研究所在所长杨芙清院士的领导下,对软件复用与软 件组件技术进行了深入的研究。成果代表为青鸟工程,青鸟工程在软件复用和 组件技术领域成绩斐然。 在对国际相关标准规范进行比较研究的同时,青鸟工程对国际上学术界关 于软件复用和软件组件技术的一些主要成果进行了分析研究,结合前期攻关和 武汉理工大学硕士学位论文 8 6 3 课题研究的实践和基础,提出了一套青鸟组件标准规范。这套标准规范保 持了和国际标准规范的接轨和兼容,同时也融进了一些国际上重要研究成果和 自己的研究成果,具有自身特色和优点。这些规范包括:青鸟可复用组件制作 指南、青鸟领域工程方法指南、青鸟组件模型、青鸟组件描述语言、青鸟组件 库模型、基于复用的软件开发过程。 青鸟组件构架模式的软件开发技术,已在北大青鸟商用系统公司开发的若 干商场管理系统中进行试用。青鸟公司先后开发了桂林百货大楼、北京前门商 场等p o s 系统,积累了丰富的领域信息和经验,通过领域工程,提炼出p o s 系 统的类属构架及1 2 0 多个组件。现正使用这些构架和组件进行新的p o s 系统的 集成组装工作。 ( 2 ) 上海普元【4 1 普元软件( p r i m e t o n ) 是基于组件的中间件产品提供商,公司致力将互联 网、面向组件以及图形化组装等技术完美结合,创造了领先的“面向组件的中 间件一普元e o s ”产品,革命性地改变了传统应用软件的结构和开发方式, 使用普元e o s 可以快速、低成本地生产出高质量、高扩展性的应用软件。目前, 普元e o s 已在电信、金融、电子政务、电力、物流、制造、市政、城建等多个 行业和领域的关键软件应用上得到一致验证,并承担“国家8 6 3 计划”项目的 研发任务。 普元是国内蛙早推进面向组件技术的厂商之一,也是目前国内唯一一家提 供真正意义上的面向组件的互联网应用基础平台的专业化厂商。普元把崭新的 互联网相关技术与先进的组件复用技术以及可视化开发技术完美地结合起来, 创造了一套具有国际领先水平的面向组件的互联网的应用基础平台一一e o s 。 ( 3 ) 科泰世纪科技有限公司0 1 e l a s t o s 是科泰世纪科技有限公司拥有完全自主知识产权的基于 c a r ( c o m p o n e n ta s s e m b l yr u n t i m e ) 构件中间件技术的面向未来网络服务的下一 代网络操作系统。c a r 构件技术是面向构件编程的编程模型,它规定了组构 件间相互调用的标准,使得二进制构件能够自描述,能够在运行时动态链接。 c a r 兼容微软的c o r d ,但是和微软c o m 相比,c a r 删除了c o m 中过时的约定,禁 止用户定义c o m 的非自描述接口;完备了构件及其接口的自描述功能,实现了 对c o m 的扩展;对c o m 的用户界面进行了简化包装,易学易用。可以说c a r 是 微软c o m 的一个子集,在很大程度上借鉴了c o m 技术,保持了对c o m 的兼容性, 武汉理工大学硕士学位论文 同时对微软的c o m 进行了扩展。c a r 的编程思想是该公司技术的精髓,它贯穿 于其产品整个技术体系的实现中。 软件组件是现代软件系统的基础成分,软件组件业是软件产业的基础产业。 为了促进软件工业化生产技术的推广应用和软件工业的发展,规范软件组件业, 国家信息产业部在2 0 0 2 年8 月成立了软件组件标准工作组,北京大学杨芙清教 授担任组长,该工作组的主要任务是组织研制系列组件标准和组件标准体系。 1 2 2 国外组件技术发展现状 1 9 6 8 年n a t o 软件工程会议,m c l l r o y 在提交会议的论文大量生产的软件 组件中,提出了“软件组装生产线”的思想。从那以后,采用组件技术实现 软件复用,采用“搭积木”的方式生产软件,成为软件开发人员长期的梦想。 软件复用是指重复使用“为了复用目的而设计的软件”的过程。就软件开发而 言,软件复用包括:早期的函数复用、面向对象言语中的类的复用,以及互联 网时代的完整软件体系的组件复用。 中间件是组件化软件的一种表现形式。中间件抽象了典型的应用模式,应 用软件制造者可以基于标准的中间件进行再开发,这种操作方式其实就是软件 组件化的具体实现。国际数据集团( i d c ) 在日前发表的一份报告中预计今后五 年中间件市场将会快速成长。而业内人士认为,未来基于i n t e r n e t 的电子商务 业务将有7 9 在中间件的基础上构建。 ( 1 ) b e at u x e d o “1 b e a 公司的交易中间件产品t u x e d o ,是在分布、异构环境下提供保证交易 完整性和数据完整性的一种环境平台。在分布式事务处理系统中要处理大量事 务,常常在系统中要同时做上万笔事务。在联机事务处理系统( o l t p ) 中,每笔 事务常常要多台服务器上的程序顺序地协调完成,一旦中问发生某种故障时, 不但要完成恢复工作,而且要自动切换系统,达到系统永不停机,实现高可靠 性运行;同时要使大量事务在多台应用服务器能实时并发运行,并进行负载平 衡地调度,实现昂贵的可靠性机和大型计算机系统同等的功能,为了实现这个 目标,要求系统具有监视和调度整个系统的功能。根据x o p e n 的d t p ( d i s t r i b u t e dt r a n s a c t i o np r o c e s s i n g ) 模型规定,一个分布式交易处理系 统应由事务处理、通信处理以及资源管理三部分组成。 4 武汉理工大学硕士学位论文 b e at u x e d o 一个特色功能是能够保证对电子商务应用系统的不间断访问。 它可以对系统组件进行持续的监视,查看是否有应用系统、交易、网络及硬件 的故障。一旦出现故障,b e at u x e d o 会从逻辑上把故障组件排除,然后进行必 要的恢复性步骤。 b e at u x e d o 的另一个特色是提供多个层面的负载均衡。b e at u x e d o 根据系 统的负载指示,自动开启和关闭应用服务,可以均衡所有可用系统的负载,以 满足对应用系统的高强度使用需求。借助d d r ( 数据依赖路由) 。b e at u x e d o 可 按照消息的上下文来选择消息路由。其交易队列功能,可使分布式应用系统以 异步“少连接”方式协同工作。 ( 2 ) i b mm o s e r i e s m i b mm q s e r i e s 是i b m 的消息处理中间件。m q s e r i e s 提供一个具有工业标准、 安全、可靠的消息传输系统。它的功能是控制和管理一个集成的系统,使得组 成这个系统的多个分支应用( 模块) 之间通过传递消息完成整个工作流程。 m q s e r i e s 基本由一个信息传输系统和一个应用程序接口组成,其资源是消息和 队列。m o s e r i e s 的关键功能之一是确保信息可靠传输,即使在网络通信不可靠 或出现异常时也能保证信息的传输。m q s e r i e s 的异步消息处理技术能够保证当 网络或者通信应用程序本身处于“忙”状态或发生故障时,系统之问的信息不会 丢失,也不会阻塞。 在国外,分布式组件的应用已经十分广泛,在大中型企业的应用解决方案 及电子商务等应用中都有许多成功案例,且越来越多的国外著名软件供应商都 在他们的产品中支持了主流的分布式组件技术,以便于支持企业级应用和w e b 应用。 1 3 研究课题的基本内容及思路 本文对组件的概念及特点作了详细的介绍,比较了目前流行的三种组件平 台,结合实际的例子探讨了n e t 组件的开发过程。论文以某i t 公司的合同管 理系统为应用背景,综合运用n e t 平台下的组件相关技术,实现了一个典型的 适合企业使用的管理系统。遵循软件工程的方法详细讨论了基于组件的多层合 同管理系统的构建过程,根据项目需求的分析结果,确定了项目模块和各模块 主要功能,针对项目特点将角色的概念引入进来,给出了角色和功能关系的u m l 武汉理工大学硕士学位论文 用例图。采用流行的多层模型构建了项目的框架,从各层的功能出发,对项目 涉及的商业逻辑层、配置层、数据服务层、数据库层、共享层、界面层等进行 了介绍,其中的商业逻辑层和数据库层在项目里都是以组件的形式提供其他各 层调用。 全文分为五个部分,其主要内容安排如下: ( 1 ) 绪论 本章主要介绍了国内外组件技术发展的现状,分析了当前组件技术的发展 特点和趋势。 ( 2 ) 组件技术 本章介绍了组件技术的概念和优势,分别介绍了三种流行的组件平台,并 比较分析了三种平台各自的优缺点。 ( 3 ) n e t 下组件的开发和应用 本文选取m i c r o s o f t 的n e t 平台作为主要应用平台,在介绍了n e t f r a m e w o r k 的核心概念之后,着重分析了n e t 组件的开发和应用,讨论了n e t 组件和c o m 组件间的相互调用。 ( 4 ) 基于组件的合同管理系统的设计与实现 以合同管理系统为应用背景,按照软件工程的开发步骤,介绍了基于组件 的合同管理系统的开发,对系统的框架和结构作了详细分析。 ( 5 ) 总结与展望 结合项目开发的实际总结组件开发的特点,展望组件技术的发展趋势。 6 武汉理工大学硕士学位论文 第2 章组件技术 2 1 组件的定义及优势 组件技术是目前流行的软件开发技术之一。对组件技术的常见说法有以下 这些,“二进制软件单元”、“任意场合可部署的软件”、“特别适合第三方 开发和规范定义的接口”等等。大致上可以这样理解,组件其实就是一种可部 署的软件代码包,其中包括某些可执行模块。组件单独开发并作为软件单元使 用,它具有明确的接口,软件就是通过这些接口调用组件所能提供的服务,多种 组件可以联合起来构成更大型的组件乃至直接建立整个系统。组件的实现必须 支持一种或者多种其他用户所希望获得的接口,为了构造新应用程序,软件开 发人员找出适当的组件,将这些组件加入到正在开发中的应用程序,同时对应 用程序进行测试并保证应用程序的组装工作按照预定的规划正常进行。采用组 件技术能降低开发、测试和维护成本,提高可靠性和稳定性。0 1 组件技术的发展经过了多年的实践和运用,已经达到了一个比较成熟的阶 段。组件技术是对早期面向对象思想的沿袭和扩展,是可复用的软件组成成分, 可被用来构造其他软件,他可以是被封装的对象类、一些功能模块、软件框架 及设计模式等,使各个组件相互独立而又能有效交互实现一个功能系统,它在 二进制级别上实现了代码的复用。1 具体来说,组件技术的优势主要表现在以 下几个方面: ( 1 ) 可重用性:组件化的软件开发有利于软件企业的经验和技术积累。组 件可以很好地重用,使企业大大减少后续开发与改进的投入和费用。组件开发 技术使业务逻辑封装在规划好的组件单元内,当面对不同客户需求时,只须更 改相应的组件,通过事先定义好的组件接口,很快就可以完成系统的集成。另 外,使用组件管理可以方便系统版本维护。当现有系统不能满足要求时,企业 一般都会选择对现有应用系统进行再开发,往往不抛弃现有系统。因此,对系 统扩展或进行再开发时,现有应用系统中的组件也可以被重用。叫 ( 2 ) 连续性:在整个开发过程中,由开发工具实现了企业设计和应用系统 开发之间的联系。从企业设计到过程组织和数据组织,直至最终应用系统的每 一个步骤,使用者都是由相应的开发工具支持的。曲开发工具开发的组件可以 7 武汉理工大学硕士学位论文 被多次重用和组合,所以使用者只需精通较少的基本单元。如一个数据登录界 面可以被用于一个任务的输入,也可以查看所有过程的信息或对数据表格的内 容快速浏览。 ( 3 ) 适应性:全面、个性化、可调节的适应能力。由于企业所属行业、规 模、生产类型的多样性,以及企业组织和业务流程经常性的变化,因此要求软 件供应商或开发者所提供的软件能适应企业个性化的要求。组件以两种不同的 方式进行适应性调节:在一个应用系统中进行组件转换时,通过自由的、可选 择的组件与数据表格的对应来进行适应性调节;借助于组件开发工具进行结构 化适应。组件开发工具允许对所有单元进行非程序化的改变和由使用者自己进 行适应性调节。 ( 4 ) 开放性:不依赖于企业的类型和规模,可以在多数据库系统、多操作 系统平台上运行。系统中所有单元均不依赖于某一种数据库系统。例如,借助 于开发工具所开发的组件和应用系统中,数据可以在异构数据库之间实行转换。 ( 5 ) 对业务逻辑的封装:对业务逻辑封装的规划,确定了组件的边界和接 口特性。良好的规划可以使组件和其功能与某一具体的应用系统之间相对独立, 组件可以独立开发和单独测试。 2 2 主流的组件平台 当今主流的分布式组件技术主要有:m i c r o s o f t 公司的n e t 平台,o m g 组织制 定的c o r b a 规范和s u n 公司的j 2 e e 规范。“” 2 2 1 n e t 平台 n e t 平台下对c o m + 的支持都放到t s y s t e m e n t e r p r i s e s e r v i c e s 命名空间, 只要是从s e r v i c e d c o m p o n e n t 继承过来的类,稍微配置后,就可以享有c o m + 提供 的众多服务。 但传统的c o m 对象与n e t 平台对象模型有许多的不同,主要表现在: ( 1 ) c o m 对象的客户必须自己管理c o m 对象的生存期,而n e t 对象的生存期 由通用语言运行时( c o m m o nl a n g u a g er u n t i m e ,c l r ) 来管理,对象销毁通过垃 圾回收器( g a r b a g ec o l l e c t i o n ,g c ) 自动回收。 武汉理工大学硕士学位论文 ( 2 ) c o m 对象的客户通过调用q u e r y i n t e r f a c e 函数查询c o m 对象是否支持某 个接口和得到某个对象实现了的接口,而n e t 对象的客户使用反射机制,使用 s y s t e m r e f l e c t i o n 下的类来获得对象的方法、属性等功能描述。 ( 3 ) c o m 对象的客户通过指针引用c o m 对象,对象在内存中的位置是不变的, 而n e t 对象在内存中的驻留由n e t 平台执行环境( e x e c u t i o ne n v i r o n m e n t ) 来管 理,对象在内存中的位置是可变的,比如出于优化性能的考虑,同时会更新所 有对象的引用。n ” 为了实现传统的c o m 程序与n e t 程序之间的相互调用,n e t 提供了n e t 组件 和原有c o m 组件的互访机制:c o mi n t e r o p ( c o mi n t e r o p e r a t i o n ) 机制,n e t 提 供了运行时可调用包( r u n t i m ec a l l a b l ew r a p p e r ,r c w ) 和可调用封装器( c o m c a l l a b l ew r a p p e r ,c c w ) ,在论文的第三章将详细介绍他们之间的相互调用。 n e t 客户端调用c o m 对象的方法时,n e t 客户端不会直接与c o m 对象打交道, 而是由托管代码与r c w 联系。r c w 是i 扫c l r 根据i n t e r o p 程序集中包含的元数据信 息在运行时动态创建的,充当n e t 客户端和c o m 对象之间的调用处理的代理。“” 对于n e t 客户端,r c w 看上去与其他任何c l r 对象一样。不管每个c o m 对象具有多 少托管引用,都只有一个r c w 。r c w 可以执行以下功能:( 1 ) 调用封装的方法;( 2 ) 代理c o m 接口:( 3 ) 保留对象标识;( 4 ) 维护c o m 对象生存期。 当c o m 客户端调用n e t 对象时,由c c w 将来自c 0 m 客户端的调用转发给n e t 对 象。c c w 在这里充当了c o m 客户端和n e t 对象之间的代理。c c w 使得c o m 客户端认 为它们是在与另一个c o m 对象联系。c c w 实现了标准的c o m 接口,例女i i u n k n o w n , i d i s p a t c h 以及其他许多接口。某种n e t 类型的多个c o m 客户端可以共享一个 c c w 。c c w 接口可以执行以下功能:( 1 ) 将c o m 数据类型转换为相应的c l r 类型;( 2 ) 模拟c o m 引用计数:( 3 ) 提供封装的标准c o r d 接口实现。 c o r b a 分布计算技术是o m g 组织基于众多开放系统平台厂商提交的分布式对 象的基础上制定的公共对象请求代理体系规范。c o r b a 是由绝大多数分布计算平 台厂商所支持和遵循的系统规范技术,具有模型完整、先进、独立于系统平台和 开发语言,被支持程度广泛的特点,已逐渐成为分布计算技术的标准之一。 c o b r a 标准主要分为三个层次:对象请求代理、公共对象服务和公共设施。 武汉理工大学硕士学位论文 最底层是对象请求代理o r b ,规定了分布对象的定义和语言映射,实现对象阃的 通讯和互操作,是分布对象系统中的“软总线”;在o r b 之上定义了很多公共服 务,可以提供诸如并发服务、名字服务、事务服务、安全服务等各种各样的服 务;最上层的公共设施则定义了组件框架,提供可直接为业务对象使用的服务, 规定业务对象有效协作所需的协定规则。3 1 目前,c o r b a 兼容的分布计算产品层 出不穷,其中有中间件厂商的o r b 产品,如b e 埘3 ,i b mc o m p o n e n tb r o k e r ,有分布 对象厂商推出的产品如i o n a o b i x 和o o c o b a c u s 等。 图2 - 1c o r b a 规范结构 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 规范的近期发展,增加了面向i n t e r n e t 的特性。服务质量控$ $ 1 c o r b a 组件模型( c o r b ac o m p o n e n tm o d e l ) 。i n t e r n e t 集成特性包括了针对i i o p 传输的 防火墙( f i r e w a l l ) 和可内部操作并定义了u r l ( u n i f o r mr e s o u r el o c a t o r ) 命名 格式的命名服务( n a m i n gs e r v i c e ) 。服务质量控制包括能够具有质量控制的异 步消息服务,一组针对嵌入式系统的c o r b a 定义,一组关于实时c o r b a 与容错 c o r b a 的请求方案。 c o r b a 组件模型( c o r b ac o m p o n e n tm o d e l ,c c m ) 技术,是在支持p o a 的c o r b a 规范基础上,结合e j b 当前规范的基础上发展起来的,是o m g 组织制定的一个用于 开发和配置分布式应用的服务器端中间件模型规范,它主要包括如下三项内容: ( 1 ) 抽象组件模型,用以描述服务器端组件结构及组件间互操作的结构; ( 2 ) 组件容器结构,用以提供通用的组件运行和管理环境,并支持对安全、 1 0 武汉理工大学硕士学位论文 事务、持久状态等系统服务的集成: ( 3 ) 组件的配置和打包规范,c c m 使用打包技术来管理组件的二进制、多语 言版本的可执行代码和配置信息,并制定了组件包的具体内容标准。 c o r b a 组件结构上主要包括o r b 核心,o r b 界面,i d l 存根,d i i ( d y n a m i c i n v o c a t i o ni n t e r f a c e ,动态调用界面) ,对象适配器。i d l 骨架,d s i ( d y n a m i c s k e l e t o ni n t e r f a c e 。动态骨架界面) 。c o r b a 运行结构( o r b 核心) 是由特定开 发商决定的,不是由c o r b a 定义的。不管怎样,o r b 界面是一个标准的功能界面, 是由所有的c o r b a 兼容o r b 提供的。i d l 处理器为每个界面产生存根。这就屏蔽了 低层次的通信,提供了较高层次的对象类型的特定a p i 。d i i 是相对于i d l 存根的 另一种方法,它为运行时构建请求提供了一个通用的方法。对象适配器,为可 选的对象技术被集成到o m a 提供支持。i d l 骨架类似于i d l 存根,但是,它们是工 作于服务器端的( 对象实现) 。对象适配器发送请求给i d l 骨架,然后,i d l 骨架 就为之调用合适的对象实现中的方法。 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 为构建分布式应用定义了非常广泛的服务。0 姒服务为划分为三层, 分别称为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 通信框架,如图2 一l 所示。这些服务 在o m a 中实际上是不同种类的对象的定义,并且为了支持分布式应用,定义了很 广泛的功能。 c o r b a s e r v i c e s ( c o r b a 服务) :是开发分布式应用所必需的模块。这些服务 提供异步事件管理,事务、持续、并发、名字、关系和生存周期的管理。 c o r b a f a c i l i t i e s ( c o r b a 工具) :对于开发分布式应用不是必须的,但是在 某些情况下是有用的。这些工具提供信息管理、系统管理、任务管理和用户界 面。 a p p l i c a t i o n o b j e c t s ( 应用对象) :主要为某一类应用或一个特定的应用提 供服务。它们可以是基本服务、公共工具或特定应用服务。 c o r b a 还定义了通用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 ) ,以及基 于t c p i p 的i n t e r n e t 网间o r b 协议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 ) ,用于 网络上o r b 的互操作协议。c o r b a 在不同对象请求代理之间使用i l o p 进行通信, 使用t c p 作为网络通信协议。“” c o r b a 对象的接口用一种可编程的、独立于任何编程语言的规范语言编写, 武汉理工大学硕士学位论文 这种语言就是接口定义语一言i d l ,它是c o r b a 标准的一部分。c o r b a 客户端是任 何使用了网络所提供的c o r b a 对象的软件单元。o r b 是c o r b a 规范的基础,它是一 个能够将c o r b a 客户端请求发送至i j c o r b a b t 务器对象的中间软件单元。使用o r b 可 以使请求处理的详细操作对客户端透明化。例如,在网络中调用远程服务器对 象方法就好像是本地方法的调用,o r b 负责处理客户端对象与服务器对象间的所 有通信。 c o r b a 规范是由对象管理组织o m g 提出的应用软件体系结构和对象技术规 范,其核心是一套标准的语言、接口和协议,以支持异构分布应用程序间的互 操作性及独立于平台和编程语言的对象重用。 2 2 3j 2 e e 规范 j 2 e e ( j a v a2p l a t f o r me n t e r p r i s ee d i t i o n ) 是s u n 公司定义的开发分布 式企业级应用的规范。它提供了一个基于组件的方法来设计、开发、装配和部 署多层次的分布式应用程序平台和一系列开发技术规范。多层次分布式应用模 型是指根据功能把应用逻辑分成多个层次,每个层次支持相应的服务器和组件, 组件在分布式服务器的组件容器中运行( 如s e r v l e t 组件在s e r v l e t 容器上运行, e j b 组件在e j b 容器上运行) ,容器间通过相关的协议进行通信,实现组件间的相 互调用。遵从这个规范的开发者将得到行业的广泛支持,开发者将不必担心运 行关键商务应用所需的“管道工程”。从而可以集中精力重视商业逻辑的设计 和应用的表示,使企业级应用的开发变得简单、快速。“ j 2 e e 的核心思想是基于组件容器的应用。每个组件提供了方法、属性、事 件的接口,可以由多种语言开发,并且组件是可以重用的、共享的、分布的。 对j 2 e e 开发环境而言,组件是几种特定的j a v a 程序,这些程序有固定的格 式和编写方法,它们的功能和使用方式在一定程度上被标准化了。最基本的j a v a 组件是在j a v a 标准版j 2 s e ( j a v a2s t a n d a r de d i t i o n ) 中的j a v a b e a n ,它是按照 特定格式编写的j a v a 类文件。j a v a b e a n s 包括实例变量( i n s t a n c ev a r i a b l e ) 和 访问实例变量的数据的g e t ( ) 与s e t ( ) 的方法,这种格式大大简化了程序设计。 j 2 e e 的组件在j a v a b e a n s 基础上进行了拓展。由于w e b 编程比较复杂,j 2 e e 提供 了更多应用组件,主要包括三类:客户端的a p p l e t 和程序客户;w e b 容器内的j s p 、 s e r v l e t 、j s t l 等组件;企业j a v ab e a n s 容器内的e j b 组件和资源连接组件。“ 武汉理工大学硕士学位论文 j 2 e e 结构如图2 2 所示。 图2 2j z e e 多层次结构w e b 程序框架 ( 1 ) j 2 e e 客户 j 2 e ew e b 应用可以和多种客户端程序连接。这些客户主要包括以下部分: w e b 客户端和在客户机上运行的w e b 浏览器。w e b 客户端包括动态生成的网页( 包 含各种各样的类型标注语,女h h t m l ,x m l 等) ,w e b 浏览器( 女h i n t e r n e te x p l o r e r , n e t s c a p e ) 以标准格式显示从服务器传递来的网页。 a p p l e t 是基于j a v a 的小型客户端组件。它一般在w e b 浏览器上运行,通过 h t t p 协议和服务器进行通信。从服
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 出轨协议书范本简约版
- 拆迁用工赔偿协议书范本
- 工业地产项目协议书范本
- 个人还货款协议书范本
- 心理健康课课件小学
- 摩托租车合同协议书范本
- 2025年灯饰照明:户内照明项目发展计划
- 心理健康课件内容
- 2025年映前广告项目合作计划书
- 2025版交通物流顶岗实习协议书(实习培训与行业应用)物流升级
- 矿泉水销售合同协议
- DB50-T 1808-2025“一表通”智能报表市级业务数据规范
- 2022屋顶分布式光伏电站设计方案
- 2023山东能源集团高校毕业生校园招聘笔试参考题库附带答案详解
- 生产车间6S员工培训
- 2025年公安辅警招聘知识考试题(附含答案)
- 内部收益率的计算课件
- 《高压开关设备概述》课件
- 航天器发射与返回任务作业指导书
- 甲功7项临床意义
- 2025年小升初入学摸底考试数学试卷
评论
0/150
提交评论