The Object Web -- CORBA/Java versus Microsoft

Instructor's Guide


introduction objects web jamming architecture summary, Q/A, literature
No doubt, the Object Web is coming, as testified by the appearance of the Object Web Survival Guide, see  [OWSurvival].

slide: Client-Server/CGI

To state the argument for the Object Web once more, as depicted in slide cgi what we have, basically, is a client/server architecture of which the server-side may be arbitrarily extended with CGI-processes. However, CGI extensions are slow, they do not scale and, most important, they do not allow for state unless unreliable programming tricks such as cookies are used. Now, according to (the ads for)  [OWSurvival], there are two camps: Microsoft and Everyone Else. We will start with the latter, which we will refer to as the Java/CORBA Web.

The Netscape way -- Java/CORBA Web

When we consider the browser market, there are at the time of writing two major players, Netscape and Microsoft. Although Netscape is certainly not the only company selling Web servers, we will nevertheless take Netscape as representing everyone else to see how the Java/CORBA Web may take shape.

slide: Content store

First of all, it must be noted that Netscape made a serious commitment to CORBA and IIOP. For example, all Java CORBA support classes are shipped with their browser. Secondly, as indicated in slide store, we may observe that the functionality of Web servers has been significantly enhanced since the beginning days of the Web. Facilities for publishing, (intelligent) agents, search and management are now more or less standard commodities provided on top of a programmable content store, running on a variety of operating systems. In slide ns-architecture, an architectural overview is given of one of the earlier versions of the Netscape Enterprise Server. When going from the top to the bottom, we see that content may be delivered in a variety of formats, including Java applets, Javascript, plain HTML, some legacy plugin format or any combination thereof. See section Architecture for a discussion of plugins. More to the bottom, Netscape offers LiveConnect technology to allow (client) components to interact. For example, a Java applet or a plugin may be addressed from Javascript code. In addition, there is IIOP to connect to CORBA-enabled servers.

slide: Netscape Enterprise Server

For programming server facilities, Netscape offered the Internet Foundation Classes as part of the Open Network Environment (ONE), which is based on standards such as SMPT, HTTP and SQL. However, the Internet Foundation Classes for Java have become part of the Java Foundation Classes that are delivered with Java 1.2. Server facilities include messaging, content store, database access and state management. Additional components may be provided either as server extensions through the NSAPI, or through CORBA IIOP.

For the actual creation of content and the deployment of all that technology, there is a large variety of tools from Netscape and other vendors, and plenty of documentation that may be obtained from Netscape's Web site.

The Microsoft way -- DNA

It is interesting to note that Microsoft's commitment to the Web came relatively late. Nevertheless, there is no doubt that Microsoft recognizes the importance of the Internet and the Web as the infrastructure of what it calls the Digital Nervous System of corporations.

slide: Business logic

In February 1999, I had the pleasure of hearing Bill Gates speak about the Digital Nervous System, as a unifying concept for corporations to execute and record transactions electronically, and as a means to create corporate awareness of the actual state of business and current business goals. I found this view quite appealing, although the complexity involved in the actual archiving, search, retrieval and presentation of such material is quite immense.

Ideally, as depicted in slide DNS, central to any corporate information structure must be the business logic that governs the policies and information needs of the organization. At the backend of the system we may have a database, legacy systems, or external applications delivering information. For end-users, depending on the particular architecture chosen, there may be thin or fat clients giving access to the information and communication facilities.



slide: Microsoft DNA

To turn to actual technology, Microsoft's proposal to realize their vision is the Microsoft Dynamic Networking Architecture (DNA), of which the basic components are given in slide DNA. In the column on the left, we have the presentation facilities, ranging from (dynamic) HTML to Win32 applications, going from thin to fat, indeed. In the business logic column, we have COM+ (which is the followup on (D)COM), the Microsoft Message Queue Server (MSMQ), and the Internet Information Server, which is a powerful server that allows for server-side scripting, Active Server Pages (ASP), and COM-based objects. For handling data, Microsoft offers the ActiveX Data Objects format (ADO), OLE-DB to connect to databases, and XML. It must be noted here that Microsoft is actively engaged in promoting XML as a data interchange standard, in cooperation with the W3C.

In summary, Microsoft DNA offers Presentation Services, Application Services, Data Services and System Services. In addition, Microsoft offers an appealing suite of tools collected in the Visual Studio, including Visual C++, Visual Basic and Visual Interdev, for creating dynamic data-driven Web applications. Although I do not intend to make this sound like an ad, it cannot be denied that Microsoft is a serious player!