Article Title: Using CORBA to build a distributed Linux platform. Linux is a technology channel of the IT lab in China. Includes basic categories such as desktop applications, Linux system management, kernel research, embedded systems, and open source.
GNOME is a desktop environment on Linux and Unix-like platforms. it is an open source project of GNU that brings the benefits of free software to end users. For it, people tend to focus only on its beautiful appearance and the convenience it brings to the use of Linux, and seldom pay attention to the GTK graphics technology and the distributed platform technology supporting its development. In fact, these two technologies are crucial to GNOME development and application: GTK graphics technology brings a unified appearance and consistent feeling to GNOME applications; the distributed platform technology of CORBA provides the possibility of combining software and composite documents on the Linux platform, which is an essential part of a modern popular graphic application operating platform, this is also the key to Windows and MacOS success. This article mainly introduces how GNOME uses CORBA to create a distributed platform on Linux.
GNOME is the abbreviation of GNU Network Object Model Environment (GNU Network Object Model Environment. The idea of the development team was to develop a Linux platform similar to Microsoft's OLE and COM (which are distributed technologies on the Windows platform) technology. With the development of the project, they found that there was a lot of basic work to be done to implement this technology, and it was also affected by the influence of KDE (another desktop system on the Linux platform), so the scope of this project gradually expanded, create a beautiful desktop on the Linux platform. However, the idea of this project has not changed. it guides the entire development process of GNOME and becomes the key to the success of this project. Currently, GNOME releases include a connection, embedded system Bonobo, and a fast and lightweight CORBA2.2 ORB (object request proxy) ORBit.
With the development of computing technology, it has entered the era of distributed computing. The development standards of CORBA, COM, and Enterprise Javabean are the three major distributed platforms in the world. In addition to the platform independence, the COM application is applied on the Windows platform, and the Enterprise Javabean application is applied on the JAVA platform. Therefore, GNOME must create a distributed platform in Linux, and it is inevitable to combine it with CORBA.
CORBA is the abbreviation of Common Object Request Broker Architecture (general Object proxy system. It is a software architecture that defines how software objects interact, regardless of the programming language in which these software objects are written and run on what machines and operating systems. To achieve this, CORBA defines a series of protocols for communication between objects, such as IIOP and GIOP. The communication intermediary is ORB (Object Request Broker), which manages the communication between objects. The basic architecture of CORBA.
Basic architecture of CORBA
The Client sends a method call message, encapsulates it by using Stub, and forwards it to the correct Server object through ORB. the Server object's Skeleton parses the message and restores it to the correct method call, server returns the result after execution.
Because the goal of CORBA is to create a distributed system, it also defines a series of services, such as name services, security services, and a series of infrastructure, including horizontal infrastructure and vertical infrastructure. To learn more about CORBA, go to the http://www.omg.org. Currently, GNOME only implements ORB and some services. this is a small part of it for creating a desktop system that implements software combinations and composite documents, this also proves from the opposite that the development space of the CORBA & GNOME platform is unlimited.
GNOME's support for CORBA is achieved through a series of encapsulated C language function libraries. It is very convenient for developers to use these function libraries for the development of distributed applications based on CORBA. The following are three series of function libraries related to CORBA.
1. ORBit
GNOME implements a CORBA2.2 ORB ORBit, which is a fast and efficient ORB. it supports C Mapping of CORBA ). It also includes an IDL (CORBA Interface Definition Language) compiler.
2. Libgnorba
Libgnorba provides tools related to CORBA, such as security mechanisms and object activation mechanisms. It provides the initialization function of CORBA to combine the Message loop of CORBA with the message loop of GTK +. It also implements the name service of CORBA. GOAD maintains a list of service objects and provides functions to easily add new service objects to GOAD and list available Server objects, activate one of the service objects.
3. Bonobo
Bonobo is a composite document system similar to Microsoft's previous OLE technology. for example, through it, you can embed workbooks into text processing documents. GNOME will support it from the underlying layer, so that any GNOME Application can call the relevant Bonobo components to display MIME-type data, such as plain text, HTML, and images.
GNOME developers demonstrate a powerful distributed application platform by adopting open standards and hard-working development. with the development of GNOME, it's not long before GNOME & Linux beat Windows. This platform also provides great opportunities for the development of China's software industry. we should make a difference on this platform. Now, the most important thing is to take actions, develop applications, and promote applications.