扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
GNOME是Linux和类Unix平台上的桌面环境,是GNU的一个把自由软件的好处带给最终用户的开放源码项目。对于它,人们往往只关注它的漂亮的外观和给使用Linux带来的便利性,很少注意背后支撑它发展的GTK绘图技术和CORBA分布式平台技术。其实,这两项技术对GNOME的开发和应用是至关重要的:GTK绘图技术给GNOME应用程序带来统一的外观和一致的感觉;CORBA分布式平台技术为在Linux平台上组合软件和复合文档提供了可能,而这是一个现代的受欢迎的图形应用操作平台必不可少的部分,这也是Windows和MacOS成功的关键。本文主要介绍GNOME是怎样利用CORBA在Linux上创造分布式平台的。
GNOME是GNU Network Object Model Environment(GNU网络对象模型环境)的缩写。开发小组一开始的想法就是开发出Linux平台的类似于Microsoft的OLE和COM(它们是Windows平台的分布式技术)技术。只是随着项目的开展,他们发现要实现这项技术有许多基础工作要做,同时受KDE(Linux平台的另一个桌面系统)的影响,于是这个项目的范围逐渐扩大,创造出Linux平台的漂亮的桌面。但是这个项目一开始的想法并没有变,它指导着GNOME整个的开发过程,成为这个项目成功的关键。现在GNOME的发行版本都包括一个连接、嵌入系统Bonobo和一个快速、轻量级的CORBA2.2 ORB(对象请求代理)ORBit。
计算技术发展到今天,已经进入分布式计算时代,CORBA、COM和Enterprise Javabean是当今世界的三大分布式平台开发标准。除CORBA是平台无关外,COM应用在Windows平台、Enterprise Javabean应用在JAVA平台。因此GNOME要在Linux系统是创造分布式平台,与CORBA的结合就是必然的。
CORBA是Common Object Request Broker Architecture(通用对象代理体系)的缩写。它是一个软件架构,定义了软件对象如何能互相影响,而不管这些软件对象是用什么编程语言书写,运行在什么样的机器和操作系统上。要实现这些,CORBA定义了一系列对象之间进行通信的协议,如IIOP和GIOP。通信的中介是ORB (Object Request Broker),由ORB来管理对象之间的通信。CORBA的基本架构如图所示。
Client发出方法调用消息,利用Stub进行封装后发出,通过ORB转到正确的Server对象,由Server对象的Skeleton对消息进行解析,还原成正确的方法调用,Server执行后返回结果。
由于CORBA的目标是创造出一个分布式的系统,因此,它还定义了一系列的服务,如名字服务、安全服务等和一系列的基础设施,包括水平基础设施和垂直基础设施。如果要详细了解CORBA的知识,请访问http://www.omg.org。现在GNOME只实现了ORB和一些服务,这很少的一部分对于创造一个实现软件组合和复合文档的桌面系统来说是足够了,这也从反面证明了CORBA&&GNOME平台的发展空间是无限的。
GNOME对CORBA进行支持是通过一系列封装好的C语言函数库来实现的。开发者利用这些函数库进行CORBA分布式程序开发是非常方便的。下面就是3个和CORBA相关的系列函数库。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者