Technology stack
Last updated
Last updated
The technology stack behind the Authoring Platform consists of the following components:
The Snow Owl Terminology Server application
Elasticsearch as the data layer
An LDAP-compliant authentication and authorization service
Bugzilla Issue Tracker to back collaborative workflows
A MySQL database to store Bugzilla's data
The Snow Owl thick client
Optional: A reverse-proxy handling the requests towards the REST API or Bugzilla
Outgoing communication from the Terminology Server goes via:
HTTP(s) towards Elasticsearch and Bugzilla
LDAP(s) towards the A&A service
Incoming communication is handled through:
the HTTP port of 8080 (from the REST API)
the TCP port of 2036 (from the thick client)
A selected reverse proxy solution is responsible for channeling all incoming HTTP traffic through to the Terminology Server.
The currently supported version of Elasticsearch is v7.16.3 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:
a co-located, single-node, self-hosted cluster
a managed Elasticsearch cluster hosted by elastic.co
Having a co-located Elasticsearch service next to the Terminology Server has a direct impact on the hardware requirements. See our list of recommended hardware on the next page.
For authorization and authentication, the application supports any traditional LDAP Directory Servers. We recommend starting with OpenLDAP 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.
To support the Authoring Platform's collaborative authoring features certain workflow items are stored in a Bugzilla Issue Tracker. However, it is not used as an Issue Tracker in our context but as a work item tracker, so-called Tasks.
Bugzilla stores its internal data in a MySQL database, hence why the technology stack contains one.
The Snow Owl thick client is the desktop application that is used for doing the actual authoring work. It is distributed together with the Authoring Platform release files but as a separate downloadable zip archive. Currently, only 64 bit Windows operating systems are supported.
A reverse proxy, such as NGINX 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.
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, Bugzilla, MySQL, and an NGINX reverse proxy with the ability to opt-in for an SSL certificate.