Message Exchange between Independent Implementations of Servers in the Nexus-PORTAL-DOORS System Adam G. Craig1 , Seung-Ho Bae1 , and Carl Taswell1 Brain Health Alliance, Ladera Ranch CA 92694, USA, ctaswell@BrainHealthAlliance.org, WWW home page: https://www.brainhealthalliance.org/ Abstract. 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 em- power 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 dis- tribute records to NPDS servers built on the MEAN solution stack for caching and distribution to clients. Keywords: Nexus-PORTAL-DOORS System, semantic web, metadata management, distributed system, interoperability, knowledge engineering 1 The Nexus-PORTAL-DOORS System Meta-analysis offers a potential solution to the problem of underpowered stud- ies in neuroscience [1]. Semantic web technologies could facilitate meta-analysis, given adequate semantic markup, but must overcome the hazards of centralized repositories and of isolated silos [3]. To address these issues, Brain Health Al- liance (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 different solution stacks. NPDS specifies a REST API and message exchange format by which diverse servers and clients can share metadata records about resources [4]. The API provides paths to request a record by URI or search a collection of records [5]. 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) [5]. NPDS supports distributed storage using the Hierar- chically Distributed Mobile Metadata architectural style [4]. A primary server maintains a master version of each record, which it may distribute to clients or secondary servers as requested [4]. This master version serves as the authorita- tive record by which to judge the integrity of cached copies, while the secondary 2 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 [4]. 2 Microsoft and MEAN Stack Implementations BHA first implemented PORTAL-DOORS v0.5 on Windows Server in C# in 2008 and continually updates this software as NPDS develops [6]. It stores records in Microsoft SQL Server, distributing complex fields across multiple ta- bles 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 (neu- roscience and the brain), and SOLOMON (onset type in dementing neurodegen- erative diseases) [7]. In this demonstration, these operate as primary servers. In 2017, BHA has developed separate NPDS server software written in Type- Script 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. References [1] Button, K. S., Ioannidis, J. P., Mokrysz, C., Nosek, B. A., Flint, J., Robinson, E. S., and Munafò, M. R. (2013). Power failure: why small sample size undermines the reliability of neuroscience. Nature Reviews Neuroscience, 14(5):365–376. [3] Miller, A. R. and Tucker, C. (2014). Health information exchange, system size and information silos. Journal of health economics, 33:28–42. [4] Taswell, C. (2010). A distributed infrastructure for metadata about metadata: The HDMM architectural style and PORTAL-DOORS system. Future Internet, 2(2):156– 189. [5] Craig, A., Bae, S. H., Veeramacheneni, T., Taswell, K., and Taswell, C. (2016). Web service APIS for Scribe registrars, Nexus diristries, PORTAL registries and DOORS directories in the NPD System. In SWAT4LS. [6] Taswell, C. (2008). Doors to the semantic web and grid with a portal for biomed- ical computing. IEEE Transactions on Information Technology in Biomedicine, 12(2):191–204. [7] Craig, A., Bae, S.-H., and Taswell, C. (2017). Bridging the semantic and lex- ical webs: Concept-validating and hypothesis-exploring ontologies for the Nexus- PORTAL-DOORS system. Journal of Systemics, Cybernetics and Informatics, 15(5):8–13.