org.globus.ogsa
Interface GridServiceBase

All Superinterfaces:
GridService, GridServiceCallback, java.rmi.Remote, ServiceProperties
All Known Subinterfaces:
PersistentGridServiceBase
All Known Implementing Classes:
GridServiceImpl, PersistentGridServiceImpl

public interface GridServiceBase
extends ServiceProperties, GridServiceCallback, GridService

The GridServiceBase interface defines the methods that need to be supported by all Grid service implementations. This functionality is typically (although not necessarily) implemented by a base class that all Grid service implementations inherit from.


Field Summary
 
Fields inherited from interface org.globus.ogsa.ServiceProperties
ACTIVATE_ON_STARTUP, ACTIVATION, BASE_CLASS_NAME, BOOTSTRAP, CONFIG_PATH, CONTAINS_REFERENCE, CREATION_EXTENSIBILITY, CREATION_EXTENSIBILITY_OUTPUT, CUSTOM_EXTENSIBILITY_DESERIALIZER, CUSTOM_EXTENSIBILITY_SERIALIZER, CUSTOM_MAPPING_REGISTERED, DEACTIVATED_PERSISTENT, DEACTIVATED_STATE, DEACTIVATED_TRANSIENT, DEACTIVATION, DESTROY_LISTENER, DESTRUCTION_SKELETON, DISABLE_FACTORY_REGISTRY, ENDPOINT, ENTRY_INSTANCE_CREATION, FACTORY, FACTORY_CALLBACK, FACTORY_HANDLE, FACTORY_PROVIDER, FACTORY_REGISTRY, GSR_DESCRIPTION, HANDLE, HANDLE_PORT, HANDLE_PROTOCOL, INSTANCE_CLASS, INSTANCE_DEACTIVATION, INSTANCE_GSR_DESCRIPTION, INSTANCE_LIFECYCLE, INSTANCE_PORT_TYPE, INSTANCE_PORT_TYPE_NS, INSTANCE_PREFIX, INSTANCE_REGISTRY, INSTANCE_SCHEMA_PATH, INSTANCE_WSDL, INTERFACE_CLASS_NAME, INVOCATION_ID, LAZY_CREATION, LIFECYCLE, LIFECYCLE_MONITOR, LIFECYCLE_MONITOR_CLASS, NAME, NOTIFICATION_ENGINE, NOTIFICATION_FACTORY, NOTIFICATION_SOURCE, OPERATION_PROVIDERS, PERSISTENT, PERSISTENT_PROPERTIES, PORT, PORT_TYPE, PORT_TYPE_NS, PRIMARY_KEY, PROTOCOL, QUERY_ENGINE, REDIRECT_RESOLVER, REGISTRY, RESOLVER_CACHE, ROUTER_HEADER, ROUTER_VIA, SCHEMA_LOCATION, SCHEMA_PATH, SERVICE_ACTIVATOR, SERVICE_DATA, SERVICE_DEPLOYMENT, SERVICE_GROUP_ENTRY, SERVICE_GROUP_PROVIDER, SERVICE_LOADER, SERVICE_NODE, SERVICE_PATH, SINK_ID, STARTUP_STATE, SWEEP_SERVICE_DATA, TIMEOUT, TIMESTAMP, TRANSIENT, TYPE, USER, WEBSTART_PANEL_NAME, WEBSTART_URL, WSDL
 
Method Summary
 void addOperationProvider(OperationProvider provider)
          Adds a new operation provider to this service.
 java.lang.Object getInstanceProperty(java.lang.String key)
          Gets a property that is to be propagated to other instances that this Grid service may create.
 OperationProvider getOperationProvider(javax.xml.namespace.QName operationName)
          Gets the operation provider based on the qname of the operation as defined in the WSDL representation of the service interface.
 QueryEngine getQueryEngine()
          Gets the QueryEngine implementation that is used to evaluate service data based query expressions on the service.
 ServiceDataSet getServiceDataSet()
          Gets the ServiceDataSet implementing storage of service data entries for the service.
 java.lang.Class getServiceInterface()
          Gets the class representing the service interface of this service.
 TerminationTimeType getTerminationTime()
          Gets the current termination time of the service.
 void populateInstanceProperties(GridServiceBase service)
          Propagates instance properties of this service to another Grid service.
 void setQueryEngine(QueryEngine engine)
          Sets the QueryEngine implementation that is used to evaluate service data based query expressions on the service.
 void setServiceDataSet(ServiceDataSet serviceData)
          Sets the ServiceDataSet implementing storage of service data entries for the service.
 
Methods inherited from interface org.globus.ogsa.ServiceProperties
flush, getPersistentProperty, getProperty, setPersistentProperty, setProperty
 
Methods inherited from interface org.globus.ogsa.GridServiceCallback
activate, deactivate, postCreate, preCreate, preDestroy
 
Methods inherited from interface org.gridforum.ogsi.GridService
destroy, findServiceData, requestTerminationAfter, requestTerminationBefore, setServiceData
 

Method Detail

getServiceDataSet

public ServiceDataSet getServiceDataSet()
Gets the ServiceDataSet implementing storage of service data entries for the service.

Returns:
ServiceDataSet associated with this Grid service

setServiceDataSet

public void setServiceDataSet(ServiceDataSet serviceData)
Sets the ServiceDataSet implementing storage of service data entries for the service.

Parameters:
serviceData - ServiceDataSet to be associated with this Grid service

getQueryEngine

public QueryEngine getQueryEngine()
Gets the QueryEngine implementation that is used to evaluate service data based query expressions on the service. The QueryEngine can be used to register new evaluators for custom query expressions.

Returns:
QueryEngine currently associated with this Grid service

setQueryEngine

public void setQueryEngine(QueryEngine engine)
Sets the QueryEngine implementation that is used to evaluate service data based query expressions on the service.

Parameters:
engine - QueryEngine to be associated with this Grid service

addOperationProvider

public void addOperationProvider(OperationProvider provider)
                          throws GridServiceException
Adds a new operation provider to this service. The provider will be initialized as part of this call. When a request is received by this service, which matches any operation that the provider exposes, the call will be redirected to the provider.

Parameters:
provider - OperationProvider to be linked with this service
Throws:
GridServiceException - if the provider failed to initialize

getOperationProvider

public OperationProvider getOperationProvider(javax.xml.namespace.QName operationName)
Gets the operation provider based on the qname of the operation as defined in the WSDL representation of the service interface.

Parameters:
operationName - name of operation to look up (namespace "" and localPart "*" can be used to find generic operation dispatchers)
Returns:
OperationProvider or null if no matching provider was found

getServiceInterface

public java.lang.Class getServiceInterface()
Gets the class representing the service interface of this service. The service interface is a combination of all methods exposed by this Grid service, including those provided by the OperationProviders. The service interface class may differ from the actual class implementing this GridServiceBase.

Returns:
the service interface class that this service was configured with

getTerminationTime

public TerminationTimeType getTerminationTime()
Gets the current termination time of the service. This is a convenience method for local clients. The same information can be retrieved by issuing a query on the OGSI terminationTime Service Data element.

Returns:
current termination time of this service

getInstanceProperty

public java.lang.Object getInstanceProperty(java.lang.String key)
Gets a property that is to be propagated to other instances that this Grid service may create.

Parameters:
key - the name of the property (note instance properties are prefixed by "instance-" in the configuration)
Returns:
the value of the specified property or null if the property was not found

populateInstanceProperties

public void populateInstanceProperties(GridServiceBase service)
Propagates instance properties of this service to another Grid service.

Parameters:
service - the Grid service that is to be populated with instance properties from this service


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