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.