Component-based software development began long before the popularity of JavaBeans and ActiveX. Apple is generally credited with the first commercial implementation of component-based software with its Macintosh "Publish and Subscribe" technology developed in the early 1990s. Publish and Subscribe was Apple's technology for embedding one component, such as a spreadsheet, into another, such as a word processor document. Several years later, Microsoft released their own version of this technology, dubbed Object Linking and Embedding, or OLE. OLE was built on top of Microsoft's Common Object Model, or COM. COM was originally intended to be an object model for stand-alone PCs and did not incorporate any support for networking between hosts . As Microsoft started to support more and more networking, it extended the basic COM model to a distributed one, called DCOM. Today, OLE and DCOM are both part of the broader ActiveX family of Microsoft technologies. Additional information on DCOM, including its relationship to CORBA, is provided in Chapter 21.
One limitation of ActiveX is that today it is generally only available on Microsoft Windows platforms. JavaBeans, by contrast, is a component technology based on the Java language. JavaBeans extends Java's write-once run- anywhere technology to create a true cross-platform component model. JavaBeans components can be incorporated into either applets or stand-alone applications. While regular JavaBeans can be used to build server-side applications, many such programs typically require additional functionality including persistence and a notion of transactions. The JavaBeans API, therefore, has been extended with the Enterprise JavaBeans API. Enterprise JavaBeans includes persistance, transactions, and other functionality common to many server-side applications. Regardless which component model you choose, a number of vendors , including Microsoft and Sun, have two way bridges that allow JavaBeans components to be used in ActiveX frameworks and vice versa.