|
Components have proved to be extremely successful in the software
market. When Microsoft introduced the VBX control for Visual Basic an
entire market was created for third party components. Since that time
many other vendors have brought component technologies to market, for
example Borland with its VCL components. Microsoft continues to develop
and extend COM (ported to Unix by Software AG) and many Linux based
technologies have been developed.
Component systems allow developers to build applications with third
party code which is often more economical than building entire systems
in-house. Users can also benefit because they can swap components in
their applications. Third party vendors can provide additional
functionality in plugins which can extend applications or replace less
functional components. Component technologies also allow organisations
to create component libraries which can continue to be used even if the
development languages they use change. Components are provided in binary
format rather than source code; installation may be as simple as placing
a file in a particular directory with no compilation being necessary.
In the Linux world there are a number of component systems; but they do
not necessarily interoperate. Applications which are built to use one
kind of component are often unable to use another kind of component and
vice versa. The problem is primarily technical rather than political.
Many existing component systems work very well in their own
environments. However, their widely differing range of functionality
prevents them from being ported to other environments, so consolidation
is unlikely.
With the arrival of Delphi and other RAD tools in the Linux world their
component systems will further fragment the market. Without universal
interoperability the cost of Linux development will be high compared to,
say MS-Windows, where a single component architecture dominates.
In this talk, we are going to sketch the specification of a universal
component architecture.
|