Skip to main content
Version: 5.0.1.0

Installation as Command Line Executable

Installation​

The installation package is shipped fully configured, so the following configurations are optional, depending on your requirements.

Orchestra Solution Hub is using the $JAVA_HOME system variable of your operating system to start up the server.

If you wish to use another Java Development Kit, please adjust the variable ORC_JAVA_HOME in file service_env.sh.

As initial setting, Orchestra Solution Hub is shipped with an integrated Derby database.
If you wish to use another database, please migrate a database using the appropriate scripts and configure it in file /base/classes/config/environment_settings.xml within the configuration group database.

Configuration of logging​

Open \base\classes\logging.properties with a text editor and define the parameter java.util.logging.FileHandler.pattern

############################################################
# Default Logging Configuration File
#
# You can use a different file by specifying a filename
# with the java.util.logging.config.file system property.
# For example java -Djava.util.logging.config.file=myfile
############################################################

############################################################
# Global properties
############################################################

# "handlers" specifies a comma separated list of log Handler
# classes. These handlers will be installed during VM startup.
# Note that these classes must be on the system classpath.
# By default we only configure a ConsoleHandler, which will only
# show messages at the INFO and above levels.
# handlers = emds.log.context.DelegateStreamHandler
# handlers= java.util.logging.ConsoleHandler
handlers= java.util.logging.FileHandler

# To also add the ConsoleHandler, use the following line instead.
# handlers= java.util.logging.FileHandler, java.util.logging.ConsoleHandler

# Default global logging level.
# This specifies which kinds of events are logged across
# all loggers. For any given facility this global level
# can be overriden by a facility specific level
# Note that the ConsoleHandler also has a separate level
# setting to limit messages printed to the console.
# There are seven Levels: SEVERE (highest value), WARNING, INFO,
# CONFIG, FINE, FINER and FINEST (lowest value)
.level = WARNING <-- The default log level. We recommend WARNING here

############################################################
# Handler specific properties.
# Describes specific configuration info for Handlers.
############################################################

# default file output is in user's home directory.
# If you want to use json log output please configure emds.log.context.JsonFormatter
# If you want to use single line formatter please configure emds.log.context.SingleLineFormatter

java.util.logging.FileHandler.pattern = /tmp/logs/solution_hub_%g.mlog <-- This is the path where the log files will be written to.
It has to writable by the service user!
Use "/" instead of "\"

java.util.logging.FileHandler.limit = 250000 <-- The number of bytes until the next logfile will be created. "0" means, there is no upper file limit.
java.util.logging.FileHandler.count = 4 <-- The number of log files to cycle through. The oldest one will be deleted. All others number will be increased by 1
java.util.logging.FileHandler.formatter = emds.log.context.StandardFormatter
#java.util.logging.FileHandler.formatter = emds.log.context.JsonFormatter <-- Write each log record as a single line in json format
#java.util.logging.FileHandler.formatter = emds.log.context.SingleLineFormatter <-- Write each log record as a single in plain text format

In case you are running Solution Hub in a container you can enable the DelegateStreamHandler and set properties for the handler (e.g. level or formatter). This allows a console output in e.g. a docker container.

  • It is necessary that the directory exists and the service user can write on it.

  • Use slashes instead of backslashes when describing the path. So \tmp\logs\solution_hub_%g.mlog becomes /tmp/logs/solution_hub_%g.mlog

  • solution_hub_%g.mlog is the name of the log-files. The parameter %g generates the numeration on the log-files, e.g. solution_hub_0.mlog

  • .level describes the log level. We recommend to keep this value on WARNING.

Other values are:

LevelDescription
SEVEREIndicates only serious failures.
WARNINGIndicates also potential problems.
INFOIndicates also informational messages.
CONFIGIndicates also static configuration messages.
FINE, FINER, FINESTIndicates detailed messages till every single message.

Configuration of database​

Open \base\classes\config\environment_settings.xml with a text editor and choose your database by setting enabled="true".

Replace the placeholders like shown in the example:

<!-- Default configuration block with placeholders-->
<group name = "database" enabled="true">
<parameter name="runtime.db.typ" value="%DATABASE_TYPE" choice="ORACLE|MSSQL|MYSQL|Derby" />
<parameter name="runtime.url" value="%DATABASE_URL" />
<parameter name="runtime.user" value="dummy_username" />
<parameter name="runtime.pwd" value="dummy_password" />
</group>

<!-- Example configuration with MySQL-Database -->
<group name = "database" enabled="true">
<parameter name="runtime.db.typ" value="MYSQL" choice="ORACLE|MSSQL|MYSQL|Derby" />
<parameter name="runtime.url" value="jdbc:mysql://DBSERVER:3306/ORCTRUNK_JUNIT_TEST?verifyServerCertificate=false&amp;useSSL=true&amp;serverTimezone=UTC" />
<parameter name="runtime.user" value="0008534c5353515a4f420006656c6a63757100000010430bca563294e12ed651c1f79fac48f0" />
<parameter name="runtime.pwd" value="0008534c5353515a4f420006656c6a63757100000010430bca563294e12ed651c1f79fac48f0" />
</group>

The database connection is configured via 4 parameters:

  • runtime.db.typ: The type of your database. Select the proper one from the choice part on the right part.

  • runtime.url: The network address of your Solution Hub-database instance. Like shown in the example block it has to contain the Database schema.

  • runtime.user: The username of the database. As you can see in the example configuration block, it has to be encrypted. To encrypt the username run:

    pwd_manager.cmd encrypt -d -t <USERNAME>

    and copy the output of the command into the value field.

  • runtime.password: The password of the database. Also encrypted:

    pwd_manager.cmd encrypt -d -t <PASSWORD>

:::info Important For generating such passwords the tool pwd_manager.cmd can be used.
This tool can be found in an Orchestra Installation or in the Orchestra Designer 4.16. :::


Configuration of Derby-Logging​

Logging from the Derby database can also be customized. To configure the Derby properties, edit the file:

<installation dir>/startscripts/<OS>/derby.properties

The following properties are already configured:

NameDefaultDescription
derby.stream.error.stylerollingFileIf set to rollingFile (the only supported value), Derby creates up to 10 rolling files named derby-0.log to derby-9.log, each with a max size of 1,024,000 bytes.
derby.stream.error.rollingFile.limit8,388,608Specifies the number of bytes to which to limit each log file before it rolls to the next file. Applies if derby.stream.error.style is rollingFile.
derby.stream.error.rollingFile.count10Specifies the number of rolling log files to permit before deleting the oldest file when rolling to the next file, if derby.stream.error.style is rollingFile.

info

For the changes to take effect, you must restart Solution Hub.
You can restore the default Derby settings by removing the derby.properties file.
Additional parameters can be found in the Derby Docs


Starting Orchestra Solution Hub​

To start Orchestra Solution Hub, execute:
/startscripts/Unix/service_runner.sh

Orchestra Solution Hub is accessible at:
https://localhost:8453/solution-hub

info

You must configure the authentication settings properly to access the system.