Mentions légales du service

Skip to content
Snippets Groups Projects
Commit bcc271de authored by Jérôme Euzenat's avatar Jérôme Euzenat
Browse files

- better documented the difference between server and storage

parent b5a63400
No related branches found
No related tags found
No related merge requests found
...@@ -9,6 +9,11 @@ ...@@ -9,6 +9,11 @@
<h1 class="titre">Setting up an Alignment Server</h1> <h1 class="titre">Setting up an Alignment Server</h1>
<p>
The Alignment server is an online service on which alignments may
be manipulated (created, modified, displayed).
In order to persistently store alignments, it has to be coupled to a storage service, such as a database.
</p>
<p>An extensive presentation of the Alignment API can be <p>An extensive presentation of the Alignment API can be
found found
at <a href="http://alignapi.gforge.inria.fr">http://alignapi.gforge.inria.fr</a> at <a href="http://alignapi.gforge.inria.fr">http://alignapi.gforge.inria.fr</a>
...@@ -18,9 +23,15 @@ ...@@ -18,9 +23,15 @@
<h2>Requirements</h2> <h2>Requirements</h2>
<p>Using the Alignment server requires an SQL database server. <p>
The Alignment server is usually paired with a storage service such as an SQL database server.
We see here how to We see here how to
use <a href="http://dev.mysql.com/doc/refman">mysql</a> or <a href="https://www.postgresql.org/">Postgres</a>.</p> use <a href="http://dev.mysql.com/doc/refman">mysql</a> or <a href="https://www.postgresql.org/">Postgres</a>.</p>
<p>
Although there is support for alignment servers without persistent
storage, at the moment, using a data base is compulsory (contact us if
you want this to be different).
</p>
<h3>Creating the database for MySQL</h3> <h3>Creating the database for MySQL</h3>
......
...@@ -1102,6 +1102,7 @@ Ontologies and their Applications, Salvador de Bahia (BR), 2008 ...@@ -1102,6 +1102,7 @@ Ontologies and their Applications, Salvador de Bahia (BR), 2008
The Alignment API is used for evaluating process matching systems in The Alignment API is used for evaluating process matching systems in
the open Process Model Matching Contest. It is used for representing the open Process Model Matching Contest. It is used for representing
alignments and references and to measure results provided by participants. alignments and references and to measure results provided by participants.
The process model matching contest has since been integrated to <a href="http://oaei.ontologymatching.org/2016/">OAEI</a>.
<br /><small> <br /><small>
Goncalo Antunes, Marzieh Bakhshandeh, Jose Borbinha, Joao Cardoso, Goncalo Antunes, Marzieh Bakhshandeh, Jose Borbinha, Joao Cardoso,
Sharam Dadashnia, Chiara Di Francescomarino, Mauro Dragoni, Peter Sharam Dadashnia, Chiara Di Francescomarino, Mauro Dragoni, Peter
......
...@@ -460,7 +460,7 @@ span, prop; default: hard). ...@@ -460,7 +460,7 @@ span, prop; default: hard).
</p> </p>
<h3><span style="background-color: lightblue;">store</span><a name="store"></a></h3> <h3><span style="background-color: lightblue;">store</span><a name="store"></a></h3>
<p>Stores an alignment on the server.</p> <p>Stores an alignment in the persistent storage of the server.</p>
<p>URL: http://aserv.inrialpes.fr/rest/ <b>store</b> ? <b>id</b> = &lt;URI&gt;</p> <p>URL: http://aserv.inrialpes.fr/rest/ <b>store</b> ? <b>id</b> = &lt;URI&gt;</p>
<p>Parameters: <p>Parameters:
<br /><b>id:</b> the URI of the alignment to be stored. <br /><b>id:</b> the URI of the alignment to be stored.
...@@ -476,7 +476,7 @@ span, prop; default: hard). ...@@ -476,7 +476,7 @@ span, prop; default: hard).
</p> </p>
<h3><span style="background-color: lightgreen;">storenetwork</span><a name="store"></a></h3> <h3><span style="background-color: lightgreen;">storenetwork</span><a name="store"></a></h3>
<p>Stores a network of ontologies on the server.</p> <p>Stores a network of ontologies in the persistent storage of the server.</p>
<p>URL: http://aserv.inrialpes.fr/rest/ <b>storenetwork</b> ? <b>id</b> = &lt;URI&gt;</p> <p>URL: http://aserv.inrialpes.fr/rest/ <b>storenetwork</b> ? <b>id</b> = &lt;URI&gt;</p>
<p>Parameters: <p>Parameters:
<br /><b>id:</b> the URI of the network of ontologies to be stored. <br /><b>id:</b> the URI of the network of ontologies to be stored.
......
...@@ -11,7 +11,8 @@ ...@@ -11,7 +11,8 @@
<h1 class="titre">Alignment Server</h1> <h1 class="titre">Alignment Server</h1>
<p> <p>
The goal of the Alignment server is that different actors can share available alignments and methods for finding alignments. Such a server enables to match ontologies, store the resulting alignment, store manually provided alignments, extract merger, transformer, mediators from those alignments. The goal of the Alignment server is that different actors can share
available alignments, networks of ontologies and ontology matching methods. Such a server enables to match ontologies, store the resulting alignment, store manually provided alignments, extract merger, transformer, mediators from those alignments.
</p> </p>
<p> <p>
We present here the architecture of the Alignment server and its first We present here the architecture of the Alignment server and its first
...@@ -36,8 +37,16 @@ The Alignment server is built around the Alignment API that is seated on top of ...@@ -36,8 +37,16 @@ The Alignment server is built around the Alignment API that is seated on top of
<p> <p>
The server architecture is made of three layers (shown in the figure): The server architecture is made of three layers (shown in the figure):
<dl> <dl>
<dt>A storage system</dt><dd>providing persistent storage and retrieval of alignments. It implements only basic storage and runtime memory caching functions. The storage is made through a DBMS interface and can be replaced by any database management system as soon as it is supported by jdbc.</dd> <dt>A storage system</dt><dd>providing persistent storage and
<dt>A protocol manager</dt><dd>which handles the server protocol. It accepts the queries from plug-in interfaces and uses the server resources for answering them. It uses the storage system for caching results.</dd> retrieval of alignments and networks.
It is used in two occasions: when explicitely calling the store
operation to store and alignment or a network persistently, and
when launching a server to load the persistency stored resources.
<!--It implements only basic storage and
runtime memory caching functions.--> The storage is made through a
DBMS interface and can be replaced by any database management
system as soon as it is supported by jdbc.</dd>
<dt>A protocol manager</dt><dd>which handles the server protocol. It accepts the queries from plug-in interfaces and uses the server resources for answering them. It uses the storage system for <!--caching-->storing results.</dd>
<dt>Protocol plugs-in</dt><dd>which accept incoming queries in a particular communication system and invoke the protocol manager in order to satisfy them. These plugs-in are ideally stateless and only translator for the external queries.</dd> <dt>Protocol plugs-in</dt><dd>which accept incoming queries in a particular communication system and invoke the protocol manager in order to satisfy them. These plugs-in are ideally stateless and only translator for the external queries.</dd>
</dl> </dl>
</p> </p>
...@@ -51,7 +60,7 @@ Currently, four plug-ins are available for the server: ...@@ -51,7 +60,7 @@ Currently, four plug-ins are available for the server:
</p> </p>
<p> <p>
There is no constraint that the alignments are computed online or off-line (i.e., they are stored in the alignment store) or that they are processed by hand or automatically. This kind of information can however be stored together with the alignment in order for the client to be able to discriminate among them. There is no constraint that the alignments are computed on-line or off-line (i.e., they are stored in the alignment store) or that they are processed by hand or automatically. This kind of information can however be stored together with the alignment in order for the client to be able to discriminate among them.
For applications, the server can be available: For applications, the server can be available:
<dl> <dl>
<dt>at design time</dt><dd>through invocation by design and engineering environments: It can be integrated either as an Eclipse plug-in that embarks the Alignment API or as an Eclipse plug-in that connects through web services to some alignment server.</dd> <dt>at design time</dt><dd>through invocation by design and engineering environments: It can be integrated either as an Eclipse plug-in that embarks the Alignment API or as an Eclipse plug-in that connects through web services to some alignment server.</dd>
...@@ -112,10 +121,11 @@ This infrastructure is able to store and retrieve alignments as well as providin ...@@ -112,10 +121,11 @@ This infrastructure is able to store and retrieve alignments as well as providin
<p> <p>
Services that are provided by the Alignment server are: Services that are provided by the Alignment server are:
<ul> <ul>
<li>storing alignments, whether they are provided by automatic means or by hand;</li> <li>storing alignments and networks of ontologies, whether they are provided by automatic means or by hand;</li>
<li>storing annotations in order for the clients to evaluate alignments and to decide to use one of them or to start from it (this starts with the information about the matching algorithms, the justifications for correspondences that can be used in agent argumentation, as well as properties of the alignment);</li> <li>storing annotations in order for the clients to evaluate alignments and to decide to use one of them or to start from it (this starts with the information about the matching algorithms, the justifications for correspondences that can be used in agent argumentation, as well as properties of the alignment);</li>
<li>producing alignments on the fly through various algorithms that can be extended and parametrised;</li> <li>producing alignments on the fly through various algorithms that can be extended and parametrised;</li>
<li>manipulating alignments by inverting them, applying thresholds;</li> <li>manipulating alignments and networks of ontologies by inverting
them, applying thresholds, etc.;</li>
<li>generating knowledge processors such as mediators, transformations, translators, rules as well as to process these processors if necessary;</li> <li>generating knowledge processors such as mediators, transformations, translators, rules as well as to process these processors if necessary;</li>
<li>finding similar ontologies and contacting other such services in order to ask them for operations that the current service cannot provide by itself.</li> <li>finding similar ontologies and contacting other such services in order to ask them for operations that the current service cannot provide by itself.</li>
</ul> </ul>
...@@ -185,25 +195,31 @@ The hierarchy of message types and the content of these messages are: ...@@ -185,25 +195,31 @@ The hierarchy of message types and the content of these messages are:
<pre> <pre>
Message Message
|- Success |- Success
| |- AlignmentId -> alignment id | |- AlignmentId -> alignment id
| |- AlignmentIds -> alignment ids | |- AlignmentIds -> alignment ids
| |- EntityList -> entity URIs | |- OntologyNetworkId -> ontology network id
| |- OntologyURI -> ontology URI | |- EntityList -> entity URIs
| |- TranslatedMessage -> translated message | |- OntologyURI -> ontology URI
| |- RenderedAlignment -> rendering | |- TranslatedMessage -> translated message
| |- AlignmentMetadata -> metadata | |- RenderedAlignment -> alignment rendering
| |- EvalResult -> evaluation results | |- RenderedNetwork -> ontology network rendering
| |- AlignmentMetadata -> metadata
| |- EvalResult -> evaluation results
|- ErrorMsg |- ErrorMsg
| |- UnreachableOntology -> faulty Ontology URI | |- UnreachableOntology -> faulty Ontology URI
| |- UnreachableAlignment -> faulty alignment URI | |- UnreachableAlignment -> faulty alignment URI
| |- UnknownAlignment -> faulty alignment id | |- UnreachableOntologyNetwork -> faulty alignment URI
| |- UnknownMethod -> faulty method (Java method) | |- UnknownAlignment -> faulty alignment id
| |- NonConformParameters -> unspecified | |- UnknownOntologyNetwork -> faulty ontology network id
| |- RunTimeError -> error message | |- UnknownMethod -> faulty method (Java method)
| |- NonConformParameters -> unspecified
| |- CannotStoreAlignment -> error with storage
| |- RunTimeError -> error message
<!-- Not used <!-- Not used
| |- CannotRenderAlignment -> | |- CannotRenderAlignment ->
| |- EvaluationId -> | |- EvaluationId ->
--> -->
</pre> </pre>
<center><b>Message classes returned by <tt>AServProtocolManager</tt> and their <center><b>Message classes returned by <tt>AServProtocolManager</tt> and their
content.</b></center> content.</b></center>
......
...@@ -142,6 +142,9 @@ public class AlignmentService extends CommonCLI { ...@@ -142,6 +142,9 @@ public class AlignmentService extends CommonCLI {
public void run() { close(); } }); public void run() { close(); } });
// Connect database // Connect database
// It may be useful to create a switch to use a simple volatilCache: nodb
// This requires simple but deeper changes
// (do not put as default for compatibility)
if ( DBMS.equals("postgres") ) { if ( DBMS.equals("postgres") ) {
logger.debug("postgres driver"); logger.debug("postgres driver");
if ( DBPORT == null ) DBPORT = "5432"; if ( DBPORT == null ) DBPORT = "5432";
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment