W3C | Technical Areas

WWW and OOP

"What is the W3C position on active document technologies like ActiveX, IIOP, and Java?" W3C is vendor-neutral, and has no position on any vendor or product. But we are very interested in active document technology. See: W3C Activity: Object Technology and the Web.

Background

The power of the Web as a new medium derives not only from its ability to allow people to communicate across vast distances and different times, but also from the ability of machines to help people communicate and manage information. The Web is a complex distributed system, and Object Technology has been an important part of managing the complexity of the Web from its creation.

Object Technology continues to influence and impact the web in a number of areas:

Scripting
Client side scripting has been an interesting area of research and experimentation since the early days of the web, but now it being deployed, and information providers need interoperable support.
Embedded Multimedia Components
The web is a natural medium for component software technology such as Plug-Ins, Java applets, ActiveX controls, OpenDoc parts.
Web Server Components
CGI, along with HTML and forms, is an important part of the platform of technologies used to deploy application services on the web. But its design presents a performance limitation in many situations. A number of mechanisms for interfacing applications to web servers, from C-callable APIs to network protocols to distributed objects gateways have sprung up to fill the need.
Agents and Mobile Code
Mobile code can be used to automate information access: searching, brokering, and even manipulating data with mobile agents is an interesting trend.

This is an investigation of the integration of distributed object technologies with the web, and the duality between application programmers' interfaces (APIs) and network protocols.

History

Contents

Schools of Thought
Architectural viewpoints: CORBA/OMG, DCE, ...
Issues in the Development of Distributed Hypermedia Applications
Concurrency, Safety, Naming, Type Systems...
Technologies for Development of Distributed Applications
Modula-3, ILU, python, ...
Hypermedia APIs/Protocols

Schools of Thought

The various players in the distributed objects are separated into camps based on architectural interoperability, and listed in chronological order (roughly).

DCE
OSF is the controlling body. The distributed object model inherits from something called TI-RPC, which is C++ish. The RPC system came from Apollo, I think.
CORBA
Common Object Request Broker Architecture. OMG, The Object Management Group, is the controlling organization. The Java/Sun camp is CORBA-happy. So is OpenDoc (by CILabs).
COM
Microsoft's Component Object Model -- the underpinnings of ActiveX, DCOM, and OLE.
Plan 9
This is the basis of Inferno. The Bell labs guys started over with the "everything is a file" concept. 9P is a really nifty protocol. Supports union links.
ILU
Inter-Language Unification. A project from Xerox PARC. The architecture has a single interface specification language, plus an extensible set of message formats (called protocols, of all things, in ILU-terminology), and transports. For example, an XDR/UDP combo allows interoperability with SunRPC clients and servers. The CORBA IIOP is supported in version2.0. Xerox courier is supported via another combination. Calls within the same address space are also supported. All these combinations can be mixed in the same process, so that gateways are trivial.

Language support includes C, C++, Modula-3, python, Common Lisp and tcl. Java is in the works.
See: Why ILU?

Misc Resources

This is some stuff that seemed relevant for one reason or another, but I haven't had time to annotate it and integrate it with the rest of this information.


Connolly
$Date: 1997/01/08 22:42:19 $