Powered by Zoomin Software. For more details please contactZoomin

Semaphore for Windows Administration

Architectural overview

  • Last Updated: May 13, 2026
  • 5 minute read
    • Semaphore
    • Documentation

Semaphore architecture

After completing the steps outlined in the Install Semaphore on Windows document, a functioning installation of the core Semaphore software should be available. The following software is installed:

  • Semaphore Studio - This application includes user access to Semaphore tools such as Knowledge Model Management and Document Analyzer.
  • Classification Server - Application that automatically classifies documents sent to it (against a rulebase set).
  • Semantic Enhancement Server - This software provides model information to external applications such as a CMS and/or search interfaces.
  • Publisher - This software is used to publish model information to both Classification Server and Semantic Enhancement Server. Generally this is run as a plugin to the Knowledge Model Management component in Semaphore Studio (though there is a standalone installer for specialized use cases which should only be used after consulting with Progress).

Semaphore client applications

This section details the various “client” applications of the Semaphore application suite. It should be noted, however, that these applications can all, of course, also be installed on the server for testing purposes.

Semaphore server applications

This section details the various “server” applications of the Semaphore application suite. These applications provide services that are utilized by other components of the suite as well as any specific integrations. Generally these applications do not have user interfaces.

Semaphore Studio

This is an application consisting of three sub-components:

  • Knowledge Model Management - This component provides the user with the ability to update models that are stored in either a built-in (Jena TDB) or external (MarkLogic) triple store. This component is controlled with the Windows service “Semaphore <Version> - Studio (kmm)”.
  • Document Analyzer - This component provides the user with the ability to perform advanced classification analysis on documents. This component is controlled with the Windows service “Semaphore <Version> - Studio (da)”.
  • SES SDK - This component demonstrates some common use cases for “Semantic Enhancement Server” including providing sample code that can be copied and pasted into any integration.

Semaphore Studio Landing Page

The main studio interface is controlled with the Windows service “Semaphore <Version> - Studio (studio)”.

Classification Server

Classification Server takes documents submitted to it, analyses their content and generates a set of terms indicating the relevance of those terms to the content. Terms returned are based upon the rules stored in the “rulebases” created by “Publisher” which, in turn, is based upon the information stored in the model.

Rulebases come in two formats:

  • XML (raw) rulebase files, one for each (classification) term, and
  • PAK files which are compressed, single-file versions of (1) (typically generated as one file for each class).

The interface to Classification Server is via a standard HTTP GET/POST request sent in XML format (via the port the server is listening on) with results returned in XML format. A test interface for Classification Server is accessible via a web browser by accessing the URL “http://<server>:<port>”

Classification Analysis Tool

Classification Server, generally, runs as a Windows service and listens on standard TCP/IP port(s). These ports are, by default 5059 for the above admin interface and 5058 for the back-end classification interface, in earlier versions Classification Server listens on port 5058 only. The “admin” interface is only accessible from outside of the installation server if the IP address restrictions have been altered in the default configuration (by default only “localhost” access is allowed).

Classification Server can be executed manually from the command line by running:

ClassificationServer <configuration file>

The default configuration file is “<installation directory>/conf/config.xml” (which, amongst other things, configures the TCP/IP port number).

Note: The optimal use of system resources has Classification Server configured to use all CPUs installed on the server (set the “workers” value in the configuration file to be the number of cores). Consideration should be given to allow for any other active programs on the same computer to ensure they have adequate resources (for example, use a setting one less than the number of CPUs to allow for these other programs to execute). Additional consideration should be made to any restrictions imposed by the Progress licence which may only allow a certain number of workers/instances of Classification Server to be configured.

See the Classification and Language Service Developer’s Guide for further information.

Semantic Enhancement Server

Semantic Enhancement Server contains “indexes” that are copies of models that can be queried by integrations. The information is provided in a highly optimised and performant format to be used in end-user applications.

Publisher

Publisher takes the information stored in the model and publishes it to other components. Specifically, it can be configured to do any of the following:

  1. Publish the model to Classification Server by generating (then uploading) relevant “rulebases”
  2. Publish the model into Semantic Enhancement Server indexes and, optionally, execute the Count Updater (sub-component) to update document counts stored in the indexes for specific search engine implementations

The configuration file (“semaphore-pub.xml” by default) defines what publishing processes should occur.

Using Publisher

If Publisher plugin has been installed in the Knowledge Model Management component of Semaphore Studio, you can use the “Publish Model” menu option when viewing a model. When prompted, select the appropriate configuration file and press the “Publish” button to begin the publish process.

Semaphore architectural summary

The following shows the flow of information through the various components of the system:

Semaphore Lifecycle

The end user accesses “Studio” (via the web browser) then updates the model information in the Studio “Knowledge Model Management” component, via the “Models” link (or any other link to models found in Studio). The model information is stored in a “model database” which is a “triple store” that can be the built-in Jena TDB or external MarkLogic server. The “Publisher” pushes the information from “Knowledge Model Management” into an index which is used by “Semantic Enhancement Server”. A CMS then accesses “Semantic Enhancement Server” to display model information to the (CMS) user. Publisher also pushes model information into rulebases stored in “Classification Server”. “Classification Server” is accessed by the CMS to classify documents whose classification information is then returned for use during the search process.

TitleResults for “How to create a CRG?”Also Available inAlert