Installation and Setup V3

Aus CTS2-LE
Zur Navigation springen Zur Suche springen

Standalone

All-in-one server mainly intended for exploration, testing and "to-go"-scenarios.

Release Files

  • WebCts2LE-embedded-jetty.zip: CTS2-LE jetty server

Required Software

  • Java 8

Installation & Running

  • unzip WebCts2LE-embedded-jetty.zip to a directory (denoted by <W> in the following)
  • go to directory <W>
  • start command: ./bin/startup.sh -port <port>
    Windows Powershell: .\bin\startup.bat -port <port>
  • shutdown command: ./bin/shutdown.sh <port>
    Windows Powershell: ctrl-c
  • admin navigation ui: http://<host>:<port>/WebCts2LE

Docker

Let <DI> be the docker image name. Run the image with

  • docker run -dit --restart=always --name=<name> --mount source=<volume>,target=/etc/webcts2le/inst/cts2lef-resources/resources-custom -p <port>:9090 <DI>

where

  • <name> is the container name
  • <volume> is the volume name (it will be created if it does not exist and it will be reused !)
  • <port> is the delivered port (see Installation & Running above)


External Storage/Index Backends

This version is intended for use in environments where the data backend can run on separate machines.

Release Files

  • fuseki-cts2le.zip: config files for fuseki
  • solr-cts2le.zip: config files and blank index directory for solr
  • WebCts2LE-embedded-jetty.zip: CTS2-LE jetty server
  • cts2le-3-command-bulk.jar: CLI for bulk loading
  • ntriples-collection.zip: standard terminologies for bulk loading

Required Software/Server

  • Java 8

Fuseki Installation & Running

  • unzip fuseki-cts2le.zip to a directory (denoted by <F1> in the following)
  • unzip apache-jena-fuseki-3.8.0.zip from https://jena.apache.org/download/ (the extracted directory apache-jena-fuseki-3.8.0 is denoted by <F2> in the following)
  • go to directory <F2>
  • run ./fuseki start and ./fuseki stop subsequently (in order to let directory <F2>/run be generated)
  • copy <F1>/cts2le.ttl to <F2>/run/configuration
  • copy <F1>/log4j.properties to <F2>/run
  • start command: ./fuseki start
    Windows Powershell: .\fuseki-server.bat
  • shutdown command: ./fuseki stop
    Windows Powershell: ctrl-c

Solr Installation & Running

  • unzip solr-cts2le.zip to a directory (denoted by <S1> in the following)
  • unzip solr-7.6.0.zip from http://lucene.apache.org/solr/downloads.html (the extracted directory solr-7.6.0 is denoted by <S2> in the following)
  • go to directory <S2>
  • start command: ./bin/solr start -s <S1>
  • shutdown command: ./bin/solr stop -all

Installation & Running

  • unzip WebCts2LE-embedded-jetty.zip to a directory (denoted by <W> in the following)
  • edit file <W>/CTS2LE_resources/resources-custom/setting.json. The following fragment shows the relevant lines to adapt:
	store: 'fuseki',
	storePath: 'http://localhost:3030/cts2le',
	
	luceneMode: 'remote',
	luceneIndexPath: 'http://localhost:8983/solr/cts2le',

Be sure that

  • store='fuseki' and luceneMode='remote' and host:port of storePath and luceneIndexPath are set to the server endpoints

!!! WebCts2LE does not not run properly if the fuseki or solr endpoint are not running.

  • go to directory <W>
  • start command: ./bin/startup.sh -port <port>
    Windows Powershell: .\bin\startup.bat -port <port>
  • shutdown command: ./bin/shutdown.sh <port>
    Windows Powershell: ctrl-c
  • admin navigation ui: http://<host>:<port>/WebCts2LE


(Bulk-)Loading of Terminologies

Standard Terminologies (RDF-ntriples)

  • unzip ntriples-collection.zip to a directory (denoted by <N> in the following)
  • unzip cts2le-3-command-bulk.jar to a directory (denoted by <C> in the following)
  • go to directory <C>
  • run java -jar cts2le-3-command-bulk.jar --command fileToStore --format ntriples --sourceLoc <N> --targetLoc http://<host>:<port>/WebCts2LE
    if WebCts2LE is started with -basic_auth then the command has to be extended by --user <user> --passwd <passwd>

Currently, the estimated load time (fuseki quad store) is about 40 minutes (~3GHz/16GB) for all public terminologies exclusive SNOMED. Due to quad store constraints (i.e. load time roughly equals removal time) it is recommended to delete all store files on <F2>/run/databases/cts2le (for <F2> see Fuseki Installation above) if an existing filled store is the target of bulk load.

Subsequently, perform an index and suggester update (possibly with basic auth credentials):

  • run GET http://<host>:<port>/WebCts2LE/service/manage/index/update to update the search index

Currently, the estimated index time (solr) is about 15 minutes (~3GHz/16GB). You can delete all index files on <S1>/core-cts2le/data/index (for <S1> see Solr Installation above).

  • run GET http://<host>:<port>/WebCts2LE/service/manage/index/suggester/update to update the suggester index
  • restart server

Custom FHIR Terminologies

  • let <F> denote a directory containing FHIR xml files
  • go to directory <C> (see above)
  • run java -jar cts2le-3-command-bulk.jar --command fileToStore --format fhir --sourceLoc <F> --targetLoc http://<host>:<port>/WebCts2LE
  • run GET http://<host>:<port>/WebCts2LE/service/manage/index/suggester/update to update the suggester index (possibly with basic auth credentials)
  • restart server


Basic Security

The Embedded Jetty Variant supports simple security based on Basic Access Authentication for services that modify the data base (advanced security will not be supported at this architecture level, instead special security components should be placed on top of WebCts2LE). Changing security (see HashLoginService at https://www.eclipse.org/jetty/documentation/9.4.x/configuring-security.html for details):

  • edit <W>/conf/basic-realm.properties. It contains username: password,rolename, e.g. admin: webcts2le-admin,admin. Change username or password if needed. Role name admin should not be changed.
  • run service with basic authentication via option flag: ./bin/startup.sh -port <port> -basic_auth