org.globus.ogsa
Interface OperationProvider

All Known Implementing Classes:
CounterProvider, FactoryProvider, HandleResolverProvider, NotificationSourceProvider, ProviderCallbackRecorder, RegistryPublishProvider, ServiceGroupProvider, ServiceGroupRegistrationProvider

public interface OperationProvider

An OperationProvider implements a subset of operations exposed by a Grid service. It can be configured with a service at deployment time, or added at runtime using the GridServiceBase interface. The OperationProvider does not have to expose any operations, in which case it will just be initialized and potentially called when lifecycle events occur (if the GridServiceCallback interface is implemented). If the dispatcher receives a remote call on a service it will match the operation names against the ones exposed by the getOperations method. The QNames correspond directly to the definitions in the WSDL definition of the service.

See Also:
GridServiceBase, GridServiceCallback

Method Summary
 javax.xml.namespace.QName[] getOperations()
          Called during initialization when the Grid service needs to find out what operations are supported by this provider.
 void initialize(GridServiceBase serviceBase)
          Called when the operation provider is added to a grid service.
 

Method Detail

initialize

public void initialize(GridServiceBase serviceBase)
                throws GridServiceException
Called when the operation provider is added to a grid service.

Parameters:
serviceBase - the service this provider is being associated with
Throws:
GridServiceException - if the initialization (and service creation is to be aborted)

getOperations

public javax.xml.namespace.QName[] getOperations()
Called during initialization when the Grid service needs to find out what operations are supported by this provider.

Returns:
an array of operation qnames as defined in WSDL. An OperationProvider can use the empty string "" to denote that all operations with a certain local name are implemented. Similarly the wildcard "*" can be used in the local part of the qname to denote that all operations within a certain namespace are implemented. Combining these two approaches and returning: new QName[] {new QName("","*")}, will result in all incoming operations being redirected to this provider (apart from the OGSI defined GridService interface operations provided by the GridServiceBase implementation. Note that individual operations in the OGSI namespace could still be overridded with this approach, but not using the 'all namespaces and all operation' wildcard.


Copyright ? 1999 University of Chicago and The University of Southern California. All Rights Reserved.