一直以来,面向对象的技术(Object Orientation,OO)是软件界努力追求的目标,传统的对象技术通过封装、继承及多态提供了良好的代码重用功能。但是这些对象只存在于一个程序中,外面的世界并不知道它们的存在,也无法访问它们。要解决这些问题就需要提供一个标准的构件框架,使不同厂家的软件通过不同的地址空间、网络和操作系统交互访问。该构件的具体实现、位置及所依附的操作系统对客户来说都是透明的。因此有关对象中间件的标准相继问世,像OMG组织(Object Management Group)的公用对象请求代理程序结构(Common Object Request Broker Architecture,CORBA)、Microsoft的构件对象模型(Componet Object Model,COM)以及IBM公司的系统对象模型(System Object Model,SOM)等,这些标准都极大地促进了对象中间件技术的发展。
CORBA概要描述
CORBA是OMG组织在1991年提出的公用对象请求代理程序结构的技术规范。CORBA有很广泛的应用,它易于集成各厂商的不同计算机,从大型机一直到微型内嵌式系统的终端桌面,是针对大中型企业应用的优秀的中间件。最重要的是,它使服务器真正能够实现高速度、高稳定性处理大量用户的访问。现在很多大型网站后端的服务器都运行CORBA,其中有些网站您可能每天都在访问。
CORBA的底层结构是基于面向对象模型的,由OMG 接口描述语言(OMG Interface Definition Language,OMG IDL)、对象请求代理 (Object Request Broker,ORB)和IIOP标准协议(Internet Inter-ORB Protocol,也称网络ORB交换协议)3个关键模块组成。
使用接口描述语言编写的对象接口,使得与语言无关的独立性成为可能。IDL使得所有CORBA 对象以一种方式被描述,仅仅需要一个由本地语言(C/C++、CORBA或Java)到IDL的“桥梁”。CORBA对象的互通信要以对象请求代理为中介,这种互通信可以在多种流行通信协议(如TCP/IP或IPX/SPX)之上实现。在TCP/IP上,来自于不同开发商的ORB用IIOP标准协议进行通讯。
我们知道,为了保持CORBA的商业中立性和语言中立性,必须有一个中介,存在于像C++ CORBA 服务器代码和Java CORBA客户机这样的实体中间,这就是IDL。一个底层对象的若干相关方法和属性被IDL集入一个单一接口。一旦IDL接口定义完成,它可以以Stub码或框架代码的形式编译成所选用的语言。在所有的ORB中都有IDL编译器。
值得注意的一点是,IDL不同于其他的面向对象程序设计语言,我们不能用它指定所定义的类或方法的具体实现。因此,仅仅将它作为一种定义底层对象接口的语言要好得多。
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
相关推荐
-
中间件可帮助企业实现应用现代化
本文,Tom Nolle讲述了大家都需要了解的现代化的流行做法,“中间件”方式——解释了如何确保采用的是正确方法,如何简化流程,并且为将来做好准备。
-
云连锁反应:中间件栈添层 应用更轻量
中间件栈增加了层以及对轻量应用的开发需求将导致更好的云访问,而云的无所不在增加了中间件栈的层次。
-
如何应对中间件工具引发的安全风险
中间件工具会引起巨大的漏洞,足以抵消所带来的好处。然而,通过一些简单的步骤你就可以保护自己和数据。
-
越来越强大的IT标准、SOA及其他颠覆性技术
在本期问答环节中,我们将荣幸的邀请到来自Open Group的Chris Harding先生与我们一起讨论他对IT标准、SOA以及移动和云计算等科技未来的发展情况。