Object or Document? Converging Models of Communications on the Web
Chris Smith, OpenCola, Inc.
We are all familiar with the success of the World Wide Web, which presents internet resources as documents in hierarchically-organized repositories. You could say that the communications model of the Web is document-centric.
In contrast, many e-commerce initiatives are currently exploring XML as a way of passing objects between internet-aware programs. SOAP and similar protocols attempt to fulfill the promise of initiatives such as CORBA, by providing easy, cross-platform, object-oriented message passing on the internet. The communications model here could be called object-centric.
Many XML communications initiatives use HTTP as their transport mechanism. This means that the same basic protocol is being used for document-centric and object-centric purposes. However, HTTP and XML were not originally designed with the serialization of software objects in mind. Does the object-oriented approach to communications over HTTP make the best use of both HTTP and XML?
By adopting a document metaphor for software design, we are able to use HTTP and XML to permit "objects" to discover and communicate with one another anywhere on the internet. Each software object has an HTTP URI, and programs can be "browsed" as if they were branches on a Website's document tree. This system combines the simplicity and openness of the document metaphor with the flexibility and power of the object metaphor.