Overview of the Acrolinx Server Architecture
This article describes the components that make up an Acrolinx installation and how they interact.
An Acrolinx installation includes the following server components:
- The core server
- One or more language servers
- An Analytics server
Each of these servers is a program running within its own instance of the Java Virtual Machine (JVM). The JVM software comes installed with Java. If Java isn't already installed on your server, you'll have to install Java first.
Acrolinx supports various operating systems, but we focus on Microsoft Windows and POSIX-compliant systems like Red Hat Linux. Acrolinx runs on 64-bit versions of these operating systems. Acrolinx integrates into the service management facilities of those operating systems by using a dedicated wrapper program. This wrapper program also takes care of starting the JVM in the correct way and monitors its availability. The wrapper program also integrates with the service registry to start Acrolinx automatically when you reboot your server.
You can interact with the Acrolinx servers through the command line or through a web console. Acrolinx runs on physical machines and in virtualized environments.
The following diagram illustrates how the Acrolinx server components fit together:
The Core Server
The core server is the central component of an Acrolinx installation. The core server is responsible for the following tasks:
- Managing users and permissions
- Providing a REST API to integration programs
- Receiving and scheduling checking jobs
- Storing Acrolinx Scorecards
- Managing terminology
- Configuring the language servers
- Analytics processing
You can manage your core server with a web management console called the Acrolinx Dashboard. You can also configure and customize the core server by adjusting settings in property files.
The language servers and Analytics server use web services to communicate with the core server. You can secure the communication between the servers with HTTPS. All connections between core server and other servers are automatically re-established when you restart a server.
The default port for external core server communication is 8031. Since 5.4, the core server has an extra port for internal communication to the language and Analytics servers. This internal port is set to 8032 by default.
The Language Servers
For each supported language, you'll need at least one language server. All language processing is done on the language servers. When a language server starts, it connects to the configured core server through web services. The core server then sends everything that the language server needs to check a document, such as the correct configuration and resources.
The Analytics Server
To use the Analytics dashboards in the Acrolinx Dashboard, you'll need an Analytics server. Most Analytics processing is done on the core server — the Analytics server deals mainly with rendering. The Analytics server connects to the core server through web services for things like authentication.
Since 5.3, the Analytics server gets assigned two random free ports at startup. Previously, it had fixed default ports assigned — 8080 and 8091.
Acrolinx requires a number of databases:
- Analytics ( x 3 )
By default, Acrolinx uses the built-in H2 database format for Terminology and Reporting, and the Derby database format for Analytics. However, these formats are for testing purposes only. For production, you must configure Acrolinx to connect to a database in another format. We recommend PostgreSQL, but Acrolinx supports Oracle, Microsoft SQL Server, PostgreSQL, MySQL, DB2 and H2 as database formats. You configure the terminology, Analytics, and reporting databases separately.
The terminology database stores the terms that people add in the Terminology Manager, which is a component of the Dashboard. Acrolinx also uses these terms in the checking process.
The reporting database stores all details of each check. You can use the Analytics component of the Dashboard to create reports with this data. Managers can use these reports to gain insight into changes in content quality over time.
The Analytics databases contain operational and runtime data from the Analytics server. There are technically three Analytics databases, but they are often combined into a single database for convenience. You need this database to be able to use the Analytics component of the Dashboard.
Supported Database Formats
For an up-to-date list of supported database formats, see the "Database" tab of the Acrolinx Compatibility Guide.
Note that as of Core Platform 5.5 we no longer ship the DB2 driver.
Writers check their content with special Integrations that provide Acrolinx functionality in a wide range of editing environments. Acrolinx works with Microsoft Word, Google Docs, Oxygen, XMetaL, Adobe FrameMaker, Adobe AEM and many more.
These Integrations connect to the core server which returns a list of available checking languages and other available checking options. When a writer starts a check, the Integrations extract the document text and send it to the core server in a web service call for checking. When the check is finished, the Integrations retrieve the results from the core server and present them to the writer.