Copyright © 1999 by Red Hat, Inc.
| Abstract The use of CORBA technology for inter-application communication and integration is explored in the context of the GNOME desktop project. The lessons learned in the ORBit CORBA implementation and GNOME CORBA integration libraries are explained, and hints on making effective use of CORBA in applications are given. It is assumed that the audience of this paper is familiar with software development concepts and has heard of CORBA and the GNOME desktop project. |
Software systems have gone through various phases. In the early 1980's, the introduction of the personal computer necessitated a change in the design strategies of software. Instead of being run on relatively isolated timesharing or batch processing systems, software had to be able to cope with unskilled end users, and run on resource-limited hardware. On the software development front, Third generation programming languages came into wide use.
From the early 1980's through the early 1990's, the graphical user interface as a method of increasing usability was a prime focus. Object oriented programming was touted as the silver bullet of software engineering, and provided insights into decreasing software development and maintainance costs.
In the last few years, the widespread use of networking as part of computer systems means that software becomes much more valuable when it can talk to other software systems. The integration of the world wide web into many popular desktop environments is one example of this. On a programmatic, behind-the-scenes level, CORBA and DCOM have been created as protocols for inter-program communication.
The GNOME project was born out of a frustration with some of the KDE project's views on software design, implementation, and licensing. Initiated in August 1997, its goals are to produce an advanced desktop environment with reasonable resource requirements, total user configurability, and agreeable software licensing.
The ORBit project was initiated in February 1998 to fill the need for object request broker compliant with the CORBA 2.2 standard with minimal resource requirements and C language bindings.