[MOBY-guts] biomoby commit

Eddie Kawas kawas at dev.open-bio.org
Tue Dec 4 14:54:13 UTC 2007


kawas
Tue Dec  4 09:54:07 EST 2007
Update of /home/repository/moby/moby-live/Docs/MOBY-S_API
In directory dev.open-bio.org:/tmp/cvs-serv17322/Docs/MOBY-S_API

Modified Files:
	RegistryScripts.html 
Log Message:
added some extra information
fixed the wording for some sections.
moby-live/Docs/MOBY-S_API RegistryScripts.html,1.1,1.2
===================================================================
RCS file: /home/repository/moby/moby-live/Docs/MOBY-S_API/RegistryScripts.html,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- /home/repository/moby/moby-live/Docs/MOBY-S_API/RegistryScripts.html	2007/08/15 19:44:59	1.1
+++ /home/repository/moby/moby-live/Docs/MOBY-S_API/RegistryScripts.html	2007/12/04 14:54:07	1.2
@@ -1,419 +1,437 @@
-<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
-<html>
-<head>
-<title>Registry Scripts</title>
-<style type="text/css">
-<!--
-body { background: #ffffcd;
-       color: #000000;
-       font-family: Arial, Helvetica, sans-serif;
-       font-size: 12pt;
-       font-weight: normal;
-       margin-top: 110px;
-       margin-right: 1em;
-       margin-bottom: 1em;
-       margin-left: 1em;
-       background-position: left top;
-       background-repeat: no-repeat;
-     }
-
-.indent {
-     margin-left: 5em;
-   }
-
-td.text { background: #ffffcd;
-       color: #000000;
-       font-family: Arial, Helvetica, sans-serif;
-       font-size: 12pt;
-       font-weight: normal;
-       margin-top: 110px;
-       margin-right: 1em;
-       margin-bottom: 1em;
-       margin-left: 1em;
-     }
-
-h1 { border: solid; 
-     text-align:center;
-     background-color:yellow;
-     color: navy;
-   }
-h2 { border: ridge;
-     padding: 5px;
-     background-color:yellow;
-     color: navy;
-   }
-h3 { border: none;
-     padding: 5px;
-     background-color:yellow;
-     color: navy;
-   }
-
-.subtitle { border: none;
-     padding: 5px;
-     background-color:yellow;
-     color: navy;
-   }
-
-a:link    { color: #0000ff; font-family: Arial, Helvetica, sans-serif; font-weight: normal; text-decoration: underline}
-a:visited { color: #0099ff; font-family: Arial, Helvetica, sans-serif; font-weight: normal; text-decoration: underline}
-a:active  { color: #0000ff; font-family: Arial, Helvetica, sans-serif; font-weight: normal; text-decoration: underline}
-a:hover   { color: #336666; font-family: Arial, Helvetica, sans-serif; font-weight: normal; text-decoration: underline}
-
-li { list-style-type: square;
-     margin: 1em;
-     list-style-image: url(b_yellow.gif);
-   }
-li.tiny { list-style-type: square;
-          margin: 0;
-          list-style-image: none;
-        }
-li.count { list-style-type: upper-roman;
-           list-style-image: none;
-           margin: 0;
-         }
-li.dcount { list-style-type: decimal;
-           list-style-image: none;
-           margin: 0;
-         }
-
-dd { margin-bottom: 0.5em }
-
-.address { font-size: 5pt; margin-right:1em }
-.smaller { font-size: 8pt }
-
-.note { font-style: italic;
-	padding-left: 5em;
-        margin: 1em;
-      }
-
-.update {
-        background-color:#ccffcd;
-      }
-
-pre.code { border: ridge;
-     padding: 5px;
-     background-color:#FFFF99;
-     color: navy;
-   }
-
-pre.script {
-     padding: 5px;
-     background-color: white;
-     color: navy;
-   }
-
-pre.script2 {
-     padding: 5px;
-     background-color: white;
-     color: navy;
-     margin-left: 5em;
-   }
-
-
-pre.sscript {
-     padding: 5px;
-     background-color: white;
-     color: navy;
-     font-size: 8pt;
-   }
-pre.ssscript {
-     padding: 5px;
-     background-color: white;
-     color: navy;
-     font-size: 6pt;
-   }
-
-tr.options {
-     background-color: #FFFF99;
-     color: navy;
-   }
-
-b.step {
-     background-color: white;
-     color: navy;     
-     font-size: 8pt;
-   }
-.motto {
-     text-align: right;
-     font-style: italic;
-     font-size: 10pt;
-   }
-.motto-signature {
-     text-align: right;
-     font-style: normal;
-     font-size: 8pt;
-   }
-
-.sb {
-     font-weight: bold;
-     font-size: 8pt;
-}
-.sbred {
-     font-weight: bold;
-     font-size: 8pt;
-     color: red;
-}
-.mail {font-size: medium}
--->
-</style>
-</head>
-<body>
-<h1>BioMOBY Registry Scripts </h1>
-<p class="indent"> The BioMOBY registry scripts are a required install for all you wishing to host your very own BioMOBY registry. These scripts contain the code that is used to retrieve information regarding the ontologies in RDF format, code for generating RDF that is served to the service providers upon successful service registration, an LSID resolution authority, and much more.</p>
-<p class="indent">The following is a list of items contained in this release:</p>
-<ol>
-  <ol>
-    <li class="dcount">RESOURCES - a script that is used to generate RDF dumps for the Object, Namespace, Service Type, and Service Instance ontologies.</li>
-    <li class="dcount">LSID Authority  -  a script that is used to resolve <em>biomoby.org</em>*, LSIDs to metadata.</li>
-    <li class="dcount">Service Tester  - a script that periodically 'pings' the services contained in the registry to determine whether or not the services URL are resolvable.</li>
-    <li class="dcount">RDFAgent Validator - a form that can be used to test whether your installation of the agent was successful, or to test an RDF document that describes your services for syntactical errors.</li>
-  </ol>
-</ol>
-<b class="subtitle">This document is broken down into the following sections:</b>
-<ol>
-  <ul>
-    <li> <a href="#prereq">Prerequisites</a></li>
-    <li> <a href="#install">Installation</a></li>
-    <li> <a href="#config">Configuration</a></li>
-    <li> <a href="#testing">Testing</a></li>
-  </ul>
-</ol>
-<a name="prereq"></a>
-<h1>Prerequisites</h1>
-<ol>
-  <ul>
-    <li>These scripts may also require that a JAVA virtual machine version 5 or greater be installed on the machine hosting these scripts with the server environment appropriately set. <span class="text"><strong>JAVA_HOME</strong></span> should be set up both in your web server and in the servers environment. </li>
-    <li>Finally, these scripts are meant to be used in conjunction with a BioMOBY registry and are not stand alone, so please ensure that you have installed your local registry first. </li>
-  </ul>
-</ol>
-<a name="install"></a>
-<h1>Installing the Scripts </h1>
-<p class="indent">Installing the scripts are extremely straight-forward and quite easy.</p>
-<p class="indent"><span class="subtitle">Installation Procedure </span></p>
-<ol>
-  <ol>
-      <ol>
-        <li class="dcount">Please make sure to first update your moby-live checkout from the cvs. Further details can be found <a href="http://biomoby.open-bio.org/index.php/for-developers/get_code" target="_blank">here.</a> <br>
-          <br>
-        </li>
-        <li class="dcount">Once you have an updated checkout of BioMOBY, <strong><em>cd</em></strong> into <strong><em>/moby-live/Perl/scripts/</em></strong><br/>
-          <br>
-        </li>
-        <li class="dcount">Copy the following files to your webservers cgi-bin directory<br>
-          <br>
-		  <pre class="script">
-          authority.pl<br>
-          ValidateService<br>
-          AgentRDFValidator<br>
-          RESOURCES		  </pre>
-          Copy the following file somewhere other than your cgi-bin directory (you will see why later)
-          <br>
-          <br>
-		  <pre class="script">
-          service_tester.pl		  </pre>
-		  Copy the following file to your webservers' htdocs directory
-          <br>
-          <br>
-		  <pre class="script">
-          moby.html		  </pre>
-          <br>
-          <br>
-        </li>
-        <li class="dcount">You're done. All that is left for you to do is configure the newly installed scripts. </li>
-      </ol>
-    <p><a name="config"></a></p>
-  </ol>
-</ol>
-<h1>Configuring Your Scripts </h1>
-<p class="indent">To Configure the servlets, you must know the following details regarding your local registry:</p>
-<ul>
-  <ul>
-    <ul>
-      <li>The BioMOBY registry URL and URI</li>
-      <li>The exact location of the mobycentral.config (confused? refer <a href="http://biomoby.open-bio.org/CVS_CONTENT/moby-live/Docs/MOBY-S_API/InstallingLocalMOBYCentral.html#MYSQL" target="_blank">here</a>) </li>
-      <li>The exact location of the base directory for your JAVA installation </li>
-    </ul>
-    <blockquote>
-      <p><b class="subtitle">How to Configure</b></p>
-      <ul>
-        <li><a href="#environment">Configure Your Environment</a> </li>
-        <li><a href="#httpdconf">Apaches httpd.conf</a> </li>
-        <li><a href="#mobycentral">mobycentral.config</a></li>
-        <li><a href="#DNS">DNS records &amp; Apache (If you wish to use the LSID authority script).</a></li>
-        <li><a href="#stester">Configuring the Service Tester script</a></li>
-      </ul>
-    </blockquote>
-    <p class="subtitle"><a name="environment"></a>Configure Your Environment</p>
-    <p>You will have to make sure that the following variables are set in your environment. Most likely, they were set upon installation of the BIoMOBY registry. </p>
-    <ul>
-      <li>MOBY_CENTRAL_CONFIG=/path/to/mobycentral.config</li>
-      <li>MOBY_URI=http://your.domain.here/MOBY/Central</li>
-      <li>MOBY_SERVER=http://your.domain.here/cgi-bin/MOBY/MOBY-Central.pl</li>
-    </ul>
-    <p class="update"><em>Optionaly, it wouldnt hurt to add one more:</em></p>
-    <ul>
-      <li> JAVA_HOME=/path/to/JAVA/DIR/</li>
-    </ul>
-    <p>On *NIX machines, an example of how to set MOBY_SERVER is shown below: </p>
-    <blockquote>
-      <pre class="script">set MOBY_SERVER=http://your.domain.here/cgi-bin/MOBY/MOBY-Central.pl</pre>
-	</blockquote>
-<p class="note">A better place for these variables would be in the profile of the user that starts the web server so that the variables can persist. </p>
-  
-    <p class="subtitle"><a name="httpdconf"></a>Configure Apache</p>
-    <p>You will have to make sure that the following variables are set in your conf file. In most cases, you will have done this already when the registry was installed.</p>
-    <p> In any case, the variables are listed below: </p>
-    <ul>
-      <li>SETENV MOBY_CENTRAL_CONFIG &quot;/path/to/mobycentral.config&quot;</li>
-      <li> SETENV MOBY_URI &quot;http://your.domain.here/MOBY/Central&quot;</li>
-      <li> SETENV MOBY_SERVER &quot;http://your.domain.here/cgi-bin/MOBY/MOBY-Central.pl&quot;</li>
-    </ul>
-    <p class="update"><em>Optionaly, it wouldnt hurt to add one more:</em></p>
-    <ul>
-      <li>SETENV JAVA_HOME &quot;/path/to/JAVA/DIR/&quot; </li>
-    </ul>
-    <p class="subtitle"><a name="mobycentral"></a>Next, you will have to open the file <b class="step">mobycentral.config</b> and add or modify a couple of configuration parameters:</p>
-    <li>To the<b class="update"> [mobycentral] </b>section of this file, please ensure that the following parameters are set: </li>
-    <table width="65%" border="1" align="center">
-      <tr>
-        <td width="25%" align="center" class="text">lsid_authority</td>
-        <td width="75%" align="left" class="text"><p>Your domain name, as you would like it in </p>
-            <p>urn:lsid:<strong>lsid_authority</strong>:namespace:object</p></td>
-      </tr>
-      <tr>
-        <td width="25%" align="center" class="text">lsid_namespace</td>
-        <td width="75%" align="left" class="text"><p>The namespace that you would like service instances to use when resolving LSIDs, e.g.</p>
-            <p> urn:lsid:lsid_authority:<strong>namespace</strong>:object</p></td>
-      </tr>
-      <tr>
-        <td width="25%" align="center" class="text">resourceURL</td>
-        <td width="75%" align="left" class="text"><p>The URL that would return the RDF describing the service instances registered in your registry.</p>
-            <p> This value is most likely: http://yourDomain:yourPort/authority/RESOURCES/MOBY-S/ServiceInstances </p></td>
-      </tr>
-      <tr>
-        <td width="25%" align="center" class="text">allResources</td>
-        <td width="75%" align="left" class="text"><p>The URL that would return the RDF describing all ontologies in your registry.</p>
-            <p> This value is most likely: http://yourDomain:yourPort/authority/RESOURCES/MOBY-S/FULL </p></td>
-      </tr>
-	   <tr>
-        <td width="25%" align="center" class="text">service_tester_path</td>
-        <td width="75%" align="left" class="text"><p>The full readable/writeable path that the service tester can place persistent data between invocations .</p>
-            <p> This can be any directory, including a temporary one. Make sure that the scripts invoked through apache and from the command line can read/write to it. <br>
-              <strong>Note: the service tester does not currently work on windows!</strong> </p></td>
-      </tr>
-    </table>
-    <p>&nbsp;</p>
-    <li>To the<b class="update"> [mobyobject] </b>section of this file, please ensure that the following parameters are set: </li>
-    <table width="65%" border="1" align="center">
-      <tr>
-        <td width="25%" align="center" class="text">lsid_authority</td>
-        <td width="75%" align="left" class="text"><p>Your domain name, as you would like it in </p>
-            <p>urn:lsid:<strong>lsid_authority</strong>:namespace:object</p></td>
-      </tr>
-      <tr>
-        <td width="25%" align="center" class="text">lsid_namespace</td>
-        <td width="75%" align="left" class="text"><p>The namespace that you would like Objects to use when resolving LSIDs, e.g.</p>
-            <p> urn:lsid:lsid_authority:<strong>namespace</strong>:object</p></td>
-      </tr>
-      <tr>
-        <td width="25%" align="center" class="text">resourceURL</td>
-        <td width="75%" align="left" class="text"><p>The URL that would return the RDF describing the datatypes registered in your registry.</p>
-            <p> This value is most likely: http://yourDomain:yourPort/authority/RESOURCES/MOBY-S/Objects </p></td>
-      </tr>
-    </table>
-    <p>&nbsp;</p>
-    <li>To the<b class="update"> [mobynamespace] </b>section of this file, please ensure that the following parameters are set: </li>
-    <table width="65%" border="1" align="center">
-      <tr>
-        <td width="25%" align="center" class="text">lsid_authority</td>
-        <td width="75%" align="left" class="text"><p>Your domain name, as you would like it in </p>
-            <p>urn:lsid:<strong>lsid_authority</strong>:namespace:object</p></td>
-      </tr>
-      <tr>
-        <td width="25%" align="center" class="text">lsid_namespace</td>
-        <td width="75%" align="left" class="text"><p>The namespace that you would like namespaces to use when resolving LSIDs, e.g.</p>
-            <p> urn:lsid:lsid_authority:<strong>namespace</strong>:object</p></td>
-      </tr>
-      <tr>
-        <td width="25%" align="center" class="text">resourceURL</td>
-        <td width="75%" align="left" class="text"><p>The URL that would return the RDF describing the namespaces registered in your registry.</p>
-            <p> This value is most likely: http://yourDomain:yourPort/authority/RESOURCES/MOBY-S/Namespaces </p></td>
-      </tr>
-    </table>
-    <p>&nbsp;</p>
-    <li>To the<b class="update"> [mobyservice] </b>section of this file, please ensure that the following parameters are set: </li>
-    <table width="65%" border="1" align="center">
-      <tr>
-        <td width="25%" align="center" class="text">lsid_authority</td>
-        <td width="75%" align="left" class="text"><p>Your domain name, as you would like it in </p>
-            <p>urn:lsid:<strong>lsid_authority</strong>:namespace:object</p></td>
-      </tr>
-      <tr>
-        <td width="25%" align="center" class="text">lsid_namespace</td>
-        <td width="75%" align="left" class="text"><p>The namespace that you would like service instances to use when resolving LSIDs, e.g.</p>
-            <p> urn:lsid:lsid_authority:<strong>namespace</strong>:object</p></td>
-      </tr>
-      <tr>
-        <td width="25%" align="center" class="text">resourceURL</td>
-        <td width="75%" align="left" class="text"><p>The URL that would return the RDF describing the service types registered in your registry.</p>
-            <p> This value is most likely: http://yourDomain:yourPort/authority/RESOURCES/MOBY-S/ServiceTypes </p></td>
-      </tr>
-    </table>
-    <p>&nbsp;</p>
-    <p class="subtitle"><a name="dns"></a>To enable the LSID authority script, you will have to perform up to 2 more tasks:</p>
-    <ul>
-      <li>Create a DNS record for your domain</li>
-      <li>Add a ScriptAlias directive <em></em> </li>
-    </ul>
-    <p><strong>Setting up DNS</strong> (<a href="http://www-128.ibm.com/developerworks/opensource/library/os-lsid/#N10560" target="_blank">excerpt</a>) </p>
-    <blockquote>
-      <p>All that you - or your system administrator - must do, is to add a service record for the machine that will run the authority. </p>
-      <p>Suppose the machine is authority.company.net and that it will serve as the authority named company.net. Further suppose that the service will be on port 8080. The record that must be added should go into the master zone file for company.net's DNS server (perhaps a file named /var/named/company.net.zone on company.net):</p>
-      <pre class="script">_lsid._tcp      IN      SRV     1       0       8080    authority.company.net.</pre>
-      <p>If the authority name is supposed to be authority.company.net rather than company.net, the record in company.net's zone file should look like:</p>
-      <pre class="script">_lsid._tcp.authority    IN      SRV     1       0       8080    authority.company.net.
-      </pre>
-    </blockquote>
-    <p><strong>Adding a ScriptAlias Directive </strong> </p>
-    <blockquote>
-      <p>All that you - or your system administrator - must do, is add the following directive to your web server configuration file:</p>
-      <pre class="script">ScriptAlias /authority "/path/to/apache/cgi-bin/authority.pl"
-      </pre>
-      <p>&nbsp;</p>
-    </blockquote>
-    <p>Once these values have been added or modified, make sure to save the configuration files and restart the server. Your changes should be reflected in your registry. </p>
-    <p class="subtitle"><a name="stester"></a>Configuring the Service Tester</p>
-    <p>To set up the service tester, you will have to do 2 things. </p>
-    <ol>
-      <li>Add the script <a href="http://en.wikipedia.org/wiki/Crontab" target="_blank">to a cron job</a> to execute at time intervals &gt;= 1 hour. </li>
-      <li>Modify script specific variables (although, the default values should be fine)</li>
-    </ol>
-    <p>The user configurable variables for the service tester are listed below with their descriptions. To modify them, open up the file service_tester.pl and change the values to those values you wish to have.</p>
-    <ul>
-      <li><strong>TIMEOUT</strong> - this is the amount of time the script is willing to wait before it assumes that the service being tested has timed out. By default, this <em>50 seconds</em>. </li>
-      <li><strong>THREAD_COUNT</strong> - the maximum number of threads that you would like testing services at any given time. By default, this is <em>15</em>. </li>
-      <li><strong>CATEGORIES</strong> - the service categories that you would like to test. By default, <em>'moby'</em> is the only service category tested. </li>
-      <li><strong>URL</strong> - the BioMOBY registry endpoint that we will poll for services to test. <em>This value is usually obtained from the environment and shouldn't be modified.</em> </li>
-      <li><strong>URI</strong> - the BioMOBY registry namespace that we will poll for services to test. <em>This value is usually obtained from the environment and shouldn't be modified.</em> </li>
-    </ul>
-    <p>&nbsp;</p>
-  </ul>
-</ul>
-<a name="testing"></a>
-<h1>Testing Your Scripts </h1>
-<p class="indent">Once you have installed and configured the scripts, you can determine if the install was successful by attempting to resolve the following URL:</p>
-<blockquote>
-  <p class="indent">http://<em><strong>your.domain.com</strong></em>:<strong><em>your_port</em></strong>/moby.html</p>
-</blockquote>
-<p class="indent">where <em><strong>your.domain.com</strong></em> is the domain name of the server that the servlets were installed on and <em><strong>your_port</strong></em> is the server port. </p>
-<p class="indent">The resulting page will outline those scripts that are included in this distribution and will provide you with links to test them. </p>
-<hr>
-<div align=right class="address">
-  <address>
-  <A HREF="mailto:ekawas at mrl.ubc.ca" class="mail">Edward A Kawas</A><BR>
-  </address>
-  <!-- hhmts start -->
-  <!-- hhmts end -->
-</div>
-</body>
-</html>
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html>
+<head>
+<title>Registry Scripts</title>
+<style type="text/css">
+<!--
+body { background: #ffffcd;
+       color: #000000;
+       font-family: Arial, Helvetica, sans-serif;
+       font-size: 12pt;
+       font-weight: normal;
+       margin-top: 110px;
+       margin-right: 1em;
+       margin-bottom: 1em;
+       margin-left: 1em;
+       background-position: left top;
+       background-repeat: no-repeat;
+     }
+
+.indent {
+     margin-left: 5em;
+   }
+
+td.text { background: #ffffcd;
+       color: #000000;
+       font-family: Arial, Helvetica, sans-serif;
+       font-size: 12pt;
+       font-weight: normal;
+       margin-top: 110px;
+       margin-right: 1em;
+       margin-bottom: 1em;
+       margin-left: 1em;
+     }
+
+h1 { border: solid; 
+     text-align:center;
+     background-color:yellow;
+     color: navy;
+   }
+h2 { border: ridge;
+     padding: 5px;
+     background-color:yellow;
+     color: navy;
+   }
+h3 { border: none;
+     padding: 5px;
+     background-color:yellow;
+     color: navy;
+   }
+
+.subtitle { border: none;
+     padding: 5px;
+     background-color:yellow;
+     color: navy;
+   }
+
+a:link    { color: #0000ff; font-family: Arial, Helvetica, sans-serif; font-weight: normal; text-decoration: underline}
+a:visited { color: #0099ff; font-family: Arial, Helvetica, sans-serif; font-weight: normal; text-decoration: underline}
+a:active  { color: #0000ff; font-family: Arial, Helvetica, sans-serif; font-weight: normal; text-decoration: underline}
+a:hover   { color: #336666; font-family: Arial, Helvetica, sans-serif; font-weight: normal; text-decoration: underline}
+
+li { list-style-type: square;
+     margin: 1em;
+     list-style-image: url(b_yellow.gif);
+   }
+li.tiny { list-style-type: square;
+          margin: 0;
+          list-style-image: none;
+        }
+li.count { list-style-type: upper-roman;
+           list-style-image: none;
+           margin: 0;
+         }
+li.dcount { list-style-type: decimal;
+           list-style-image: none;
+           margin: 0;
+         }
+
+dd { margin-bottom: 0.5em }
+
+.address { font-size: 5pt; margin-right:1em }
+.smaller { font-size: 8pt }
+
+.note { font-style: italic;
+	padding-left: 5em;
+        margin: 1em;
+      }
+
+.update {
+        background-color:#ccffcd;
+      }
+
+pre.code { border: ridge;
+     padding: 5px;
+     background-color:#FFFF99;
+     color: navy;
+   }
+
+pre.script {
+     padding: 5px;
+     background-color: white;
+     color: navy;
+   }
+
+pre.script2 {
+     padding: 5px;
+     background-color: white;
+     color: navy;
+     margin-left: 5em;
+   }
+
+
+pre.sscript {
+     padding: 5px;
+     background-color: white;
+     color: navy;
+     font-size: 8pt;
+   }
+pre.ssscript {
+     padding: 5px;
+     background-color: white;
+     color: navy;
+     font-size: 6pt;
+   }
+
+tr.options {
+     background-color: #FFFF99;
+     color: navy;
+   }
+
+b.step {
+     background-color: white;
+     color: navy;     
+     font-size: 8pt;
+   }
+.motto {
+     text-align: right;
+     font-style: italic;
+     font-size: 10pt;
+   }
+.motto-signature {
+     text-align: right;
+     font-style: normal;
+     font-size: 8pt;
+   }
+
+.sb {
+     font-weight: bold;
+     font-size: 8pt;
+}
+.sbred {
+     font-weight: bold;
+     font-size: 8pt;
+     color: red;
+}
+.mail {font-size: medium}
+-->
+</style>
+</head>
+<body>
+<h1>BioMOBY Registry Scripts </h1>
+<p class="indent"> The BioMOBY registry scripts are a required install for all you wishing to host your very own BioMOBY registry. These scripts contain the code that is used to retrieve information regarding the ontologies in RDF format, code for generating RDF that is served to the service providers upon successful service registration, an LSID resolution authority, and much more.</p>
+<p class="indent">The following is a list of items contained in this release:</p>
+<ol>
+  <ol>
+    <li class="dcount">RESOURCES - a script that is used to generate RDF dumps for the Object, Namespace, Service Type, and Service Instance ontologies.<br/>
+    </li>
+    <li class="dcount">LSID Authority  -  a script that is used to resolve <em>biomoby.org</em>*, LSIDs to metadata.<br/>
+    </li>
+    <li class="dcount">Service Tester  - a script that periodically 'pings' the services contained in the registry to determine whether or not the services URL are resolvable.<br/>
+    </li>
+    <li class="dcount">RDFAgent Validator - a form that can be used to test whether your installation of the agent was successful, or to test an RDF document that describes your services for syntactical errors.<br/>
+    </li>
+  </ol>
+</ol>
+<b class="subtitle">This document is broken down into the following sections:</b>
+<ol>
+  <ul>
+    <li> <a href="#prereq">Prerequisites</a></li>
+    <li> <a href="#install">Installation</a></li>
+    <li> <a href="#config">Configuration</a></li>
+    <li> <a href="#testing">Testing</a></li>
+  </ul>
+</ol>
+<a name="prereq"></a>
+<h1>Prerequisites</h1>
+<ol>
+  <ul>
+    <li>These scripts may also require that a JAVA virtual machine version 5 or greater be installed on the machine hosting these scripts with the server environment appropriately set. <span class="text"><strong>JAVA_HOME</strong></span> should be set up both in your web server and in the servers environment. JAVA is required to run the RDFAgent.</li>
+    <li>Finally, these scripts are meant to be used in conjunction with a BioMOBY registry and are not stand alone, so please ensure that you have installed your local registry first. </li>
+  </ul>
+</ol>
+<a name="install"></a>
+<h1>Installing the Scripts </h1>
+<p class="indent">Installing the scripts are extremely straight-forward and quite easy.</p>
+<p class="indent"><span class="subtitle">Installation Procedure </span></p>
+<ol>
+  <ol>
+      <ol>
+        <li class="dcount">Please make sure to first update your moby-live checkout from the cvs. Further details can be found <a href="http://biomoby.open-bio.org/index.php/for-developers/get_code" target="_blank">here.</a> <br>
+          <br>
+        </li>
+        <li class="dcount">Once you have an updated checkout of BioMOBY, <strong><em>cd</em></strong> into <strong><em>/moby-live/Perl/scripts/</em></strong><br/>
+          <br>
+        </li>
+        <li class="dcount">Copy the following files to your webservers cgi-bin directory<br>
+          <br>
+		  <pre class="script">
+          authority.pl<br>
+          ValidateService<br>
+          AgentRDFValidator<br>
+          RESOURCES		  </pre>
+          Copy the following file somewhere other than a web accessible directory (this script will be placed on a cron)
+          <br>
+          <br>
+		  <pre class="script">
+          service_tester.pl		  </pre>
+		  Copy the following file to your webservers' htdocs directory
+          <br>
+          <br>
+		  <pre class="script">
+          moby.html		  </pre>
+          <br>
+          <br>
+        </li>
+        <li class="dcount">You're done. All that is left for you to do is configure the newly installed scripts. </li>
+      </ol>
+    <p><a name="config"></a></p>
+  </ol>
+</ol>
+<h1>Configuring Your Scripts </h1>
+<p class="indent">To Configure the servlets, you must know the following details regarding your local registry:</p>
+<ul>
+  <ul>
+    <ul>
+      <li>The BioMOBY registry URL and URI</li>
+      <li>The exact location of the mobycentral.config (confused? refer <a href="http://biomoby.open-bio.org/CVS_CONTENT/moby-live/Docs/MOBY-S_API/InstallingLocalMOBYCentral.html#MYSQL" target="_blank">here</a>) </li>
+      <li>The exact location of the base directory for your JAVA installation </li>
+    </ul>
+    <blockquote>
+      <p><b class="subtitle">How to Configure</b></p>
+      <ul>
+        <li><a href="#environment">Configure Your Environment</a> </li>
+        <li><a href="#httpdconf">Apaches httpd.conf</a> </li>
+        <li><a href="#mobycentral">mobycentral.config</a></li>
+        <li><a href="#DNS">DNS records &amp; Apache (If you wish to use the LSID authority script).</a></li>
+        <li><a href="#stester">Configuring the Service Tester script</a></li>
+        <li><a href="#resources">Configuring the RESOURCES script</a></li>
+      </ul>
+    </blockquote>
+    <p class="subtitle"><a name="environment"></a>Configure Your Environment</p>
+    <p>You will have to make sure that the following variables are set in the environment for the profile that your webserver will dispatch requests to. Most likely, they were set upon installation of the BIoMOBY registry. </p>
+    <ul>
+      <li>MOBY_CENTRAL_CONFIG=/path/to/mobycentral.config</li>
+      <li>MOBY_URI=http://your.domain.here/MOBY/Central</li>
+      <li>MOBY_SERVER=http://your.domain.here/cgi-bin/MOBY/MOBY-Central.pl</li>
+    </ul>
+    <p class="update"><em>Optionaly, it wouldnt hurt to add one more:</em></p>
+    <ul>
+      <li> JAVA_HOME=/path/to/JAVA/DIR/</li>
+    </ul>
+    <p>On *NIX machines, an example of how to set MOBY_SERVER is shown below: </p>
+    <blockquote>
+      <pre class="script">set MOBY_SERVER=http://your.domain.here/cgi-bin/MOBY/MOBY-Central.pl</pre>
+	</blockquote>
+<p class="note">A better place for these variables would be in the profile of the user that starts the web server so that the variables can persist. </p>
+  
+    <p class="subtitle"><a name="httpdconf"></a>Configure Apache</p>
+    <p>You will have to make sure that the following variables are set in your conf (httpd.conf) file. In most cases, you will have done this already when the registry was installed.</p>
+    <p> In any case, the variables are listed below: </p>
+    <ul>
+      <li>SETENV MOBY_CENTRAL_CONFIG &quot;/path/to/mobycentral.config&quot;</li>
+      <li> SETENV MOBY_URI &quot;http://your.domain.here/MOBY/Central&quot;</li>
+      <li> SETENV MOBY_SERVER &quot;http://your.domain.here/cgi-bin/MOBY/MOBY-Central.pl&quot;</li>
+    </ul>
+    <p class="update"><em>Optionaly, it wouldnt hurt to add one more:</em></p>
+    <ul>
+      <li>SETENV JAVA_HOME &quot;/path/to/JAVA/DIR/&quot; </li>
+    </ul>
+    <p class="subtitle"><a name="mobycentral"></a>Next, you will have to open the file <b class="step">mobycentral.config</b> and add or modify a couple of configuration parameters:</p>
+    <li>To the<b class="update"> [mobycentral] </b>section of this file, please ensure that the following parameters are set: </li>
+    <table width="65%" border="1" align="center">
+      <tr>
+        <td width="25%" align="center" class="text">lsid_authority</td>
+        <td width="75%" align="left" class="text"><p>Your domain name, as you would like it in </p>
+            <p>urn:lsid:<strong>lsid_authority</strong>:namespace:object</p></td>
+      </tr>
+      <tr>
+        <td width="25%" align="center" class="text">lsid_namespace</td>
+        <td width="75%" align="left" class="text"><p>The namespace that you would like service instances to use when resolving LSIDs, e.g.</p>
+            <p> urn:lsid:lsid_authority:<strong>namespace</strong>:object</p></td>
+      </tr>
+      <tr>
+        <td width="25%" align="center" class="text">resourceURL</td>
+        <td width="75%" align="left" class="text"><p>The URL that would return the RDF describing the service instances registered in your registry.</p>
+            <p> This value is most likely: http://yourDomain:yourPort/authority/RESOURCES/MOBY-S/ServiceInstances </p></td>
+      </tr>
+      <tr>
+        <td width="25%" align="center" class="text">allResources</td>
+        <td width="75%" align="left" class="text"><p>The URL that would return the RDF describing all ontologies in your registry.</p>
+            <p> This value is most likely: http://yourDomain:yourPort/authority/RESOURCES/MOBY-S/FULL </p></td>
+      </tr>
+	   <tr>
+        <td width="25%" align="center" class="text">service_tester_path</td>
+        <td width="75%" align="left" class="text"><p>The full readable/writeable path that the service tester can place persistent data between invocations .</p>
+            <p> This can be any directory, including a temporary one. Make sure that the scripts invoked through apache and from the command line can read/write to it. <br>
+              <strong>Note: the service tester does not currently work on windows!</strong> </p></td>
+      </tr>
+    </table>
+    <p>&nbsp;</p>
+    <li>To the<b class="update"> [mobyobject] </b>section of this file, please ensure that the following parameters are set: </li>
+    <table width="65%" border="1" align="center">
+      <tr>
+        <td width="25%" align="center" class="text">lsid_authority</td>
+        <td width="75%" align="left" class="text"><p>Your domain name, as you would like it in </p>
+            <p>urn:lsid:<strong>lsid_authority</strong>:namespace:object</p></td>
+      </tr>
+      <tr>
+        <td width="25%" align="center" class="text">lsid_namespace</td>
+        <td width="75%" align="left" class="text"><p>The namespace that you would like Objects to use when resolving LSIDs, e.g.</p>
+            <p> urn:lsid:lsid_authority:<strong>namespace</strong>:object</p></td>
+      </tr>
+      <tr>
+        <td width="25%" align="center" class="text">resourceURL</td>
+        <td width="75%" align="left" class="text"><p>The URL that would return the RDF describing the datatypes registered in your registry.</p>
+            <p> This value is most likely: http://yourDomain:yourPort/authority/RESOURCES/MOBY-S/Objects </p></td>
+      </tr>
+    </table>
+    <p>&nbsp;</p>
+    <li>To the<b class="update"> [mobynamespace] </b>section of this file, please ensure that the following parameters are set: </li>
+    <table width="65%" border="1" align="center">
+      <tr>
+        <td width="25%" align="center" class="text">lsid_authority</td>
+        <td width="75%" align="left" class="text"><p>Your domain name, as you would like it in </p>
+            <p>urn:lsid:<strong>lsid_authority</strong>:namespace:object</p></td>
+      </tr>
+      <tr>
+        <td width="25%" align="center" class="text">lsid_namespace</td>
+        <td width="75%" align="left" class="text"><p>The namespace that you would like namespaces to use when resolving LSIDs, e.g.</p>
+            <p> urn:lsid:lsid_authority:<strong>namespace</strong>:object</p></td>
+      </tr>
+      <tr>
+        <td width="25%" align="center" class="text">resourceURL</td>
+        <td width="75%" align="left" class="text"><p>The URL that would return the RDF describing the namespaces registered in your registry.</p>
+            <p> This value is most likely: http://yourDomain:yourPort/authority/RESOURCES/MOBY-S/Namespaces </p></td>
+      </tr>
+    </table>
+    <p>&nbsp;</p>
+    <li>To the<b class="update"> [mobyservice] </b>section of this file, please ensure that the following parameters are set: </li>
+    <table width="65%" border="1" align="center">
+      <tr>
+        <td width="25%" align="center" class="text">lsid_authority</td>
+        <td width="75%" align="left" class="text"><p>Your domain name, as you would like it in </p>
+            <p>urn:lsid:<strong>lsid_authority</strong>:namespace:object</p></td>
+      </tr>
+      <tr>
+        <td width="25%" align="center" class="text">lsid_namespace</td>
+        <td width="75%" align="left" class="text"><p>The namespace that you would like service instances to use when resolving LSIDs, e.g.</p>
+            <p> urn:lsid:lsid_authority:<strong>namespace</strong>:object</p></td>
+      </tr>
+      <tr>
+        <td width="25%" align="center" class="text">resourceURL</td>
+        <td width="75%" align="left" class="text"><p>The URL that would return the RDF describing the service types registered in your registry.</p>
+            <p> This value is most likely: http://yourDomain:yourPort/authority/RESOURCES/MOBY-S/ServiceTypes </p></td>
+      </tr>
+    </table>
+    <p>&nbsp;</p>
+    <p class="subtitle"><a name="dns"></a>To enable the LSID authority script, you will have to perform up to 2 more tasks:</p>
+    <ul>
+      <li>Create a DNS record for your domain</li>
+      <li>Add a ScriptAlias directive <em></em> </li>
+    </ul>
+    <p><strong>Setting up DNS</strong> (<a href="http://www-128.ibm.com/developerworks/opensource/library/os-lsid/#N10560" target="_blank">excerpt</a>) </p>
+    <blockquote>
+      <p>All that you - or your system administrator - must do, is to add a service record for the machine that will run the authority. </p>
+      <p>Suppose the machine is authority.company.net and that it will serve as the authority named company.net. Further suppose that the service will be on port 8080. The record that must be added should go into the master zone file for company.net's DNS server (perhaps a file named /var/named/company.net.zone on company.net):</p>
+      <pre class="script">_lsid._tcp      IN      SRV     1       0       8080    authority.company.net.</pre>
+      <p>If the authority name is supposed to be authority.company.net rather than company.net, the record in company.net's zone file should look like:</p>
+      <pre class="script">_lsid._tcp.authority    IN      SRV     1       0       8080    authority.company.net.
+      </pre>
+    </blockquote>
+    <p><strong>Adding a ScriptAlias Directive </strong> </p>
+    <blockquote>
+      <p>All that you - or your system administrator - must do, is add the following directive to your web server configuration file:</p>
+      <pre class="script">ScriptAlias /authority "/path/to/apache/cgi-bin/authority.pl"
+      </pre>
+      <p>&nbsp;</p>
+    </blockquote>
+    <p>Once these values have been added or modified, make sure to save the configuration files and restart the server. Your changes should be reflected in your registry. </p>
+    <p class="subtitle"><a name="stester"></a>Configuring the Service Tester</p>
+    <p>To set up the service tester <i>(service_tester.pl)</i>, you will have to do 2 things. </p>
+    <ol>
+      <li>Add the script <a href="http://en.wikipedia.org/wiki/Crontab" target="_blank">to a cron job</a> to execute at time intervals &gt;= 1 hour. </li>
+      <li>Modify script specific variables (although, the default values should be fine)</li>
+    </ol>
+    <p>The user configurable variables for the service tester are listed below with their descriptions. To modify them, open up the file service_tester.pl and change the values to those values you wish to have.</p>
+    <ul>
+      <li><strong>TIMEOUT</strong> - this is the amount of time the script is willing to wait before it assumes that the service being tested has timed out. By default, this <em>50 seconds</em>. </li>
+      <li><strong>THREAD_COUNT</strong> - the maximum number of threads that you would like testing services at any given time. By default, this is <em>15</em>. </li>
+      <li><strong>CATEGORIES</strong> - the service categories that you would like to test. By default, <em>'moby'</em> is the only service category tested. </li>
+      <li><strong>URL</strong> - the BioMOBY registry endpoint that we will poll for services to test. <em>This value is usually obtained from the environment and shouldn't be modified.</em> </li>
+      <li><strong>URI</strong> - the BioMOBY registry namespace that we will poll for services to test. <em>This value is usually obtained from the environment and shouldn't be modified.</em> </li>
+    </ul>
+    <p>&nbsp;</p>
+    <p class="subtitle"><a name="resources"></a>Configuring the RESOURCES script</p>
+    <p>To set up the RESOURCES script, you may have to do 2 things. </p>
+    <ol>
+      <li>If you plan to set up file caching, then you will have to create a directory with the appropriate permissions for the script to read/write. </li>
+      <li>Modify script specific variables (although, the default values should be fine)</li>
+    </ol>
+    <p>The user configurable variables for the service tester are listed below with their descriptions. To modify them, open up the file service_tester.pl and change the values to those values you wish to have.</p>
+    <ul>
+      <li><strong>useCache</strong>- Caching is enabled by default and can be toggled by modifying<br> 
+        <span class="script">$useCache [0 =&gt; disabled, 1 =&gt; enabled]</span><span class="code">. </span><br>
+      Caching really speeds up the generation of RDF and is highly recommended.</li>
+      <li><strong>dir</strong> - dir is the cache directory that the script will output cached files into and read from. By default, '<em>/tmp/</em>' is the directory. Please ensure that the web server can read/write into this directory.</li>
+    </ul>
+  </ul>
+</ul>
+<a name="testing"></a>
+<h1>Testing Your Scripts </h1>
+<p class="indent">Once you have installed and configured the scripts, you can determine if the install was successful by attempting to resolve the following URL:</p>
+<blockquote>
+  <p class="indent">http://<em><strong>your.domain.com</strong></em>:<strong><em>your_port</em></strong>/moby.html</p>
+</blockquote>
+<p class="indent">where <em><strong>your.domain.com</strong></em> is the domain name of the server that the servlets were installed on and <em><strong>your_port</strong></em> is the server port. </p>
+<p class="indent">The resulting page will outline those scripts that are included in this distribution and will provide you with links to test them. </p>
+<hr>
+<div align=right class="address">
+  <address>
+  <A HREF="mailto:ekawas at mrl.ubc.ca" class="mail">Edward A Kawas</A><BR>
+  </address>
+  <!-- hhmts start -->
+  <!-- hhmts end -->
+</div>
+</body>
+</html>




More information about the MOBY-guts mailing list