Submitted to OOPSLA'96 Workshop
Toward the
Integration of WWW and Distributed Object Technology
Daniel T. Chang and Danny B. Lange
IBM
dtchang@vnet.ibm.com and culange@trl.ibm.co.jp
The Object Management Group (OMG) has been adopting and promoting technologies for distributed object computing since 1989. The central paradigm which ties all the technologies together is defined in CORBA (The Common Object Request Broker: Architecture and Specification), currently in Revision 2.0. CORBA essentially defines a synchronous message passing paradigm whereby objects are distributed, but stationary, and they interact with each other through message passing. Primitive data types, such as int, are passed by value, but objects are passed by reference. It is only recently that the OMG has started to address the need for asynchronous message passing, passing objects by value, and mobile agents. So far the focus has been on server objects, i.e., stationary objects which execute on the server and provide well-known services.
The World Wide Web (WWW) is a well-known phenomenon which started in 1991. It has rapidly become the dominant platform for network computing, both Internet and intranet. The World Wide Web Consortium (W3C) was formed to adopt and promote technologies for the Web, with particular emphasis on user interfaces and protocols. The WWW originated with a central paradigm of static information sharing. With the addition of Java, however, it has embraced distributed objects and is evolving into a full application development and delivery platform (e.g., Netscape ONE). So far the focus has been on Java applets, i.e., downloadable code executing on the client.
Recently there have been a lot of efforts reported on integrating the WWW with distributed object technologies (e.g., the Joint W3C/OMG Workshop on Distributed Objects and Mobile Code), particularly with CORBA. Some of the most significant ones involve building the so-called Java ORB (Object Request Broker), e.g., Java IDL and VisiBroker for Java, which allow downloaded Java applets to access services provided by CORBA server objects. As can be expected, it follows the synchronous message passing paradigm.
In this paper we advocate that mobile agents provide a new, alternative paradigm for distributed object computing on the WWW. The synchronous message passing paradigm is incomplete and needs to be enhanced in some fashion with additional paradigms such as asynchronous message passing, passing objects by value, and mobile agents. Mobile agents, on the other hand, can provide a single uniform paradigm for distributed object computing, encompassing synchrony and asynchrony, message passing and object passing, and stationary objects and mobile objects. Mobile agents, like particles in physics, are fundamental to distributed objects computing.
Mobile agents, or mobile objects, are objects that have code (behavior), data, execution state and itinerary. These are logically bundled together and can move as a single unit. This is in contrast to stationary objects which have code (behavior) and data. In both cases, the behavior is represented by interfaces. However, for stationary objects, since they do not move, the code and data can be platform dependent. Mobile agents, on the other hand, can move and, therefore, their code, data, execution state and itinerary must all be portable, or at least convertible from and into portable forms.
With mobility, mobile agents are embodied with the following unique and important computational characteristics:
We have developed Aglets Workbench, a visual environment for building mobile agent applications in Java, to prove the concept and to demonstrate and facilitate the usage of mobile agents. Aglets Workbench contains the following major components for building mobile agent applications:
Aglets Workbench is available for free download over the WWW. The ATP and Aglets Frameworks are the base technology for IBM's submission for the OMG Mobile Agent Facility. In addition to the above mobile-agent specific components, it also contains data access components (JoDax and JDBC) and a visual builder component (Tazza) which make it easy for a user to build mobile agent applications complete with data access back ends and visual front ends.
Our experience in developing Aglets Workbench and using it has convinced us that mobile agents are a new and viable paradigm for distributed object computing on the WWW. It is unique and powerful in that it provides a single paradigm which unifies:
Mobile agents have the added advantage of being scaleable over the WWW as a result of their computational characteristics.