|
The success of UNIX stems in part from allowing users to create
new and more complex results by joining smaller components.
These components are joined using UNIX pipes to
create large numbers of powerful applications.
Although pipes and filters are still invaluable to the poweruser,
they have their limitations in today's more complex desktop
environment. For example:
- Pipes and filters do not scale well with more complex applications.
- The information flow is unidirectional.
- There is limited support for complex information representations. Characters, lines, and entire files are the basic unit of information exchange. In addition, there is no standard mechanism to check the type on the data that is being transferred.
One way to avoid these problems is to implement a component based
programming framework. Unfortunately, UNIX has traditionally lacked
a standardized architecture for such a framework. GNOME addresses
this lack by providing such a component model, built heavily upon
CORBA.
CORBA is the Object Management Group's (OMG) object broker. It
allows applications to communicate to each other independent of what
platform they are on or who wrote them. More information on CORBA is
available at
the OMG's homepage.
The implementation of CORBA used in GNOME is ORBit. More
information on ORBit can be found at
ORBit's homepage.
|