TAO的现状

TAO是一种C++ ORB,它兼容大部分CORBA 2.6标准,包括实时CORBA部分。你可以从Internet下载到它并且免费和没有限制的使用它。

TAO可以在很多平台上面使用,包括: Win32 (i.e., WinNT 3.5.x, 4.x, 2000, Embedded NT, XP, Win95/98, and WinCE using MSVC++, Borland's C++ Builder, and IBM's VisualAge on Intel and Alpha platforms),  UNIX (e.g., Solaris 1.x and 2.x on SPARC and Intel, SGI IRIX 6.x, HP-UX 10.x and 11.x, Tru64UNIX 4.x, AIX 4.x and 5.x, SCO, 免费UNIX: Debian Linux 2.x, RedHat Linux 5.2, 6.x, and 7.x, FreeBSD, and NetBSD), 实时操作系统 (e.g., LynxOS, VxWorks, QnX Neutrino, OS9, and ChorusOS), OpenVMS, and MVS OpenEdition。我们计划要把TAO移植到所有ACE支持的平台上。另外,TAO可以与其它ORB很好的互操作(比如Orbix,JacORB,ORB Express,VisiBroker等)。通过这些,我们对IIOP的健壮性以及互操作性有充分的信心。 TAO在商业化项目中亦有广泛的应用,通过这里可以看到:TAO Press Release and TAO Success Stories

TAO包括如下组件:

Figure 1. The TAO ORB Endsystem Architecture

每个部分描述如下:

TAO IDL Compiler产生的compiled stubs/skeleletons具有非常高的效率。TAO IDL compiler可以生成支持本地C++ exceptions或者更具移植性的CORBA::Environment的stubs/skeletons. TAO IDL compiler还可以生成用于smart proxies的代码,它可以允许第三方的应用程序把一些特性"plug "进client 以及可移植拦截器(portable interceptors)用来实现Interceptor模式(Interceptor pattern)。

TAO提供一些标准的CORBA服务,包括:

  1. 音频/视频流服务(Audio/Video Streaming Service) -- TAO的A/V流服务实现了标准的 Control and Management of Audio/Video Streams Specification.该服务曾与QuO framework集成和测试。    

  2. 并发服务(Concurrency Service) -- TAO的并发服务用在分布式系统中,使客户端可以获取和释放不同类型的锁。注意它现在只支持CORBA同步服务的一个子集,即非事务部分。

  3. 事件服务(Event Service) -- TAO的事件服务采用标准的GIOP/IIOP协议实现在多个事件提供者和消费者之间的解藕通讯。

  4. 生命周期服务(Lifecycle Service) -- TAO的生命周期服务提供一个标准的方法用于定位,移动,复制和删除对象。

  5. 日志服务(Logging Service) -- TAO的日志服务实现了OMG 的Telecom Log Service标准,通过它,应用程序可以将日志记录发送到日志服务器上。

  6. 名字服务(Naming Service) -- TAO 的名字服务同时支持对象引用与串行化字符的持久和非持久映射。同时,TAO还支持可互操作的名字服务(Interoperable Naming Service).

  7. 通告服务(Notification Service) -- TAO的通告服务是对事件服务的增强,它增加了对事件的过滤以及QoS的功能。

  8. 持久状态服务(PSS,Persistent State Service) -- TAO的持久状态服务可以使服务持久化。

  9. 属性服务(Property Service) -- TAO的属性服务可以实现动态的将对象和其属性关联起来的功能。通常属性服务用在TAO的A/V流服务中传输QoS信息。

  10. 安全服务(Secutity Service) -- TAO提供了CORBA安全服务的部分实现。

  11. 时间服务(Time Service)-- TAO的时间服务用于多客户端的时间同步。

  12. 交易服务(Trading Service) -- TAO的交易服务实现了对象属性与对象引用的映射关系,根据对象属性,可以通过交易服务查找到对象引用。

另外,TAO还提供如下服务,这些服务在DRE应用系统中经常可以遇到:

  1. 负载均衡服务(Load Balancing Service) -- TAO的负载均衡服务采用轮转(round robin)以及minimum dispersion的算法实现在多台主机间的负载分配。

  2. 实时的事件服务(Real-time Event Service) -- TAO的实时事件服务是在标准CORBA事件服务基础上加上了对事件源以及消息类型的过滤,事件相关性,实时分发以及UDP/IP广播的功能。

  3. 计划服务(Scheduling Service)-- TAO's real-time Scheduling Service supports static rate monotonic scheduling and dynamic maximum urgency first scheduling to assign priorities and validate schedulability. It is currently integrated with TAO's Real-time Event Service, though we're ultimately planning to integrate this with the ORB. In addition, we are enhancing our Scheduling Service to conform to the Scheduling Service defined in the new Real-time CORBA specification, as well as the forthcoming dynamic scheduling specification.

最后,在TAO的发布版中中包括了一些测试和例子程序,读者可以根据它们学习如何编写实时和非实时CORBA应用程序。


正在进行的工作

我们对TAO的目标是完全全兼容OMG的CORBA规范,我们实现了一大部分,但还是有些工作需要继续做:

关于TAO的最新特性以及进展情况,请你保持关注TAO的发布说明(release notes).


资金支持

TAO还有许多的工作需要做,它的的发展需要不断的资金支持。我们正在寻找资金以完成下面的这些工作:


参与TAO

大家都来感受TAO,改进TAO吧。我们接受您的bug报告并且以以最快速度改进它。关于这个问题,你可以从online bug reporting and fixing process得到更详细的信息。


Back to the TAO page.

Last modified 15:54:33 CDT 18 August 2002