Newsletter sign-up
View all newsletters

Sign up for our technology specific newsletters.

Enterprise Java
Email Address:

JavaBeans vs. ActiveX: Strategic analysis

The philosophies, marketing strategies, and agendas<br> of Sun and Microsoft. The first in a 3-part series

  • Digg
  • Reddit
  • SlashDot
  • Stumble
  • del.icio.us
  • Technorati
  • dzone
If you're trying to weigh the pros and cons of JavaBeans and ActiveX, you're not alone. Regrettably, few businesses and developers can afford to wait for a single component framework to emerge as dominant, or the "safe bet." The good news is that you currently have the freedom to choose; the bad news is that you likely can't afford to make the wrong choice. What to do?

With this article -- and the forthcoming articles in this three-part series -- JavaWorld will strive to help you find the answer to this important decision. Before addressing detailed issues such as the user experience and the programmer's perspective in subsequent articles, we kick off this series with a basic discussion of ActiveX and JavaBeans. Herein we'll describe the basic technology, philosophy, marketing strategies, and objectives of each component model.

Technology Overview

JavaBeans and ActiveX both serve the same basic function: to facilitate communication among software components within framework "containers." These containers include Web browsers and other document viewers.

JavaBeans
JavaBeans is an integration technology -- a component framework that allows component objects (called beans) embedded within documents to communicate with one another and with the framework. This means that components written to the JavaBeans specification will be able to interact in Web browsers and other environments that support JavaBeans. JavaBeans also will be supported in most visual Java development tools, so developers will be able to make JavaBeans components and combine them into applications. This approach is similar to the component development model Visual Basic has popularized, in which developers create software components that are combined to create custom applications.

Note that JavaBeans is not a version of Java; it is a framework for building documents and applications out of Java components. Java developers may choose to use JavaBeans, ActiveX, or neither when writing their applications.

The Active Platform and ActiveX
Microsoft has christened a set of three core technologies the "Active Platform." These core technologies are the Active Desktop, the Active Server, and ActiveX. The Active Desktop consists of services that Microsoft says will be integrated into Win95, NT, and other major operating systems, including MacOS and major flavors of Unix. This integration will take place via Microsoft's Web browser, Internet Explorer. Of course, integration at this level is not the same as integration with the operating system itself. The Active Server is a set of Application Programming Interfaces (APIs) to be provided with Microsoft's Web server, Internet Information Server 3.0, which runs on Microsoft Windows.

ActiveX essentially extends Microsoft's existing Object Linking and Embedding (OLE) and Component Object Model (COM) technologies to the Web. Like JavaBeans, ActiveX serves as a component framework; the two are direct competitors.

ActiveX "controls" are components that plug into the ActiveX framework. They are embedded in ActiveX documents such as Web pages in the same way that Beans are embedded in JavaBeans documents. Because ActiveX is a framework, ActiveX and Java do not compete per se. Java does compete, however, with Microsoft's Visual Basic (VB) and Visual C++ (VC++), because ActiveX controls can be written in Java as well as these more traditional OLE/COM languages. However, Microsoft's Visual J++ has COM support built in, but Java code that uses COM is only useful under Windows at this time.

  • Digg
  • Reddit
  • SlashDot
  • Stumble
  • del.icio.us
  • Technorati
  • dzone
Comment
Login
Forgot your account info?
Add comment
Anonymous comments subject to approval. Register here for member benefits.
Have a JavaWorld account? Log in here. Register now for a free account.