org.ogf.saga.sd
Interface ServiceDescription

All Superinterfaces:
Attributes, Cloneable, SagaObject

public interface ServiceDescription
extends SagaObject, Attributes

Read access to the top level data of the service and a means to navigate to related services. This class implements the org.ogf.saga.attributes.Attributes interface and offers getter methods to obtain details of that service. The attributes are based on those found in GLUE. They are:

Capabilities
identifiable aspects of functionality
ImplementationVersion
the version of the service implementation. This field is not an empty string.
Implementor
name of the organisation providing the implementation of the service. This field is not an empty string.
InterfaceVersion
the version of the service interface. This field is not an empty string.
Name
name of service - not necessarily unique. This field is not an empty string.
RelatedServices
uids of related services. This returns the uids of the related services. This is unlike the method getRelatedServices which returns an array of ServiceDescriptions.
Site
name of site. This field is not an empty string.
Type
type of service. This field is not an empty string.
Uid
unique identifier of service. This field is not an empty string.
Url
url to contact the service. The getUrl method obtains the same information.

In addition there is an attribute that contains the url of the information service that was used to obtain the data.

InformationServiceUrl
url of the information service used to obtain this service_description. This must have a valid URL syntax.

This class has no CONSTRUCTOR as objects of this type are created only by other objects in the service discovery API.


Field Summary
static String CAPABILITIES
          Attribute name, identifiable aspects of functionality.
static String IMPLEMENTATION_VERSION
          Attribute name, the version of the service implementation.
static String IMPLEMENTOR
          Attribute name, name of the organisation providing the implementation of the service.
static String INFORMATION_SERVICE_URL
          Attribute name, url of the information service used to obtain this service_description.
static String INTERFACE_VERSION
          Attribute name, the version of the service interface.
static String NAME
          Attribute name, name of service - not necessarily unique.
static String RELATED_SERVICES
          Attribute name, uids of related services.
static String SITE
          Attribute name, name of site.
static String TYPE
          Attribute name, type of service.
static String UID
          Attribute name, unique identifier of service.
static String URL
          Attribute name, url to contact the service.
 
Fields inherited from interface org.ogf.saga.SagaObject
NO_WAIT, WAIT_FOREVER
 
Fields inherited from interface org.ogf.saga.attributes.Attributes
BOOL, ENUM, FALSE, FLOAT, INT, STRING, TIME, TRIGGER, TRUE
 
Method Summary
 ServiceData getData()
          Returns a ServiceData object with the service data key/value pairs.
 Set<ServiceDescription> getRelatedServices()
          Returns the set of related services.
 String getUrl()
          Returns the URL to contact the service.
 
Methods inherited from interface org.ogf.saga.SagaObject
clone, getId, getSession
 
Methods inherited from interface org.ogf.saga.attributes.Attributes
existsAttribute, findAttributes, getAttribute, getVectorAttribute, isReadOnlyAttribute, isRemovableAttribute, isVectorAttribute, isWritableAttribute, listAttributes, removeAttribute, setAttribute, setVectorAttribute
 

Field Detail

CAPABILITIES

static final String CAPABILITIES
Attribute name, identifiable aspects of functionality.

See Also:
Constant Field Values

IMPLEMENTATION_VERSION

static final String IMPLEMENTATION_VERSION
Attribute name, the version of the service implementation.

See Also:
Constant Field Values

IMPLEMENTOR

static final String IMPLEMENTOR
Attribute name, name of the organisation providing the implementation of the service.

See Also:
Constant Field Values

INFORMATION_SERVICE_URL

static final String INFORMATION_SERVICE_URL
Attribute name, url of the information service used to obtain this service_description.

See Also:
Constant Field Values

INTERFACE_VERSION

static final String INTERFACE_VERSION
Attribute name, the version of the service interface.

See Also:
Constant Field Values

NAME

static final String NAME
Attribute name, name of service - not necessarily unique.

See Also:
Constant Field Values

RELATED_SERVICES

static final String RELATED_SERVICES
Attribute name, uids of related services.

See Also:
Constant Field Values

SITE

static final String SITE
Attribute name, name of site.

See Also:
Constant Field Values

TYPE

static final String TYPE
Attribute name, type of service.

See Also:
Constant Field Values

UID

static final String UID
Attribute name, unique identifier of service.

See Also:
Constant Field Values

URL

static final String URL
Attribute name, url to contact the service.

See Also:
Constant Field Values
Method Detail

getUrl

String getUrl()
Returns the URL to contact the service. The URL may also be obtained using the org.ogf.saga.attributes.Attributes interface.

Returns:
a string containing the URL to contact this service

getRelatedServices

Set<ServiceDescription> getRelatedServices()
                                           throws AuthenticationFailedException,
                                                  AuthorizationFailedException,
                                                  NoSuccessException,
                                                  TimeoutException
Returns the set of related services. Alternatively, the org.ogf.saga.attributes.Attributes interface may be used to get the uids of the related services.

Returns:
a set of related services. This may be an empty set.
Throws:
AuthenticationFailedException - if none of the available session contexts could successfully be used for authentication
AuthorizationFailedException - if none of the available contexts of the used session could be used for successful authorization. That error indicates that the resource could not be accessed at all, and not that an operation was not available due to restricted permissions.
NoSuccessException - if no result can be returned because of information system or other internal problems
TimeoutException - if a remote operation did not complete successfully because the network communication or the remote service timed out

getData

ServiceData getData()
Returns a ServiceData object with the service data key/value pairs.

Returns:
the service data for this service. This may be empty, i.e.has no attributes at all.


Copyright © 2014 Open Grid Forum. All rights reserved.