Application Programming Interface Usage Guide

The FUSION Semantic Registry has been implemented as a J2EE Web Application and offers an application programming interface through three Web services:


Publication Manager Service Interface

initiatePublicationSession

Inputs

username

password

Outputs

authenticationToken

Calls the UDDI server's get_authToken function to obtain an authentication token in the form of a canonical UUID and returns it. Authentication tokens are opaque values that are required for all other calls to the UDDI server's publisher API. Depending on the implementation of the UDDI server, the authentication may be set to expire after a specified amount of time has lapsed. Before proceeding, the provided input is validated for well-formedness.

 

terminatePublicationSession

Inputs

authenticationToken

Outputs

terminationSuccess

Calls the UDDI server's discard_authToken function to inform the UDDI server that the authentication token is to be discarded, effectively ending the session. It returns a Boolean value to indicate successful termination of the session, or unsuccessful, in case the authentication token was never issued by the specific UDDI server or has already expired. The discard_authToken function is optional for UDDI servers that do not manage session state or that do not support the get_authToken message. Before proceeding, the provided input is validated for well-formedness.

 

addService

Inputs

authenticationToken

serviceName

serviceFreeTextDescription

serviceProviderUUID

sawsdlURL

Outputs

serviceUUID

Creates a new service advertisement and returns a UUID key that serves as a unique identifier for that service. In UDDI, a service is represented as a businessService element. The advertisement includes the information provided by the client and some additional information that is generated by parsing the SAWSDL document at the specified location, creating an Advertisement Functional Profile (AFP) and storing it in the Semantic Registry Knowledge Base, performing matchmaking, and discovering Request Functional Profiles (RFP) that can be readily satisfied by the new service advertisement. Before proceeding, the provided input is validated for well-formedness. The service must have at least one input or output annotation, and exactly one categorisation annotation.

 

addServiceWithoutSAWSDL

Inputs

authenticationToken

serviceName

serviceFreeTextDescription

serviceProviderUUID

sawsdlURL

hasCategoryAnnotationURI

hasInputAnnotationURIList

hasOutputAnnotationURIList

Outputs

serviceUUID

Creates a new service advertisement and returns a UUID key that serves as a unique identifier for that service. In UDDI, a service is represented as a businessService element. The advertisement includes the information provided by the client and some additional information that is generated by creating an Advertisement Functional Profile (AFP) and storing it in the Semantic Registry Knowledge Base, performing matchmaking and discovering Request Functional Profiles (RFP) that can be readily satisfied by the new service advertisement. Before proceeding, the provided input is validated for well-formedness. The service must have at least one input or output annotation, and exactly one categorisation annotation.

 

removeService

Inputs

authenticationToken

serviceUUID

Outputs

serviceRemovalSuccess

Deletes a service advertisement (businessService element) from the UDDI server and the corresponding AFP concept from the Semantic Registry Knowledge Base. Before proceeding, the provided input is validated for well-formedness.

 

modifyService

Inputs

authenticationToken

serviceUUID

serviceName

serviceFreeTextDescription

serviceProviderUUID

Outputs

serviceModificationSuccess

Modifies the name, free text description, or service provider UUID that is associated with a specific service advertisement. In UDDI, a service is represented as a  businessService element. Before proceeding, the provided input is validated for well-formedness.

 

addServiceProvider

Inputs

authenticationToken

serviceProviderName

serviceProviderFreeTextDescription

Outputs

serviceProviderUUID

Creates a Service Provider record in the UDDI server and returns a UUID key that serves as a unique identifier for that service provider. In UDDI, a Service Provider is represented as a businessEntity element. Before proceeding, the provided input is validated for well-formedness.

 

removeServiceProvider

Inputs

authenticationToken

serviceProviderUUID

Outputs

serviceProviderRemovalSuccess

Deletes a Service Provider record from the UDDI server. In UDDI, a Service Provider is represented as a businessEntity element. When removing a Service Provider record all records of Services associated with the specific Service Provider are also removed automatically. Before proceeding, the provided input is validated for well-formedness.

 

modifyServiceProvider

Inputs

authenticationToken

serviceProviderUUID

serviceProviderName

serviceProviderFreeTextDescription

Outputs

serviceProviderModificationSuccess

Updates the name or free text description associated with a Service Provider record in the UDDI server. In UDDI, a Service Provider is represented as a businessEntity element. Before proceeding, the provided input is validated for well-formedness.

 


Discovery Manager Service Interface

getAllServiceProviderUUIDs

Inputs

N/A

Outputs

List of all service provider keys (UUIDs)

Returns a list with the UUIDs of all Service Provider records existing in the UDDI server.

 

doKeywordSearchForServiceProviders

Inputs

keyword

Outputs

List of all service provider keys (UUIDs)

Returns a list with the UUIDs of all Service Provider records existing in the UDDI server, and have a name that contains the specified keyword. Before proceeding, the provided input is validated for well-formedness.

 

getServiceProviderDetails

Inputs

serviceProviderUUID

Outputs

serviceProviderName

serviceProviderFreeTextDescription

listOfProvidedServiceUUIDs

Retrieves a Service Provider record from the UDDI server matching the specified UUID key, and returns all available information (name, free text description, provided Services). Before proceeding, the provided input is validated for well-formedness.

 

getAllServiceUUIDs

Inputs

N/A

Outputs

List of all service keys (UUIDs)

Returns a list with the UUIDs of all Service records existing in the UDDI server.

 

doKeywordSearchForServices

Inputs

Keyword

Outputs

List of all service keys (UUIDs)

Returns a list with the UUIDs of all Service records existing in the UDDI server, and have a name that contains the specified keyword. Before proceeding, the provided input is validated for well-formedness.

 

doSemanticSearchForServices

Inputs

requestFunctionalProfileURI

serviceProviderUUID

Outputs

List of all service keys (UUIDs)

Returns a list with the UUIDs of all Service records in the UDDI server that have been indexed as matching the Request Functional Profile (RFP) identified by the given URI. Optionally, the UUID of a Service Provider may be specified, in order to limit the search into services being offered only by that provider. Before proceeding, the provided input is validated for well-formedness.

 

getServiceDetails

Inputs

serviceUUID

Outputs

serviceName

serviceFreeTextDescription

locationOfSAWSDLDocument

serviceProviderUUID

categoryAnnotationURI

listOfInputAnnotationURIs

listOfOutputAnnotationURIs

listOfMatchingRequestFunctionalProfileURIs

Retrieves a Service record from the UDDI server matching the specified UUID key, and returns all of the information available for this service: name, free text description, UUID of service provider, URL of the service's SAWSDL document, URIs of the category, input and output annotations, and URIs of the RFPs that the service is known (i.e. indexed) to match with. Before proceeding, the provided input is validated for well-formedness.

 


Admin Manager Service Interface

setupStandardConfiguration

Inputs

username

password

uddi_inquiry_url

 

uddi_publish_url

Outputs

list

Checks the UDDI server (identified by the provided uddi_inquiry_url) to make sure that all five canonical tModels that are necessary for the Semantic Registry to function have been published (SAWSDL Document URL tModel, Category Annotation tModel, Input Annotation tModel, Output Annotation tModel, Subsumption Indexing tModel). In case some (or all) are missing, they get published. The UUID keys of the five tModels are returned. Publishes Before proceeding, the provided input is validated for well-formedness.

 

addRFPToIndex

Inputs

username

password

requestFunctionalProfileURI

Outputs

list

Initiates a semantic matchmaking procedure to check whether any of the AFPs in the Semantic Registry Knowledge Base matches the RFP at the specified location. In case a match is detected for some AFP, the UDDI service advertisement is updated to reflect this information, by adding a reference to the Subsumption Indexing tModel in the category bag of that service. The UUID keys of all service advertisements that were updated in this way are returned. Before proceeding, the provided input is validated for well-formedness.

 

removeRFPFromIndex

Inputs

username

password

requestFunctionalProfileURI

Outputs

list

Checks the category bag of every service in the registry to determine if it contains a reference to the Subsumption Indexing tModel with a value equal to the specified RFP URI (this would mean that the specific service has been indexed as matching the specified RFP). In case a match is detected for some advertisement, the keyed reference is removed from the category bag and the UDDI service advertisement is saved back to the UDDI server. The UUID keys of all service advertisements that were updated in this way are returned. Before proceeding, the provided input is validated for well-formedness.

 

refreshIndex

Inputs

username

password

Outputs

list

Initiates a semantic matchmaking procedure among all RFPs and AFPs, to check whether any of the AFPs in the Semantic Registry Knowledge Base matches any of the RFPs defined in the EAI ontology that is specified in the registry.properties file. In case a match is detected for some AFP, the UDDI service advertisement is updated to reflect this information, by adding a reference to the Subsumption Indexing tModel in the category bag of that service. This is a utility operation that should only be used in case the Semantic Registry’s UDDI index goes out of sync with the Semantic Registry Knowledge Base (e.g. due to an administrator’s mistake). The UUID keys of all service advertisements that were updated in this way are returned. Before proceeding, the provided input is validated for well-formedness.