<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Message Exchange between Independent Implementations of Servers in the Nexus-PORTAL-DOORS System</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Adam G. Craig</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Seung-Ho Bae</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Carl Taswell</string-name>
          <email>ctaswell@BrainHealthAlliance.org</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Brain Health Alliance</institution>
          ,
          <addr-line>Ladera Ranch CA 92694</addr-line>
          ,
          <country country="US">USA</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>To search and summarize research on biomedical questions, reasoning agents require access to high-quality semantic markup. The Nexus-PORTAL-DOORS v1.0 API and message exchange format empower organizations to manage and share their own collections of lexical metadata and RDF descriptions of knowledge resources. In this systems demonstration, NPDS servers built on Microsoft's .NET framework distribute records to NPDS servers built on the MEAN solution stack for caching and distribution to clients.</p>
      </abstract>
      <kwd-group>
        <kwd>Nexus-PORTAL-DOORS System</kwd>
        <kwd>semantic web</kwd>
        <kwd>metadata management</kwd>
        <kwd>distributed system</kwd>
        <kwd>interoperability</kwd>
        <kwd>knowledge engineering</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>The Nexus-PORTAL-DOORS System</title>
      <p>
        Meta-analysis ofers a potential solution to the problem of underpowered
studies in neuroscience [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. Semantic web technologies could facilitate meta-analysis,
given adequate semantic markup, but must overcome the hazards of centralized
repositories and of isolated silos [
        <xref ref-type="bibr" rid="ref2">3</xref>
        ]. To address these issues, Brain Health
Alliance (BHA) is developing the Nexus-PORTAL-DOORS System (NPDS) for
distributed metadata management. In this demonstration, we present NPDS
specification version 1.0 and message exchange between servers implementing it
in diferent solution stacks.
      </p>
      <p>
        NPDS specifies a REST API and message exchange format by which diverse
servers and clients can share metadata records about resources [
        <xref ref-type="bibr" rid="ref3">4</xref>
        ]. The API
provides paths to request a record by URI or search a collection of records
[
        <xref ref-type="bibr" rid="ref4">5</xref>
        ]. The message exchange format details correct usage of the required and
permitted fields of a record from a DOORS directory (RDF description and
resource location fields), PORTAL registry (other lexical metadata fields), or
Nexus diristry (both) [
        <xref ref-type="bibr" rid="ref4">5</xref>
        ]. NPDS supports distributed storage using the
Hierarchically Distributed Mobile Metadata architectural style [
        <xref ref-type="bibr" rid="ref3">4</xref>
        ]. A primary server
maintains a master version of each record, which it may distribute to clients or
secondary servers as requested [
        <xref ref-type="bibr" rid="ref3">4</xref>
        ]. This master version serves as the
authoritative record by which to judge the integrity of cached copies, while the secondary
servers share the request load. A secondary server answers requests for a record
with its cached copy if the copy has not exceeded its time-to-live. Otherwise, it
retrieves, caches, and forwards a new copy from the primary server [
        <xref ref-type="bibr" rid="ref3">4</xref>
        ].
2
      </p>
    </sec>
    <sec id="sec-2">
      <title>Microsoft and MEAN Stack Implementations</title>
      <p>
        BHA first implemented PORTAL-DOORS v0.5 on Windows Server in C# in
2008 and continually updates this software as NPDS develops [
        <xref ref-type="bibr" rid="ref5">6</xref>
        ]. It stores
records in Microsoft SQL Server, distributing complex fields across multiple
tables and collecting them into a single object according to an Object-Relational
Model. Live, public instances of this implementation include the biomedical
Nexus diristries ManRay (nuclear medicine and radiotracers), BrainWatch
(neuroscience and the brain), and SOLOMON (onset type in dementing
neurodegenerative diseases) [
        <xref ref-type="bibr" rid="ref6">7</xref>
        ]. In this demonstration, these operate as primary servers.
In 2017, BHA has developed separate NPDS server software written in
TypeScript v2.5 and transpiled to ECMAScript 5 to run in Node.js v4.5. As of
2017-10-11, Node.js does not fully ECMAScript 6. This implementation embeds
complete serialized records in each MongoDB (v2.2) document for fast retrieval.
It uses Express v4.15 to map NPDS API routes to controller method calls.
To facilitate querying, the server extracts fields from XML NPDS records and
adds them to the encapsulating MongoDB document with xml-js v1.5, a Node.js
module that losslessly parses XML documents to JavaScript objects. Unit tests
written with the Test Anything Protocol Engine v4.6 testing framework validate
each module. In this demonstration, the MEAN stack NPDS servers function as
secondary servers, though they implement the complete NPDS specification and
can also serve as primary or stand-alone servers.
      </p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <surname>Button</surname>
            ,
            <given-names>K. S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ioannidis</surname>
            ,
            <given-names>J. P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mokrysz</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nosek</surname>
            ,
            <given-names>B. A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Flint</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Robinson</surname>
            ,
            <given-names>E. S.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Munafò</surname>
            ,
            <given-names>M. R.</given-names>
          </string-name>
          (
          <year>2013</year>
          ).
          <article-title>Power failure: why small sample size undermines the reliability of neuroscience</article-title>
          .
          <source>Nature Reviews Neuroscience</source>
          ,
          <volume>14</volume>
          (
          <issue>5</issue>
          ):
          <fpage>365</fpage>
          -
          <lpage>376</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [3]
          <string-name>
            <surname>Miller</surname>
            ,
            <given-names>A. R.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Tucker</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          (
          <year>2014</year>
          ).
          <article-title>Health information exchange, system size and information silos</article-title>
          .
          <source>Journal of health economics</source>
          ,
          <volume>33</volume>
          :
          <fpage>28</fpage>
          -
          <lpage>42</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [4]
          <string-name>
            <surname>Taswell</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          (
          <year>2010</year>
          ).
          <article-title>A distributed infrastructure for metadata about metadata: The HDMM architectural style and PORTAL-DOORS system</article-title>
          .
          <source>Future Internet</source>
          ,
          <volume>2</volume>
          (
          <issue>2</issue>
          ):
          <fpage>156</fpage>
          -
          <lpage>189</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [5]
          <string-name>
            <surname>Craig</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bae</surname>
            ,
            <given-names>S. H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Veeramacheneni</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Taswell</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Taswell</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          (
          <year>2016</year>
          ).
          <article-title>Web service APIS for Scribe registrars, Nexus diristries, PORTAL registries and DOORS directories in the NPD System</article-title>
          .
          <source>In SWAT4LS.</source>
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [6]
          <string-name>
            <surname>Taswell</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          (
          <year>2008</year>
          ).
          <article-title>Doors to the semantic web and grid with a portal for biomedical computing</article-title>
          .
          <source>IEEE Transactions on Information Technology in Biomedicine</source>
          ,
          <volume>12</volume>
          (
          <issue>2</issue>
          ):
          <fpage>191</fpage>
          -
          <lpage>204</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [7]
          <string-name>
            <surname>Craig</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bae</surname>
          </string-name>
          , S.-H., and
          <string-name>
            <surname>Taswell</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          (
          <year>2017</year>
          ).
          <article-title>Bridging the semantic and lexical webs: Concept-validating and hypothesis-exploring ontologies for the NexusPORTAL-DOORS system</article-title>
          .
          <source>Journal of Systemics, Cybernetics and Informatics</source>
          ,
          <volume>15</volume>
          (
          <issue>5</issue>
          ):
          <fpage>8</fpage>
          -
          <lpage>13</lpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>