CORBA
- 格式:ppt
- 大小:241.50 KB
- 文档页数:24


CORBA Programming with TAO - 1.Start(基本概念)
摘要:
简要介绍CORBA的基本原理,并解释POA、stub、skeleton、servant等重要概念。
一、CORBA及TAO简介
CORBA是一个为简化跨平台应用而提出的规范,它独立于网络协议、编程语言和软硬件平台,支持异构的分布式计算环境和不同编程语言间的对象重用。CORBA可以作为不同平台应用间信息传递的中间件,CORBA通过引入经过充分验证的有效的框架结构和通信手段,最大限度地简化了网络通信相关应用的设计与开发,使得我们可以专注于业务逻辑的实现,而无需关心通信的细节。CORBA曾在无数文章中被称作“软总线”,以表明它作为数据传递通道的基本特性。
现在存在众多CORBA实现,既有商用的ORBacus、VisiBroker,也有一些优秀的开源实现,如:TAO、omniORB、MICO等。由于各实现遵从相同的规范,接口基本一致,所以在熟练应用一种CORBA实现后,转而使用其它实现时,一般不会存在太大的障碍。
TAO(The ACE ORB)是美国华盛顿大学的Douglas C. Schmidt教授领导开发的一个实时CORBA平台,它是一个免费的开放源码项目,用C++语言开发,符合CORBA2.6规范。
支持语言: C++
支持平台: Win32,常见的各种Unix/Linux,实时操作系统如VxWorks等等。在所有的CORBA实现中,TAO支持的平台是最多的。
支持的服务: Naming、Event、Notification、Security、Time、Scheduling、Logging、Lifecycle、Trading、Concurrency、Lifecycle、A/V Streaming、Load balancing等。
本系列文章将以当前最新的ACE-5.5+TAO-1.5+CIAO0.5为例,简要介绍如何应用TAO进行CORBA C++编程,其中部分内容(尤其是编译器配置相关的内容)是Windows平台特有的,但其它大多数信息在各平台上都是相同或者类似的。
基于C O R B A技术的机群
智能化工程机械监控系统模型
Monitoring System Model of Earthmover G roup I ntelligentized
Construction Machinery Based on CORBA Technolgy
一江南计算技术研究所刘学勇/Ll U Xueyong 总装工程兵军代局杨承先/YANG Chengxian 解放军理工大学工程兵工程学院李焕良/LI Huanliang 张琦/ZHANG Q
摘要:通过分析CORBA技术的特点,基于CORBA技术的三层B/S结构体系,建立了基于CORBA技术的机群智 能化工程机械监控系统模型,实现了各个智能主体与监控中心的实时信息交互与数据信息共享,提高了监控中心对智能 主体的管理与控制能力,推动了工程机械监控技术的智能化.信息化.网络化发展。 关键词:CORBA技术工程机械机群监控结构模型
机群智能化工程机械是指为完成某一具体工程施 工项目,实现最优资源配置 最优工作效率,最佳工作 质量而实行的同步施工智能化工程机械的组合…,如装 载机.挖掘机、推土机、拌和站、自卸车.摊铺机等。 随着中国加入w T O,基础设施建设规模的不断扩 大,跨地区 跨部门之间的工程机械施工合作越来越紧 密 ,建立机群智能化工程机械是工程机械施工发展的 必然产物。随着计算机技术、网络通信技术的不断发 展,在异域异构环境下实现远程协同施工成为可能,实 现机群智能化工程机械远程监控最重要的是如何在不 同地域.不同系统间快速有效地传递工程机械信息及 施工生产信息。采用C O R B A技术可以解决数据传输过 程的异域异构问题,实现工程机械信息及施工生产信 息资源的共享,确保机群智能化工程机械的安全运行。 76 2006 03 1 CORBA技术的特点 CORBA[。 是指公共对象请求代理结构(Common Ob- ject Request Broker Architecture),它是由OMG(Object Man- agement G roup)组织制定的,定义在不同语言,不同平 台上实现对象并支持分布式异构环境下对象问相互操作 的标准规范,为分布式异构环境中各类应用间相互操作 提供一个公共平台。能使不同的操作系统,不同的编程 语言.不同的网络协议的应用系统,可以方便地进行互 操作,任何系统只要遵守CORBA标准,并通过接口定 义语言IDL(Interface Definition Language)接入总线,达到 即插即用的目的。CORBA由对象请求代理ORB(Object Request Broker)、标准化定义语言和接口协议组成。 (1)对象请求代理ORB:它是CORBA的核心,在
1、 跨平台,多语言?
C++、java、C#等都支持。
2、 防火墙,复杂网络适应性?
ICE有一个服务程序glacier2,实现为软件防火墙。部署在一台internet和intranet双连接的主机上(既能被外网访问,又能被内网访问)。内网中的应用服务接口不用公开,统一受glacier2管理。Internet网客户软件请求服务时,通过glacier2中转。
亮点:
安全特性:支持ssl安全连接和session管理。
回调特性:客户端不必公开端口,使用同一链路实现消息回调。
3、 开发简单灵活性?
较CORBA开发框架TAO,开发接口简单,类的划分精简,容易理解。
亮点:
Debug 跟踪发现,ICE远程调用时,函数调用深度比CORBA小一半,这样原来的corba时栈空间不足的现象可能会有所改善。
4、 性能方面?
网上有ICE和TAO的评测,各方面性能都比TAO强悍。
成批的单向方法调用特性:短小频繁的消息可以累积后一齐发送,降低开销。
实际对比测试:
硬件(192.168.2.106) 2300服务器,Intel Xeon CPU 2.4G*2,1G内存,80G硬盘,Intel 82546EB Gigabit
Ethernet Controller
传字符串参数,20个字符。
CORBA 调用20000次 耗时15秒,只处理了1323个
ICE 调用20000次 耗时8秒,全部处理
ICE(成批的单向方法) 调用20000次,缓存10次 耗时1秒,全部处理
传字符串参数,1200个字符。
CORBA 调用20000次 耗时31秒,只处理了309个
ICE 调用20000次 耗时8秒,全部处理 ICE(成批的单向方法) 调用20000次,缓存1次(缓存超过2次就core) 耗时6秒,全部处理
性能测试摘抄:
简介
Ice是一个高效的中间件平台。它在潜伏时延和数据传输方面都有着极其优秀的性能。此外,Ice提供了一些有用的特性,使其能比其他中间件,例如CORBA,更快的技术,这些特性的具体例子有批量单向调用、高效的时件分发和低速链路数据压缩。
首先,编写bank.idl文件,为程序需使用的两个对象定义接口
然后,写这两个对象的实现
最后,编写客户端和服务端程序。
写完后,文件夹中有如下文件:
按win+R,输入cmd,打开两个命令行窗口,一个作为服务端,一个作为客户端。
我们需要对这几个文件进行编译,其中idl2java bank.idl执行后,将生成一个bank文件夹,这是visiBroker为我们生成的java文件,一个接口对应7个java文件,这是自动生成的,不需要改。但需要将其编译一下。接着就编译客户端Client.java,然后编译服务端Server.java,
然后,需要在任意端启动osagent
过程如下:
准备工作完成之后,我们在其中一个窗口输入vbj Server,将服务端启动起来
在另一个窗口输入vbj Client,启动客户端
从上,我们可以看到程序实现的功能。本程序采用mysql数据库。数据库内容如下:
执行完这些后,文件夹中的内如如下:
这里是生成的bank文件夹中的内容: 分布式作业:
这个是实现的学生成绩管理系统,运行方法如下: