Skip to main content

Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "Swordfish Documentation: Architecture: Service Registry Plugin"

 
(6 intermediate revisions by the same user not shown)
Line 1: Line 1:
<h1>Description (under construction)</h1>
+
<h1>Plugin description</h1>
 
The Service Registry Plugin consists of the following components:
 
The Service Registry Plugin consists of the following components:
 
<ul>
 
<ul>
 
<li>ServiceResolver - resolves information about the service endpoints for specified service using endpoint document providers and endpoint extractors</li>
 
<li>ServiceResolver - resolves information about the service endpoints for specified service using endpoint document providers and endpoint extractors</li>
<li>EndpointDocumentProvider - is responsible for retrieval of service related information (e.g. service descriptions) from different kinds of location.
+
<li>EndpointDocumentProvider - is responsible for retrieval of service description from different kinds of location.
 
Different implementation of the EndpointDocumentProvider can be used to get the service descriptions from local filesystem or from a remote registry.</li>
 
Different implementation of the EndpointDocumentProvider can be used to get the service descriptions from local filesystem or from a remote registry.</li>
<li>EndpointExtractor - extracts endpoint parts (endpoint address, transport protocol) from the service description document.
+
<li>EndpointExtractor - extracts endpoint parts (e.g. endpoint address, transport protocol) from the service description representation.
At the same time multiple endpoint extractors can be registered in the system, each suitable for processing one specified type of service description document (e.g. extractor for  
+
At the same time multiple endpoint extractors can be registered in the system, each suitable for processing one type of service description document (e.g. extractor for WSDL 1.1 based service descriptions, extractor for WSDL 2.0 and so on).</li>
 
+
WSDL 1.1 based service descriptions, extractor for WSDL 2.0 and so on).</li>
+
 
</ul>
 
</ul>
 
<br/>
 
<br/>
The endpoint resolution process can be described by the folowing scenario:
+
The endpoint resolution process is described by the folowing scenario:
 
<ol>
 
<ol>
<li>ServiceResolver gets all EndpointDocumentProviders registered at runtime and chooses one with the highest priority. The chosen provider is then queried for service description  
+
<li>ServiceResolver gets all EndpointDocumentProviders registered at runtime and chooses one with the highest priority. The chosen provider is then queried for service description documents corresponding to the specified service interface. All found documents are returned from provider as collection of the ServiceDescription objects where each ServiceDescription represents one raw description document.</li>
 
+
documents corresponding to the specified service interface. All found documents are returned from provider as collection of the ServiceDescription objects where each ServiceDescription represents one raw service description document.</li>
+
 
<li>
 
<li>
ServiceResolver gets all registered EndpointExtractors and uses them to extract endpoint impormation from received ServiceDescriptions. Extracted information is grouped as collection of EndpointDescription objects and returned to calling context.</li>
+
ServiceResolver gets all registered EndpointExtractors and uses them to extract endpoint description information from received ServiceDescriptions.
 +
At this step it also performs [[Swordfish_Documentation:_Architecture:_Policy_Trading_Plugin | policy trading ]] which allows to exclude non-matching service descriptions from the extraction process. Extracted endpoint descriptions are grouped as collection of EndpointDescription objects and returned to caller.</li>
 
</ol>
 
</ol>
 
<br/>
 
<br/>
 
 
<h1>Component diagrams</h1>
 
<h1>Component diagrams</h1>
  
== Public API for the Service Registry Resolving component (under construction) ==
+
== Public API of the Service Registry Resolving component ==
 
[[Image:RegistryAPIPackage.png]]
 
[[Image:RegistryAPIPackage.png]]
  
== Sketch of сomponent сlasses for Service Endpoint Resolution (under construction) ==
+
== Sketch of сomponent сlasses for Service Endpoint Resolution ==
 
[[Image:ServiceRegistryCommunicationComponents.png]]
 
[[Image:ServiceRegistryCommunicationComponents.png]]
  
== Sketch of Service Endpoint Resolution sequence: (under construction) ==
+
== Sketch of Service Endpoint Resolution sequence ==
 
[[Image:EndpointResolution.png]]
 
[[Image:EndpointResolution.png]]

Latest revision as of 09:27, 26 March 2009

Plugin description

The Service Registry Plugin consists of the following components:

  • ServiceResolver - resolves information about the service endpoints for specified service using endpoint document providers and endpoint extractors
  • EndpointDocumentProvider - is responsible for retrieval of service description from different kinds of location. Different implementation of the EndpointDocumentProvider can be used to get the service descriptions from local filesystem or from a remote registry.
  • EndpointExtractor - extracts endpoint parts (e.g. endpoint address, transport protocol) from the service description representation. At the same time multiple endpoint extractors can be registered in the system, each suitable for processing one type of service description document (e.g. extractor for WSDL 1.1 based service descriptions, extractor for WSDL 2.0 and so on).


The endpoint resolution process is described by the folowing scenario:

  1. ServiceResolver gets all EndpointDocumentProviders registered at runtime and chooses one with the highest priority. The chosen provider is then queried for service description documents corresponding to the specified service interface. All found documents are returned from provider as collection of the ServiceDescription objects where each ServiceDescription represents one raw description document.
  2. ServiceResolver gets all registered EndpointExtractors and uses them to extract endpoint description information from received ServiceDescriptions. At this step it also performs policy trading which allows to exclude non-matching service descriptions from the extraction process. Extracted endpoint descriptions are grouped as collection of EndpointDescription objects and returned to caller.


Component diagrams

Public API of the Service Registry Resolving component

RegistryAPIPackage.png

Sketch of сomponent сlasses for Service Endpoint Resolution

ServiceRegistryCommunicationComponents.png

Sketch of Service Endpoint Resolution sequence

EndpointResolution.png

Back to the top