Tool Reference

AxonIvyEngine

Axon.ivy Engine program. This program starts an instance of the Axon.ivy Engine.

Tip

An Axon.ivy Engine can also be started as service. More information can be found in the section Engine Service chapter.

Options

The following options are available for the Axon.ivy Engine program:

OptionDescriptionMandatory
-startStarts the engine. Same behaviour as if no options are given. Allows to stop the engine by pressing a key in the console if a console is available.no
-startdaemonStarts the engine. Does not allow to stop the engine by pressing a key in the console.no
-stopStops the engine. Only initiate the stop but will not wait until the engine has really stopped. no
-stopdaemonStops the engine. Will wait until the engine has really stopped.no
-statusPrints the current status of the engine.no

Table 9.1. AxonIvyEngineConfig Options

Launchers

The following program launchers are available for the Axon.ivy Engine program:

PlatformConsole supportLauncher
Windowsnobin/AxonIvyEngine.exe
Windowsyesbin/AxonIvyEngineC.exe
Linuxyesbin/AxonIvyEngine

Table 9.2. AxonIvyEngine Launchers

EngineConfigCli

The console program is used to configure the Axon.ivy Engine. E.g. configure, create or convert the database.

Options

OptionDescription
helpShows which commands and options are possible.
<command> helpGet help to a specific command e.g. EngineConfigCli config-db help

Table 9.3. EngineConfigCli Options

Engine Service

In productive environments it is recommended to run the Axon.ivy Engine as a service.

Windows Service

Axon.ivy Engine Windows Service. This program is the implementation of the Axon.ivy Engine Windows Service. But it can also be used to register, unregister, start and stop Axon.ivy Engine as Windows Service.

Note

You can also register, unregister, start and stop the Axon.ivy Engine Windows Service with the Control Center.

Launchers

The following program launcher is available for the Axon.ivy Engine Service program:

PlatformLauncher
Windowsbin/AxonIvyEngineService.exe

Table 9.4. AxonIvyEngineService Launchers

Options

The following options are available for Axon.ivy Engine Service program:

AxonIvyEngineService [-start|-stop|-register [username password]|-unregister]

OptionsParametersDescriptionMandatory
-start Starts the Axon.ivy Engine Windows Serviceno
-stop Stops the Axon.ivy Engine Windows Serviceno
-register Registers the Axon.ivy Engine Windows Service within Windowsno
 usernameThe user name of the user in which context the windows service should runno
 passwordThe password of the user in which context the windows service should runyes, if username is specified
-unregister Unregisters the Axon.ivy Engine Windows Service from Windowsno

Table 9.5. AxonIvyEngineService Options

Linux Service (systemd)

The install service program helps to install the Axon.ivy Engine as a systemd Linux daemon. To install the service:

  1. Change current directory to to the bin/ directory of your Engine: cd bin/

  2. Run following command as root: ./InstallService.sh

  3. Accept the directory of your engine installation.

  4. Set the user and group under which the Engine service should run. Must not be root. Typically, a special user with limited access right should be used.

  5. Start the Engine service with systemctl start AxonIvyEngine.service to check if it works.

  6. Check the current status of the service with systemctl status AxonIvyEngine.service

  7. If you want to start the Engine service on the system start, execute following command: systemctl enable AxonIvyEngine.service

Tip

For more information about systemd services consult man systemd and man systemctl.

Launchers

PlatformConsole supportLauncher
Linuxyesbin/InstallService.sh

Table 9.6. InstallService Launchers

Launch Configuration

Windows Program Launcher Configuration

All windows program launchers can be reconfigured with an additional ivy launch control file (*.ilc). The ivy launch control file must have the same name like the launcher itself but instead of the extension *.exe it must use an extension *.ilc.

Tip

If you want to reconfigure the AxonIvyEngine.exe launcher, then copy the Example.ilc file and rename it to AxonIvyEngine.ilc.

The ivy launch control file is a text-based property file. The file has the following format:

# comment line
property=value
property=value

Open the file with a text editor to reconfigure it. Most properties found in the ivy launch control file are used to modify java virtual machine options. The following list shows all available options and explains them:

PropertyJVM OptionDescription
ivy.heap.max.ratioyesThe maximum heap size (-Xmx) in percentage of the physical memory of the machine.
ivy.heap.max.sizeyesThe maximum heap size (-Xmx) in megabytes.
ivy.heap.start.sizeyesStart heap size (-Xms) in mega bytes.
ivy.heap.free.max.ratioyesThe maximum free heap memory (-XX:MaxHeapFreeRatio) in percentage of the current heap size.
ivy.heap.free.min.ratioyesThe minimum free heap memory (-XX:MinHeapFreeRatio) in percentage of the current heap size.
ivy.heap.young.max.sizeyesThe maximum young heap size (-XX:MaxNewSize) in megabytes.
ivy.heap.young.min.sizeyesThe minimum young heap size (-XX:NewSize) in megabytes.
ivy.heap.eden.survivor.ratioyesThe survivor heap size as ratio between the eden and the survivor heap size (-XX:SurvivorRatio)
ivy.heap.tenured.young.ratioyesThe young heap size as ratio between the tenured and the young heap size (-XX:NewRatio).
ivy.jvm.typeyesThe Java virtual machine type to use (ClientHotspotJVM, ServerHotspotJVM).
ivy.dir.auxnoThe directory where the ivyTeam jars are located.
ivy.dir.jrenoThe directory where the java runtime environment is located.
ivy.java.main.classnoAn own Java class to launch instead of ivy engine's main starter class.
ivy.java.main.methodnoAnother Java static method to launch on the ivy.java.main.class instead of the default main method. The called method should take the same arguments as a Java main method.
ivy.vm.additional.optionsyesAdditional Java virtual machine arguments
ivy.garbage.collector.optionsyesAdditional garbage collector arguments. See too GC Optimization.
ivy.windows.service.namenoThe name of the Windows service (only for Windows service launcher).
ivy.application.namenoThe name of the application (only for application launcher).
ivy.application.singletonno Is the application a singleton (true, false; only for application launcher).

Table 9.7. Ivy Launch Control Properties

The properties that are bold are the most used properties.

Linux Launcher Configuration

The Java virtual machine (JVM) options for the Engine are configured in the AxonIvyEngine.conf file. For all other helper programs the JVM options are configured in the control.conf file.

Tip

If you want to configure the memory (-Xmx, -Xms, etc.) or optimize any other JVM options of the Engine then edit the AxonIvyEngine.conf file.

AxonIvyEngine.conf

#
# ivyTeam Launch Configuration for the Engine
#
# ===========================================================================
#

#
# Specify Ivy options to pass to the Java VM.
# Don't modify them unless you know what you do.
#
if [ ! "x$JAVA_OPTS" = "x" ]; then
   echo "JAVA_OPTS already set in environment; will override default settings"
fi

JAVA_OPTS="-Xverify:none -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:+CMSParallelRemarkEnabled -XX:+CMSClassUnloadingEnabled -XX:-OmitStackTraceInFastThrow"

#
# Garbage collector optimization arguments (for more information see: EngineGuide -> Configuration -> GC Optimization):
# Note: Uncomment only one setting of the following two GC optimizations
#
# * GC optimized for JSF
#
#JAVA_OPTS="$JAVA_OPTS -XX:+DisableExplicitGC"
#
#
# * GC settings optimized for RIA with explicit full concurrent gc every 10 minutes (default setting)
#
JAVA_OPTS="$JAVA_OPTS -XX:+ExplicitGCInvokesConcurrent -Dsun.rmi.dgc.server.gcInterval=600000 -Dsun.rmi.dgc.client.gcInterval=600000"

#
# Max heap size (-Xmx)	
#
JAVA_OPTS="$JAVA_OPTS -Xmx2048m"

#
# Start heap size (-Xms)
#
JAVA_OPTS="$JAVA_OPTS -Xms128m"

#
# Headless mode that does not require an X11 environment
#
JAVA_OPTS="$JAVA_OPTS -Djava.awt.headless=true"

#
# To enable access to the java mangement extension (JMX) server from remote hosts, or from other users on the same machine, uncomment the following property line.
# You may want to configure another tcp/ip port.
# Access to the management server is protected by default by the java authentication and authorization service. 
# The file configuration/jaas.config is used as configuration file for JAAS. It must contain a JMX configuration entry.
# By default the java discovery protocol (JDP) is enabled.
#
#JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.port=9003 -Dcom.sun.management.jmxremote.login.config=jmx -Djava.security.auth.login.config=configuration/jaas.config -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.autodiscovery=true"

#
# Define the local network IP address or hostname of this computer on which the JMX port should be bound for remote access (Not: 127.0.0.1)
#
#JAVA_OPTS="$JAVA_OPTS -Djava.rmi.server.hostname=<IP of the machine>"

Engine Configuration UI

The Engine Configuration UI is a simple user interface that lets operators apply the basic configuration that is necessary to have a productive engine running. This includes especially the installation of a license and the creation of a system database.

Advanced users might prefer to use configurations files (“ivy.yaml”) and the “EngineConfigCli” to roll out and Axon.ivy Engine into production. Configuration files make the installation process faster re-reproducible in various environments such as dev, test and prod.

Usage: Apply configurations in the Tabs. Click Save to store the modified data on all tabs. Hit Discard Changes to reload the configuration from the filesystem and database.

Legacy Storage Format

The Engine Configuration UI stores the defined configurations in legacy storages such as the System Database (connector-properties, admins).

Since 7.2 users can stick to a file based configuration approach by using the “ivy.yaml”

Note

The changes that you make with the Engine Configuration do not become active unless you restart the engine.

Launchers

The following program launchers are available for the Axon.ivy Engine Configuration:

PlatformConsole supportLauncher
Windowsnobin/AxonIvyEngineConfig.exe
Windowsyesbin/AxonIvyEngineConfigC.exe
Linuxyesbin/AxonIvyEngineConfig

Table 9.8. AxonIvyEngineConfig Launchers

Via Control Center

After starting the ControlCenter, select a server entry from the server list on the left side and press the Server button in the configuration area to start the configuration program.

Windows: Start the ControlCenter.exe program in the bin directory of the Axon.ivy Engine installation directory.

Linux: Start the ControlCenter program in the bin directory of the Axon.ivy Engine installation directory to start the ControlCenter program.

Options

The following options are available for the Axon.ivy Engine Configuration program:

OptionDescriptionMandatory
-headlessActivates the headless mode. Useful if no graphical user interface is installed on the server machine.no

Table 9.9. AxonIvyEngineConfig Options

Licence

On the Licence tab you have to upload a valid licence:

Axon.ivy Engine Configuration Licence Tab

Figure 9.1. Axon.ivy Engine Configuration Licence Tab

Use the Upload Licence button to open the file browser and select the licence which should be used.

Note

It is possible to configure the engine without a valid licence, but the engine will always start in the demo mode if you do not have a valid licence and therefore does not use your configuration.

System Database

On the System Database tab the Axon.ivy Engine system database can be configured, created and converted:

Axon.ivy Engine Configuration System Database Tab

Figure 9.2. Axon.ivy Engine Configuration System Database Tab

First choose the database system and the JDBC driver you want to use. At the moment the Axon.ivy Engine supports the following database systems:

The choice of the second step depends on the database system and JDBC driver you have chosen in the first section. Click on the database system links above to find information about how to configure the connection settings. The applied db user needs the following privileges:

  • CREATE DATABASE (to create the system database out of the Engine Configuration)

  • CREATE, ALTER, DROP Tables, Views, Indexes, Triggers (to update the Axon.ivy Engine)

  • INSERT, SELECT, UPDATE, DELETE data

In a third step you can configure additional connection properties. When clicking on the Additional Propertiesbutton a dialog will show, where you can add, edit or delete the properties. See database system specific chapter (links above) to find information which additional connection properties are available for the database system that you have chosen.

At the top of the page the state of the connection is visible. Use the button on the right to try to connect to the system database.

Create new System Database

If the system database does not exist, use the create button at the bottom to create a new system database. During the creation of a new database the configured connection parameters are used. For some database system additional information is necessary. It must be provided in a pop-up dialog before the new database can be created. See database system specific chapter (links above) to find what additional information is necessary for the chosen database system.

Note

You can previously create an empty database/schema. In this case the server configuration tool will only create the necessary tables into the given database/schema. If the database/schema doesn't exist already, the server configuration tool creates it with a best practice configuration. In this case the applied db user needs the following privileges:

  • CREATE, ALTER, DROP Tables, Views, Indexes, Triggers (to update the Axon.ivy Engine)

  • INSERT, SELECT, UPDATE, DELETE data

The best practice configurations are documented in chapter System Database.

Convert an old System Database

Warning

We strongly recommend to backup your database before you convert it to a newer version. Be sure that you have enough disk/table space on your database server. Most conversions add new fields to existing database tables which will enlarge the used database space.

If the system database has an older version, use the convert button at the bottom to convert it to the latest version.

Warning

Depending on the conversion steps and your database system it may be necessary to cut all connections to the system database to avoid problems. If you have problems with the conversion, please disconnect all other database management tools, clients or other tools that has a connection to the system database and try again.

System Administrators

On the Administrators tab you can configure users that have the right to administrate the Axon.ivy Engine:

Axon.ivy Engine Configuration Administrator Tab

Figure 9.3. Axon.ivy Engine Configuration Administrator Tab

Warning

This tab is only enabled if you have configured a connection to a valid system database.

Web Server Ports

On the Web Server tab you can configure which protocols the internal web server of Axon.ivy Engine should support and on which IP ports the web server is listening:

Axon.ivy Engine Configuration WebServer Tab

Figure 9.4. Axon.ivy Engine Configuration WebServer Tab

The following protocols are supported:

ProtocolDescription
HTTPHTTP protocol .
HTTPSHTTP protocol over secure socket layer (SSL).
AJPApache Jakarta Protocol. This protocol is used for the communication of the embedded Servlet Engine with external WebServers like IIS or Apache.

Table 9.10. Web Server Protocols

Warning

This tab is only enabled if you have configured a connection to a valid system database.

Note

In case you disable HTTP port, then the specified port will still opened by the engine for internal purposes. Even though the engine will refuse connections from remote hosts.

Cluster

Note

This tab is only visible if you have installed an Axon.ivy Enterprise Edition licence.

On the Cluster tab you have to configure some information according the local cluster node:

Axon.ivy Engine Configuration Cluster Tab

Figure 9.5. Axon.ivy Engine Configuration Cluster Tab

Use the Add local node button to add this installation as a new Engine cluster node to the list of cluster nodes in your Axon.ivy Engine Enterprise Edition. You have to configure an IP Address and an IP Port that will be used by the cluster to communicate with this node.

Note

An Engine cluster node is uniquely identify by the host it is running on and a local identifier. The local identifier is a unique number that identifies nodes running on the same host (machine). Both values are provided by the installed licence. Therefore, every Engine cluster node needs its own licence file.

Admin UI

The Admin UI is the application to manage and deploy applications. Manage its environments and global properties of the Axon.ivy engine.

Legacy Rich Dialog Application

The Admin UI featureset is historic and partly broken:

  • System Properties, Application Properties, Security Systems, Active Environments : can still be viewed, but are overwritten by the values defined in config files such as the “ivy.yaml”

  • Some features are still only accessible trough the Admin UI: like changing the activity state of Apps, PMs and PMVs.

Since 7.2 users can deploy applications by dropping the project artifacts in the deploy directory. And its application settings can be managed with the “app.yaml” file.

Opening the administration tool

After you have successfully started the Axon.ivy Engine, you can start the engine administration tool. This tool allows you to create and manage all your applications on the engine and in addition to set some further configuration properties.

To do so, launch your preferred web browser and point it at the following the address: http://ServerName:Port/ivy.

You should be directed to the Axon.ivy Engine info page:

Axon.ivy Engine info page

Figure 9.6. Axon.ivy Engine info page

This page displays all your applications and their process models with all contained process starts. When you haven't set up any applications yet, this page will be empty, just like in the screenshot above.

Click the Admin link to open the administration tool. Depending on your computer's settings, you may be asked if you'd like to open or save a JNLP file. Choose to open the file directly and wait for the Java Web Start application to load.

Note

Loading of the administration tool may take a few minutes the first time, because some application data needs to be deployed first internally. Please be patient.

Admin Tool

Figure 9.7. Admin Tool

Applications

Applications are environments for process models (projects). Applications are strictly separated from each other and do not share anything. Every application has its own process models (and -versions), roles, users, external databases and so on. Projects may only use libraries that are deployed within the same application.

Create new application

Create by file

Since 7.2 new applications can be created simply by dropping its files into a the deploy directory. There is no need to pre-configure and create an application with the Admin UI. See “Deployment”

To create a new application, press the new application icon () in the Applications section. A dialog will prompt you to enter the following information:

Name

The name of the application to create.

Description

An optional description of the application.

File Directory

The directory on the file system where all the files of this application and its process models will be stored. You can specify an absolute directory (e.g. C:/Data/IvyApps/App1 or /var/ivy/apps/app1) or a directory relative to the engine's installation directory (e.g. apps/App1). The directory may already exist, but it must be empty.

Tip

We recommend to configure an absolute directory outside of the installation directory of the engine because the data in the directory has a much longer life time than the current version of the engine. E.g. if you upgrade your engine you have to choose a new installation directory and may want to delete the installation directory of the old version, which is not possible if the file directory is located inside the installation directory.

Warning

When using an Axon.ivy Engine Enterprise Edition, the file directory must be located on a shared file system which is accessable by all nodes of the cluster with the same file path. This path must be configured here.

Owner

The owner of the application. This field is used for documentation purposes only.

Security System

The security system from which the users are imported. By default this is Axon.ivy which means that all users and roles are completely managed by the Axon.ivy Engine. You can change this to Microsoft Active Directory or Novell eDirectory in which case the users come from the selected directory service. See section Configuring an External Security System for more details about the integration of external security systems.

Create process models

Check the process models, that should automatically be created and deployed into the new application.

Axon.ivy Addons: Contains some Rich Dialog functionality such as some common dialogs simple questions or messages, document factories to create Office documents and many more. All these features can be used freely. Please read more about the Axon.ivy Addons in the documentation of the Axon.ivy Designer.

Axon.ivy Workflow UI (RIA and HTML Version): Both process models contains a default Workflow UI, which provide process and task lists. Furthermore it is possible to browse through history of already finished tasks. Even more, the RIA version provides functionality for administrating all cases and tasks of the application. More information can be found in the Workflow UI guide.

Click Create to create the application. If you have chosen a security system other that Axon.ivy, a dialog will appear to configure it (see next section).

Warning

There is a default Portal application which should only be used for demo purpose. Create always a new application for the production environment, because the shipped Portal application has a special lifecycle and no real migration path.

Configuring an External Security System

Configured by files

Since 7.2 the external security system might be configured via “ivy.yaml” and activated in the “app.yaml”. In this case the security system can still be viewed in the Admin UI, but changes have no effect on the actual config.

When you choose an external security system (e.g. Microsoft Active Directory) for a new application, you have to configure the connection to the directory server, to specify which users should be synchronized and how the attributes of these users should be mapped.

Users are synchronized as follows:

  • Users that exists in the external security system but not in the Axon.ivy Engine are imported to the Axon.ivy Engine if they match the filter criteria.

  • Users that exists in the Axon.ivy Engine but not in the external security system or do not match the filter criteria are deleted from the Axon.ivy Engine.

  • Axon.ivy user attributes that are mapped to exernal security system attributes are updated with the latest values from the external security system.

The user synchronisation is executed:

  • Once a day (see synchronization time).

  • If one click the Synchronize button on the Security System section of the application configuration screen.

  • If a user tries to login himself. This means that a user can login even if he is not yet imported to the Axon.ivy Engine.

External security system configuration dialog
External security system configuration dialog

Figure 9.8. External security system configuration dialog

Host / Port

The hostname (or IP address) and port of the directory server

Authentication kind

The authentication method. Use none if your server does not require authentication to connect or simple if authentication by username and password is required

Username / Password

The username and corresponding password to use for connecting to the server. The format of the username can be one of the following (examples):

  • connectionuser@fully.qualified.domain.name

  • cn=Connection User, ou=Service Accounts, dc=fully, dc=qualified, domain, dc=name

Use SSL

Activates Secure Sockets Layer (SSL) connection to the Active Directory server.

The SSL connection to the Active Directory Server will only work if the JRE of the Axon.ivy Engine has the certificate of the Active Directory Server in its trust store. The certificate import into the JREs system trust store can be done with a graphical keytool like the KeyStore Explorer or the JRE keytool:

bin/keytool.exe -importcert 
-file yourCertificateFile 
-keystore lib/security/cacerts 
-storepass changeit 
-alias myCertificateAlias

Ensure that the System trust store is activated within the “System Properties” table. The System Property 'SSL.Client.UseSystemTrustStore' must be set to 'true'.

Use LDAP connection pool

If selected, the server will try to reuse connections and not open a new connection each time.

Import context

The import context is a global filter. This filter is applied to every query made to the external security system. Every user and user group located below this context can bee seen. Everything outside the context cannot be seen and will be ignored. In most cases the import context is set to a root object (e.g. for the domain soreco.ch to dc=soreco, dc=ch).

In some cases you may want to set the import context to a organization unit so that only the users located below the organization unit are synchronized.

Use the Browse button to select the import context from the server specified above (if the connection fails, check the connection data).

Import users of group

Limit the synchronization of users to a specific user group. Only users that are located below the import context and are members of the specified user group are synchronized.

Use the Browse button to select the user group from the server specified above (if the connection fails, check the connection data).

User Filter

LDAP filter expression to make sure only user objects are synchronized.

Synchronization time

Enter the time of day when synchronization should take place. Format is HH:MM (24h format).

LDAP attribute mapping

Default attribute mappings can be adjusted.

Further LDAP attributes can be mapped to additional user properties. Enter the LDAP attribute name in the first column and the name of the additional user attribute in Axon.ivy into the second column.

The external security system configuration can be changed by using the Edit button on Security System section of the application configuration screen.

Warning

If you change the security system configuration then some users that where imported before may now no longer match the import filter criteria. This means that those users are deleted from the system and all their tasks will be changed to state UNASSIGNED. All tasks in state UNASSIGNED have to be reassigned manually to other users.

Application Default Settings

Configured by files

Since 7.2 the application settings might be configured via “app.yaml”. In this case they still can be viewed in the Admin UI, but changes have no effect on the actual config.

The button configure default settings on the application configuration screen leads to the Application Default Settings.

Application Default Settings

Figure 9.9. Application Default Settings

Email Notification Settings

This section contains the default settings for notification emails. The settings are used when a new user is created.

Email Notification Settings

It is possible to be notified if a new task is created that is related to you (either by direct assignment or by assignment to a role you own). Furthermore, a daily digest mail with a summary of all open tasks can be sent to you by Axon.ivy.

Which language should be used for the emails

Choose in which language you would like to receive the emails. If your preferred language is not contained, please contact your Axon.ivy administrator.

Never (disable email notification)

You can switch off the sending of all notification mails by ticking this checkbox. If you do so, you cannot set the other options.

When a new task for me or one of my roles is created

If this is set, you will receive a notification email whenever a new task is created that is assigned either directly to you or to one of the roles you own.

Daily Summary on

Choose the days on which you want to receive an email with a summary of all your open tasks.

Tip

If you want that temporary no mails are sent (e.g. for holidays), then just tick the Never checkbox. The email sending is now switched off, but the previous settings are still stored. As soon as you untick the Never check box, your standard configuration is back again.

Email Content Creation Processes

In this area of the Application Default User Settings dialog, you can select a deployed process model that contains notification processes for Daily Summary or for New Task notification respectively. Before you see any available processes in the combo box you have to deploy at least one PMV library including an Email Notification Process.

Tip

Choose <System Default> to use the built-in notification mails of the Axon.ivy Engine.

Default Executed Processes

This section allows you to override the default pages (Application Home, Task List, Process Start List, Login and End) of an Axon.ivy web application.

You can create your own process model to display these pages or you can use the Axon.ivy Workflow UI (HTML Version). See section create new application to learn how to use the "Axon.ivy Workflow UI (Html Version)".

Default Pages Implementor

<System Default> will show the default Axon.ivy pages.

HtmlWfUi will show up, if you have deployed the "Axon.ivy Workflow UI (Html Version)".

Any process model deployed, which contains a request start with a signature for at least one page will be shown in the dropdown. Instead of showing the default pages, the corresponding process of the selected process model is started. If the process start signature of the default page is not available in the selected project, the default page from Axon.ivy will be used.

Process Models and Process Model Versions

An application can have multiple process models. Each process model can have different versions. A process model corresponds to the concept of a project on the Axon.ivy Designer. A process model version corresponds to a versioned snapshot of that project at some point of time.

The Concept of Versions

A process model can exist in multiple versions called process model versions. These versions allow you to make changes in a project and deploy it again without having to worry about the compatibility of currently running cases. If the new version is not working as expected, you can always go back to a previous working version.

Creating Process Models and Process Model Versions

To create a new process model, you have to select the application in which you would like to create it. Press the new process model button in the toolbar (). You will be asked for a name (typically you chose the name to be the same as the name of the project you intend to deploy within this process model) and an optional description.

Once you have created the process model, you can continue with adding a first process model version. To do so, select the process model from the tree on the left hand side and press the new process model version button (). You will be prompted to enter a name and an optional description again.

Tip

It is recommended to use the description field of the new process model version to document the major changes from the previous version.

Manage Activation and Release State

Applications, process models and process model versions all have an activation state. The process model version additionally has a release state.

Managing the activation state

Figure 9.10. Managing the activation state

To bring a process model version into the Active state, the process model version itself, the parent process model and the parent application have to be in the state Active. Furthermore, the release state of the process model version has to be in RELEASED or DEPRECATED. The same is necessary for all required libraries of that process model version.

When looking at the details of an application, process model or process model version you will always see a Configured state and a State. The Configured state is the one you can freely change and the State is the actual state that depends on the states of the parent process model and application and of the release state.

Managing the release state

Figure 9.11. Managing the release state

Release States

NameDescription
PREPARED The process model version has been created and a project may already be deployed. However, the process model version is not used yet.
RELEASED The process model version is the currently released version. This means that all new cases will be started within this version. Only one version in a process model may be in this state.
DEPRECATED The process model version has previously been in state RELEASED. But another process model version was released and activated recently. All cases that were started in this process model version will finish in this version. As soon as there are no more running cases in this version and all process model versions that are using it are not in state RELEASED nor DEPRECATED, the state will change to ARCHIVED automatically.
ARCHIVED The process model version has previously been in state RELEASED or DEPRECATED. There are now no more cases that are running in this version, it is safe to delete it. Process model versions in this state are not started and therefore only use minimal resources. You may set it back again to RELEASED.
DELETED The process model version has been deleted. All data that belong to this version are deleted too.

Table 9.11. Release states

Activation states

NameDescription
INACTIVE No new process in this process model version can be started and all running cases and tasks have been suspended.
ACTIVE New processes in this version can be started and all tasks are active.
LOCKED No new process can be started, but the currently running tasks can continue to their next savepoint.
DEACTIVATING The state is changing to INACTIVE.
ACTIVATING The state is changing to ACTIVE.
LOCKING The state is changing to LOCKED.

Table 9.12. Activation states

Project dependencies

Projects can depend on each other. The dependencies are configured in the deployement descriptor of the project. This dependencies are evaluated and resolved during the deployment of a project. On the process model version detail page you can press Dependencies... to see the resolved dependencies of the project deployed to the process model version. You see the process model versions that the current process model version requires. And also vice versa which process model versions require the current process model version.

To change a resolved dependency select the dependency and press Edit Selection. You can then select another version that fullfils the dependency requirements.

Project Dependencies

Figure 9.12. Project Dependencies

Deployment wizard

Create by file

Since 7.2 new applications can be deployed simply by dropping its files into a the deploy directory. There is no need to use the time consuming deployment wizard anymore. See “Deployment”.

The deployment wizard can be started on the toolbar.

Command to Start the Deploment Wizard on the Toolbar

Figure 9.13. Command to Start the Deploment Wizard on the Toolbar

On the first page of the wizard select the projects that you want deploy. The projects can either be located on the server or on the client. If you select a folder then the wizard searches all packed (ivy archive) or unpacked projects located below that folders. If you select a *.zip file then the wizard searches all projects located inside the *.zip file. The found projects will be displayed. Select the projects you want to deployed and press Next.

Tip

Read the chapter Deployment in the Axon.ivy Designer Guide to find out how to create a zip file that contains all files of a project.

Tip

Read the chapter Projects in the Axon.ivy Designer Guide to find information about ivy archives and how to export them.

Deployment Wizard - Source

Figure 9.14. Deployment Wizard - Source

On the second page of the wizard select the applications to which you want to deploy your projects and press Next.

Deployment Wizard - Target

Figure 9.15. Deployment Wizard - Target

On the third page of the wizard you see a preview of the actions the wizard will perform. Note, that the wizard automatically choose the process model and process model version where it deploys a project to. If everything is as you expect press Next. If you do not like the automatically default behaviour press Previous and then on the previous page Details to choose another configuration. More information about process model and process model version can be found in the previous chapter.

Deployment Wizard - Preview

Figure 9.16. Deployment Wizard - Preview

On the fourth page of the wizard the projects are validated. If no errors are found you can press Next. If you get warnings please read them carefully and then decide if you want to proceed or not.

Deployment Wizard - Validate

Figure 9.17. Deployment Wizard - Validate

On the last page of the wizard the projects are deployed. During the deployment a log is written which contains information about the tasks that are executed. Press Finish to close the wizard.

Deployment Wizard - Deploy

Figure 9.18. Deployment Wizard - Deploy

Business Calendar

A business calendar defines the following three things:

  • Days which are free of work. E.g. 25. December.

  • Period in a Day which is working time. E.g. 08:00-17:00

  • First Day of the Week. E.g. Monday

Business calendars are used to calculate time periods in working time. For example a period of 3 working days starting on Friday would end on Tuesday if Saturday and Sunday are defined as free days. For more information consult the documentation of ch.ivyteam.ivy.application.calendar.IBusinessCalendar in the Public API.

Every application has at least one business calendar. The business calendars can be configured using the Configure Calendar Settings Button on the Application Configuration screen.

Every environment can have its own default business calendar (see chapter Environment Business Calendar ).

Business Calendar Definition

Business calendars are defined in a hierarchy. The children inherit all definitions of all its parents. All business calendars must directly or indirectly inherit from the Default business calendar.

Start of Week

The Start of Week defines the first day of a week. In Switzerland and its neighbour countries this is Monday. In other countries like Great Britain the week starts on Sunday.

Working Time

The Working Time defines which time of a day is working time. E.g. 08:00-12:00, 13:00-17:00

The working time applies to all days which are not defined as free days. It is not possible to define different Working Times for different days.

Free Days of Week

The Free Days of Week define at which days of the week no work is done. E.g. Saturday, Sunday

Free Days of Year

The Free Days of Year define at which days of the year no work is done. These free days of the year will be free every year at the same day. E.g. 1.1. (New Years Day), 25.12 (Christmas).

Free Easter Relative Days

The Free Easter Relative Days define days of the year no work is done. These free easter relative days will be free every year at another day depending on the easter day. E.g. 0 (Easter Day), 1 (Easter Monday), -2 (Good Friday).

Free non-recurring Dates

The Free non-recurring Dates define non-recurring days when no work is done. These free non-recurring days will only be free once. E.g. 7.12.1931.

Environments

Configured by files

Since 7.2 environments can be configured via “ivy.yaml” or app.yaml. In this case the environment configs can still be viewed in the Admin UI, but changes have no effect on the actual config.

This section briefly discusses the usage of environments in your projects .Developers should have the possibility to configure multiple environments (pointing to an infrastructure) and decide at runtime which environment should be used for the application. For instance you can have a development environment, a test environment and a productive environment. Here are some examples where environments can be used

  • Companies provide different environments for their software products, like Development, Test and Productive. Each environment has its own infrastructure including databases, web services and other connections used by the project.

  • Multi Client Capability. When the user logged into the system he can choose the mandant (e.g. Company 1, Company 2, etc.) and works with the data of the selected company. In the background the right databases connections, web services and other services for the selected environment will be used.

If your projects use environments, you have to configure the respective environment configurations on the engine. The first time you deploy an application that uses environments, the environments of the project will automatically be added on the engine as well. Each application manages his own environments. If you already define your different environments in your project on the designer, you don't need to reconfigure these environments on the engine again. This has the advantage that you can already test different environments at design time, before you deploy your projects on the engine. Each application contains a Default environment where all default values of the global variables and default database configurations are defined. In addition to the default environment, each application has one ore more user defined environments.

In order to change the environment for an application at runtime you must go to the details of an application and change the active environment for that application and press Set

Set active environment for an application

Figure 9.19. Set active environment for an application

Environments acts as a container for

  • Global Variables

  • External Database Configurations

  • Web Service Configurations

  • REST Client Configurations

  • Business Calendar Configurations

Configuration of environments

Environment configurations can be changed by double-click on the environment entry in the list. You will see that the environment acts as a container for global variables and external database configurations. The description of the environment can be used to provide important infrastructure information about the server, databases and other stuff, which can be relevant to other users.

Environment details

Figure 9.20. Environment details

Global Variables

Global Variables acts as global constants which can be used in your application. Global Variables are simple Key/Value pairs which can be specified by the developer. Some examples for global variables are:

  • Company data (name, address, contacts)

  • Simple Rule Values (e.g. credit account)

  • Path values for saving files

  • Path values for 3rd party systems and some other variables

Global variables must be defined at design time. It is not possible to create new variables on the engine. Each variable has a default value, configured at design time or in the default environment. In order to override the values of global variables for a environment just double-click the variable entry and override the values in the detail dialog. The default value of a global variable must be set in the Default environment.

Details of a global variable

Figure 9.21. Details of a global variable

If the global variable is a default one, the system asks you to override the value for the environment. If you press "yes" the value of the global variable is overridden for the environment. You can always reset the global variable, by pressing Reset to Default.

Question to override the default value of the global variable

Figure 9.22. Question to override the default value of the global variable

External Databases

If your projects use external databases, you have to configure the respective database connections on the engine. The first time you deploy a project that uses external databases, the database configurations of the project will automatically be added on the engine as well. Also available environment configurations which already done at design time, will be added. Since you probably use a test database during development and you want to use your production database on the engine, you can use the different environments to set a different configurations. Overridden Database configurations for an environment will be displayed with the icon . Default database configurations or database configurations which are not overridden for the environment will be displayed with the icon .

To change the connection settings, select on the entry for a database in the list. You will see the connection URL used to connect to the database in the selected environment, the maximum number of connections, all currently open connections and the last executed statements.

If the selected environment is not the default environment, and you select a database configuration, which has no environment connection settings, you only can configure it. If you press Configure, the system asks you to override the database configuration for the selected environment. Press Yes to override the database configuration for the environment. You can always reset the database configuration to the default one, by pressing the button Restore to Default in the detail dialog, or right click on the database in the list and use the Menu item Restore to Default.

Databases

Figure 9.23. Databases

You can directly edit the maximum number of connections that may be simultaneously used.

To change the connection settings, press the Configure button next to the driver and connection URL fields. This will bring up a dialog in which you can configure the database product, driver, hostname, database, username, password and additional connection properties.

Configuring the connection of an external database

Figure 9.24. Configuring the connection of an external database

Web Services

If your projects use web services, you have to configure the respective Web Service on the engine. The first time you deploy a project that uses Web Services, the Web Service configurations of the project will automatically be added on the engine as well. Also available environment configurations which already done at design time, will be added. Since you probably use a test environment during development and you want to use your production environment on the engine, you can use the different environments to set a different configurations. Overridden Web Service configurations for an environment will be displayed with the icon: . Default Web Service configurations or Web Service configurations which are not overridden for the environment will be displayed with the icon .

In order to edit a Web Service configuration just select the Web Service from the list and the details of the selected Web Service will be displayed in the detail panel.

Name

The name of the Web Service. This attribute can not be modified on the engine.

Description

An optional description of the Web Service. This attribute can note be modified on the engine

Use Authentication

The directory on the file system where all the files of this application and its process models will be stored. You can specify an absolute directory (e.g. C:/Data/IvyApps/App1 or /var/ivy/apps/app1) or a directory relative to the engine's installation directory (e.g. apps/App1). The directory may already exist, but it must be empty.

Session Handling Mode

You can chose session handling mode for current configuration. There are 3 modes available now:

  • NO there will be no session handling when you use this configuration

  • WSELEMENT invoking the same service from the same "WS step" process entry existing sessions will be reused

  • APPLICATION Within ivy applications whenever you invoke the same service existing session will be reused

Authentication Type

You can chose a authentication Mode for current configuration. There are 3 types available now:

  • HTTP BASIC Use the HTTP basic authentication for the Web Service call

  • HTTPS Use HTTPS transport

  • DIGEST Use DIGEST authentication

Username

When authentication is used, this username will be applied to get access to this web service. You can use IvyScripts in this field.

Tip

When you specify authentication in "WS step" process element, these settings (Username and Password) will be overridden. Use Scripts like "in.user" carefully, since you might use this WS entry in multiple processes with different data types.

Password

When authentication is used, the username above and this password will be applied to get access to web service. IvyScript is also interpreted in this field.

Endpoint Addresses for Port Types

The name of the Web Service. This attribute can not be modified on the engine.

REST Clients

If your projects use REST Clients, you have to configure the respective REST Clients on the engine. The first time you deploy a project that uses REST Clients, the REST Client configurations of the project will automatically be added on the engine as well. Also available environment configurations which already done at design time, will be added. Since you probably use a test environment during development and you want to use your production environment on the engine, you can use the different environments to set a different configurations. Overridden REST Client configurations for an environment will be displayed with the icon: . Default REST Client configurations or REST Client configurations which are not overridden for the environment will be displayed with the icon .

In order to edit a REST Client configuration just select the REST Client from the list and the details of the selected REST Client will be displayed in the detail panel.

UUID

Universal unique identifier of the REST Client. The REST Client can be referenced by this uuid. Cannot be modified.

Name

The name of the REST Client. The REST Client can be referenced by this name. Can be modified. Note that references using the name will break if you change it.

Description

Description of the REST Client.

URI

The base URI under which the remote service publishes its resources (e.g. https://api.twitter.com/1.1).

The URI can contain template placeholders which are resolved later by the client user (e.g. https://api.twitter.com/{version}).

ivy.rest.client("twitter").resolveTemplate("version", "1.1").get()

Tip

To consume a REST service running in the same Axon.ivy Engine / Application as the client a set of Axon.ivy placeholders can be used. These placeholders are automatically resolved: {ivy.engine.host}, {ivy.engine.http.port}, {ivy.engine.context}, {ivy.request.application}.

E.g. http://{ivy.engine.host}:}{ivy.engine.http.port}/{ivy.engine.context}/api/{ivy.request.application}/my/service

Authentication

HTTP Basic

Adds support for HTTP Basic authentication.

HTTP Digest

Adds support for HTTP Digest authentication.

Username

The name of the user used to authenticate the client.

Password

The password of the user used to authenticate the client.

Features

JSON

Adds a feature so that responses in JSON are mapped to Java Objects and Java Objects in requests are mapped to JSON.

Features List

Shows the configured "features" classes. The classes configured here are registered in the WebTarget using the method register(Class). The classes needs to implement a JAX-RS contract interface and must have a default constructor.

Add

Adds a new feature class.

Remove

Removes the selected feature.

Properties

Properties Table

Properties can customize the settings of the REST Client or one of its features. Well known properties of the client are documented here: org.glassfish.jersey.client.ClientProperties.

The properties configured here are registered in the WebTarget using the method property(String, Object).

Add

Adds a new property.

Add Password

Adds a new password property. The value of a password property is not visible in the table and is stored decrypted in the configuration file.

Remove

Removes the selected property.

Business Calendar

Each environment can define its own default business calendar which is going to be used to calculate time periods in working time if the environment is active. By default the global default business calendar is set.

Business calendars are defined on the Application (see chapter Application Business Calendar)

Export/Import Environment(s)

One or multiple environments can be exported into or be imported from a XML file. All configurations that belong to the selected environments will be exported or imported (see previous sub chapters). This can be used to transfer environment configurations from one Axon.ivy Engine installation to another. It is even possible to modify the exported XML before it is re-imported on the same or another engine.

The files can be chosen from the local computer that the user is working on or from the server.

Note, that the export/import log file does not have to be set. In any case, you will see an graphical log of the results during the export or import.

Note

The imported environment data has always precedence over the data in any existing environments. Exactly speaking, the following rules apply:

  • If a configuration exists both in the import file and in the target environment, then the data for this configuration will be taken from the import file.

  • If a configuration exists in the import file but in the target environment, then the configuration from the import file will be created in the target environment.

  • If a configuration does not exist in the import file but exists in the target environment, then the configuration in the target environment will be deleted.

  • If a configuration is defined in the import file but does not have a corresponding default configuration in the target application then nothing happens.

  • If the import file contains an environment that does not exist in the target application, this environment is not imported.

Users and Roles

Roles and users are always configured per application. On the application details panel, you will find a group Security System. There the number of all existing users and roles are shown.

If you are using an external security system such as Microsoft Active Directory you can force a synchronization with the directory using the Synchronize button. To change the connection and import configuration, press the Edit... button.

Overview of roles and users

Figure 9.25. Overview of roles and users

User list

When clicking the Show... button next to number of users, you will be presented with a list of all existing users. You can create, edit and delete users. You can also set roles and permissions of any users individually.

Note

When using Microsoft Active Directory or Novell eDirectory as security system, you will not be able to create, edit or delete users. All these tasks need to be performed on the Active Directory or eDirectory directly and will then be synchronized with Axon.ivy.

List of all users

Figure 9.26. List of all users

Creating a New User

To create a new user press the Create... button. Enter the information for the new user (the username must be unique within the application). All other fields are optional.

Creating a new user

Figure 9.27. Creating a new user

For the email notification settings you can decide whether the user uses the defaults defined by the application (they are shown in light gray if you choose so) or whether you want to define specific settings for the user. Note that each user can manipulate these settings in the Workflow UI.

Email Notification Settings

It is possible to be notified if a new task is created that is related to you (either by direct assignment or by assignment to a role you own). Furthermore, a daily digest mail with a summary of all open tasks can be sent to you by Axon.ivy.

Which language should be used for the emails

Choose in which language you would like to receive the emails. If your preferred language is not contained, please contact your Axon.ivy administrator.

Never (disable email notification)

You can switch off the sending of all notification mails by ticking this checkbox. If you do so, you cannot set the other options.

When a new task for me or one of my roles is created

If this is set, you will receive a notification email whenever a new task is created that is assigned either directly to you or to one of the roles you own.

Daily Summary on

Choose the days on which you want to receive an email with a summary of all your open tasks.

Tip

If you want that temporary no mails are sent (e.g. for holidays), then just tick the Never checkbox. The email sending is now switched off, but the previous settings are still stored. As soon as you untick the Never check box, your standard configuration is back again.

Editing an Existing User

You can change the details of an existing user by pressing the Edit... button. You can change all fields except the username. If the password field is left blank, it will not be changed. Otherwise the password of the user will be overwritten with the new value of the password field.

Deleting a User

To delete a user, press the Delete... button and confirm the deletion.

Warning

Deleting a user will change the state of all tasks, for which the user is currently responsible, to UNASSIGNED!

All those tasks must be reassigned to another user or role by a workflow administrator or they will never be finished.

Edit roles

Click the Roles... button to change the roles of a user.

You can add a role to a user by selecting the role from the list and then pressing Add. To remove a role, select it and press Remove.

Some roles may not be editable. This can have multiple reasons:

  • The role may be inherited (indicated by a grey checkbox and the text Inherited). A role is inherited if it is not explicitly set, but the user owns a sub role (see example: Role 1 is inherited because user owns Role 1.1 and Role 1.3).

  • You are using an external security system (e.g. ADS). In this case, you can not edit roles that are linked to a group on the directory server. To add such a role, add the user to the corresponding group on the directory server.

Manage roles of a user

Figure 9.28. Manage roles of a user

Properties

In this dialog it is possible to manipulate the properties of all users. Properties are key/value pairs that can be accessed at runtime trough IvyScript. If using the internal security system of Axon.ivy (see Configuring an External Security System for more information), then creation, editing and deletion are supported for all properties. If the users are synchronized with an external data source such as an MS Active Directory and a mapping between attributes from the corresponding user in the external system to the properties of the Axon.ivy user is configured, then editing and deletion of such properties is usually prohibited by the external security system and therefore not possible within Axon.ivy. Just use the interface to the external security system to manipulate the attributes directly there.

User properties

Figure 9.29. User properties

Just use the Add button to create new properties, the Edit button to manipulate the property value and the Delete button to remove the property again. Note, that editing of the value can be done directly in the table.

Edit Permissions / System Permissions

You can edit the permissions of a user by selecting the user and clicking Permissions... or System Permissions... respectively.

See section Permissions for more information.

Roles

Press the Show... button next to the number of roles on the Security System section of an application to see a list of all existing roles.

The roles are defined in the projects that you deploy in your application. You can not add or delete roles on the engine!

The list shows the roles with their name plus, if available, the external security name in square brackets.

List of all roles

Figure 9.30. List of all roles

Users of a Role

To add or remove users of a role, click the Users... button. You should now see a list of users not owning the role on the left and a list of user that do own the role on the right. You can move users with the buttons in the middle from one list to another.

Note

When a user only inherits a role by owning a sub role thereof, the user will appear in the list of users not owning the role.

When a role is linked to a group in an external security system, you will not be able to edit the users of a role.

Users of a role

Figure 9.31. Users of a role

Edit Permissions / System permissions

You can edit the permissions of a role by selecting a role and clicking Permissions... or System Permissions... respectively.

See section Permissions for more information.

External Security Name

If you are using an external security system (e.g. Microsoft Active Directory) then you can link an Axon.ivy role to a group or another structural node (e.g. Organisation Unit) on the directory server. If a group is selected then all users that are members of this group will automatically receive the associated Axon.ivy role. If a structural node is selected then all users located below the structural node will automatically receive the associated Axon.ivy role.

Press External security name to edit or browse the name of the group or structural node whose users should receive the selected Axon.ivy role.

Permissions

Permission Kinds

There are two kinds of permissions:

System Permissions

System permissions are valid system wide, e.g. on the whole engine.

Permissions

Regular permissions are valid only within the application for which they are defined.

Assignment of Permissions

You can assign different permissions and system permissions to each user or role.

A permission can either be granted, denied or unspecified (not granted). The actual permissions of an user depend on the permissions set on the user itself and the permissions set on all roles that the user owns.

Grant permissions take precedence over Deny permissions, if set on the same level. On a user, inherited permissions can be overridden with an explicit Grant or Deny.

Warning

Inherited Deny permissions have no effect if the user has an explicit Grant permission or another role on which the permission is Granted. Explicit permissions always take precedence over inherited permissions.

Editing the permissions of a user

Figure 9.32. Editing the permissions of a user

System Properties

Configured by files

Since 7.2 the primary source of system properties are configurations set in files such as the “ivy.yaml”. If properties are defined in files, changes in the Admin UI have no effect. But the actual values can still be viewed here.

System properties are engine wide settings and are therefore valid for all applications. Be careful when changing those settings, since some particular combinations of settings may stop the engine from working properly.

The system properties can be accessed through the button System Properties in the Engine section of the left navigation bar.

Overview of system properties

Figure 9.33. Overview of system properties

To change any properties, select the corresponding row in the table and press the Edit button or simply double-click on the row.

Editing a system property

Figure 9.34. Editing a system property

Note

Some settings may not take effect until you restart the engine.

Engine infos

Runtime information

Pressing the button Information in the Engine section of the left navigation bar will provide you with runtime information about the engine. This includes memory usage and stack-traces for all running threads.

Runtime information

Figure 9.35. Runtime information

About

Pressing the button About in the Engine section of the left navigation bar will provide you with information about the version of Axon.ivy Engine and your operating system.

About

Figure 9.36. About

Control Center

The Control Center integrates all tools to configure the engine, the (Windows) service and to start/stop the installed Axon.ivy Engine.

To open the Control Center application, go to your Axon.ivy Engine installation directory and launch the ControlCenter.exe or the ControlCenter program located in the bin folder.

Launchers

The following program launchers are available for the Control Center program:

PlatformConsole supportLauncher
Windowsnobin/ControlCenter.exe
Windowsyesbin/ControlCenterC.exe
Linuxyesbin/ControlCenter

Table 9.13. ControlCenter Launchers

Start / Stop

To start the Axon.ivy Engine, simply choose the Axon.ivy Engine in the list on the left side and then press the green start button.

Alternatively, you can choose the Axon.ivy Engine [Console] from the list to start the engine within a console to which some information about the engine is logged. Please note that closing this console window will terminate the Axon.ivy Engine without shutting it down properly.

To stop the engine, click the red stop button.

The Control Center

Figure 9.37. The Control Center

Configuring Windows Service (Windows only)

If you've installed the Axon.ivy Engine under a Windows operating system, you can register it as a Windows service. To do so, select the entry Axon.ivy Engine [Windows Service] from the list on the left and press the button Windows Service on the right. A dialog will open, prompting you for additional configuration data:

Configuring Axon.ivy Engine as Windows service

Figure 9.38. Configuring Axon.ivy Engine as Windows service

First of all press Register Service to register the service and to enable the rest of the configuration sections.

Tip

Service operations (register, unregister, start, stop) may fail because the current user does not own the necessary rights. In this case close the Control Center and start it again by right clicking on the ControlCenter.exe and choose the command Run as administrator from the context menu. After that, the service operation should work.

Now you may configure the user under which the service (and therefore the Axon.ivy Engine) will be executed. This can be either the system user or any other user with sufficient rights to start services and access the Axon.ivy Engine installation directory (read and write).

By default, the service start kind is Manually. To start the engine each time Windows is booted, choose the setting Automatically

The last thing that can be configured are the services that the Axon.ivy Engine depends on. This might be the database management system on which the system database is located or the web server in which Axon.ivy is integrated (IIS or Apache). All the services that you add in this list will be started before Axon.ivy and if any of these services fail to start, Axon.ivy won't start too.

After you have finished the configuration, click Ok. Now you will be able to start the engine from the control center or you may also use the Windows Service Management Console.

Testing the Engine

Once you've started the Axon.ivy Engine, try to open the following address in your preferred web browser: http://ServerName:Port/ivy. If a web page with the Axon.ivy logo appears, the installation and configuration of the Axon.ivy Engine was successful and you may continue with the next chapter.

Server List Configuration

The list with the engine types on the right may be extended by users. You may add other Axon.ivy Engine installations and you even can integrate other third party tools to start them from the Control Center.

Note

The indication whether the program behind an entry in the server list is running or not is only shown for the Axon.ivy Engine binaries of the installation the Control Center belongs to and for any Windows services (including the Axon.ivy Engine services). This applies too for the show console setting because only Axon.ivy Engine binaries can be started in a console (third party applications cannot).

Add opens a dialog to choose the type for the new entry. For integration of another Axon.ivy Engine binary or a third party tool, choose the first option (ivyTeam based Server), if you intend to integrate an Axon.ivy Engine as a Windows service or any other Windows service, then choose the second option (Windows Service based server.

Create a new server in the server list

Figure 9.39. Create a new server in the server list

In the configuration dialog for a normal application you can set the base name and/or refine with the instance name (in the server list the instance name is printed in brackets after the name). Add the server binary (or your third party tool) in the server start executable and the configuration utility in the field configuration program (or the configuration program of your third party application). If and only if you choose the console based binaries (the ones with "C" at the end of the file name, e.g. AxonIvyEngineC.exe) then tick the check box Show console. It has no effect on all other binaries.

Create a new service in the server list

Figure 9.40. Create a new service in the server list

In the configuration dialog for adding/editing a service entry, you can choose an already existing service from the combo box or set the service name when you did not already register the service. Set the configuration program and the service binary similarly to the description above. For simply starting/stopping existing services from the Control Center, it is not necessary to define the service binary

Note

The name in this dialog must be exactly the same name that is used to register the service. Otherwise the lookup will not work.

Remove removes the selected entry from the list and Edit allows to edit the configuration for the selected entry in the server list.