Technology stack

The technology stack behind the Terminology Server consists of the following components:

  • The Terminology Server application

  • Elasticsearch as the data layer

  • An LDAP-compliant authentication and authorization service

  • Optional: A reverse-proxy handling the requests towards the REST API

Snow Owl 8.x Terminology Server Architecture Diagram

Terminology Server

Outgoing communication from the Terminology Server goes via:

  • HTTP(s) towards Elasticsearch

  • LDAP(s) towards the A&A service

Incoming communication is handled through the HTTP port of 8080.

A selected reverse proxy solution is responsible for channeling all incoming traffic through to the Terminology Server.

Elasticsearch

The currently supported version of Elasticsearch is v7.17.1arrow-up-right which is upward compatible with any patch releases coming on the 7.x version stream. Elasticsearch v8 is not supported yet.

The Elasticsearch cluster can either be:

circle-exclamation

LDAP-compliant A&A service

For authorization and authentication, the application supports any traditional LDAP Directory Servers. We recommend starting with OpenLDAParrow-up-right and evolving to other solutions later because it is easy to set up and maintain while keeping Snow Owl's user data isolated from any other A&A services.

Reverse proxy

A reverse proxy, such as NGINXarrow-up-right is recommended to be utilized between the Terminology Server and either the intranet or the internet. This will increase security and help with channeling REST API requests appropriately.

With a preconfigured domain name and DNS record, the default installation package can take care of requesting and maintaining the necessary certificates for secure HTTP. See the details of this in the Configuration section.

circle-info

For simplifying the initial setup process we are shipping the Terminology Server with a default configuration of a co-located Elasticsearch cluster, a pre-populated OpenLDAP server, and an NGINX reverse proxy with the ability to opt-in for an SSL certificate.

Last updated