Personal tools

3. Architecture

Up one level
A brief overview of the architecture of a service.

Interfaces

The UML class diagram below shows the key interfaces used in the sample code and how they are split across the sample-client and sample-common jars (those not in any box are part of the standard GRIA libraries).

Key interfaces

Key Java interfaces

The main interfaces are:

SampleService
All service SOAP operations which take no context.
SampleResource
All service SOAP operations with take a sample resource as their context.

These two interfaces correspond to the two SOAP endpoints. Each endpoint has its own WSDL document.

The two client interfaces exist mainly for combining multiple interfaces into one. For example, SampleConversation is simply the union of SampleResource and Conversation. However, it is possible to define extra helper methods on these interfaces, which do not correspond to SOAP operations.

The interfaces from the core GRIA libraries are:

StorableInStateRepository
An object that can be added to the client's repository and shown in the Swing interface.
Conversation
A client-side proxy to a remote resource.
RemoteService
A client-side proxy to a remote service.
GridService
Operations to get the service's certificates and resources.
ManagedGridService
A service managed by an account or SLA service.
ReportAPI
A service which can deliver usage reports to an SLA service.
WebAdmin
A service which can be administered using the web interface.
PolicyManagement
A resource whose access control rules can be managed.
WSResourceLifetime
A resource which can be destroyed, following the WS-ResourceLifetime specification.
ResourceMetadata
A resource with a user-set label and other metadata.

All the interfaces are described fully in the on-line JavaDoc reference.