In this section scripts to manage the Web Application will be explained.
GemStone/S installed and running
BPM application installed.
For more technical information about Gem processes used in these scripts see:
The scripts/shell commands can be found in $GS_HOME/shared/repos/BpmFlow directory.
In order to use these scritps the Shell session must have defined the environment variable [GS_HOME]. To set this variable the following bash code can be executed:
export GS_HOME=/home/gemstone/GsDevKit_homeexport PATH=$GS_HOME/bin:$PATH
Where [gemstone] is the name of the Linux user and [GsDevKit_home] is where GemStone/S DevKit has been installed.
The whole project is installed at: /home/linux-user-name/GsDevKit_home/shared/repos/BpmFlow
There are six scripts or shell command in order to manage the Web Application:
Install all components of BPM Flow on GemStone/S named "stoneName".
$ sh install-all.sh devKit_351
$ sh register-application.sh devKit_351
Register the Web Server to serve requests on GemStone/S named "stoneName". This shell command has to be executed only once.
This script read data in ports-all.ini file and register all ports in this file. For example if ports-all.ini has the following content: 8787,8888,8989
This will register the Web Application to be used in ports: 8787,8888,8989. Comma is used to separate ports. The ini's files are in the same directory as the scripts.
$ sh unregister-application.sh devKit_351
To unregister the Web Server on GemStone/S named "stoneName". This shell command has to be used in coordination with
$ sh start-all.sh devKit_351
This command will start a multi-thread Web Application Server on GemStone/S named "stoneName" where each port will be attended by a different (Gem) process. Following the previous example three Gem processes will be created to attend each port.
The ports to be attended are defined in ports-all.ini. At registration time (register-application.sh) there is a list of ports in ports-all.ini and each will be active when this script is executed.
After executing this script some pid and log files will be create at $GS_HOME/server/stones/devKit_34/logs/. In this case is the path includes devKit_34 because the Stone was created with that name. The pid and log files will be like BPM_server-8787.log and BPM_server-8787.pid. A pair of these file will be create per each port defined in ports-all.ini.
$ sh stop-all.sh devKit_351
This command will stop all Gem processes serving the Web Application on all ports on GemStone/S named "stoneName". The Web Application will no longer answer http requests.
start-on.sh stoneName portNumber
This command will start a Gem Process on GemStone/S named "stoneName" and port "portNumber". The port number argument must be defined in ports-all.ini file.
$ sh start-on.sh devKit_351 8787
This command will stop the Gem Process running on GemStone/S named "stoneName" and port "portNumber".
$sh stop-on.sh devKit_351 8787
$sh start-zn.sh devKit_351
This command is similar to [start-all.sh] but instead of starting a Gem Process for each port it only start a subset of all ports. The subset is defined in [zn-ports.ini] file.
$sh stop-zn.sh devKit_351
This command is similar to [stop-all.sh] but instead of stop all Gem Process in each port it only stop a subset of all ports. The subset is defined in [zn-ports.ini] file.
$sh start-timers-loop devKit_351
This command will start a Gem Process to process all Timers in the system and should be execute only once.
$sh start-deferred-scripts devKit_351
This command will start a Gem Process to process all deferred Scripts in the system and should be execute only once.
More about Timers here: Timers