GT 4.0 Migrating Guide for Java WS Core

The following provides available information about migrating from previous versions of the Globus Toolkit.

1. Migrating from GT2

Not applicable. This component did not exist in GT2.

2. Migrating from GT3

2.1. Key Migration Points

2.1.1. Schemas

2.1.1.1. GWSDL

GT3 used GWSDL to describe service messages and operations. GT4 uses standard WSDL with one extensibility attribute to describe resource properties. Please see the WS-ResourceProperties specification for details on expressing the resource properties in WSDL.

2.1.1.2. Port Types

In GT3 every service inherited some basic operations and functionality (from GridService port type) as required by the OGSI specification. However, in GT4 there is no such requirement (because the WSRF/WSN specifications do not require it). Also, the Factory port type defined in the OGSI specification does not exist in WSRF/WSN specifications. Therefore, there is no standard create operation or functionality provided by GT4.

2.1.1.3. WSDL formatting

GT3 relied on wrapped formatting of the WSDL. GT4 uses standard document formatting. This change introduces differences in how the Java interface for the service looks. Please see the design document and the document/literal section for more details.

2.1.2. Developing services

In GT3, the business logic of the service and the state were coupled together in one class. In GT4, the business logic and the state are decoupled and placed in two separate classes. The business logic is put in a service class while the state is put in a resource class. The service is stateless while the resource is stateful. Also, GT4 introduces ResourceHome classes that are responsible for managing and discovering resources. Please see the programming model overview for details.

Even though a GT4 developer needs to modify two or three separate files the coding effort is about the same as in GT3.

2.1.3. Configuring services

In GT3, most of the configuration information was stored in the server-config.wsdd file. In GT4, since the business logic and state were decoupled, the service information is still kept in server-config.wsdd but resource information is now placed in the new jndi-config.xml file. Please see the JNDI section for more details.