Who Needs Reusable Components?
By Michael Floyd
The notion of software components isn't new. As early as 1986, a fellow by the name of Brad Cox described software integrated circuits (ICs) that could plug into an application. These software ICs would make it possible to update parts of an application just by exchanging the old IC for a new one. More importantly, software ICs would allow users to purchase just those components of an application they needed. Cox even described revenue models whereby components could be distributed over a network on a pay-per-use basis.
Since Cox introduced the software IC concept, two key technologies have appeared that make the software IC possible. The first, object-oriented programming, allows software developers to create reusable objects that communicate within a framework. The Object Management Group saw a need for objects created in different languages and on varying platforms to communicate within a distributed environment. So they created a common framework, called the Common Object Request Broker Architecture (CORBA), for heterogeneous objects to communicate. Of course, the second key technology is the Web, which provides the distribution vehicle for these objects.
The component-software approaches currently being touted in the trade press are JavaBeans and ActiveX. But there's another "software IC" architecture you don't hear much about anymore: Netscape's plug-in architecture. Most users have learned that downloading "compelling" Web pages chock-full of graphics, animations, forms, tables, scripts, and text is a struggle, so when they see a dialog box prompting them to "get the plug-in," they generally hit the Cancel button.<>