SlideShare a Scribd company logo
1 of 46
All Rights Reserved © Joget Inc
Joget Workflow v6
Basic System Administration
http://facebook.com/jogetworkflow
http://twitter.com/jogetworkflow
Last Revised on Oct 2018
All Rights Reserved © Joget Inc
Prerequisites
1. Basic knowledge on how to create Joget App.
2. Proficient in server administration (i.e. Application
server, Database Server, Networking).
All Rights Reserved © Joget Inc
Content
1. Typical stack for Joget Workflow
2. Basic Database Management (MariaDB)
3. Basic Application Server Management (Tomcat)
All Rights Reserved © Joget Inc
Chapter 1
Typical stack for Joget
All Rights Reserved © Joget Inc
Typical Platform Requirement
Apache Tomcat MariaDB JDK
All Rights Reserved © Joget Inc
All Rights Reserved © Joget Inc
Plugin Types
All Rights Reserved © Joget Inc
Server
The typical stack
Database
(MariaDB)
Application
Server
(Tomcat)
Joget
Firewall
All Rights Reserved © Joget Inc
Chapter Review
• General understanding on how Joget Workflow is hosted.
All Rights Reserved © Joget Inc
Chapter 2
Basic Database Management
(MariaDB)
All Rights Reserved © Joget Inc
Typical Platform Requirement
Apache Tomcat MariaDB JDK
We are going to inspect the Datasource
All Rights Reserved © Joget Inc
Datasource Profile
• Joget Workflow supports configuration of *multiple
datasource profiles, but only 1 profile can be activated at
any point of time.
All Rights Reserved © Joget Inc
Datasource Profile Configuration
• The Datasource Profile can be located in
Settings -> Datasource & Profile
All Rights Reserved © Joget Inc
Datasource Profile Configuration in File
System
• The Datasource Profile can also be located in the wflow
folder.
All Rights Reserved © Joget Inc
Optional Exercise – Setting up new
Database
• Assuming that our current installation of Joget Workflow is
connected to the MariaDB database named “jwdb”
• We are going to:
1. Create a new database named “wflowdb”
2. Create a new datasource profile that uses “wflowdb”
3. Switch Joget Workflow’s datasource profile to use “wflowdb”
• New in v6, Joget will automatically initialize any new empty
databases upon setup (no datasource profile found).
All Rights Reserved © Joget Inc
1. Setup empty wflowdb
• Assuming MariaDB is installed in C:jogetmariadb
• Run command prompt
cd C:Jogetmariadbbin
mysql –u root
mysql> create database wflowdb;
Query OK, 1 row affected (0.05 sec)
mysql> exit;
Bye
mysql -u root wflowdb < C:Jogetdatajwdb-empty.sql
Location of the SQL import fileImport to this database
All Rights Reserved © Joget Inc
2. Verify creation of wflowdb
• Verify existence of new database
mysql –u root
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| jwdb |
| wflowdb |
| performance_schema |
+--------------------+
5 rows in set (0.00 sec)
mysql> exit;
Bye
All Rights Reserved © Joget Inc
3. Create A New Datasource Profile
• Login to Joget as Admin user
• Navigate to System Settings > Datasource & Profile
Setting
• Amend the URL field and change “jwdb” to “wflowdb”
(without quotation marks)
• Specify a new profile name – “wflow”
• Click on the “Save As New Profile” button
All Rights Reserved © Joget Inc
3. Create A New Datasource Profile
All Rights Reserved © Joget Inc
4. Compare The Changes in File System
• The value of currentProfile in
/wflow/app_datasource.properties is changed to wflow
• A new file, /wflow/app_datasource-wflow.properties is
created, with configurations to wflow datasource
All Rights Reserved © Joget Inc
Database User / Password Changed?
• Open to edit /wflow/app_datasource-
profileName.properties file in text editor.
• To update database username, amend the values for
workflowUser.
• To update database password, amend the values of
workflowPassword.
• Restart Joget Workflow server (or Apache Tomcat) for
changes to take effect.
All Rights Reserved © Joget Inc
Discussion
• Can we use other Application Server container other than
Tomcat? (e.g: JBoss, Glassfish, etc...)
• Can we use other Database Systems other than MariaDB?
• Must we use RDBMS?
• How does Joget talk to MariaDB?
• How do users access Joget Workflow?
• Can we separate Application Server and Database Server?
All Rights Reserved © Joget Inc
Chapter Review
• General understanding on how Joget connects to the
Database system.
All Rights Reserved © Joget Inc
Chapter 3
Basic Application Server
Management (Tomcat)
All Rights Reserved © Joget Inc
Typical Platform Requirement
Apache Tomcat MariaDB JDK
We are going to inspect Tomcat
All Rights Reserved © Joget Inc
Joget Workflow Application Files
• In Apache Tomcat, there are 2 Joget Workflow web
application files to be noted:
– {Tomcat}/webapps/jw.war
– {Tomcat}/webapps/jwdesigner.war (deprecated)
All Rights Reserved © Joget Inc
Updating Joget
• Essentially, just replace the .war files with the latest available
version.
• You can update your Joget Workflow by following these steps:
1. Stop Joget.
2. Delete "jw" folder, "jwdesigner" folder, "jw.war" &
"jwdesigner.war" in
"[Joget Installation Directory]/[tomcat]/webapps".
3. Delete "jw" folder, "jwdesigner" folder in
"[Joget Installation Directory]/[tomcat]/work/Catalina/localhost".
4. Place your newly downloaded "jw.war" & "jwdesigner.war" in
"[Joget Installation Directory]/[tomcat]/webapps".
5. Start Joget.
All Rights Reserved © Joget Inc
wflow.home Directory
• The location where the following Joget Workflow physical
files are stored:
– Datasource and profile configurations
– XML definition and HTML rendering of forms designed using
Form Builder
– Plugins
– Graphical image and thumbnail of all processes
– Uploaded Files Attachments
All Rights Reserved © Joget Inc
Where is wflow.home directory?
• Open joget-start.bat using text editor, and look for the
JAVA_OPTS parameters.
• wflow.home is configured using the -Dwflow.home
option
• default wflow folder location is in the root of Joget folder
All Rights Reserved © Joget Inc
Backup
• To backup Joget Workflow, you should include:
– Use database dump as a snapshot
• mysqldump -u root wflowdb > backup.sql
– Backup entire wflow.home directory
All Rights Reserved © Joget Inc
Log Files
• When Joget Workflow is running in console, all log
messages are shown on the console window
• Log messages from Apache Tomcat are written to
{Tomcat}/logs/catalina.yyyy-MM-dd.log
• Log messages from Joget Workflow are written to
{Tomcat}/logs/localhost.yyyy-MM-dd.log
• To customize the logging behaviors, edit
{Tomcat}/conf/logging.properties file
All Rights Reserved © Joget Inc
What is a Stack Trace?
All Rights Reserved © Joget Inc
What is a Stack Trace?
• When an error is thrown, a stack trace will depict a
sequence of events executed in the code level, which can
precisely suggest the point where an exception is caught.
• Stack trace could also suggest meaningful error message
to help troubleshooting.
• In the example above, indicative error message is shown
before stack trace:
ERROR 02 Sep 2010 10:19:51 org.hibernate.util.JDBCExceptionReporter -
Cannot create PoolableConnectionFactory (Access denied for user
'roo'@'localhost' (using password: NO))
All Rights Reserved © Joget Inc
Troubleshooting
• When you’re seeking for help on troubleshooting, copy
the whole stack trace (all log messages printed at the
same date time) and share it out. This can help the
troubleshooter to have a better idea on the error.
All Rights Reserved © Joget Inc
Memory Allocation
• Open joget-start.bat using text editor, and look for the
JAVA_OPTS parameters.
• Memory allocation is configured using the -Xmx option
All Rights Reserved © Joget Inc
Changing Apache Tomcat HTTP Port
• Edit {Tomcat}/conf/server.xml using text editor
• Look for the HTTP/1.1 connector configuration:
• Change the port number to your preferred one, and
restart Joget Workflow Server (Apache Tomcat)
<Connector port="8080" protocol="HTTP/1.1"
All Rights Reserved © Joget Inc
Optional Exercise – Setting up SSL
• Assuming that you are running Joget with the default
bundled Tomcat.
• We are going to:-
1. Generate a key store file.
2. Configure Tomcat to support SSL.
Reference:
https://dev.joget.org/community/display/KBv6/Setting+Up+SSL+on+Tomcat
All Rights Reserved © Joget Inc
1. Generate a key store file
• First of all, we will need to generate a key store file. You
may want to generate it with or without a SSL certificate
purchased from your SSL certificate provider. This is an
example on generating one by ourselves.
All Rights Reserved © Joget Inc
1. Generate a key store file
C:Program FilesJavajdkbin>keytool -genkey -alias tomcat -keyalg RSA
Enter keystore password: password
Re-enter new password: password
What is your first and last name?
[Unknown]: Robert
What is the name of your organizational unit?
[Unknown]: home
What is the name of your organization?
[Unknown]: home
What is the name of your City or Locality?
[Unknown]: SF
What is the name of your State or Province?
[Unknown]: CA
What is the two-letter country code for this unit?
[Unknown]: US
Is CN=Robert, OU=home, O=home, L=SF, ST=CA, C=US correct?
[no]: yes
Enter key password for <tomcat>
(RETURN if same as keystore password): password
Re-enter new password: password
All Rights Reserved © Joget Inc
2. Configure Tomcat to support SSL
• Make sure that your server is not running. Open up
apache-tomcatconfserver.xml, uncomment and edit
the following lines accordingly.
All Rights Reserved © Joget Inc
2. Configure Tomcat to support SSL
• Port: 8443 to 443 (If you intend to browse to https://yourDomain instead of
https://yourDomain:8443)
keystoreFile: Path to the .keystore file
keystorePass: The password defined earlier
<!-- Define a SSL HTTP/1.1 Connector on port 8443
This connector uses the JSSE configuration, when using APR, the
connector should be using the OpenSSL style configuration
described in the APR documentation -->
<Connector port="443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
keystoreFile="C:/Users/Robert/.keystore"
keystorePass="password" />
All Rights Reserved © Joget Inc
2. Configure Tomcat to support SSL
• Start your server.
• You may now surf to your Joget at
https://yourDomain/jw or https://yourDomain:8443/jw,
depending on your configuration.
All Rights Reserved © Joget Inc
Chapter Review
• General understanding on how Joget Workflow is
“hosted” runs under application server – Tomcat.
All Rights Reserved © Joget Inc
Module Review
1. Typical stack for Joget Workflow
2. Basic Database Management (MariaDB)
3. Basic Application Server Management (Tomcat)
All Rights Reserved © Joget Inc
Recommended Further Learning
• Best Practices on Application Building
• Server performance tuning and hardening.
• Database server performance tuning.
All Rights Reserved © Joget Inc
Stay Connected with Joget Workflow
• www.joget.org
• community.joget.org
• twitter.com/jogetworkflow
• facebook.com/jogetworkflow
• youtube.com/jogetworkflow

More Related Content

What's hot

Joget Workflow v6 Training Slides - 1 - Introduction to Joget Workflow
Joget Workflow v6 Training Slides - 1 - Introduction to Joget WorkflowJoget Workflow v6 Training Slides - 1 - Introduction to Joget Workflow
Joget Workflow v6 Training Slides - 1 - Introduction to Joget WorkflowJoget Workflow
 
Joget Workflow v6 Training Slides - 18 - Integrating with External System
Joget Workflow v6 Training Slides - 18 - Integrating with External SystemJoget Workflow v6 Training Slides - 18 - Integrating with External System
Joget Workflow v6 Training Slides - 18 - Integrating with External SystemJoget Workflow
 
Joget Workflow v6 Training Slides - 2 - Setting Up Joget Workflow
Joget Workflow v6 Training Slides - 2 - Setting Up Joget WorkflowJoget Workflow v6 Training Slides - 2 - Setting Up Joget Workflow
Joget Workflow v6 Training Slides - 2 - Setting Up Joget WorkflowJoget Workflow
 
Joget Workflow v6 Training Slides - 6 - Using your First Process Tool
Joget Workflow v6 Training Slides - 6 - Using your First Process ToolJoget Workflow v6 Training Slides - 6 - Using your First Process Tool
Joget Workflow v6 Training Slides - 6 - Using your First Process ToolJoget Workflow
 
Joget Workflow v5 Training Slides - Module 17 - Building Plugins
Joget Workflow v5 Training Slides - Module 17 - Building PluginsJoget Workflow v5 Training Slides - Module 17 - Building Plugins
Joget Workflow v5 Training Slides - Module 17 - Building PluginsJoget Workflow
 
Joget Workflow v6 Training Slides - 17 - Building Plugins
Joget Workflow v6 Training Slides - 17 - Building PluginsJoget Workflow v6 Training Slides - 17 - Building Plugins
Joget Workflow v6 Training Slides - 17 - Building PluginsJoget Workflow
 
Joget Workflow v5 Training Slides - Module 15 - Introduction to Plugin Archit...
Joget Workflow v5 Training Slides - Module 15 - Introduction to Plugin Archit...Joget Workflow v5 Training Slides - Module 15 - Introduction to Plugin Archit...
Joget Workflow v5 Training Slides - Module 15 - Introduction to Plugin Archit...Joget Workflow
 
Joget Workflow v6 Training Slides - 9 - Hash Variable
Joget Workflow v6 Training Slides - 9 - Hash VariableJoget Workflow v6 Training Slides - 9 - Hash Variable
Joget Workflow v6 Training Slides - 9 - Hash VariableJoget Workflow
 
Joget Workflow v6 Training Slides - 5 - Designing your First Form
Joget Workflow v6 Training Slides - 5 - Designing your First FormJoget Workflow v6 Training Slides - 5 - Designing your First Form
Joget Workflow v6 Training Slides - 5 - Designing your First FormJoget Workflow
 
Joget Workflow v6 Training Slides - 12 - Version Control
Joget Workflow v6 Training Slides - 12 - Version ControlJoget Workflow v6 Training Slides - 12 - Version Control
Joget Workflow v6 Training Slides - 12 - Version ControlJoget Workflow
 
Joget Workflow v6 Training Slides - 21 - Userview Key
Joget Workflow v6 Training Slides - 21 - Userview KeyJoget Workflow v6 Training Slides - 21 - Userview Key
Joget Workflow v6 Training Slides - 21 - Userview KeyJoget Workflow
 
Joget Workflow v6 Training Slides - 4 - Localizing your Joget Workflow
Joget Workflow v6 Training Slides - 4 - Localizing your Joget WorkflowJoget Workflow v6 Training Slides - 4 - Localizing your Joget Workflow
Joget Workflow v6 Training Slides - 4 - Localizing your Joget WorkflowJoget Workflow
 
Joget Workflow v5 Training Slides - Module 20 - Basic System Administration
Joget Workflow v5 Training Slides - Module 20 - Basic System AdministrationJoget Workflow v5 Training Slides - Module 20 - Basic System Administration
Joget Workflow v5 Training Slides - Module 20 - Basic System AdministrationJoget Workflow
 
Joget Workflow v5 Training Slides - Module 19 - Doing More With Your Process ...
Joget Workflow v5 Training Slides - Module 19 - Doing More With Your Process ...Joget Workflow v5 Training Slides - Module 19 - Doing More With Your Process ...
Joget Workflow v5 Training Slides - Module 19 - Doing More With Your Process ...Joget Workflow
 
Joget Workflow v5 Training Slides - Module 14 - Introduction to reporting
Joget Workflow v5 Training Slides -  Module 14 - Introduction to reportingJoget Workflow v5 Training Slides -  Module 14 - Introduction to reporting
Joget Workflow v5 Training Slides - Module 14 - Introduction to reportingJoget Workflow
 
Joget Workflow v5 Training Slides - Module 8 - Designing your first Userview
Joget Workflow v5 Training Slides - Module 8 - Designing your first UserviewJoget Workflow v5 Training Slides - Module 8 - Designing your first Userview
Joget Workflow v5 Training Slides - Module 8 - Designing your first UserviewJoget Workflow
 
Joget Workflow v6 Training Slides - 16 - Preparing Development Environment
Joget Workflow v6 Training Slides - 16 - Preparing Development EnvironmentJoget Workflow v6 Training Slides - 16 - Preparing Development Environment
Joget Workflow v6 Training Slides - 16 - Preparing Development EnvironmentJoget Workflow
 
Joget Workflow v4 Training - Module 14 - Introduction to Reporting
Joget Workflow v4 Training - Module 14 - Introduction to ReportingJoget Workflow v4 Training - Module 14 - Introduction to Reporting
Joget Workflow v4 Training - Module 14 - Introduction to ReportingJoget Workflow
 
Joget Workflow v5 Training Slides - Module 12 - Version Control
Joget Workflow v5 Training Slides - Module 12 - Version ControlJoget Workflow v5 Training Slides - Module 12 - Version Control
Joget Workflow v5 Training Slides - Module 12 - Version ControlJoget Workflow
 
Joget Workflow v5 Training Slides - Module 16 - Preparing Development Environ...
Joget Workflow v5 Training Slides - Module 16 - Preparing Development Environ...Joget Workflow v5 Training Slides - Module 16 - Preparing Development Environ...
Joget Workflow v5 Training Slides - Module 16 - Preparing Development Environ...Joget Workflow
 

What's hot (20)

Joget Workflow v6 Training Slides - 1 - Introduction to Joget Workflow
Joget Workflow v6 Training Slides - 1 - Introduction to Joget WorkflowJoget Workflow v6 Training Slides - 1 - Introduction to Joget Workflow
Joget Workflow v6 Training Slides - 1 - Introduction to Joget Workflow
 
Joget Workflow v6 Training Slides - 18 - Integrating with External System
Joget Workflow v6 Training Slides - 18 - Integrating with External SystemJoget Workflow v6 Training Slides - 18 - Integrating with External System
Joget Workflow v6 Training Slides - 18 - Integrating with External System
 
Joget Workflow v6 Training Slides - 2 - Setting Up Joget Workflow
Joget Workflow v6 Training Slides - 2 - Setting Up Joget WorkflowJoget Workflow v6 Training Slides - 2 - Setting Up Joget Workflow
Joget Workflow v6 Training Slides - 2 - Setting Up Joget Workflow
 
Joget Workflow v6 Training Slides - 6 - Using your First Process Tool
Joget Workflow v6 Training Slides - 6 - Using your First Process ToolJoget Workflow v6 Training Slides - 6 - Using your First Process Tool
Joget Workflow v6 Training Slides - 6 - Using your First Process Tool
 
Joget Workflow v5 Training Slides - Module 17 - Building Plugins
Joget Workflow v5 Training Slides - Module 17 - Building PluginsJoget Workflow v5 Training Slides - Module 17 - Building Plugins
Joget Workflow v5 Training Slides - Module 17 - Building Plugins
 
Joget Workflow v6 Training Slides - 17 - Building Plugins
Joget Workflow v6 Training Slides - 17 - Building PluginsJoget Workflow v6 Training Slides - 17 - Building Plugins
Joget Workflow v6 Training Slides - 17 - Building Plugins
 
Joget Workflow v5 Training Slides - Module 15 - Introduction to Plugin Archit...
Joget Workflow v5 Training Slides - Module 15 - Introduction to Plugin Archit...Joget Workflow v5 Training Slides - Module 15 - Introduction to Plugin Archit...
Joget Workflow v5 Training Slides - Module 15 - Introduction to Plugin Archit...
 
Joget Workflow v6 Training Slides - 9 - Hash Variable
Joget Workflow v6 Training Slides - 9 - Hash VariableJoget Workflow v6 Training Slides - 9 - Hash Variable
Joget Workflow v6 Training Slides - 9 - Hash Variable
 
Joget Workflow v6 Training Slides - 5 - Designing your First Form
Joget Workflow v6 Training Slides - 5 - Designing your First FormJoget Workflow v6 Training Slides - 5 - Designing your First Form
Joget Workflow v6 Training Slides - 5 - Designing your First Form
 
Joget Workflow v6 Training Slides - 12 - Version Control
Joget Workflow v6 Training Slides - 12 - Version ControlJoget Workflow v6 Training Slides - 12 - Version Control
Joget Workflow v6 Training Slides - 12 - Version Control
 
Joget Workflow v6 Training Slides - 21 - Userview Key
Joget Workflow v6 Training Slides - 21 - Userview KeyJoget Workflow v6 Training Slides - 21 - Userview Key
Joget Workflow v6 Training Slides - 21 - Userview Key
 
Joget Workflow v6 Training Slides - 4 - Localizing your Joget Workflow
Joget Workflow v6 Training Slides - 4 - Localizing your Joget WorkflowJoget Workflow v6 Training Slides - 4 - Localizing your Joget Workflow
Joget Workflow v6 Training Slides - 4 - Localizing your Joget Workflow
 
Joget Workflow v5 Training Slides - Module 20 - Basic System Administration
Joget Workflow v5 Training Slides - Module 20 - Basic System AdministrationJoget Workflow v5 Training Slides - Module 20 - Basic System Administration
Joget Workflow v5 Training Slides - Module 20 - Basic System Administration
 
Joget Workflow v5 Training Slides - Module 19 - Doing More With Your Process ...
Joget Workflow v5 Training Slides - Module 19 - Doing More With Your Process ...Joget Workflow v5 Training Slides - Module 19 - Doing More With Your Process ...
Joget Workflow v5 Training Slides - Module 19 - Doing More With Your Process ...
 
Joget Workflow v5 Training Slides - Module 14 - Introduction to reporting
Joget Workflow v5 Training Slides -  Module 14 - Introduction to reportingJoget Workflow v5 Training Slides -  Module 14 - Introduction to reporting
Joget Workflow v5 Training Slides - Module 14 - Introduction to reporting
 
Joget Workflow v5 Training Slides - Module 8 - Designing your first Userview
Joget Workflow v5 Training Slides - Module 8 - Designing your first UserviewJoget Workflow v5 Training Slides - Module 8 - Designing your first Userview
Joget Workflow v5 Training Slides - Module 8 - Designing your first Userview
 
Joget Workflow v6 Training Slides - 16 - Preparing Development Environment
Joget Workflow v6 Training Slides - 16 - Preparing Development EnvironmentJoget Workflow v6 Training Slides - 16 - Preparing Development Environment
Joget Workflow v6 Training Slides - 16 - Preparing Development Environment
 
Joget Workflow v4 Training - Module 14 - Introduction to Reporting
Joget Workflow v4 Training - Module 14 - Introduction to ReportingJoget Workflow v4 Training - Module 14 - Introduction to Reporting
Joget Workflow v4 Training - Module 14 - Introduction to Reporting
 
Joget Workflow v5 Training Slides - Module 12 - Version Control
Joget Workflow v5 Training Slides - Module 12 - Version ControlJoget Workflow v5 Training Slides - Module 12 - Version Control
Joget Workflow v5 Training Slides - Module 12 - Version Control
 
Joget Workflow v5 Training Slides - Module 16 - Preparing Development Environ...
Joget Workflow v5 Training Slides - Module 16 - Preparing Development Environ...Joget Workflow v5 Training Slides - Module 16 - Preparing Development Environ...
Joget Workflow v5 Training Slides - Module 16 - Preparing Development Environ...
 

Similar to Joget Workflow Basic System Administration Guide

Common Pitfalls of Functional Programming and How to Avoid Them: A Mobile Gam...
Common Pitfalls of Functional Programming and How to Avoid Them: A Mobile Gam...Common Pitfalls of Functional Programming and How to Avoid Them: A Mobile Gam...
Common Pitfalls of Functional Programming and How to Avoid Them: A Mobile Gam...gree_tech
 
Java troubleshooting thread dump
Java troubleshooting thread dumpJava troubleshooting thread dump
Java troubleshooting thread dumpejlp12
 
Oracle WebLogic Diagnostics & Perfomance tuning
Oracle WebLogic Diagnostics & Perfomance tuningOracle WebLogic Diagnostics & Perfomance tuning
Oracle WebLogic Diagnostics & Perfomance tuningMichel Schildmeijer
 
Practical Operation Automation with StackStorm
Practical Operation Automation with StackStormPractical Operation Automation with StackStorm
Practical Operation Automation with StackStormShu Sugimoto
 
[HES2013] Virtually secure, analysis to remote root 0day on an industry leadi...
[HES2013] Virtually secure, analysis to remote root 0day on an industry leadi...[HES2013] Virtually secure, analysis to remote root 0day on an industry leadi...
[HES2013] Virtually secure, analysis to remote root 0day on an industry leadi...Hackito Ergo Sum
 
[JavaOne] Demystifying WebSockets - Build a Cool, Real-time Multi-player Game...
[JavaOne] Demystifying WebSockets - Build a Cool, Real-time Multi-player Game...[JavaOne] Demystifying WebSockets - Build a Cool, Real-time Multi-player Game...
[JavaOne] Demystifying WebSockets - Build a Cool, Real-time Multi-player Game...Vivek Ganesan
 
How do I securely deploy Internet websites in PHP on my IBMi?
How do I securely deploy Internet websites in PHP on my IBMi?How do I securely deploy Internet websites in PHP on my IBMi?
How do I securely deploy Internet websites in PHP on my IBMi?Zend by Rogue Wave Software
 
Determinism in finance
Determinism in financeDeterminism in finance
Determinism in financePeter Lawrey
 
How bol.com makes sense of its logs, using the Elastic technology stack.
How bol.com makes sense of its logs, using the Elastic technology stack.How bol.com makes sense of its logs, using the Elastic technology stack.
How bol.com makes sense of its logs, using the Elastic technology stack.Renzo Tomà
 
Nagios Conference 2012 - Eric Loyd - Nagios Implementation Case Eastman Kodak...
Nagios Conference 2012 - Eric Loyd - Nagios Implementation Case Eastman Kodak...Nagios Conference 2012 - Eric Loyd - Nagios Implementation Case Eastman Kodak...
Nagios Conference 2012 - Eric Loyd - Nagios Implementation Case Eastman Kodak...Nagios
 
Introduction to MariaDB
Introduction to MariaDBIntroduction to MariaDB
Introduction to MariaDBJongJin Lee
 
Handling Database Deployments
Handling Database DeploymentsHandling Database Deployments
Handling Database DeploymentsMike Willbanks
 
Apache Web Services
Apache Web ServicesApache Web Services
Apache Web Serviceslkurriger
 
AAI-4847 Full Disclosure on the Performance Characteristics of WebSphere Appl...
AAI-4847 Full Disclosure on the Performance Characteristics of WebSphere Appl...AAI-4847 Full Disclosure on the Performance Characteristics of WebSphere Appl...
AAI-4847 Full Disclosure on the Performance Characteristics of WebSphere Appl...WASdev Community
 
QRadar_CEddfdfdsfdfdfdfdfdfdfdfdfdfdff.pdf
QRadar_CEddfdfdsfdfdfdfdfdfdfdfdfdfdff.pdfQRadar_CEddfdfdsfdfdfdfdfdfdfdfdfdfdff.pdf
QRadar_CEddfdfdsfdfdfdfdfdfdfdfdfdfdff.pdfmindhackers161
 
Ebs performance tuning session feb 13 2013---Presented by Oracle
Ebs performance tuning session  feb 13 2013---Presented by OracleEbs performance tuning session  feb 13 2013---Presented by Oracle
Ebs performance tuning session feb 13 2013---Presented by OracleAkash Pramanik
 
High Volume Payments using Mule
High Volume Payments using MuleHigh Volume Payments using Mule
High Volume Payments using MuleAdhish Pendharkar
 
CTU June 2011 - Things that Every ASP.NET Developer Should Know
CTU June 2011 - Things that Every ASP.NET Developer Should KnowCTU June 2011 - Things that Every ASP.NET Developer Should Know
CTU June 2011 - Things that Every ASP.NET Developer Should KnowSpiffy
 
Enterprise manager cloud control 12c(12.1) &agent安装图文指南
Enterprise manager cloud control 12c(12.1) &agent安装图文指南Enterprise manager cloud control 12c(12.1) &agent安装图文指南
Enterprise manager cloud control 12c(12.1) &agent安装图文指南maclean liu
 
Joget Workflow v4 Training - Module 2 - Setting up Joget Workflow
Joget Workflow v4 Training - Module 2 - Setting up Joget WorkflowJoget Workflow v4 Training - Module 2 - Setting up Joget Workflow
Joget Workflow v4 Training - Module 2 - Setting up Joget WorkflowJoget Workflow
 

Similar to Joget Workflow Basic System Administration Guide (20)

Common Pitfalls of Functional Programming and How to Avoid Them: A Mobile Gam...
Common Pitfalls of Functional Programming and How to Avoid Them: A Mobile Gam...Common Pitfalls of Functional Programming and How to Avoid Them: A Mobile Gam...
Common Pitfalls of Functional Programming and How to Avoid Them: A Mobile Gam...
 
Java troubleshooting thread dump
Java troubleshooting thread dumpJava troubleshooting thread dump
Java troubleshooting thread dump
 
Oracle WebLogic Diagnostics & Perfomance tuning
Oracle WebLogic Diagnostics & Perfomance tuningOracle WebLogic Diagnostics & Perfomance tuning
Oracle WebLogic Diagnostics & Perfomance tuning
 
Practical Operation Automation with StackStorm
Practical Operation Automation with StackStormPractical Operation Automation with StackStorm
Practical Operation Automation with StackStorm
 
[HES2013] Virtually secure, analysis to remote root 0day on an industry leadi...
[HES2013] Virtually secure, analysis to remote root 0day on an industry leadi...[HES2013] Virtually secure, analysis to remote root 0day on an industry leadi...
[HES2013] Virtually secure, analysis to remote root 0day on an industry leadi...
 
[JavaOne] Demystifying WebSockets - Build a Cool, Real-time Multi-player Game...
[JavaOne] Demystifying WebSockets - Build a Cool, Real-time Multi-player Game...[JavaOne] Demystifying WebSockets - Build a Cool, Real-time Multi-player Game...
[JavaOne] Demystifying WebSockets - Build a Cool, Real-time Multi-player Game...
 
How do I securely deploy Internet websites in PHP on my IBMi?
How do I securely deploy Internet websites in PHP on my IBMi?How do I securely deploy Internet websites in PHP on my IBMi?
How do I securely deploy Internet websites in PHP on my IBMi?
 
Determinism in finance
Determinism in financeDeterminism in finance
Determinism in finance
 
How bol.com makes sense of its logs, using the Elastic technology stack.
How bol.com makes sense of its logs, using the Elastic technology stack.How bol.com makes sense of its logs, using the Elastic technology stack.
How bol.com makes sense of its logs, using the Elastic technology stack.
 
Nagios Conference 2012 - Eric Loyd - Nagios Implementation Case Eastman Kodak...
Nagios Conference 2012 - Eric Loyd - Nagios Implementation Case Eastman Kodak...Nagios Conference 2012 - Eric Loyd - Nagios Implementation Case Eastman Kodak...
Nagios Conference 2012 - Eric Loyd - Nagios Implementation Case Eastman Kodak...
 
Introduction to MariaDB
Introduction to MariaDBIntroduction to MariaDB
Introduction to MariaDB
 
Handling Database Deployments
Handling Database DeploymentsHandling Database Deployments
Handling Database Deployments
 
Apache Web Services
Apache Web ServicesApache Web Services
Apache Web Services
 
AAI-4847 Full Disclosure on the Performance Characteristics of WebSphere Appl...
AAI-4847 Full Disclosure on the Performance Characteristics of WebSphere Appl...AAI-4847 Full Disclosure on the Performance Characteristics of WebSphere Appl...
AAI-4847 Full Disclosure on the Performance Characteristics of WebSphere Appl...
 
QRadar_CEddfdfdsfdfdfdfdfdfdfdfdfdfdff.pdf
QRadar_CEddfdfdsfdfdfdfdfdfdfdfdfdfdff.pdfQRadar_CEddfdfdsfdfdfdfdfdfdfdfdfdfdff.pdf
QRadar_CEddfdfdsfdfdfdfdfdfdfdfdfdfdff.pdf
 
Ebs performance tuning session feb 13 2013---Presented by Oracle
Ebs performance tuning session  feb 13 2013---Presented by OracleEbs performance tuning session  feb 13 2013---Presented by Oracle
Ebs performance tuning session feb 13 2013---Presented by Oracle
 
High Volume Payments using Mule
High Volume Payments using MuleHigh Volume Payments using Mule
High Volume Payments using Mule
 
CTU June 2011 - Things that Every ASP.NET Developer Should Know
CTU June 2011 - Things that Every ASP.NET Developer Should KnowCTU June 2011 - Things that Every ASP.NET Developer Should Know
CTU June 2011 - Things that Every ASP.NET Developer Should Know
 
Enterprise manager cloud control 12c(12.1) &agent安装图文指南
Enterprise manager cloud control 12c(12.1) &agent安装图文指南Enterprise manager cloud control 12c(12.1) &agent安装图文指南
Enterprise manager cloud control 12c(12.1) &agent安装图文指南
 
Joget Workflow v4 Training - Module 2 - Setting up Joget Workflow
Joget Workflow v4 Training - Module 2 - Setting up Joget WorkflowJoget Workflow v4 Training - Module 2 - Setting up Joget Workflow
Joget Workflow v4 Training - Module 2 - Setting up Joget Workflow
 

Recently uploaded

Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 

Recently uploaded (20)

Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 

Joget Workflow Basic System Administration Guide

  • 1. All Rights Reserved © Joget Inc Joget Workflow v6 Basic System Administration http://facebook.com/jogetworkflow http://twitter.com/jogetworkflow Last Revised on Oct 2018
  • 2. All Rights Reserved © Joget Inc Prerequisites 1. Basic knowledge on how to create Joget App. 2. Proficient in server administration (i.e. Application server, Database Server, Networking).
  • 3. All Rights Reserved © Joget Inc Content 1. Typical stack for Joget Workflow 2. Basic Database Management (MariaDB) 3. Basic Application Server Management (Tomcat)
  • 4. All Rights Reserved © Joget Inc Chapter 1 Typical stack for Joget
  • 5. All Rights Reserved © Joget Inc Typical Platform Requirement Apache Tomcat MariaDB JDK
  • 6. All Rights Reserved © Joget Inc
  • 7. All Rights Reserved © Joget Inc Plugin Types
  • 8. All Rights Reserved © Joget Inc Server The typical stack Database (MariaDB) Application Server (Tomcat) Joget Firewall
  • 9. All Rights Reserved © Joget Inc Chapter Review • General understanding on how Joget Workflow is hosted.
  • 10. All Rights Reserved © Joget Inc Chapter 2 Basic Database Management (MariaDB)
  • 11. All Rights Reserved © Joget Inc Typical Platform Requirement Apache Tomcat MariaDB JDK We are going to inspect the Datasource
  • 12. All Rights Reserved © Joget Inc Datasource Profile • Joget Workflow supports configuration of *multiple datasource profiles, but only 1 profile can be activated at any point of time.
  • 13. All Rights Reserved © Joget Inc Datasource Profile Configuration • The Datasource Profile can be located in Settings -> Datasource & Profile
  • 14. All Rights Reserved © Joget Inc Datasource Profile Configuration in File System • The Datasource Profile can also be located in the wflow folder.
  • 15. All Rights Reserved © Joget Inc Optional Exercise – Setting up new Database • Assuming that our current installation of Joget Workflow is connected to the MariaDB database named “jwdb” • We are going to: 1. Create a new database named “wflowdb” 2. Create a new datasource profile that uses “wflowdb” 3. Switch Joget Workflow’s datasource profile to use “wflowdb” • New in v6, Joget will automatically initialize any new empty databases upon setup (no datasource profile found).
  • 16. All Rights Reserved © Joget Inc 1. Setup empty wflowdb • Assuming MariaDB is installed in C:jogetmariadb • Run command prompt cd C:Jogetmariadbbin mysql –u root mysql> create database wflowdb; Query OK, 1 row affected (0.05 sec) mysql> exit; Bye mysql -u root wflowdb < C:Jogetdatajwdb-empty.sql Location of the SQL import fileImport to this database
  • 17. All Rights Reserved © Joget Inc 2. Verify creation of wflowdb • Verify existence of new database mysql –u root mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | jwdb | | wflowdb | | performance_schema | +--------------------+ 5 rows in set (0.00 sec) mysql> exit; Bye
  • 18. All Rights Reserved © Joget Inc 3. Create A New Datasource Profile • Login to Joget as Admin user • Navigate to System Settings > Datasource & Profile Setting • Amend the URL field and change “jwdb” to “wflowdb” (without quotation marks) • Specify a new profile name – “wflow” • Click on the “Save As New Profile” button
  • 19. All Rights Reserved © Joget Inc 3. Create A New Datasource Profile
  • 20. All Rights Reserved © Joget Inc 4. Compare The Changes in File System • The value of currentProfile in /wflow/app_datasource.properties is changed to wflow • A new file, /wflow/app_datasource-wflow.properties is created, with configurations to wflow datasource
  • 21. All Rights Reserved © Joget Inc Database User / Password Changed? • Open to edit /wflow/app_datasource- profileName.properties file in text editor. • To update database username, amend the values for workflowUser. • To update database password, amend the values of workflowPassword. • Restart Joget Workflow server (or Apache Tomcat) for changes to take effect.
  • 22. All Rights Reserved © Joget Inc Discussion • Can we use other Application Server container other than Tomcat? (e.g: JBoss, Glassfish, etc...) • Can we use other Database Systems other than MariaDB? • Must we use RDBMS? • How does Joget talk to MariaDB? • How do users access Joget Workflow? • Can we separate Application Server and Database Server?
  • 23. All Rights Reserved © Joget Inc Chapter Review • General understanding on how Joget connects to the Database system.
  • 24. All Rights Reserved © Joget Inc Chapter 3 Basic Application Server Management (Tomcat)
  • 25. All Rights Reserved © Joget Inc Typical Platform Requirement Apache Tomcat MariaDB JDK We are going to inspect Tomcat
  • 26. All Rights Reserved © Joget Inc Joget Workflow Application Files • In Apache Tomcat, there are 2 Joget Workflow web application files to be noted: – {Tomcat}/webapps/jw.war – {Tomcat}/webapps/jwdesigner.war (deprecated)
  • 27. All Rights Reserved © Joget Inc Updating Joget • Essentially, just replace the .war files with the latest available version. • You can update your Joget Workflow by following these steps: 1. Stop Joget. 2. Delete "jw" folder, "jwdesigner" folder, "jw.war" & "jwdesigner.war" in "[Joget Installation Directory]/[tomcat]/webapps". 3. Delete "jw" folder, "jwdesigner" folder in "[Joget Installation Directory]/[tomcat]/work/Catalina/localhost". 4. Place your newly downloaded "jw.war" & "jwdesigner.war" in "[Joget Installation Directory]/[tomcat]/webapps". 5. Start Joget.
  • 28. All Rights Reserved © Joget Inc wflow.home Directory • The location where the following Joget Workflow physical files are stored: – Datasource and profile configurations – XML definition and HTML rendering of forms designed using Form Builder – Plugins – Graphical image and thumbnail of all processes – Uploaded Files Attachments
  • 29. All Rights Reserved © Joget Inc Where is wflow.home directory? • Open joget-start.bat using text editor, and look for the JAVA_OPTS parameters. • wflow.home is configured using the -Dwflow.home option • default wflow folder location is in the root of Joget folder
  • 30. All Rights Reserved © Joget Inc Backup • To backup Joget Workflow, you should include: – Use database dump as a snapshot • mysqldump -u root wflowdb > backup.sql – Backup entire wflow.home directory
  • 31. All Rights Reserved © Joget Inc Log Files • When Joget Workflow is running in console, all log messages are shown on the console window • Log messages from Apache Tomcat are written to {Tomcat}/logs/catalina.yyyy-MM-dd.log • Log messages from Joget Workflow are written to {Tomcat}/logs/localhost.yyyy-MM-dd.log • To customize the logging behaviors, edit {Tomcat}/conf/logging.properties file
  • 32. All Rights Reserved © Joget Inc What is a Stack Trace?
  • 33. All Rights Reserved © Joget Inc What is a Stack Trace? • When an error is thrown, a stack trace will depict a sequence of events executed in the code level, which can precisely suggest the point where an exception is caught. • Stack trace could also suggest meaningful error message to help troubleshooting. • In the example above, indicative error message is shown before stack trace: ERROR 02 Sep 2010 10:19:51 org.hibernate.util.JDBCExceptionReporter - Cannot create PoolableConnectionFactory (Access denied for user 'roo'@'localhost' (using password: NO))
  • 34. All Rights Reserved © Joget Inc Troubleshooting • When you’re seeking for help on troubleshooting, copy the whole stack trace (all log messages printed at the same date time) and share it out. This can help the troubleshooter to have a better idea on the error.
  • 35. All Rights Reserved © Joget Inc Memory Allocation • Open joget-start.bat using text editor, and look for the JAVA_OPTS parameters. • Memory allocation is configured using the -Xmx option
  • 36. All Rights Reserved © Joget Inc Changing Apache Tomcat HTTP Port • Edit {Tomcat}/conf/server.xml using text editor • Look for the HTTP/1.1 connector configuration: • Change the port number to your preferred one, and restart Joget Workflow Server (Apache Tomcat) <Connector port="8080" protocol="HTTP/1.1"
  • 37. All Rights Reserved © Joget Inc Optional Exercise – Setting up SSL • Assuming that you are running Joget with the default bundled Tomcat. • We are going to:- 1. Generate a key store file. 2. Configure Tomcat to support SSL. Reference: https://dev.joget.org/community/display/KBv6/Setting+Up+SSL+on+Tomcat
  • 38. All Rights Reserved © Joget Inc 1. Generate a key store file • First of all, we will need to generate a key store file. You may want to generate it with or without a SSL certificate purchased from your SSL certificate provider. This is an example on generating one by ourselves.
  • 39. All Rights Reserved © Joget Inc 1. Generate a key store file C:Program FilesJavajdkbin>keytool -genkey -alias tomcat -keyalg RSA Enter keystore password: password Re-enter new password: password What is your first and last name? [Unknown]: Robert What is the name of your organizational unit? [Unknown]: home What is the name of your organization? [Unknown]: home What is the name of your City or Locality? [Unknown]: SF What is the name of your State or Province? [Unknown]: CA What is the two-letter country code for this unit? [Unknown]: US Is CN=Robert, OU=home, O=home, L=SF, ST=CA, C=US correct? [no]: yes Enter key password for <tomcat> (RETURN if same as keystore password): password Re-enter new password: password
  • 40. All Rights Reserved © Joget Inc 2. Configure Tomcat to support SSL • Make sure that your server is not running. Open up apache-tomcatconfserver.xml, uncomment and edit the following lines accordingly.
  • 41. All Rights Reserved © Joget Inc 2. Configure Tomcat to support SSL • Port: 8443 to 443 (If you intend to browse to https://yourDomain instead of https://yourDomain:8443) keystoreFile: Path to the .keystore file keystorePass: The password defined earlier <!-- Define a SSL HTTP/1.1 Connector on port 8443 This connector uses the JSSE configuration, when using APR, the connector should be using the OpenSSL style configuration described in the APR documentation --> <Connector port="443" protocol="HTTP/1.1" SSLEnabled="true" maxThreads="150" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" keystoreFile="C:/Users/Robert/.keystore" keystorePass="password" />
  • 42. All Rights Reserved © Joget Inc 2. Configure Tomcat to support SSL • Start your server. • You may now surf to your Joget at https://yourDomain/jw or https://yourDomain:8443/jw, depending on your configuration.
  • 43. All Rights Reserved © Joget Inc Chapter Review • General understanding on how Joget Workflow is “hosted” runs under application server – Tomcat.
  • 44. All Rights Reserved © Joget Inc Module Review 1. Typical stack for Joget Workflow 2. Basic Database Management (MariaDB) 3. Basic Application Server Management (Tomcat)
  • 45. All Rights Reserved © Joget Inc Recommended Further Learning • Best Practices on Application Building • Server performance tuning and hardening. • Database server performance tuning.
  • 46. All Rights Reserved © Joget Inc Stay Connected with Joget Workflow • www.joget.org • community.joget.org • twitter.com/jogetworkflow • facebook.com/jogetworkflow • youtube.com/jogetworkflow