Installation Architecture

Joget DX runs on industry standard technologies, and can be deployed on a standard web application architecture either on-premise, on public/private cloud platforms (Amazon AWS, Microsoft Azure, Google Cloud Platform, etc), or on cloud-native hybrid cloud platforms (Kubernetes, Red Hat OpenShift,
 

Figure 1: Standard Infrastructure Architecture

  • Load Balancer or Reverse Proxy: Forwards external requests to the application servers, and performs load balancing if required.
  • Application Server: Java EE compliant application server, running on any Java-supported operating system.
  • Database Server: Main relational database (RDBMS) for platform and application data.
  • File Storage: Shared file storage for configuration and runtime files.

IMPORTANT NOTE: The architecture presented above is only for reference, and may vary according to requirements and environment. The Joget DX platform itself is packaged as a Java WAR file that is deployed to one or more Java EE application servers.

Installation Requirements

Joget DX is highly open and flexible and can be deployed in a large variety of environments. 

Supported products are listed below. It is strongly recommended to use products that are still actively supported by the respective vendors.

Operating System

  • Windows 2016 and above
  • Linux - Any Linux distribution that supports Java 11 and above

Java

  • Java 11 LTS
  • Java 17 LTS

Application Server

  • Apache Tomcat 9
  • JBoss EAP 7.4 and above
  • IBM Websphere Liberty 19 and above
  • Oracle Weblogic 12c and above

Database Server

  • MySQL 8 and above
  • MariaDB 10 and above
  • MS SQL Server 2016 and above
  • Oracle 12c and above
  • PostgreSQL 10 and above

File Storage

  • Local disk for non-clustered installation
  • NFS / SMB network share for clustered installation

Load Balancer / Reverse Proxy

  • Apache HTTP Server 2.4 and above
  • NGINX 1.2 and above
  • Any hardware or software load balancer or reverse proxy that transparently forwards requests to the application server

IMPORTANT NOTE: Please note that there is minimal configuration required in Joget DX itself and most of the configuration are on the separate infrastructure components, so it is vital to ensure that you have sufficient expertise in your chosen products. Alternatively, consider hosting at Joget Cloud to outsource the infrastructure management.

Installation Sizing Guide

There are many factors involved in determining the server specifications needed to run Joget DX effectively, for example:

  1. Total number of users
  2. Maximum expected concurrent users
  3. Complexity of apps running on the platform
  4. Complexity of the processes running on the platform
  5. Amount of data generated
  6. Integrations points
  7. Network Infrastructure

Every environment is different and the following are base guidelines for high-level reference only.

Deployment

Description

CPU Cores

RAM (GB)

Solid-State Drive Storage (GB)

Servers

Small

100 users,

Simple processes,

Simple integrations.

2

8

20

1

Medium

500 users,

Processes of normal complexity,

Standard integrations.

4

16

40

2

Large

1,000 users,

Complex processes,

Complex integrations.

8

32

80

4

Extra Large

5,000 users,

Highly complex processes,

Highly complex integrations.

16

64

160

8

RECOMMENDATIONS: 

  • To determine actual requirements, conduct performance tests on specific use cases and environments.
  • Start small and plan to scale.
  • For large-scale implementations, consider using Kubernetes or Red Hat OpenShift, but ensure that you have sufficient expertise and support to manage the platform.

Development / QA Environment Installation

Self-Hosted Installation:

IMPORTANT NOTE: These installers come bundled with several infrastructure components for convenience and easy installation, but are NOT suitable for staging or production environments.

Other Deployment Options:

Figure 2: Deployment options

RECOMMENDATIONS: 

  • To determine actual requirements, conduct performance tests on specific use cases and environments.
  • Start small and plan to scale.
  • For large-scale implementations, consider using Kubernetes or Red Hat OpenShift, but ensure that you have sufficient expertise and support to manage the platform.

Comprehensive Production Environment and Troubleshooting Checklist Guide

This guide is designed to assist you in ensuring a smooth setup of your production environment and addressing common issues that may arise during the process of installing and using the Joget DX Platform. By following these checklists and instructions, you can enhance the stability, security, and performance of your system. 

Production Environment: Pre-Installation Prerequisite Checklist

For production environments, prepare the following infrastructure prerequisites before the actual Joget DX installation. General instructions are available in the Server Clustering Guide, but actual steps depend on the product used

ItemDescription
Operating SystemPrepare a supported Windows or Linux OS environment.
JavaInstall a supported Java LTS version i.e. Java 11 or Java 17.
Application ServerInstall a supported Java EE application server e.g. Apache Tomcat 9.
Application Server Service Startup ConfigurationConfigure the application server to startup automatically e.g. Installing Apache Tomcat as a Windows Service. Ensure that the service user has full read and write permissions to the file storage.
Database Server

Install a supported RDBMS server and obtain the database connection credentials for Java JDBC:

  • JDBC URL
  • JDBC Username
  • JDBC Password

Ensure that the database user has full permission to create tables in the database.

File Storage

Prepare file storage for the Joget “wflow” directory to store configuration and runtime files.

Ensure there are sufficient read and write permissions for the application server OS user.

For clustering, this directory must be shared between all servers e.g. using NFS or SMB.

Load Balancer / Reverse Proxy Configuration

Configure the load balancer or reverse proxy to forward requests to the application server e.g. NGINX as Reverse Proxy or Apache HTTPD as Reverse Proxy. 

DNS Configuration

Configure the DNS to map domain names to the load balancer or reverse proxy.

HTTPS Configuration

Configure HTTPS for secure traffic. Highly recommended to configure HTTPS at the load balancer or reverse proxy instead of the app server.

Application Server Session Replication

For clustering, configure session replication in the application servers e.g. Configure Apache Tomcat Session Replication. 

LDAP / Active Directory Connectivity

If applicable, ensure that network connectivity is established to the LDAP or Active Directory server.

Production Environment: Joget DX Platform Installation Checklist

Ensure that all the prerequisites have been completed before beginning.

ItemDescription

Joget DX WAR Deployment

Deploy the Joget DX WAR file to the application servers. 

Actual steps depend on the specific application server, e.g. for Apache Tomcat the WAR is deployed in the apache-tomcat/webapps directory. 

The WAR files can be obtained from Downloads or from Enterprise Support.

Joget DX Java VM Configuration

Ensure that the Java VM configuration is configured according to Deployment and Configuration, with particular attention to the wflow.home directory path and the Java VM memory settings.

Joget DX Datasource Configuration

Connect to the database server following Setting Up Database.

Joget DX License Activation

Activate the license following Activate Joget DX License.

Production Environment: Post-Installation Checklist

Once Joget DX has been installed, perform these post-installation steps. Actual steps depend on the products used

ItemDescription
LDAP / Active Directory Configuration

If applicable, configure integration to LDAP or Active Directory following LDAP Directory Manager or Sync LDAP Directory Manager

Backup Configuration

Configure backup procedures to backup the database and file storage on a scheduled basis e.g. Backup, Restore, and Disaster Recovery.

Monitoring Configuration

Configure monitoring tools to monitor the uptime, resource usage, and performance of the environment.

Security Hardening

Perform the desired security hardening for all infrastructure components.

Troubleshooting: Common Issues Checklist

A list of common issues that may arise during Joget DX Platform deployment or operation

ItemDescription
Database Credentials

Ensure that the database authentication credentials are correct and that it can be accessed from the application server. 

Database Permissions

Ensure that the database user has full permission to create tables in the database.

Directory File Permissions

Ensure that the shared file storage has full read and write permissions for the application server OS user.

Port Conflicts

Ensure that there are no other services already running on ports for the different infrastructure components.

Network Restrictions

Ensure that there are no network restrictions preventing connections between the different servers.

Disk I/O and Network Latency 

Ensure that there are no network latency or disk I/O issues, especially for the shared file storage and connectivity to the database server.

Load Balancer or Reverse Proxy Configuration

Ensure that the load balancer or reverse proxy is forwarding requests to the application server transparently without unnecessarily changing the request body or headers.

Java VM Configuration

Ensure that there is sufficient memory allocated to the Java VM according to planned usage.

Download Checklist

For your convenience, you can download a PDF version of this guide that includes all four checklists mentioned above. Simply click the link below to access the PDF document and have it handy for reference whenever you need it.

Related Articles

Please refer to Advanced Installation Guide for extra installation options.




  • No labels