Preparing for installation

In this section you will prepare your environment by installing and configuring all software prerequisites.

Before installing nJAMS Server, make sure that your system meets all prerequisites. Each of the prerequisite steps must be carried out before performing the installation.

Preparing Oracle Database System

Note

Using Oracle database is deprecated and will no longer be supported in next release.

If you want to use your Oracle RDBMS, create a dedicated schema and user for nJAMS Server to allow the Installer to create tables and views.

Required Oracle database privileges and settings:
 

In order to create the nJAMS Server database objects (tables, etc.) the following privileges are required by the database user:

Permission: Type:
CONNECT Role
RESOURCE Role
CREATE TABLE System privilege
CREATE VIEW System privilege
CREATE SEQUENCE System privilege

If your database account has not been provided with these required privileges, the nJAMS Server database cannot be created during installation procedure.

If you want to manually configure an Oracle datasource in WildFly Application Server, the following WildFly property has to be set to an empty string:

njams.db.dialect=

Note

An empty string cannot be entered within WildFly’s Administration Console. Instead the WildFly CLI has to be used, or you have to edit WildFly’s config file standalone.xml.

Preparing Microsoft SQL Server

Note

Using Microsoft SQL Server database is deprecated and will no longer be supported in next release.

For using Microsoft SQL Server database, prepare a database and a user, login to allow nJAMS Server Installer to create required tables and views.

Required SQL Server privileges and settings:
 

In order to create the nJAMS Server database objects (tables, etc.) the following privileges are required by the database user:

Privileges:

In order to create the nJAMS Server database objects (tables, etc.) the following privileges are required by the database user used for installing nJAMS Server:

  • CREATE TABLE
  • CREATE VIEW
  • DELETE
  • EXECUTE
  • INSERT
  • REFERENCES
  • SELECT
  • UPDATE

The LOGIN requires:

  • CONNECT SQL

Settings:

The following settings have to be applied to SQL Server:

  • Set transaction isolation level to READ_COMMITTED_SNAPSHOT
  • Set initial log file size to at least 5MB

If you want to manually configure a SQL Server datasource in WildFly Application Server, the following WildFly property has to be set:

njams.db.dialect = org.hibernate.dialect.SQLServer2012Dialect

Note

If you have a connection string that specifies a particular SQL Server instance, please enter a double backslash between machine name and instance name as follows in this example: jdbc:sqlserver://mymachine\\mssqlserver14:1433;databaseName=njams

SSL/TLS:

Please use TLS 1.2 or higher, in case you want to use a secure connection to your SQL Server instance. Previous versions 1.0 and 1.1 of TLS will not work any longer.

Preparing PostgreSQL

Note

Using PostgreSQL database is deprecated and will no longer be supported in next release.

If you want to configure a PostgreSQL datasource in WildFly Application Server, set the following property to an empty string:

njams.db.dialect=

Note

An empty string cannot be entered within WildFly’s Administration Console. Instead use WildFly CLI, or edit WildFly’s config file standalone.xml.

Preparing JMS Provider

nJAMS Server requires a JMS Server up and running.

Preparing Apache ActiveMQ:
 

For using your own corporate ActiveMQ server, create a separate user for nJAMS Server that is authorized to the following destinations:

Destinations: Type: Privileges:
<prefix>.event queue read, write
<prefix>.error queue read, write
<prefix>.metrics queue read, write
<prefix>.command queue read, write
<prefix>.commands topic read, write

The <prefix> can be defined by the user, default prefix is njams. The prefix can be specified when you create or update a JMS Connection in nJAMS Server UI. For creating or updating a JMS Connection please refer to manual nJAMS Server Administration Guide.

If you want nJAMS Server Installer to install an Apache ActiveMQ JMS Provider, you are asked to enter the prefix for the destination name.

Note

If you want nJAMS Server Installer to create the destinations, the used JMS user needs admin privilege.

Preparing TIBCO EMS:
 

For using your own corporate TIBCO EMS server, create a separate user for nJAMS Server that is authorized to the following destinations:

Destinations: Type: Privileges:
<prefix>.event queue receive, send
<prefix>.error queue receive, send
<prefix>.metrics queue receive, send
<prefix>.command queue receive, send
<prefix>.commands topic subscribe, publish

This user also needs the following admin permissions to use TIBCO EMS queue/topic statistics for nJAMS Data Provider:

  • view-destination
  • view-server

The <prefix> can be defined by the user, by creating or updating a Data Provider in nJAMS Server UI.

Note

It is recommended to add an expiration time of 5 seconds to the <prefix>.command queue.

This is a sample script to create destinations required by nJAMS Server:

create user njams "njams user" password=njams
grant admin njams view-destination,view-server
create queue njams.event
create queue njams.error
create queue njams.metrics
create queue njams.command expiration=5
create topic njams.commands expiration=5
grant queue njams.event user=njams receive,send
grant queue njams.error user=njams receive,send
grant queue njams.metrics user=njams receive,send
grant queue njams.command user=njams receive,send
grant topic njams.commands user=njams subscribe,publish

Preparing Kafka instance

For using your own corporate Kafka instance, create a separate user for nJAMS Server that is authorized to the following topics:

Destinations: Type: Privileges:
<prefix>.event topic read, write, describe
<prefix>.project topic read, write, describe
<prefix>.error topic read, write, describe
<prefix>.metrics topic read, write, describe
<prefix>.commands topic read, write, describe

This user also needs permission for the prefix of the consumer group of the connection.

Preparing Elasticsearch Cluster

In case you want to use a prepared Elasticsearch Cluster please note, that scripting has to be enabled. Login with terminal in the Elasticsearch node server(s) and edit <ES_HOME>/config/elasticsearch.yml.

The following entries have to be included, respectively changed:

For Elasticsearch 6.x
  • script.stored: true
  • script.inline: true
  • script.painless.regex.enabled: true
For Elasticsearch 7.x
  • In version 7 all script tyes are enabled by default. But if you need to specify explicitly, make sure to include inline and stored scripts, e.g., script.allowed_types: [inline, stored]
  • script.painless.regex.enabled: true

Please refer to chapter Recommendations to setup an Elasticsearch cluster for production to learn more about sizing and configuration of an appropriate Elasticsearch cluster for nJAMS.