|
Grid Computing Research LaboratoryState University of New York (SUNY) BinghamtonDepartment of Computer Science |
Pu Liu,
"Mobile Code Enabled Web and Grid Services",
PhD Thesis,
Computer Science Department, Binghamton University, August 2006.
[PDF]
[Word]
[bibtex]
Abstract
Web services provide a standard means to achieve interoperability
between different software applications in a heterogeneous distributed
environment. The Web Services Resource Framework (WSRF) has redefined
Grid computing standards, making Web services more suitable for Grid
applications by adding persistent state management. A primary benefit
of Web and Grid services is that they provide a uniform
implementation-independent mechanism for accessing distributed
services. However, it is still difficult to build, deploy, and
evolve such services. Different Web or Grid services containers are
implemented in different programming languages, with different
constraints and requirements placed on the programmer. The research
described in this dissertation takes a significant first step toward
"write-once deploy-anywhere" Web and Grid services, by enabling mobile
code for different Web and Grid services containers. The term "mobile
code" refers to passive code segments that can be dynamically deployed
into a variety of hosting environments. The basis of this approach is
the design and definition of a common intermediate language, called X#,
for the representation and transmission of mobile code. Three Web
services containers (namely, Tomcat, ASP.NET and a gSOAP based C++
container), and two Grid services containers (namely, GT4 and WSRF.NET)
now support dynamic mobile code deployment through a standard Web service
deployment interface. Containers receive the mobile X# code and then
generate container-specific native code in different languages, without
exposing these details to applications and Grid services programmers.
The dynamically deployed mobile code can access state managed by the
hosting container, can utilize functionalities exposed by statically
deployed services, and can communicate with other mobile code modules,
running either in the same container or in different containers. A
performance study shows that the newly deployed mobile code can run as
nearly efficiently as it would if it had been deployed statically,
through container-specific mechanisms. The resulting software systems
enable uniform dynamic deployment of the same code into several
different containers written in different languages, including C#,
Java, and C++. This reduces the burden on
service programmers, facilitates interoperability, and potentially
increases the impact of service code by allowing it to run in a larger
number of different containers.
Key Words
Web Services, Dynamic Deployment, Language Interoperability,
Service Oriented Computing.