Home
News
Events
Press
Downloads
Publications
Links
Partners
Contact
Search
Newsletter Issues
Wiki
BREIN User and Development Forum
BREIN Architecture
Knowldege Portal
Login Form
Latest News
6th Newsletter issue available   The 6th BREIN newsletter issue is now available. To download it, visit the "Newsletter Issues" section on the left menu or click here .   Details...

SOC-LOG'09 workshop at ICSOC-ServiceWave conference     BREIN is supporting the 1st International Workshop on Service Oriented Computing in Logistics (SOC-LOG'09) which will be held as part of ICSOC/ServiceWave, in Stockholm, Sweden (November 23, 2009).    Details...

New demo video BREIN project participated in the Internet of Services 2009 Concertation meeting, presenting among others two demos showing the work done on Semantically enhanced SLA Negotiations and Semantic aware and SLA-Driven Resource Management for Virtualized and Heterogeneous Platforms.   Details...

Cloud Computing Providers Part of our work done for the State of the Art is now available also through Gridipedia (visit here )   Details...

Semantics Week 2009   BREIN and the European projects STASIS, SOA4ALL, and the NESSI Semantics Group, would like to invite you to "Semantics Week" to be held June 22-26th in beautiful and logistic friendly Amsterdam.   Details...




BREIN Dissemination CDcd.jpg

newsletter.jpg





Receive HTML?

SERVICE DISCOVERY REGISTRY

The Service Discovery Registry (SDR) functionality is as follows:

·        Allows the Service Providers to publish their services into any of Service Discovery Registry from the Network;

·        Allows the Customers to find services they need by querying from any registry node of the network.

The SDR allows for matching customer’s required profiles with the provider offers.  Each service (and query, too) handled by the component is described using the OWL-S specification (Service Profile). Furthermore, the Service Provider specifies the signature of the advertised service through the ontology class of inputs, outputs and service’s classification.

When a new service is published into the SDR, the SDR stores a local copy of service and update the index information used from the others peers of Service Discovery Registries Network. When a query is submitted, through an OWL-S Service Profile, the SDR uses a semantic engine to retrieve the local published services with one of the following degree of match: Exact Match, Plug-in Match, Subsumes match, Subsumed-by match, and Nearest-neighbour match. The first three degree of match is logic based and the last two are hybrid due to the required additional computation of syntactic similarity values.

If the size of collected results is not enough, the SDR would forward the query to others semantic relevant instance of SDR.

 

Prerequisites

Software Installation

Service Discovery API

Prerequisites

The Service Discovery Registry component requires Microsoft .NET Framework 3.5 or higher, IIS with WCF capability enabled, Java 5 or higher, Tomcat 5.5 or higher.

Installation

The Service Discovery Registry is shipped with three sub-components: SDRService, SDRWeb and SDRSemanticEngine.  The SDRService component must be deployed on Microsoft Internet Information Services (IIS) on Windows XP Professional, Windows Vista, Windows Server 2003 and Windows Server 2008. The SDRSemanticEngine must be deployed on Tomcat Server.

In order to deploy the complete SDR package the user has to execute the related installer following the instruction for a correct configuration. The installer by default will create a ‘virtual’ directory in the IIS called "SDRService". By opening the IIS Management Console the user will have to make these sub-directories application directories (See Figure 10).

 

 

The services should be accessible locally at the following URLs:

·        http://localhost/SDRService/SDService.svc

·        http://localhost/SDRWeb/Default.aspx

The execution of the installer creates the following configuration files (SDRService\Web.config and SDRWeb\Web.config), in the case the user wants to change them manually, see below:

Update SDRSemanticEngine and SATSLARepositoryService endpoints

 

·        Update the application settings:

o       BreinSdWcfService_WebRef_SATSLARepository_SATSLARepositoryService, endpoint of the SATSLARepositoryService

o       BreinSdWcfService_WebRef_MatchmakerInterface_MatchmakerInterfaceService, endpoint of the SDRSemanticEngine

o       SemXConeLocalAddress, defines the local node address which is used to communicate with the others nodes of the network

o       SemXConeLocalPort, defines the local node port which is used to communicate with the others nodes of the network

o       SemXConeIsBootStrapNode, defines if the local SD node is a bootstrap node of Service Discovery Registries Network

o       SemXConeHostAddress, defines the SD node address to start the bootstrap process

o       SemXConeHostPort, defines the SD node port to start the bootstrap process

o       SemanticEngineHostAddress, node address of the SDRSemanticEngine

o       SemanticEngineHostPort, node port of the SDRSemanticEngine

o       CatOntology, the URI to category ontology which classify the published services

 

After the installation the user has to deploy the SDRSemanticEngine into the webapps directory of the local instance of Tomcat application server.  The installer modifies your windows firewall configuration as well by adding the follow rule:

·        Accept any TCP communication (in/out) from SemXConeLocalPort

Note: At the end of the installation process, execute "iisreset" from command line to restart IIS. This is needed to synchronize IIS with the new system environment variables.

 

Service Discovery API

 

 

Method

void AddService(string serviceId, string profile, KVPair[] additionalInfo)

Arguments

string serviceId – Unique identifier of the service profile; it can be any string.

string profile – The service profile to be added, an XML document compliant with OWL-S specification.

KVPair[] additionalInfo – A list of generic info (key-value pairs) related to the service.

Return Value[s]

None

Description

Insert, or update if already exists, a service profile into the service discovery registry.

Method

Void RemoveService(string serviceId)

Arguments

string serviceId - Unique identifier of the service profile; it can be any string.

Return Value[s]

None

Description

Remove a service profile from the service discovery registry.

Method

String[] ListServices()

Arguments

None

Return Value[s]

An array of string; each string is the identifier of a service profile.

Description

List all service profile identifiers contained into local node of the service discovery registry.

Method

MatchedService[] MatchRequest(string profile)

Arguments

string profile - The service profile to be search, an XML document compliant with OWL-S specification. It can contains both semantic and SLA characteristics description.

Return Value[s]

See MatchRequestCustom operation.

Description

It executes the same search of the MatchRequestCustom operation, but with default parameters configure with setter operations.

Method

MatchedService[] MatchRequestCustom(string profile, int minDegreeOfMatch, double simThreshold)

Arguments

string profile - The service profile to be search, an XML document compliant with OWL-S specification. It can contains both semantic and SLA characteristics description.

int minDegreeOfMatch - minimum degree of match parameter for the semantic search.

double simThreshold - similarity threshold parameter for the semantic search.

Return Value[s]

An array of MatchedService elements, sorted by semantic and SLA degree of match; each element contains the serviceId of the profile and the result parameters of the match; also the SLAs documents retrieved from the SATSLARepository and the service additionalInfo are returned.

Description

It performs the search of service profiles matching against the service profile request.

Method

KVPair[] GetConfig()

Arguments

None

Return Value[s]

KVPair[] – The list of Semantic Engine configuration parameters.

Description

Getter operation for the whole configuration of Semantic Engine.

Method

string GetConfigParam(string name)

Arguments

string name - The name of the Semantic Engine configuration parameter to be get.

Return Value[s]

String - The value of configuration parameter required.

Description

Getter operation to retrieve from the local Service Discovery Registry node the Semantic Engine configuration.

Method

void SetConfig(KVPair[] config)

Arguments

KVPair[] config - The list of Semantic Engine configuration parameters.

Return Value[s]

None

Description

Setter operation for the whole configuration of Semantic Engine.

Method

void SetConfigParam(string name, string value)

Arguments

string name - The name of the Semantic Engine configuration parameter to be set.

string value - The value of the Semantic Engine configuration parameter to be set.

Return Value[s]

None

Description

Set operation to update a local Semantic Engine configuration.

Method

void DelConfigParam(string name);

Arguments

string name - The name of the configuration parameter to be delete.

Return Value[s]

None

Description

Delete a local Semantic Engine configuration.

Method

void Initialize()

Arguments

None

Return Value[s]

None

Description

Initialize manually the discovery engine, starting and configuring the backend, and loading the service registry from content of the persistent repository. This Operation is automatically executes at the first (any) operation invocation.

Method

void StartupBackend()

Arguments

None

Return Value[s]

None

Description

Start the backend container and join into Service Discovery Registries Network.

Method

void ShutdownBackend()

Arguments

None

Return Value[s]

None

Description

Stop the backend container and leave the Service Discovery Registries Network.

Method

void JoinSDRNetwork()

Arguments

None

Return Value[s]

None

Description

Join into Service Discovery Registries Network.

Method

void LeaveSDRNetwork()

Arguments

None

Return Value[s]

None

Description

Leave the Service Discovery Registries Network.

Method

SemanticEngineStatus getSemanticEngineStatus()

Arguments

None

Return Value[s]

Useful information about the Semantic Engine Status.

Description

Get the status of the semantic engine.

Method

SemanticDistributedIndexStatus getSemanticDistributedIndexStatus()

Arguments

None

Return Value[s]

Useful information about the Semantic Distributed Index Status.

Description

Get the status of the semantic distributed index.

Method

string GetSDIndexConfigParam(string name)

Arguments

string name - The name of the Semantic Distributed Index configuration parameter to be get.

Return Value[s]

string value - The value of the Semantic Distributed Index configuration parameter.

Description

Getter operation to retrieve from the local Service Discovery Registry node the Semantic Distributed Index configuration.

Method

void SetSDIndexConfigParam(string name, string value)

Arguments

string name - The name of the Semantic Distributed Index configuration parameter.

string value - The value of the Semantic Distributed Index configuration parameter to be set.

Return Value[s]

None

Description

Set operation to update at the local Service Discovery Registry node the Semantic Distributed Index configuration.

Method

void DelSDIndexConfigParam(string name)

Arguments

string name - The name of the Semantic Distributed Index configuration parameter to be delete.

Return Value[s]

None

Description

Delete from the local Service Discovery Registry node the Semantic Distributed Index configuration.

Method

KVPair[] GetSDIndexConfig()

Arguments

None

Return Value[s]

KVPair[] config - The list of Semantic Distributed Index configuration parameters.

Description

Getter operation for the whole configuration of Semantic Distributed Index.