Interacting with Objects and the World Wide Web

Bharathi Subramanian
Texas Instruments

Position paper submitted to the Joint W3C/OMG Workshop on Distributed Objects and Mobile Code
Web and object technologies are two of the key technologies in the software world today. As in most cases, developing interoperability standards between these two areas will increase interaction and therefore, the impact of the technology. The Object Management Group (OMG) has been involved in developing open, interoperable, component-based interface standards based on distributed object technology. Similarly the World Wide Web Consortium's (W3C) goal is to develop standards to promote interoperability. As a first step towards providing a richer global infrastructure, OMG and W3C need to develop standards that combine both object and web technology.

There is a vast amount of information, both in the object world and on the web. To maximize the utilization of this information, we need to have a common paradigm to locate and interact with objects and web documents. A crucial service that is needed to combine both technologies is the ability to specify and use common interfaces between the various entities.

Currently, the interfaces to objects is different from the web interface. The differences between the interface facilities of the web and that of the world of objects can be largely attributed to the initial uses of the two technologies. The World Wide Web (WWW) was designed primarily for human interaction with semi-structured and unstructured documents. As a result, there is a standard interface for web documents - most use the Hypertext Transfer Protocol (http), allow navigation between web pages by clicking on links and so on. Interaction with objects on the other hand, has been mainly through software programs. This has led to the development of custom interfaces that are very powerful and versatile.

For objects, the object-creator specifies an interface. The interface is stored in the interface repository, so that other objects that wish to interact with this object can access the interface and use it to communicate with each other. However, objects do not have the notion of a standard interface. It is hard to come up with a generic tool that allows the user to ``view'' all objects or have any kind of meaningful interaction with objects of all types. The WWW, on the other hand provides a standard interface for accessing and displaying web pages, as part of the http protocol. Each web page can be accessed by browsers that understand HTML. The WWW does not however provide convenient means of specifying or accessing user-defined interfaces. For example, it is difficult to specify an the interface for software agents that is different from that used to view the page using a browser.

In order to access data across web/object boundaries, we need to provide a consistent interface. Based on our earlier discussion, we require two categories of software interfaces for accessing and manipulating an object or a web page: 1) a standard interface that is common across all entities, i.e., the basic interface to the entities, and 2) a more complex, user-defined interface that is specific to a given entity.

For objects, we need to provide a common interface for all objects as in the case of web pages. For example, we could require that all objects must have a display method that allows the user to view them from within browsers that understand some specified protocol. This would standardize some parts of the interface to some extent as in the case of web pages.

In the case of web pages, we have the opposite problem - we need to be able to define user-specified interfaces and some means of notifying other users about these interfaces by using some kind of interface repository or by other means. This will allow us to specify more specialized interfaces if needed. For example, we could provide a different type of data access for software search agents in order to reduce the demands on system resources.

The two consortia, OMG and W3C must collaborate to come up with a powerful, all-purpose interface mechanism that would allow web pages and objects to interact more closely with each other. This would also open the door to cross-pollination of ideas and concepts from other web-specific or object-specific areas like query/search processing mechanisms.