CORBA Programming with TAO - 9.Postscript(后记)
摘要:
这是整个系列的最后一篇,对整个系列及该系列未涵盖的内容进行了总结,同时对CORBA及分布式对象计算技术的发展状况进行了简单分析。
正文:
CORBA本身是一个复杂的体系,本系列只是初步介绍了用TAO进行分布式CORBA应用的基础知识,并有选择性地略去了部分内容(如DynAny、POA Policy、Persistent Object等,关于POA Policy的相关内容可阅读参考文献5),此外,还有一些主题(如Implementation Repository、Interface Repository、Trading Service、Notification Service等)及很多实际应用中需要注意的问题也是本系列没有覆盖的,还需要大家通过深入研究和实践来掌握。
就目前来看,CORBA规范已逐步趋于成熟,并仍在不断发展、改进,一些已有的组成部分被更新、完善的同时,也有一些新的与分布式应用相关的内容被OMG组织纳入其研究范围,如:异步通信机制、针对嵌入式和实时系统等具体领域的CORBA规范、反射机制、与EJB/SOAP等的互通等,CORBA正在随着研究人员研究的深入,变得越来越庞杂。
与此同时,由于2.x规范中定义的CORBA架构存在一些局限性,其中最为典型的问题是:CORBA不支持在不破坏向前兼容的情况下为对象增加新的接口,即不能在不改变接口定义的情况下为对象增加新的功能。为此,OMG在CORBA3中引入了CORBA Component Model(CCM)以在一定程度上解决这一问题。
CCM是基于EJB和COM提出的一种新的组件模型,它在结构上更接近EJB。在CCM中,Component是支持多个接口的、可配置且可导航(即通过一个接口查询到其它接口,类似于COM中的IUnknown::QueryInterface,这在CORBA 2.x中是不可能实现的)的二进制单元。CCM一定程度上改变了我们进行CORBA应用设计的模式,使得我们由以接口设计为中心转为以组件(Component)设计为中心。
由于CCM体系十分复杂,涉及组件容器、组件实现描述语言、组件打包与部署、与EJB的互通等许多方面,虽然CCM规范发布已有数年,目前仅有少数几个部分支持CCM的商业CORBA实现面世, 著名ORB提供商BEA、IONA等已宣布将支持CCM,但相关产品尚未发布,此外,也有一些开源项目,如CIAO(Component Integrated
ACE ORB)、OpenCCM等已取得一定进展,已有一些试验产品可供研究参考。
此外,CORBA提供“至多一次”的语义来确定一次访问成功与否,客户端发起一次调用,在服务器端也只能引起一次反应。CORBA没有提供功能来检查一次访问究竟是否成功的修改了要访问的对象的状态,因为缺乏这样的机制,使得提供“故障恢复”机制变得十分困难,因此CORBA把本来可能恢复的故障处理成不可恢复的。
为此,一些研究者开发出了用于分布式对象计算的新模型,如ICE就是在CORBA的基础上为简化应用复杂度,并克服CORBA存在的没有多重接口(该问题随着CCM的提出已被解决)、没有异常继承等方面存在的问题而提出的一个新的应用模型。可以相信随着研究的深入,CORBA或相关的分布式对象计算技术将变得更加易用也更加强大(当然,对于CORBA实现提供商或开源CORBA实现提供者来讲,要做的工作也越来越多)。
参考:
分享到:
相关推荐
CORBA Programming with TAO,整理自“大卫的思维空间”,内容简洁,快速入门。格式制作为CHM,方便阅读。
用TAO进行CORBA编程的经典文章,对CORBA编程初学者会有很大帮助。是我自己从网上整理的,因网上的博客分多页不便下载收藏,故将其整理成word文档
axis2-corba-1.5.4.jar axis2-fastinfoset-1.5.4.jar axis2-java2wsdl-1.5.4.jar axis2-jaxbri-1.5.4.jar axis2-jaxws-1.5.4.jar axis2-jibx-1.5.4.jar axis2-json-1.5.4.jar axis2-kernel-1.5.4.jar axis2-metadata...
axis2-corba-1.7.4.jar axis2-fastinfoset-1.7.4.jar axis2-java2wsdl-1.7.4.jar axis2-jaxbri-1.7.4.jar axis2-jaxws-1.7.4.jar axis2-jibx-1.7.4.jar axis2-json-1.7.4.jar axis2-kernel-1.7.4.jar axis2-metadata...
fcrepo-misc.zip,fedora数据传输对象的foxml读写器库(此存储库已永久移动--请使用github.com/fcrepo/fcrepo misc)
官方版本,亲测可用
(Addison) - Advanced CORBA Programming with C++.pdf,很经典的一本书,推荐给大家!学习corbar的好书!
[AddisonWesley]Advanced_CORBA_Programming_With_C++.zip
Advanced CORBA® Programming with C++ provides designers and developers with the tools required to understand CORBA technology at the architectural, design, and source code levels. This book offers ...
apache的一款工具,使用ant 转换 corba的idl文件 生成Java代码。需要配合使用bulid.xml文件。下载后需要配置环境变量,使用。
该程序是基于CORBA构建技术的一个小小实例程序,大家可以根据自己的兴趣自己改写。其中的.mht文档详细说明了程序的编译,运行的事宜。
TAO使用ACE提供的框架结构对象与模式实现的针对高效与实时系统的CORBA应用。 ACE是一个大型的中间件产品,代码20万行左右,过于宏大,一堆的设计模式,架构了一层又一层,使用的时候, 要根据情况,看你从那一层...
axis2-corba-1.5.4.jar axis2-fastinfoset-1.5.4.jar axis2-java2wsdl-1.5.4.jar axis2-jaxbri-1.5.4.jar axis2-jaxws-1.5.4.jar axis2-jibx-1.5.4.jar axis2-json-1.5.4.jar axis2-kernel-1.5.4.jar axis2-metadata...
Addison-Wesley Advanced Corba Programming With C
官方版本,亲测可用
官方版本,亲测可用
官方版本,亲测可用
官方版本,亲测可用
官方版本,亲测可用