Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents
indent25px
stylecircle

Overview

Joget Workflow Cloud Edition is an enhanced version of Joget Workflow Enterprise that supports multi-tenancy, allowing for multiple accounts (tenants) to be hosted on one webapp. Each account appears to be a separate installation.

The architecture is based on a shared webapp connecting to separate databases or schemas. This allows for more cost-effective delivery of services, since many accounts can be hosted on a single app server. At the same time, each account has its own separate database and file upload directory to preserve data isolation.

Installation

Prerequisites

  • Linux
  • Java 7 8 and above
  • MySQL 5.5 and above

...

Refer to the Knowledge Base at Installation using the Linux Bundle for more detailed instructions.

Configuration

DNS Configuration

Each account / tenant is identified by a domain name, so the DNS needs to be configured to point desired domains to Joget. For convenience, it is recommended to use a wildcard DNS record (http://en.wikipedia.org/wiki/Wildcard_DNS_record). For example:

...

  • The key to the left of the equal sign is the domain name, while the value to the right is the profile.
  • Each profile has a corresponding file app_datasource-(profile).properties which contains the database settings.
  • When a request is received, any matching domain name will use the associated profile.
  • currentProfile is a special key to indicate the default profile to use if there are no matching domains.
  • In terms of file uploads and system generated files, each profile stores its files in the subdirectory (joget.home)/wflow/app_profiles/(profile).

Account Provisioning

There are a few approaches to provision (create) an account.

...

  1. Execute the file (joget.home)/cloud-provision-account.sh.
  2. When prompted for Account Profile Name, enter the required account name (e.g., demo).
  3. The next prompt is for the Main Domain Name.  Enter the main domain (e.g., example.com).
  4. Subsequent inputs will have default values that you can just enter and accept, or change before submitting. 
  5. Upon submission of all the inputs, the script will create the database and perform the necessary configuration for the account. The inputs are as follows:

Account Profile Name

Desired account name (e.g., demo) 

Main Domain

Main domain (e.g., example.com) 

Account Domain Name

Account domain (e.g., demo.example.com) 

Account Database Name

Database name for the account (e.g., jwc_demo) 

Account Database User

Database user for the account (e.g., jwc_demo) 

Account Database Password

Database password for the account (e.g., jwc_demo) 

Home Directory

Joget home directory; defaults to current directory 

wflow Directory

Joget configuration directory; defaults to ./wflow

MySQL host name

Database server host name

MySQL port

Database port

MySQL username

Database admin user (with permission to create database)

MySQL password

Database admin password

Cloud Admin App

For convenience, a simple Joget app is provided to automate the account request approval and provisioning process.

...

In a production environment, it is recommended for security purposes that this app be installed on a specific profile instead of the default profile.

Account Removal

Manual Removal

To disable an account, perform the following:

...

  • Remove the profile entry from (joget.home)/wflow/app_datasource.properties.
  • Delete the profile properties file (joget.home)/wflow/app_datasource-(profile).properties.
  • Delete the associated account database.
  • Delete the associated account profile directory (joget.home)/wflow/app_profiles/(profile).
  • If the Cloud Admin App is used, delete the record from the db table app_fd_cloud_account.

Maintenance

Logging

As with a standard Joget installation on Apache Tomcat, the log file is at (joget.home)/apache-tomcat-xxxx/logs/catalina.out.

...

Backups should be done for all MySQL databases as well as configuration and data files in (joget.home)/wflow.