Getting Started Guide
The Getting Started Guide for Red Hat JBoss BPM Suite
Abstract
Chapter 1. Quick start with Red Hat JBoss BPM Suite Copy linkLink copied to clipboard!
Procedure 1.1. Red Hat JBoss BPM Suite Quick Start
- Download JBoss BPM Suite installer from access.redhat.com.
- Run installer by executing the following command:
java -jar jboss-bpmsuite-6.2.0.GA-installer.jar - Step through the GUI installer steps making note of the username/password for accessing the JBoss BPM Suite application after installation.
- After successful installation, in a command prompt, navigate to the EAP home folder where you have installed JBoss BPM Suite.
- Start the JBoss BPM Suite server by issuing the following command.
bin/standalone.sh - Open a web browser and login to Business Central by navigating to
http://localhost:8080/business-central/. Login using the username/password combination for accessing the JBoss BPM Suite application that you created at installation time.
| Learn more about roles: Section 2.1.3, “Defining Roles” |
| Create additional users: Section 2.1.4, “Creating users” |
| Create a Hello World Project: Chapter 4, Hello World project |
| Look up detailed installation instructions for using the installer: Installation Guide |
Chapter 2. Installation options Copy linkLink copied to clipboard!
- Executable jar installer for installation on Red Hat JBoss Enterprise Application Platform (EAP) 6.4.
- Zip file install which itself comes in two versions:
jboss-bpmsuite-6.2.0.GA-deployable-eap6.x.zip: version adapted for deployment on Red Hat JBoss Enterprise Application Platform (EAP 6.4).jboss-bpmsuite-6.2.0.GA-deployable-generic.zip: the deployable version with additional libraries adapted for deployment on Red Hat JBoss Web Server (EWS), Apache Tomcat 6, and Apache Tomcat 7.
Note
"-Dfile.encoding=UTF-8".
Important
2.1. The EAP6 bundle installation Copy linkLink copied to clipboard!
Note
2.1.1. Downloading the Red Hat JBoss EAP6 Package Copy linkLink copied to clipboard!
- Go to the Red Hat Customer Portal and log in.
- Click DOWNLOADS at the top of the page.
- In the Product Downloads page that opens, click Red Hat JBoss BPM Suite.
- From the Version drop-down menu, select version 6.2.0.
- On the Software Downloads page that opens, navigate to the Red Hat JBoss BPM Suite 6.2.0 Deployable for EAP 6 row and click Download.
2.1.2. Installing the Red Hat JBoss EAP6 Package Copy linkLink copied to clipboard!
Installation on a fresh JBoss EAP instance
- Extract the zip package deployable for JBoss EAP you downloaded from the Red Hat Customer Portal.
- Merge the extracted zip package deployable for JBoss EAP into the JBoss EAP SERVER_HOME directory.
Warning
This step must be performed by the same user account that was used to install JBoss EAP. This account must not be a superuser account.In this process, multiple files in the JBoss EAP SERVER_HOME directory will be overwritten and you must let the unzip process overwrite these files. - Make sure that the
SERVER_HOME/bin/product.conffile contains the stringslot=bpms.
unzip -u jboss-bpms-VERSION-TYPE.zip -d SERVER_HOME_PARENT_DIR
unzip -u jboss-bpms-VERSION-TYPE.zip -d SERVER_HOME_PARENT_DIR
Example 2.1. The unzip command
unzip -u jboss-bpms-6.2.0-redhat-7-deployable-eap6.x.zip -d /home/john/myServers/
unzip -u jboss-bpms-6.2.0-redhat-7-deployable-eap6.x.zip -d /home/john/myServers/
Installation on an existing JBoss EAP configuration
Warning
- Extract the zip package deployable for JBoss EAP you downloaded from the Red Hat Customer Portal.
- Unzip the downloaded zip archive; however, do not overwrite all of the files. Manually merge the following files into the SERVER_HOME directory.
jboss-eap-6.4/domain/configuration/*- (please be aware that JBoss BMP Suite requires JMS, so JMS is added by default into all profiles indomain.xmlprovided by JBoss BPM Suite distribution.)jboss-eap-6.4/standalone/configuration/*- (please be aware that JBoss BPM Suite requires JMS, so JMS is added by default into all profiles config files (especially intostandalone.xmlandstandalone-ha.xml) provided by JBoss BPM Suite distribution.)jboss-eap-6.4/modules/layers.confjboss-eap-6.4/bin/product.conf
- Ensure the target JBoss EAP does not include a deployment with a colliding name. Copy the folder
jboss-eap-6.4/standalone/deploymentsinto the EAP_HOME directory from the JBoss BPM Suite distribution. - Make sure no JBoss EAP module layer is already called JBoss BPM Suite and copy the folder
jboss-eap-6.4/modules/system/layers/bpmsinto the EAP 6.4 folder.
2.1.3. Defining Roles Copy linkLink copied to clipboard!
- admin: The users with admin role are the administrators of the application. Administrators can manage users, manage the repositories (create and clone) and have full access to make the required changes in the application. Admins have access to all areas within the system.
- developer: A developer has access to almost all features and can manage rules, models, process flows, forms and dashboards. They can manage the asset repository, they can create, build and deploy projects and they can even use Red Hat JBoss Developer Studio to view processes. Only certain administrative functions like creating and cloning a new repository are hidden for the developer role.
- analyst: An analyst role has access to all high-level features to model and execute their projects. However, → access is unavailable to users with the analyst role. Certain lower-level features targeted towards developers, like the → view are not accessible for this role. However, the Build & Deploy button is available for the analyst role while using the Project Editor.
- user: User or a business user work on the business task lists that are used to operate a certain process. A user with this role can access the dashboard and manage processes.
- manager: A manager is a viewer of the system and is interested in statistics around the business processes and their performance, business indicators, and other reporting of the system. A user with this role has access to the BAM only.
Note
2.1.4. Creating users Copy linkLink copied to clipboard!
add-user.sh script on a Unix system or the add-user.bat file on a Windows system from the EAP bin directory.
- Runon a Unix system or
./add-user.sh
./add-user.shCopy to Clipboard Copied! Toggle word wrap Toggle overflow on a Windows system from theadd-user.bat
add-user.batCopy to Clipboard Copied! Toggle word wrap Toggle overflow bindirectory. - Enter
bto select an Application User at the type of user prompt and press Enter. - Accept the default Realm (ApplicationRealm) by pressing Enter.
- At the username prompt, enter a user name and confirm. For example:
helloworlduser.Note
Make sure that the usernames don't conflict with any known groups. For example, if there is a group calledadmin, you should not create a user with the usernameadmin. - Create the user's password at the password prompt and reenter the password. For example:
Helloworld@123.Note
The password should be at least 8 characters in length and should contain upper and lower case alphabetic characters (e.g. A-Z, a-z), at least one numerical character (e.g. 0-9) and at least one special character (e.g. ~ ! @ # $ % ^ * ( ) - _ + =). - Enter a comma separate list of roles the user will need at the roles prompt (refer to Section 2.1.3, “Defining Roles”).
- Confirm you want to add the user.
- Enter
yesat the next prompt (this is to enable clustering in the future if required).
2.2. The generic deployable bundle installation Copy linkLink copied to clipboard!
jboss-bpmsuite-6.2.0.GA-deployable-generic.zip: contains thebusiness-central.war,dashbuilder.warandkie-server.warweb applications.jboss-bpmsuite-6.2.0.GA-engine.zip: supported execution engine libraries for embeding the engine into your application and other libraries needed for generic deployment.
2.2.1. Downloading the Generic Deployable Package Copy linkLink copied to clipboard!
- Go to the Red Hat Customer Portal and log in.
- Click on .
- From the list of products click on Red Hat JBoss BPM Suite.
- From the Version drop-down menu, select version 6.2.0 (if not already selected).
- In the Software Downloads section that comes up, navigate to the Red Hat JBoss BPM Suite 6.2.0 Deployable for All Supported Containers row and then click Download.
- Also navigate to the Red Hat JBoss BPM Suite 6.2.0 Core Engine files row and click Download to download the JBoss BPM Suite Core Engine files.
2.2.2. Installing the generic deployable package Copy linkLink copied to clipboard!
- Set up the database driver and the transaction manager (Bitronix) (refer to Section 2.2.2.1, “Setting up Transaction Manager for Red Hat JBoss Web Server 2.1 (Tomcat 7)”).
- Set up the Business Central application: set up users and roles and set up persistence (refer to Section 2.2.2.2, “Setting up Business Central for Red Hat JBoss Web Server 2.1 (Tomcat 7)”).
- Set up the Dashbuilder application: set up users and roles and set up persistence (refer to Section 2.2.2.3, “Setting up Dashbuilder for Red Hat JBoss Web Server 2.0 (Tomcat 7)”).
2.2.2.1. Setting up Transaction Manager for Red Hat JBoss Web Server 2.1 (Tomcat 7) Copy linkLink copied to clipboard!
- Extract the generic deployable zip package you downloaded from Red Hat Customer Portal to a temporary location. This zip package contains the following three web application archives:
business-central.war,dashbuilder.warandkie-server.warin an exploded format. Rename these folders to remove the.warextension. - Copy these folders directly under the
$TOMCAT_DIR/webappsfolder.You should end up with three folders in an exploded format:$TOMCAT_DIR/webapps/business-central,$TOMCAT_DIR/webapps/dashbuilderand$TOMCAT_DIR/webapps/kie-server.Note
$TOMCAT_DIR stands for the home directory where your web server is located. Replace it with the actual path to your web server home directory, for example:/home/john/jboss-ews-2.1/tomcat7/ - Extract the contents of the JBoss BPM Suite Engine files archive to a temporary location from where you can copy the required libraries. This folder now contains all the core JBoss BPM Suite libraries under the extracted folder and a
libfolder. Install the transaction manager.
Warning
Please note that the following section describes the setup of a transaction manager, Bitronix that is not officially supported by Red Hat.Copy the following transaction manager jar libraries from thelibfolder to$TOMCAT_DIR/lib/directory:- btm-VERSION.jar
- btm-tomcat55-lifecycle-VERSION.jar
- jta-VERSION.jar
- slf4j-api-VERSION.jar
- slf4j-jdk14-VERSION.jar
In addition, download the following library and copy it into the$TOMCAT_DIR/lib/folder as well:Install the Driver to Your Database
Copy the jar file with the relevant database driver to$TOMCAT_DIR/lib/.Note
If using the embedded H2 database, the driver is available inbusiness-central/WEB-INF/lib/.- Create the transaction manager configuration files in
$TOMCAT_DIR/conf/:- btm-config.properties
bitronix.tm.serverId=tomcat-btm-node0 bitronix.tm.journal.disk.logPart1Filename=${btm.root}/work/btm1.tlog bitronix.tm.journal.disk.logPart2Filename=${btm.root}/work/btm2.tlog bitronix.tm.resource.configuration=${btm.root}/conf/resources.propertiesbitronix.tm.serverId=tomcat-btm-node0 bitronix.tm.journal.disk.logPart1Filename=${btm.root}/work/btm1.tlog bitronix.tm.journal.disk.logPart2Filename=${btm.root}/work/btm2.tlog bitronix.tm.resource.configuration=${btm.root}/conf/resources.propertiesCopy to Clipboard Copied! Toggle word wrap Toggle overflow - resources.properties (the resource.ds1.uniqueName defines the datasource name used in tomcat resource definition later - make a note of this value).Make sure to change the values in the following definitions to match your environment.
Example 2.2. H2 datasource definition
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Example 2.3. MySQL 5.5 datasource definition
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Example 2.4. DB2 Type 4 datasource definition
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Example 2.5. Oracle datasource definition
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Example 2.6. Microsoft SQL Server datasource definition
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
- Set up the transaction manager listener in
$TOMCAT_DIR/conf/server.xmlto start and stop Bitronix on container startup and shutdown:Add the following element as the last <Listener> element into the <Server> element:<Listener className="bitronix.tm.integration.tomcat55.BTMLifecycleListener" />
<Listener className="bitronix.tm.integration.tomcat55.BTMLifecycleListener" />Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Define the btm.root system property and location where bitronix config file is placed:In
$TOMCAT_DIR/bin/, create a readablesetenv.shfile with the following content:CATALINA_OPTS="-Xmx512M -XX:MaxPermSize=512m -Djava.security.auth.login.config=$CATALINA_HOME/webapps/business-central/WEB-INF/classes/login.config -Dbtm.root=$CATALINA_HOME -Dbitronix.tm.configuration=$CATALINA_HOME/conf/btm-config.properties -Dorg.jbpm.designer.perspective=RuleFlow -Djbpm.tsr.jndi.lookup=java:comp/env/TransactionSynchronizationRegistry"
CATALINA_OPTS="-Xmx512M -XX:MaxPermSize=512m -Djava.security.auth.login.config=$CATALINA_HOME/webapps/business-central/WEB-INF/classes/login.config -Dbtm.root=$CATALINA_HOME -Dbitronix.tm.configuration=$CATALINA_HOME/conf/btm-config.properties -Dorg.jbpm.designer.perspective=RuleFlow -Djbpm.tsr.jndi.lookup=java:comp/env/TransactionSynchronizationRegistry"Copy to Clipboard Copied! Toggle word wrap Toggle overflow The propertyorg.jbpm.designer.perspectiveis set toRuleFlowto allow the default perspective for the designer to beRuleFlowrather thanFull. Grant the file execute permissions if applicable.Thejava.security.auth.login.configproperty must be set in order for the ssh clone of the git repository to work.Important
On Microsoft Windows systems, replace the$CATALINA_HOMEvalue in the content of the file with the equivalent environment variable name or use the absolute path and add the values insetenv.batfile as shown here in the following example:set "CATALINA_OPTS=-Xmx512M -XX:MaxPermSize=512m -Dbtm.root=C:/Tomcat -Dbitronix.tm.configuration=C:/Tomcat/conf/btm-config.properties -Dorg.jbpm.designer.perspective=RuleFlow"
set "CATALINA_OPTS=-Xmx512M -XX:MaxPermSize=512m -Dbtm.root=C:/Tomcat -Dbitronix.tm.configuration=C:/Tomcat/conf/btm-config.properties -Dorg.jbpm.designer.perspective=RuleFlow"Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.2.2.2. Setting up Business Central for Red Hat JBoss Web Server 2.1 (Tomcat 7) Copy linkLink copied to clipboard!
- Set up a
Valveso that the Business Central web application can load the users set up in Tomcat:- Define users and roles in
$TOMCAT_DIR/conf/tomcat-users.xml. Note that Business Central requires users to have the roles specified asadminand/oranalyst(for more information about user and role definitions, refer to the Tomcat 7 documentation).The program listing below shows an example of how these two roles would be added and how a user namedbpmsadminwill be assigned these roles.Note
Make sure that the usernames don't conflict with any known roles. For example, you should not create a user with the usernameadmin.<role rolename="admin"/> <role rolename="analyst" /> <user username="bpmsadmin" password="P@ssw0rd" roles="admin,analyst"/>
<role rolename="admin"/> <role rolename="analyst" /> <user username="bpmsadmin" password="P@ssw0rd" roles="admin,analyst"/>Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Move (not copy)
kie-tomcat-integration-VERSION.jarfrom$TOMCAT_DIR/webapps/business-central/WEB-INF/lib/to$TOMCAT_DIR/lib/. - Copy
jboss-jaxb-api-VERSION.jarfrom$TOMCAT_DIR/webapps/business-central/WEB-INF/lib/to$TOMCAT_DIR/lib/. - In
$TOMCAT_DIR/conf/server.xml, add the Tomcat Valve declaration in the relevant <host> element:<Valve className="org.kie.integration.tomcat.JACCValve" />
<Valve className="org.kie.integration.tomcat.JACCValve" />Copy to Clipboard Copied! Toggle word wrap Toggle overflow
- If you are using a datasource other than the default provided by the underlying H2 database, you will need to setup persistence. If you are using the default H2 database, then you can ignore the rest of the steps in this procedure.In this procedure, you configure a datasource with the JNDI name
jdbc/myDatasourceas defined in uniqueName=jdbc/jbpm in the bitronixresources.propertiesfile earlier (for the MySQL option).- In
business-central/META-INF/context.xml, replace the datasource JNDI name in the <Resource> element. The uniqueName attribute refers to the resource.ds1.uniqueName property set inresources.properties:<Resource name="jdbc/myDatasource" uniqueName="jdbc/jbpm" auth="Container" removeAbandoned="true" factory="bitronix.tm.resource.ResourceObjectFactory" type="javax.sql.DataSource"/>
<Resource name="jdbc/myDatasource" uniqueName="jdbc/jbpm" auth="Container" removeAbandoned="true" factory="bitronix.tm.resource.ResourceObjectFactory" type="javax.sql.DataSource"/>Copy to Clipboard Copied! Toggle word wrap Toggle overflow - In
business-central/WEB-INF/web.xml, replace the datasource JNDI name in the <res-ref-name> element with your datasource name:Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Change
business-central/WEB-INF/classes/META-INF/persistence.xml.In this file, change the name of the hibernate dialect used for your database, if using a different database other than H2. The code below demonstrates the original database information forpersistence.xml:<property name="hibernate.dialect" value="org.hibernate.dialect.H2Dialect"/>
<property name="hibernate.dialect" value="org.hibernate.dialect.H2Dialect"/>Copy to Clipboard Copied! Toggle word wrap Toggle overflow This information can be updated in the following manner (as demonstrated with MySQL database below):<property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect"/>
<property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect"/>Copy to Clipboard Copied! Toggle word wrap Toggle overflow Note
The dialect for DB2 isorg.hibernate.dialect.DB2Dialect, for DB2 on AS/400 isorg.hibernate.dialect.DB2400Dialect, for Oracle isorg.hibernate.dialect.Oracle10gDialectand for Microsoft SQL Server isorg.hibernate.dialect.SQLServerDialect - Change
business-central/WEB-INF/classes/META-INF/persistence.xmlfile so that JBoss BPM Suite process engine can use the new database.The code below demonstrates the original datasource information forpersistence.xml:<jta-data-source>java:comp/env/jdbc/jbpm</jta-data-source>
<jta-data-source>java:comp/env/jdbc/jbpm</jta-data-source>Copy to Clipboard Copied! Toggle word wrap Toggle overflow Change this value to the datasource defined earlier:<jta-data-source>java:comp/env/jdbc/myDatasource</jta-data-source>
<jta-data-source>java:comp/env/jdbc/myDatasource</jta-data-source>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
- You can now start the JBoss Web Server to login to Business Central.
- Run
startup.shin the $TOMCAT_HOME/bindirectory../startup.sh
./startup.shCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Navigate to http://localhost:8080/business-central in a web browser.
- Login with the username/password you defined earlier in
tomcat-users.xmlfile.
2.2.2.3. Setting up Dashbuilder for Red Hat JBoss Web Server 2.0 (Tomcat 7) Copy linkLink copied to clipboard!
Note
- Define users and roles in
$TOMCAT_DIR/conf/tomcat-users.xml. Note that Dashbuilder requires users to have the role specified asadminand/oranalyst. If you have already defined these users earlier for Business-Central, you don't need to define them again. - Enable single sign-on between Dashbuilder and Business Central by uncommenting the following lines in
$TOMCAT_DIR/conf/server.xmlfile:<Valve className="org.apache.catalina.authenticator.SingleSignOn" />
<Valve className="org.apache.catalina.authenticator.SingleSignOn" />Copy to Clipboard Copied! Toggle word wrap Toggle overflow - As with Business Central setup, if you are using a database other than the default and integrated H2 database, you will need to setup persistence.In this procedure, you configure a datasource with the JNDI name
jdbc/dashbuilderDSas defined in uniqueName=jdbc/jbpm in the bitronixresources.propertiesfile:- In
dashbuilder/META-INF/context.xml, replace the datasource JNDI name in the <Resource> element. The uniqueName attribute refers to the resource.ds1.uniqueName property set inresources.properties:<Resource name="jdbc/dashbuilderDS" uniqueName="jdbc/jbpm" auth="Container" removeAbandoned="true" factory="bitronix.tm.resource.ResourceObjectFactory" type="javax.sql.DataSource"/>
<Resource name="jdbc/dashbuilderDS" uniqueName="jdbc/jbpm" auth="Container" removeAbandoned="true" factory="bitronix.tm.resource.ResourceObjectFactory" type="javax.sql.DataSource"/>Copy to Clipboard Copied! Toggle word wrap Toggle overflow Note
Depending upon your database, you may need to define some other properties here as well. For example, in an Oracle environment, this entry may look like the following listing.<Resource name="jdbc/jbpm" uniqueName="jdbc/jbpm" auth="Container" removeAbandoned="true" factory="bitronix.tm.resource.ResourceObjectFactory" type="javax.sql.DataSource" username="username" password="password" driverClassName="oracle.jdbc.xa.client.OracleXADataSource" url="jdbc:oracle:thin:YOUR-URL:1521:YOUR-DB" maxActive="8" />
<Resource name="jdbc/jbpm" uniqueName="jdbc/jbpm" auth="Container" removeAbandoned="true" factory="bitronix.tm.resource.ResourceObjectFactory" type="javax.sql.DataSource" username="username" password="password" driverClassName="oracle.jdbc.xa.client.OracleXADataSource" url="jdbc:oracle:thin:YOUR-URL:1521:YOUR-DB" maxActive="8" />Copy to Clipboard Copied! Toggle word wrap Toggle overflow - In
dashbuilder/WEB-INF/web.xml, add the datasource JNDI name in the <res-ref-name> element with your datasource name:Copy to Clipboard Copied! Toggle word wrap Toggle overflow - In
dashbuilder/META-INF/context.xml, define the transaction factory:<Transaction factory="bitronix.tm.BitronixUserTransactionObjectFactory"/>
<Transaction factory="bitronix.tm.BitronixUserTransactionObjectFactory"/>Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Update the datasource JNDI name in
dashbuilder/WEB-INF/etc/hibernate.cfg.xmlin the <session-factory> element:<property name="connection.datasource">java:/comp/env/jdbc/dashbuilderDS</property>
<property name="connection.datasource">java:/comp/env/jdbc/dashbuilderDS</property>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
- Restart Java Web server for these changes to take effect. Once restarted, you can navigate to Dashbuilder from within Business Central or directly via:
http://localhost:8080/dashbuilder.
2.3. Starting the Server Copy linkLink copied to clipboard!
Note
standalone.sh that Red Hat JBoss BPM Suite ships with is optimized for performance. To run your server in the performance mode, do the following:
- On the command line, move into the
$SERVER_HOME/bin/directory. - In a Unix environment run:
./standalone.sh
./standalone.shCopy to Clipboard Copied! Toggle word wrap Toggle overflow In a Windows environment run:./standalone.bat
./standalone.batCopy to Clipboard Copied! Toggle word wrap Toggle overflow
standalone-secure.sh that is optimized for security. This script applies a security policy by default that protects against a known security vulnerability.
Note
standalone-secure.sh script.
Warning
- On the command line, move into the
$SERVER_HOME/bin/directory. - In a Unix environment run:
./standalone-secure.sh
./standalone-secure.shCopy to Clipboard Copied! Toggle word wrap Toggle overflow In a Windows environment run:./standalone-secure.bat
./standalone-secure.batCopy to Clipboard Copied! Toggle word wrap Toggle overflow
Note
standalone-secure.sh script.
Note
domain.sh and domain-secure.sh respectively.
2.4. Java Security Manager and Performance Management Copy linkLink copied to clipboard!
- In high load environments where performance is critical it is recommended to only deploy applications that have been developed on other systems and properly reviewed. It is also recommended not to create any users with Analyst role on such systems. If these safeguards are followed, it is safe to leave JSM disabled on these systems so it does not introduce any performance degradation.
- In testing and development environments without high loads, or in environments where rule and process authoring is exposed to external networks, it is recommended to have JSM enabled in order to achieve security benefits of properly sandboxed evaluation of MVEL.
Chapter 3. Logging on to Business Central Copy linkLink copied to clipboard!
- Navigate to http://localhost:8080/business-central in a web browser. If the user interface has been configured to run from a domain name, substitute
localhostfor the domain name. For example http://www.example.com:8080/business-central. - Log in with the user credentials that were created during installation. For example: User =
helloworlduserand password =Helloworld@123.
Chapter 4. Hello World project Copy linkLink copied to clipboard!
Hello World project with a Hello World business process. All that this business process will do, is display the Hello World! message and finish execution. For additional example that makes use of the full when-then rule functionality, see Getting Started with Rules and Facts from Red Hat JBoss BPM Suite Development Guide.
- Create a Hello World repository in the Artifact repository.
- Create the Hello World Project with the
HelloWorldbusiness process definition. - Model the Hello World process logic in the business process using the graphical Process Designer tool.
- Build and deploy the project on the locally running Execution Engine.
- Run the Hello World process.
- Monitor the Process execution.
4.1. Creating repository structure Copy linkLink copied to clipboard!
- Open Business Central in your web browser (if running locally http://localhost:8080/business-central) and log in as a user with the
adminrole (helloworlduser). - Create an organizational unit in the Artifact repository:
- Go to → .
- On the perspective menu, click → .
- In the displayed Organizational Unit Manager view, click .In the displayed Add New Organizational Unit dialog box, define the unit properties and click :
- Name:
helloworld - Owner:
helloworlduser
- Create a new repository in the helloworld organizational unit:
- Go to → .
- On the perspective menu, click → .
- In the displayed New Repository dialog box, define the repository properties:
- Repository Name:
helloworldrepo - Organizational Unit:
helloworld
- Go to → .
- In the Project Explorer in the organizational unit drop-down box, select
helloworld, and in the repository drop-down box selecthelloworldrepo.Figure 4.1. Selecting the
helloworldreporepository in thehelloworldorganizational group in Project Explorer. - Create a project in the
helloworldrepository:- On the perspective menu, go to → .
- In the displayed Create new Project dialog box, define your Project properties:
- Resource Name (project name):
HelloWorld
- In the New Project dialog, define the maven properties of the Project:
- Group ID:
org.bpms - Artifact ID:
HelloWorld - Version ID:
1.0
- Click .
Chapter 5. Hello World process Copy linkLink copied to clipboard!
5.1. Creating business process Copy linkLink copied to clipboard!
- Display the Project Authoring perspective ( →
- In the Project Explorer view on the left, select the
helloworldorganizational unit, thehelloworldreporepository, and theHelloWorldproject. - On the perspective menu, click → and define the Process definition details:
- Enter the name of the Business Process as
HelloWorld. - Select the org.bpms.helloworld package. This defines the location in the Artifact repository, where you will create your Business Process definition.
Note
Make sure to select the package org.bpms.helloworld. Selection of an incorrect package causes the deployment to fail.
- Click .
5.2. Modeling business process Copy linkLink copied to clipboard!
HelloWorld under Business Processes to re-open the Business Process designer. Make sure you select the correct package (org.bpms.helloworld). To design the Process content, do the following:
- Expand the Object Library palette with Process Elements: click the double-arrow button (
) in the upper left hand corner of the Business Process designer tab.
- A Start Event element appears on the canvas.
- Click the Start Event element: the quick linker items appear around the node. Click the Task (
) icon to create an outgoing Sequence Flow and a Task element connected to the Start Event.
- Create a Timer Event: from the palette, drag-and-drop the Timer (under Catching Intermediate Events) and connect the Task to the Timer Element using the quick linker menu.
- Create the End Event element connected to the Timer Event element (either using the quick linker feature or dragging it from the palette).
Figure 5.1. Draft of the HelloWorld Process
5.3. Defining element properties Copy linkLink copied to clipboard!
- Click the double-arrow (
) in the upper right hand corner to expand the Properties tab.
- Click anywhere on the canvas. The Properties tab displays the properties of the
HelloWorldProcess. The required properties are pre-defined; however, you can change their values if necessary. - The Start Element and End Element have only optional properties. However, Task Elements need their type and then type-specific properties defined: click the Task element and define the required properties:
- Name:
ScriptTask - Task Type:
Script - Script Language:
java - Script:
System.out.println("Hello World!");Click .
You have defined a Task that will perform a script on execution. The script is defined in Java and executes the methodSystem.out.println("Hello World!"), that means it will writeHello World!to the standard output of the server. By default, the standard output of the server is the console the server was started in. - You still need to define properties of the Timer Event to make the process wait on runtime, so you can inspect its execution: click the Timer Element and define the time it will wait for execution:
- Edit Time Duration:
1mand press Enter.The Process will therefore wait for 1 minute on the Timer Event after it executes the Script Task.
- Give the Timer Event a name using the same tab and then save your Process: click in the upper right section of the Business Process designer.
- A Save this item prompt is displayed. Enter the Check-in comment.
Note
The check-in comment would be a short description of the kind of change you made and has to be entered every time an asset is saved. - Click the
button on the toolbar of the Process Designer with the Process to make sure the defined Process is valid. The outline of any element with one or multiple validation mistakes turns orange (refer to the Red Hat JBoss BPM Suite User Guide for information on the validation feature).
5.4. Building and deploying Copy linkLink copied to clipboard!
HelloWorld Process, you need to build the entire Project and deploy it to the Execution Server:
- On the main menu of Business Central, go to → .
- In the Project Explorer, locate the HelloWorld project.
- Open the Project in the Project editor: in the Project Explorer, click .
- Check that the correct Project details are displayed on the project screen and go to → in the upper right hand corner of the project screen view.
Figure 5.2. Project editor with the HelloWorld project properties.
5.5. Instantiating business process Copy linkLink copied to clipboard!
HelloWorld process, that is, to run the business process, do the following:
- Click → on the main menu.
- On the displayed Process Definitions tab, locate the
Hello Worldprocess. You might need to click the button to have the deployment displayed on the list. - Click (
) next to the process definition entry and in the dialog box, click to confirm that you want to instantiate the process.
The Process is instantiated with the currently logged-in user as the process owner and the process form is displayed (the form can serve to request input from a user on Process instantiation if defined; refer to the Red Hat JBoss BPM Suite User Guide).
Hello World! message appears in standard output, typically the terminal emulator in which the server was started. Then the Process instance waits on the Timer Event. You can see the current execution status in the → .
Figure 5.3. HelloWorld Realtime Execution Diagram: the Timer Event Being Executed
5.6. Aborting business process Copy linkLink copied to clipboard!
HelloWorld Process is running on the Execution Server (being executed). You can check in the Process Instances view: to display the view, go to → .
Instance Details by clicking on the row of a chosen process. Also, you can perform basic administration actions such as sending a signal to a process instance (
) or aborting it (
).
on the row with the instance information. The instance will disappear from the list of Active process instances and appear in the Aborted list.
Figure 5.4. Aborted Process Instances List
Chapter 6. Hello World business rule Copy linkLink copied to clipboard!
6.1. Creating the business rule Copy linkLink copied to clipboard!
helloworldrule business rule in the HelloWorld project, do the following:
- In Project Explorer, select the
helloworldorganizational unit, thehelloworldreporepository, theHelloWorldproject, and the default package.Note
Make sure to select the default package. Selection of an incorrect package causes the deployment to fail. - Create the DRL file:
- On the perspective menu, click → .
- In the Create new dialog box, define the resource name as
helloworldruleand check that the package is set toorg.bpms.HelloWorld. - Click .
- In the displayed DRL editor with the
helloworldrule.drlfile, define the rule:Copy to Clipboard Copied! Toggle word wrap Toggle overflow This rule does not define any when condition, that is, it will always be true when fired (called to execute) and theHello World!phrase will be printed. - Click .
- A Save this item prompt is displayed. Enter the Check-in comment and click Save.
6.2. Adding the Business Rule Task Copy linkLink copied to clipboard!
- Open your Business Process in Process Designer: in Project Explorer, select the
HelloWorldproject, the org.bpms.helloworld package, click on BUSINESS PROCESSES and choose theHelloWorldprocess.Note
Make sure to select the org.bpms.helloworld package. Selection of an incorrect package causes the deployment to fail. - In the displayed Business Process designer with the HelloWorld process, expand the Object Library palette with Process Elements: click the double-arrow button (
) in the upper left hand corner of the Business Process designer tab.
- Expand the Tasks menu and drag-and-drop the Business Rule task to the canvas on the right.Adjust flow connections so as to integrate the task into the workflow.
- Select the Business Rule Task and define its properties in the Properties panel:
- Name:
BusinessRule - Ruleflow Group:
helloworldgroupThe Ruleflow Group property defines the group of rules that should be fired when the Task is being executed. In this example, only one rule, thehelloworldrulerule defined in thehelloworldrule.drlfile, is present in thehelloworldgroupgroup.
Figure 6.1. The HelloWorld Process With the Business Rule Task and Its Properties
- Click the save button to save the changes.
6.3. Building and deploying Copy linkLink copied to clipboard!
- On the main menu of Business Central, go to → .
- In the Project Explorer, locate the HelloWorld project.
- Open the project in the Project Editor: in Project Explorer, click .
- Check that the correct project details are displayed on the Project Screen and choose → in the upper right hand corner of the Project Screen view.
Figure 6.2. Project Editor With the HelloWorld Project Properties
Note
HelloWorld deployment is substituted with the new one containing the Business Rule Task. To keep both deployments, change the version number of the project in the Project Editor.
6.4. Instantiating business process Copy linkLink copied to clipboard!
HelloWorld process - that is to run the business process - do the following:
- Click → on the main menu.
- On the displayed Process Definitions tab, locate the
HelloWorld. You might need to click to have the deployment displayed on the list. - Click (
) next to the process definition entry and in the dialog box, click to confirm that you want to instantiate the process.
The Process is instantiated with the currently logged-in user as the process owner and the process form is displayed (the form can serve to request input from a user on Process instantiation if defined; refer to the Red Hat JBoss BPM Suite User Guide).
Hello World! message appears in standard output twice, typically the terminal emulator in which the server was started. Then the Process instance waits on the Timer Event. Choose → to see the current execution status.
Figure 6.3. HelloWorld Realtime Execution Diagram: the Timer Event Being Executed
Chapter 7. BAM Copy linkLink copied to clipboard!
7.1. Accessing Red Hat JBoss BPM Suite Dashbuilder Copy linkLink copied to clipboard!
7.2. Monitoring instances Copy linkLink copied to clipboard!
Figure 7.1. Process and Task dashboard
Chapter 8. Red Hat JBoss Developer Studio Copy linkLink copied to clipboard!
Warning
UTF-8. You can do this by editing the $JBDS_HOME/studio/jbdevstudio.ini file and adding the following property: "-Dfile.encoding=UTF-8"
8.1. JBoss Central Copy linkLink copied to clipboard!
Note
# Don't use GTK 3 export SWT_GTK3=0
# Don't use GTK 3
export SWT_GTK3=0
Figure 8.1. JBoss Central
8.2. Installing the JBoss Developer Studio Plug-ins Copy linkLink copied to clipboard!
Procedure 8.1. Install the Drools JBoss Developer Studio Plug-in
- Start JBoss Developer Studio.
- Select → .
- Click Add to enter the Add Repository menu.
- Give the software site a name next to Name field and add the following url in the Location field: https://devstudio.jboss.com/updates/8.0/integration-stack/
- Click OK.
- Select the JBoss Business Process and Rule Development feature from the available options and click Next and then Next again.
- Read the license and accept it by selecting the appropriate radio button, and click Finish.
- After installation of the plug-ins has completed, restart JBoss Developer Studio.
8.3. Setting the Drools runtime Copy linkLink copied to clipboard!
Procedure 8.2. Configure JBoss BRMS Runtime
- Extract the runtime jar files located in the
jboss-brms-VERSION-engine.ziparchive that you can download from Red Hat Customer Portal. - From the JBoss Developer Studio menu, select Window and click Preferences.
- Select → .
- Click Add...; provide a name for the new runtime, and click Browse to navigate to the directory where you extracted the runtime files in step 1. Click OK to register the selected runtime in JBDS.
- Mark the runtime you have created as the default Drools runtime by clicking on the check box next to it.
- Click OK. If you have existing projects, a dialog box will indicate that you have to restart JBoss Developer Studio to update the Runtime.
8.4. Setting the JBoss BPM Suite Runtime Copy linkLink copied to clipboard!
jboss-bpms-engine.zip archive.
Procedure 8.3. Configure jBPM Runtime
- From the JBoss Developer Studio menu, select Window and click Preferences.
- Select → .
- Click Add...; provide a name for the new runtime, and click Browse to navigate to the directory where the runtime is located.
- Click OK, select the new runtime and click OK again. If you have existing projects, a dialog box will indicate that you have to restart JBoss Developer Studio to update the Runtime.
8.5. Configuring the JBoss Server Copy linkLink copied to clipboard!
Procedure 8.4. Configure the Server
- Open the jBPM view by selecting → → and select jBPM and click OK.
- Add the server view by selecting → → and select → .
- Open the server menu by right clicking the Servers panel and select → .
- Define the server by selecting → and clicking Next.
- Set the home directory by clicking the Browse button. Navigate to and select the installation directory for JBoss EAP 6.4 which has JBoss BPM Suite installed.
- Provide a name for the server in the Name field, make sure that the configuration file is set, and click Finish.
8.6. Importing Projects from a Git Repository into JBoss Developer Studio Copy linkLink copied to clipboard!
Note
Procedure 8.5. Cloning a Remote Git Repository
- Start the Red Hat JBoss BRMS/BPM Suite server (whichever is applicable) by selecting the server from the server tab and click the start icon.
- Simultaneously, start the Secure Shell server, if not running already, by using the following command. The command is Linux and Mac specific only. On these platforms, if sshd has already been started, this command fails. In that case, you may safely ignore this step.
/sbin/service sshd start
/sbin/service sshd startCopy to Clipboard Copied! Toggle word wrap Toggle overflow - In JBoss Developer Studio, select → and navigate to the Git folder. Open the Git folder to select and click .
- Select the repository source as and click .
- Enter the details of the Git repository in the next window and click .
Figure 8.2. Git Repository Details
- Select the branch you wish to import in the following window and click .
- To define the local storage for this project, enter (or select) a non-empty directory, make any configuration changes and click .
- Import the project as a general project in the following window and click . Name the project and click .
Procedure 8.6. Importing a Local Git Repository
- Start the Red Hat JBoss BRMS/BPM Suite server (whichever is applicable) by selecting the server from the server tab and click the start icon.
- In JBoss Developer Studio, select → and navigate to the Git folder. Open the Git folder to select and click .
- Select the repository source as and click .
Figure 8.3. Git Repository Details
- Select the repository that is to be configured from the list of available repositories and click .
- In the dialog that opens, select the radio button from the and click . Name the project and click .
Figure 8.4. Wizard for Project Import
8.7. Creating a Drools Project Copy linkLink copied to clipboard!
Procedure 8.7. Creating a New Red Hat JBoss Developer Studio Project
- From the main menu, select → → .Select → and click Next.
- Enter a name for the project into the Project name: text box and click Next.
Note
JBoss Developer Studio provides the option to add a sample HelloWorld Rule file to the project. Accept this default by clicking Next to test the sample project in the following steps. - Select the Drools runtime (or use the default).
- Select code compatible with Drools 6.0.x. Enter a GroupID, an ArtifactID, and Version, and click Finish.
- To test the project, right click the Java file that contains the main method and select → → .The output will be displayed on the console tab.
8.8. Creating a JBoss BPM Suite Project Copy linkLink copied to clipboard!
Procedure 8.8. Creating a New JBoss BPM Suite project inRed Hat JBoss Developer Studio
- From the main menu, select → → .Select → and click Next.
- Enter a name for the project into the Project name: text box and click Next.
Note
JBoss Developer Studio provides the option to add a sample HelloWorld Rule file to the project. Accept this default by clicking Next to test the sample project in the following steps. - Select the jBPM runtime (or use the default).
- Select generate code compatible with jBPM 6 or above, and click Finish.
- To test the project, right click the Java file that contains the main method and select → → .The output will be displayed in the console tab.
Chapter 9. Business Resource Planner Copy linkLink copied to clipboard!
- Employee/Patient Rosters. Planner helps create timetables for nurses and keeps track of patient bed management.
- Educational Timetables. Planner helps schedule lessons, courses, exams, and conference presentations.
- Shop Schedules: Planner tracks car assembly lines, machine queue planning, and workforce task planning.
- Cutting Stock: Planner minimizes waste by reducing the consumption of resources such as paper and steel.
9.1. Installing Business Resource Planner Copy linkLink copied to clipboard!
- Navigate to the Red Hat Customer Portal and log in with your user credentials.
- Select → .
- In the Product Downloads page that opens, click Red Hat JBoss BPM Suite.
- From the Version drop-down menu, select version 6.2.0.
- Select Red Hat JBoss BPM Suite 6.2.0 Business Resource Planner and then click Download.
9.2. Running the Business Resource Planner Examples Copy linkLink copied to clipboard!
- On the command line, move into the
examples/directory. - In a Unix environment, run the following command:
./runExamples.sh
./runExamples.shCopy to Clipboard Copied! Toggle word wrap Toggle overflow In a Windows environment, run the following command:./runExamples.bat
./runExamples.batCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Pick an example from the Examples GUI application that opens and run it in your favorite IDE.
Appendix A. Revision History Copy linkLink copied to clipboard!
| Revision History | |||
|---|---|---|---|
| Revision 6.2.0-7 | Fri Apr 21 2017 | ||
| |||
| Revision 6.2.0-6 | Wed Apr 19 2017 | ||
| |||
| Revision 6.2.0-5 | Thu Apr 28 2016 | ||
| |||
| Revision 6.2.0-4 | Tue Mar 29 2016 | ||
| |||
| Revision 6.2.0-3 | Mon Nov 30 2015 | ||
| |||
| Revision 6.2.0-2 | Mon Nov 30 2015 | ||
| |||
| Revision 6.2.0-1 | Mon Nov 30 2015 | ||
| |||