Mobile code enabled Web services

A primary benefit of Web services is that they provide a uniform implementation-independent mechanism for accessing distributed services. Building and deploying such services do not benefit from the same advantages, however. Different Web services containers are implemented in different programming languages, with different constraints and requirements placed on the programmer. Moreover, client side programmers must use the Web service interface specified by the service developer. Therefore, the kinds of applications and uses for a Web service are unnecessarily restrictive, constrained by the granularity of access defined by the interface and by the characteristics of the service functions. This paper describes an approach that addresses both of these drawbacks by enabling Web service containers with the ability to accept new mobile code on the fly, and to run it within the containers, providing direct local access to the containers' other services. The code can be specified in a small simple language (a subset of C), and translated and passed to the container in a common XML-based intermediate language called X#. This approach effectively removes the dependence on any single implementation environment. Our prototype implementation for two different containers demonstrates the feasibility of the approach, which represents a first step toward write-once deploy-anywhere Web services.

[1]  Aaron Kershenbaum,et al.  Mobile Agents: Are They a Good Idea? , 1996, Mobile Object Systems.

[2]  Alfons Kemper,et al.  Reliable Web Service Execution and Deployment in Dynamic Environments , 2003, TES.

[3]  Madhusudhan Govindaraju,et al.  Optimizing Performance of Web Services with Chunk-Overlaying and Pipelined-Send , 2004, International Conference on Internet Computing.

[4]  F. Ishikawa Toward Synthesis of Web Services and Mobile Agents , 2004 .

[5]  Guy L. Steele,et al.  The Java Language Specification , 1996 .

[6]  Quan Z. Sheng,et al.  On Composite Web Services Provisioning in an Environment of Fixed and Mobile Computing Resources , 2004, Inf. Technol. Manag..

[7]  David K. Gifford,et al.  Remote evaluation , 1990, TOPL.

[8]  David Kotz,et al.  Future Directions for Mobile Agent Research , 2002 .

[9]  Russell W. Quong,et al.  ANTLR: A predicated‐LL(k) parser generator , 1995, Softw. Pract. Exp..

[10]  David M. Booth,et al.  Web Services Architecture , 2004 .

[11]  Murray Hill,et al.  Yacc: Yet Another Compiler-Compiler , 1978 .

[12]  Madhusudhan Govindaraju,et al.  Investigating the limits of SOAP performance for scientific computing , 2002, Proceedings 11th IEEE International Symposium on High Performance Distributed Computing.

[13]  Ying Zou,et al.  Towards A Portable XML-based Source Code Representation , 2001 .

[14]  George Cybenko,et al.  D'Agents: Applications and performance of a mobile‐agent system , 2002, Softw. Pract. Exp..

[15]  Takuya Katayama,et al.  Worldwide Computing and Its Applications — WWCA'98 , 1998, Lecture Notes in Computer Science.

[16]  Kazuya Kosaka,et al.  Aglets: Programming Mobile Agents in Java , 1997, WWCA.

[17]  Pu Liu,et al.  Toward characterizing the performance of SOAP toolkits , 2004, Fifth IEEE/ACM International Workshop on Grid Computing.

[18]  Madhusudhan Govindaraju,et al.  Performance of Dynamically Resizing Message Fields for Differential Serialization of SOAP Messages , 2004, International Conference on Internet Computing.

[19]  Quan Z. Sheng,et al.  Interleaving Web Services Composition and Execution Using Software Agents and Delegation , 2003 .