slide: Java applet with ORB
As an example, in the August/September 1996 issue of
the Object Expert (Europe) the question was
posed `How to survive the Internet revolution?'.
In answer to that question, the Web was first criticized
for offering a monolithic HTML/HTTP-based structure
that gave rise to many proprietary extensions.
Then, as a solution, CORBA was praised as an infrastructure
that allows for the creation of well-behaved
extensions through the use of IDL.
The most radical alternative, indeed,
would be to base the Web entirely on CORBA, of which
the ANSAWeb proposal is an example.
A rather different route is to adopt HTTP
as the transport protocol for object request brokers
and turn the Web into a global infrastructure
for distributed object computing,
as for example suggested in the WebBroker proposal
that will be discussed later.
A more modest, and realistic, approach is
to enhance Java applets with the capability to connect with
CORBA servers, as indicated in slide [java-orb] and slide [steps].
In slide [java-orb], we see a browser with an HTML page
that contains a Java applet,
which may connect through an ORB directly to, for example,
a database server.
Alternatively, a request may pass through a CGI process to
an ORB attached to the HTTP server.
slide: Processing steps
In more detail, when we look at the processing steps,
as depicted in slide [steps],
we may distinguish between
- get the HTML page,
- load the applet,
- start the applet,
- connect to a CORBA server from the applet,
- get access to the remote objects,
- connect optionally to a database, and
- send output either in HTML format or directly to the applet.
Based on this setup, we may think of several alternatives
and refinements,
as for example the use of Java RMI
or an extension of the Java ORB with full server
functionality, to allow for
callbacks from the objects (server) to the client (applet).
The WebBroker proposal
In the scenario sketched above, Java and CORBA were used
to extend the basic functionality of the Web.
In a similar vein, Microsoft DCOM, as an alternative
distributed object technology, might have been
used to incorporate objects in the Web.
The WebBroker proposal, as explained in the technical note
submitted to the W3C, 11 May 1998,
attempts to unify distributed object technology and
the Web publishing infrastructure by providing a common
Web computing standard based on
HTTP and XML.
(XML, the eXtendable Markup Language, may be considered
as a lightweight version of SGML, suitable for the
description of the structure and content of arbitrary documents.)
The objective of the WebBroker is, as stated
in the proposal, to
have a system which is less complicated than
the OMG CORBA and Microsoft COM+
distributed computing systems and which is more
powerful than HTML forms and CGI.
The principal advantage of the WebBroker approach
is that it is Web-native.
However, with the universal adoption of IIOP,
which is now also the transport protocol of Java RMI,
the advantage of a more efficient protocol gains more weight.
The Object Web -- CORBA/Java versus Microsoft
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!
(C) Æliens
04/09/2009
You may not copy or print any of this material without explicit permission of the author or the publisher.
In case of other copyright issues, contact the author.