A minimal setup of a productive Axon Ivy Engine environment only requires the Axon Ivy Engine itself and a database management system to hold the system database. But to increase security, performance and reliability, other services have to be installed and integrated additionally.

digraph overview { layout=neato; node [shape=box, height="0.8", width="2", color="#007095", style=filled, fixedsize="true", margin=0, fontname="Roboto,Helvetica Neue,Arial,sans-serif", fontcolor="white", fontsize=15 ]; /* nodes */ browser [ label="Browser", pos="0.4,2.5!", width="1"]; reverseProxy [label="Reverse\nProxy", pos="2.7,2.5!", height="3.6", width="1.4", style="dashed", fontcolor="black", labelloc="t"]; frontendNginx [label="NGINX", pos="2.7,3.5!", height="0.5", width="1.0", fontsize=11]; frontendApache [label="Apache", pos="2.7,2.9!", height="0.5", width="1.0", fontsize=11]; frontendIIS [label="IIS", pos="2.7,2.3!", height="0.5", width="1.0", fontsize=11]; frontendWAF [label="WAF", pos="2.7,1.7!", height="0.5", width="1.0", fontsize=11]; frontendHA [label="HA Proxy", pos="2.7,1.1!", height="0.5", width="1.0", fontsize=11]; engine [label="Axon Ivy\nEngine", pos="5.4,2.5!", height="1.0", width="1.5", color="#C7D426", fontcolor="black"]; userManagement [label="User Management\n(optional)", pos="5.4,0.8!", height="1.2", width="3.8" style="dashed" fontcolor="black" labelloc="t"]; eDirectory [label="eDirectory", pos="4.2,0.6!", height="0.5", width="1.1", fontsize=11]; activeDirectory [label="Active\nDirectory", pos="5.4,0.6!", height="0.5", width="1.1", fontsize=11]; azureAD [label="Azure\nActive\nDirectory", pos="6.6,0.6!", height="0.5", width="1.1", fontsize=11]; systemdb [label="System\nDatabase", pos="8.1,2.5!", height="3.6", width="1.4", style="dashed" fontcolor="black" labelloc="t"] postgres [label="PostgreSQL", pos="8.1,3.5!", height="0.5", width="1.0", fontsize=11] mysql [label="MySQL", pos="8.1,2.9!", height="0.5", width="1.0", fontsize=11] mariadb [label="MariaDB", pos="8.1,2.3!", height="0.5", width="1.0", fontsize=11] mssql [label="SQL Server", pos="8.1,1.7!", height="0.5", width="1.0", fontsize=11] oracle [label="Oracle", pos="8.1,1.1!", height="0.5", width="1.0", fontsize=11] elasticsearch [ label="External\nElasticsearch\n(optional)", pos="5.4,4.0!", height="0.8" width="1.5"] /* edges */ browser -> reverseProxy; reverseProxy -> engine; engine -> userManagement; engine -> systemdb; engine -> elasticsearch; /* edge labels */ browser_reverseProxy [ label="HTTPS\n \n ", pos = "1.3,2.5!", shape=none, fillcolor=none, fontcolor=black, fontsize=11]; reverseProxy_engine [ label="HTTP\n\nHTTPS", pos = "4.1,2.5!", shape=none, fillcolor=none, fontcolor=black, fontsize=11]; engine_userManagement [ label="LDAP\nREST", pos = "5.7,1.7!", shape=none, fillcolor=none, fontcolor=black, fontsize=11]; engine_systemdb [ label="JDBC\n \n ", pos = "6.6,2.5!", shape=none, fillcolor=none, fontcolor=black, fontsize=11]; engine_elasticsearch [label="HTTP\nHTTPS", pos = "5.7,3.3!", shape=none, fillcolor=none, fontcolor=black, fontsize=11]; }

  • Reverse Proxy: To increase security, users should always access the Axon Ivy Engine via a reverse proxy like NGINX, Apache HTTP Server or Microsoft IIS.

  • User Management: Users can be imported from an external user management system like Microsoft Active Directory or Novell eDirectory.

  • Cluster: For scalability, to increase performance and provide high availability, you can cluster the Axon Ivy Engine.

  • Elasticsearch: An Elasticsearch server is bundled with the Axon Ivy Engine. For systems with high loads, consider to install the Elasticsearch Server on a dedicated node, or even to run an Elasticsearch cluster.

  • System Database: The Axon Ivy Engine needs a relational database management system to store its workflow data. The Axon Ivy engine stores its data in the system database. It is a SQL database hosted on one of the supported Database Management Systems.