Red Hat JBoss BPM Suite 6.0 Administration And Configuration Guide

Red Hat JBoss BPM Suite 6.0 Administration And Configuration Guide

Red Hat JBoss BPM Suite 6.0

Administration And Configuration

Guide

The Administration and Configuration Guide for Red Hat JBoss BPM Suite

Red Hat Content Services

Red Hat JBoss BPM Suite 6.0 Administration And Configuration Guide

The Administration and Configuration Guide for Red Hat JBoss BPM Suite

Red Hat Co ntent Services

Legal Notice

Co pyright © 20 15 Red Hat, Inc.

This do cument is licensed by Red Hat under the Creative Co mmo ns Attributio n-ShareAlike 3.0

Unpo rted License . If yo u distribute this do cument, o r a mo dified versio n o f it, yo u must pro vide attributio n to Red Hat, Inc. and pro vide a link to the o riginal. If the do cument is mo dified, all Red

Hat trademarks must be remo ved.

Red Hat, as the licenso r o f this do cument, waives the right to enfo rce, and agrees no t to assert,

Sectio n 4 d o f CC-BY-SA to the fullest extent permitted by applicable law.

Red Hat, Red Hat Enterprise Linux, the Shado wman lo go , JBo ss, MetaMatrix, Fedo ra, the Infinity

Lo go , and RHCE are trademarks o f Red Hat, Inc., registered in the United States and o ther co untries.

Linux ® is the registered trademark o f Linus To rvalds in the United States and o ther co untries.

Java ® is a registered trademark o f Oracle and/o r its affiliates.

XFS ® is a trademark o f Silico n Graphics Internatio nal Co rp. o r its subsidiaries in the United

States and/o r o ther co untries.

MySQL ® is a registered trademark o f MySQL AB in the United States, the Euro pean Unio n and o ther co untries.

No de.js ® is an o fficial trademark o f Jo yent. Red Hat So ftware Co llectio ns is no t fo rmally related to o r endo rsed by the o fficial Jo yent No de.js o pen so urce o r co mmercial pro ject.

The OpenStack ® Wo rd Mark and OpenStack Lo go are either registered trademarks/service marks o r trademarks/service marks o f the OpenStack Fo undatio n, in the United States and o ther co untries and are used with the OpenStack Fo undatio n's permissio n. We are no t affiliated with, endo rsed o r spo nso red by the OpenStack Fo undatio n, o r the OpenStack co mmunity.

All o ther trademarks are the pro perty o f their respective o wners.

Abstract

A guide fo r administrato rs and advanced users dealing with Red Hat JBo ss BPM Suite setup, co nfiguratio n, and advanced usage.

T able of Cont ent s

Table of Contents

⁠1.1. Ab o ut Red Hat JBo ss BPM Suite

⁠1.2. Co mp o nents

⁠1.3. Use Case: Pro cess​-b ased so lutio ns in the lo an ind ustry

4

4

5

⁠2.1. Access co ntro l

⁠3.1. Starting the kie-co nfig -cli to o l in o nline mo d e

⁠3.2. Starting the kie-co nfig -cli to o l in o ffline mo d e

⁠3.3. Co mmand s availab le fo r the kie-co nfig -cli to o l

⁠4.1. Data Mig ratio n

⁠4.2. Runtime Mig ratio n

⁠4.3. API and Backward s Co mp atib ility

⁠4.4. Mig rating task service

⁠5.1. Data b ackup s

⁠5.2. Setup Ind exes

⁠5.3. Setting up the Datab ase

⁠5.4. Ed iting the Datab ase

⁠6 .1. Creating a rep o sito ry

⁠6 .2. Clo ning a rep o sito ry

⁠6 .3. Remo ving a rep o sito ry

⁠6 .4. System Co nfig uratio n

⁠7.1. Creating a Pro cess d efinitio n

⁠7.2. Imp o rting a Pro cess d efinitio n

⁠7.3. Imp o rting jPDL 3.2 to BPMN2

⁠7.4. Exp o rting a p ro cess

⁠8 .1. Co nfig uring Red Hat JBo ss BPM Suite with Ap ache Sp ring

⁠8 .2. CDI Integ ratio n

29

30

Prot ocol (S- RAMP) reposit ory 32

⁠9 .1. Dep lo ying Red Hat JBo ss BPM Suite artifacts to SO A Rep o sito ry Artifact Mo d el and Pro to co l (S-

RAMP) using Maven 32

⁠9 .2. Dep lo ying Red Hat JBo ss BPM Suite artifacts to SO A Rep o sito ry Artifact Mo d el and Pro to co l

(S-RAMP) using g rap hical user interface (G UI)

34

⁠10 .1. Sessio n

35

1

16

16

16

17

13

14

14

15

8

10

10

11

19

20

22

22

25

25

26

27

Red Hat JBoss BPM Suit e 6 .0 Administ rat ion And Configurat ion G uide

⁠10 .1. Sessio n

⁠10 .2. Pro cess Instance

⁠10 .3. Wo rk Item

⁠10 .4. Persistence co nfig uratio n

⁠11.1. Lo g g ing events to d atab ase

⁠12.1. Availab le Lang uag es

⁠12.2. Chang ing lang uag e setting s

⁠12.3. Running the JVM with UTF-8 Enco d ing

⁠13.1. Assig nment rules

⁠13.2. Mail sessio n

⁠14.1. Plug -in

⁠15.1. JBo ss O p eratio ns Netwo rk

⁠15.2. Installing the BRMS Plug -in into JBo ss O N

⁠15.3. Mo nito ring Kie Bases and Kie Sessio ns

⁠16 .1. Accessing Red Hat JBo ss BPM Suite Dashb uild er

⁠16 .2. Manag ing security

⁠16 .3. Wo rksp ace p ermissio ns

⁠16 .4. Pag e p ermissio ns

⁠16 .5. Panel p ermissio ns

48

49

51

55

55

55

57

58

53

53

53

35

36

36

37

42

45

45

46

2

⁠Part I. Introduction

⁠Part I. Int roduct ion

3

Red Hat JBoss BPM Suit e 6 .0 Administ rat ion And Configurat ion G uide

Chapter 1. Business Process Model and Notation

Business Process Model and Notation (BPMN) is a standard notation for business process modeling. It aspires to link the gap between business analysts and programmers by providing a workflow language that can be clearly understood by both.

Report a bug

1.1. About Red Hat JBoss BPM Suit e

Red Hat JBoss BPM Suite is an open source business process management suite that combines

Business Process Management and Business Rules Management and enables business and IT users to create, manage, validate, and deploy Business Processes and Rules.

Red Hat JBoss BRMS and Red Hat JBoss BPM Suite use a centralized repository where all resources are stored. This ensures consistency, transparency, and the ability to audit across the business.

Business users can modify business logic without requiring assistance from IT personnel.

To accommodate Business Rules component, Red Hat JBoss BPM Suite includes integrated Red Hat

JBoss BRMS.

Business Resource Planner is included as a technical preview with this release.

Report a bug

1.2. Component s

Red Hat JBoss BPM Suite integrates multiple components to support business processes throughout their entire life cycle and to provide process management features and tools for business analysts, developers, and business users. The product can be deployed on various JEE-compliant servers; the recommended option is Red Hat JBoss Enterprise Application Platform 6.

Red Hat JBoss BPM Suite consists of the following main components:

Executi o n Eng i ne - provides the runtime environment for Processes and Business Rules. It encompasses a workflow library that can be embedded into a user web application. Runtime manager is the root object and contains the following components:

R unti me Eng i ne - implements the core behavior of the computer language and it is provided by the runtime manager.

P ro cess Eng i ne - is the environment for business process model execution.

T ask Servi ce - handles human task lifecycles.

R ul e Eng i ne - can be used with the process engine or on its own.

R ul es Eval uati o n - executes business rules on the provided set of facts.

C o mpl ex Event P ro cessi ng - applies business rules on incoming stream of events.

Busi ness C entral - a web-based application that accommodates tooling for asset creation, management, and monitoring by providing an integrated web environment.

Asset R epo si to ry - is the central sharing location (Knowledge Store) for business assets, processes, rules, forms, etc. Users access this repository through the Project Explorer view of

Business Central via Au t h o rin g Pro ject Au t h o rin g . By default, the product initializes a

4

⁠Chapt er 1 . Business Process Model and Not at ion

local GIT repository as its Asset Repository. However, other repositories may be added or removed as necessary.

Arti fact R epo si to ry - is a Maven based repository for storage of project jar artifacts.

Executi o n Server - provides an execution environment for business process instances and tasks.

Busi ness Acti vi ty Mo ni to r - provides customizable view on business performance.

Note

Red Hat JBoss BRMS comes with its own Business Central application that is a subset of the

Business Central application in Red Hat JBoss BPM Suite.

Report a bug

1.3. Use Case: Process

​-based solut ions in t he loan indust ry

Red Hat JBoss BPM Suite (BPMS) can be deployed to automate business processes, such as automating the loan approval process at a retail bank. This is a typical 'Specific Process-Based' deployment that might be the first step in a wider adoption of BPM throughout an enterprise. It leverages both the BPM and business rules features of BPMS.

A retail bank offers several types of loan products each with varying terms and eligibility requirements. Customers requiring a loan must file a loan application with the bank, which then processes the application in several steps, verifying eligibility, determining terms, checking for fraudulent activity, and determining the most appropriate loan product. Once approved, the bank creates and funds a loan account for the applicant, who can then access funds. The bank must be sure to comply with all relevant banking regulations at each step of the process, and needs to manage its loan portfolio to maximize profitability. Policies are in place to aid in decision making at each step, and those policies are actively managed to optimize outcomes for the bank.

Business analysts at the bank model the loan application processes using the BPMN2 authoring tools (Process Designer) in BPM Suite:

Fig u re 1.1. Hig h - level lo an ap p licat io n p ro cess f lo w

Business rules are developed with the rule authoring tools in BPM Suite to enforce policies and make decisions. Rules are linked with the process models to enforce the correct policies at each process step.

5

Red Hat JBoss BPM Suit e 6 .0 Administ rat ion And Configurat ion G uide

The bank's IT organization deploys the BPM Suite so that the entire loan application process can be automated.

Fig u re 1.2. Lo an Ap p licat io n Pro cess Au t o mat io n

The entire loan process and rules can be modified at any time by the bank's business analysts. The bank is able to maintain constant compliance with changing regulations, and is able to quickly introduce new loan products and improve loan policies in order to compete effectively and drive profitability.

Report a bug

6

⁠Part II. Configuration

⁠Part II. Configurat ion

7

Red Hat JBoss BPM Suit e 6 .0 Administ rat ion And Configurat ion G uide

Chapter 2. Business Central configuration

As Business Central is a web application, any configuration settings are loaded from

DEPLOY_DIRECTORY/busi ness-central . war/WEB-INF/web. xml and the referenced files, and if deployed on Red Hat JBoss EAP 6, also in jbo ss-web. xml and jbo ss-d epl o yment-

structure. xml .

Note that the entire application can be run in different profiles (refer to Red Hat JBoss BPMS Installation

Guide).

Report a bug

2.1. Access cont rol

The access control mechanism includes authorization and authentication. In the unified environment of Red Hat JBoss BPM Suite, users are able to update the default user roles located within

$JBOSS_HOME/stand al o ne/d epl o yments/busi ness-central . war/WEB-

INF/cl asses/useri nfo . pro perti es.

To grant a user access to BPMS, the user needs to have the respective role assigned:

ad mi n: administrates BPMS system and has full access rights to make any changes necessary including the ability to add and remove users from the system.

d evel o per: implements code required for processes to work and has access to everything except administration tasks.

anal yst: creates and designs processes and forms and instantiates the processes. This role is the similar to a developer, without access to asset repository and deployments.

user: claims, performs, and invokes other actions (such as, escalation, rejection, etc.) on the assigned Tasks and has no access to authoring functions.

manag er: monitors the system and its statistics and only has access to the dashboard.

busi ness user: takes action on business tasks that are required for processes to continue forward. Works primarily with the task list.

If using Red Hat JBoss EAP, to create a user with particular roles, run the $JBOSS_HOME/ad d -

user. sh script and create an Application User in the Appl i cati o nR eal m with the respectives roles.

Workbench Configurat ion

Within the Red Hat JBoss BPM Suite, users may set up roles using LDAP to modify existing roles.

Users may modify the roles in the workbench configuration to ensure the unique LDAP based roles conform to enterprise standards by editing the deployments directory located at $JBOSS_HOME

busi ness-central . war/WEB-INF/cl asses/wo rkbench-po l i cy. pro peti es

Aut hent icat ion in Human T asks

Every Task that needs to be executed is assigned to one or multiple roles or groups, so that any user with the given role or the given group assigned can claim the Task instance and execute it. Tasks can also be assigned to one or multiple users directly. Such roles are created by the application container.

8

⁠Chapt er 2 . Business Cent ral configurat ion

Warning

A group for a Human Task must not be named after an existing user of the system. Doing so causes intermittent issues.

Report a bug

9

Red Hat JBoss BPM Suit e 6 .0 Administ rat ion And Configurat ion G uide

Chapter 3. Command line configuration

The ki e-co nfi g -cl i tool is a command line configuration tool that provides capabilities to manage the system repository from the command line and can be used in an online or offline mode.

1. O nl i ne mo d e (default and recommended) - on startup, the tool connects to a Git repository using a Git server provided by ki e-wb. All changes are made locally and published to upstream only after explicitly executing the push-changes command. Use the exit command to publish local changes. To discard local changes on exit, use the discard command.

2. O ffl i ne mo d e (a kind of installer style) - creates and manipulates the system repository directly on the server (there is no discard option).

The tool is available on the Red Hat Customer Portal . To download the kie-config-cli tool, do the following:

1. Go to the Red Hat Customer Portal and log in.

2. Click Do wn lo ad sPro d u ct s Do wn lo ad s.

3. In the P ro d uct D o wnl o ad s page that opens, click R ed Hat JBo ss BP M Sui te.

4. From the Versi o n drop-down menu, select 6.0.3.

5. In the displayed table, navigate to the Suppl ementary T o o l s row and then click

D o wnl o ad .

Extract the zip package for supplementary tools you downloaded from the Red Hat Customer Portal .

It contains the directory ki e-co nfi g -cl i -6 . MINOR_VERSION-red hat-x-d i st with file ki e-

co nfi g -cl i . sh.

Report a bug

3.1. St art ing t he kie-config-cli t ool in online mode

1. To start the kie-config-cli tool in online mode, navigate to the ki e-co nfi g -cl i -

6 . MINOR_VERSION-red hat-x-d i st directory where you installed the tool and then execute the following command.

2. In a Unix environment run:

./kie-config-cli.sh

In a Windows environment run:

./kie-config-cli.bat

By default, the tool starts in online mode and asks for a Git URL to connect to (the default value is git://localhost/system). To connect to a remote server, replace the host and port with appropriate values. Example: g i t: //ki e-wb-ho st: 9 14 8/system

Report a bug

3.2. St art ing t he kie-config-cli t ool in offline mode

10

⁠Chapt er 3. Command line configurat ion

To operate in offline mode, append the offline parameter to the command as below.

1. Navigate to the ki e-co nfi g -cl i -6 . MINOR_VERSION-red hat-x-d i st directory where you installed the tool.

2. In a Unix environment, run:

./kie-config-cli.sh offline

In a Windows environment, run:

./kie-config-cli.bat offline

Executing this command changes the tool's behaviour and displays a request to specify the folder where the system repository (. ni o g i t) is located. If .niogit does not yet exist, the folder value can be left empty and a brand new setup is created.

Report a bug

3.3. Commands available for t he kie-config-cli t ool

The following commands are available for managing the GIT repository using the kie-config-cli tool:

ad d -d epl o yment - adds a new deployment unit

ad d -repo -o rg -uni t - adds a repository to the organizational unit

ad d -ro l e-o rg -uni t - adds role(s) to an organizational unit

ad d -ro l e-pro ject - adds role(s) to a project

ad d -ro l e-repo - adds role(s) to a repository

create-o rg -uni t - creates new organizational unit

create-repo - creates a new git repository

d i scard - does not publish local changes, cleans up temporary directories and closes the tool

exi t - publishes work, cleans up temporary directories and closes the tool

hel p - prints available commands with descriptions

l i st-d epl o yment - lists available deployments

l i st-o rg -uni ts - lists available organizational units

l i st-repo - lists available repositories

push-chang es - pushes changes to upstream repository (in online mode only)

remo ve-d epl o yment - removes existing deployment

remo ve-o rg -uni t - removes existing organizational unit

remo ve-repo - removes an existing repository from config only

remo ve-repo -o rg -uni t - removes a repository from the organizational unit

11

Red Hat JBoss BPM Suit e 6 .0 Administ rat ion And Configurat ion G uide

remo ve-ro l e-o rg -uni t - removes role(s) from an organizational unit

remo ve-ro l e-pro ject - removes role(s) from a project

remo ve-ro l e-repo - removes role(s) from a repository

Report a bug

12

⁠Chapt er 4 . Migrat ion

Chapter 4. Migration

Migrating your projects from BRMS 5 to BPMS 6 requires careful planning and step by step evaluation of the various issues.

Because BPMS 6 uses GIT for storing assets, artifacts and code repositories including processes and rules, you should start by creating an empty project in BPMS 6 as the basis for your migration with dummy files as placeholders for the various assets and artifacts. Running a GIT clone of this empty project into your favorite IDE will initiate the migration process.

Based on the placeholder files in your cloned project, you can start adding assets at the correct locations. The BPMS 6 system is smart enough to pick these changes and apply them correctly.

Make sure that when you are importing old rule files that they are imported with the right package name structure.

Since Maven is used for building projects, the projects assets like the rules, processes and models are accessible as a simple jar file.

Let's get started with the simple data migration step, which migrates your BRMS 5 repository from the

JCR Jackrabbit to a GIT backend in the new BPMS 6.

Report a bug

4 .1. Dat a Migrat ion

To migrate data from JBoss BRMS 5, do the following:

1. Download the migration tool by logging in at the Red Hat Customer Portal and then navigating to Red Hat JBoss BPM Suite Software Downloads section. Click on R ed Hat

JBo ss BP M Sui te Mi g rati o n T o o l to download the zip archive.

2. Unzip the downloaded zip archive in a directory of your choice, navigate to this directory in a command prompt and then run the following command:

./bin/runMigration.sh -i <source-path> -o <destination-path> -r

<repository-name>

Where:

<so urce-path> is a path to a source JCR repository.

<d esi ntati o n-path> is a path to a destination GIT VFS. This folder must not exist already.

<repo si to ry-name> an arbitrary name for the new repository.

The repository is migrated at the specified destination.

Import ing t he reposit ory in Business Cent ral

The repository can be imported in business central by cloning it. In the Adminstration perspective, click on the Rep o sit o ries menu and then click on Clo n e Rep o sit o ry menu to start the process.

13

Red Hat JBoss BPM Suit e 6 .0 Administ rat ion And Configurat ion G uide

Note

Assets can also be migrated manually. After all, they are all just text files. The BPMN2 specification and the DRL syntax did not change between the different versions.

Import ing t he reposit ory in JBDS

To import the repository in JBoss Developer Studio, do the following

1. Start JBoss Developer Studio.

2. Start the Red Hat JBoss BPM Suite server (if not already running) by selecting the server from the server tab and click the start icon.

3. Select FileImp o rt ... and navigate to the Git folder. Open the Git folder to select Pro ject s

f ro m G it and click next.

4. Select the repository source as Exist in g lo cal rep o sit o ry and click next.

5. Select the repository that is to be configured from the list of available repositories.

6. Import the project as a general project in the next window and click next. Name this project and click Finish.

Report a bug

4 .2. Runt ime Migrat ion

To run BPMS 5 processes to BPMS 6, do the following:

1. Set the system property jbpm. v5. i d . strateg y to true in the BPMS stand al o ne. xml :

<property name="jbpm.v5.id.strategy" value="true"/>

2. Load the KieSession like the following:

KieSession ksession =

JPAKnowledgeService.loadStatefulKnowledgeSession(sessionID, kbase, sessionConf, env);

3. Continue the normal execution of the process using KieSession methods: ksession.signalEvent("SomeEvent", null);

Report a bug

4 .3. API and Backwards Compat ibilit y

The BPMS 6 system provides backward compatibility with the rule, event and process interactions from BRMS 5. You should eventually migrate (rewrite) these interactions to the all new revamped core

API because this backward compatibility is likely to be deprecated.

14

⁠Chapt er 4 . Migrat ion

If you can't migrate your code to use the new API, then you can use the API provided by the purpose built kno wl ed g e-api jar for backwards compatible code. This API is the public interface for working with BPMS and BRMS and is backwards compatible.

If you are instead using the REST API in BRMS 5, note that this has changed as well and there is no mechanism in it for backwards compatibility.

Report a bug

4 .4 . Migrat ing t ask service

BPMS 6 provides support for a locally running task server only. This means that you don't need to setup any messaging service in your project. This differs from BRMS 5 because it provided a task server that was bridged from the core engine by using, most commonly, the messaging system provided by HornetQ.

To help you bridge the gap until you can migrate this in your current architecture, there is a helper or utility method, Lo cal HT Wo rkItemHand l er.

Since the TaskService API is part of the public API you will now need to refactor your imports because of package changes and refactor your methods due to API changes themselves.

Report a bug

15

Red Hat JBoss BPM Suit e 6 .0 Administ rat ion And Configurat ion G uide

Chapter 5. Data management

5.1. Dat a backups

When applying a backup mechanism to Red Hat JBoss BPMS make sure you back up the following resources: any customized deployment descriptors (such as, web. xml , jbo ss-web. xml , jbo ss. xml ) any customized properties files

Note

Consider backing up the entire busi ness-central . war and d ashbui l d er. war files.

Report a bug

5.2. Set up Indexes

Set up foreign key indexes

Some databases, for instance Oracle and Postgres, do not automatically create an index for each foreign key. This can result in deadlocks occurring. To avoid this situation it is necessary to create an index on all foreign keys, especially in the Oracle database.

Report a bug

5.3. Set t ing up t he Dat abase

Dashbuilder application requires an existing database, previously created before running the application. To create a database you can use any database client tool and run the following commands:

Po st g res

The following sql sentence is used to create a Postgres database:

CREATE DATABASE dashbuilder

WITH ENCODING='UTF8'

OWNER=dashbuilder

CONNECTION LIMIT=-1

16

Note

The database encoding must be UTF8

DB2

DB2 database can be created using the following sql sentence:

⁠Chapt er 5. Dat a management

CREATE DATABASE dashb PAGESIZE 16384

Note

The default pagesize for DB2 systems is 4k which is not enough for the dashbuilder table columns size. The pagesize should be forced to 16384 as shown in the above sentence.

Once the database is created, the application server datasource must be configured. You must edit the JBoss EAP configuration file and configure the datasource subsystem as the following examples:

<datasource jndi-name="java:jboss/datasources/jbpmDS" enabled="true" usejava-context="true" pool-name="postgresqlDS">

<connection-url>jdbc:postgresql://localhost/test</connection-url>

<driver>postgresql</driver>

<pool></pool>

<security>

<user-name>sa</user-name>

<password>sa</password>

</security>

</datasource>

<drivers>

<driver name="postgresql" module="org.postgresql">

<xa-datasource-class>org.postgresql.xa.PGXADataSource</xadatasource-class>

</driver>

</drivers>

Report a bug

5.4 . Edit ing t he Dat abase

Dashbuilder requires the JBoss BPM Suite to have history log's database tables. It is mandatory to deploy the Human Task console (or a superset, i.e: kie-wb) first. Otherwise, the Dashboard will not be initialized correctly and it will not be possible to display its key performance indicators.

By default, the application is configured to use a datasource with the following JNDI name: java:jboss/datasources/ExampleDS

This is specified in JBoss EAP's configuration file; for example, stand al o ne. xml .

Note

This datasource is intended for development/demo purposes; it is present by default in any

JBoss installation.

If you want to deploy on a database different from H2 like Oracle, MySQL, Postgres or MS SQL

Server, please perform the following steps:

17

Red Hat JBoss BPM Suit e 6 .0 Administ rat ion And Configurat ion G uide

Pro ced u re 5.1. Ch an g in g Dat ab ase

1. Install the database driver on JBoss (refer to JBoss driver documentation).

2. Create an empty database and a JBoss data source which connects to the database driver.

3. Modify the file d ashbui l d er. war/WEB-INF/jbo ss-web. xml :

<jboss-web>

<context-root>/dashbuilder</context-root>

<resource-ref>

<res-ref-name>jdbc/dashbuilder</res-ref-name>

<res-type>javax.sql.DataSource</res-type>

<jndi-name>java:jboss/datasources/myDataSource</jndi-name>

</resource-ref>

...

4. Replace the jndi-name parameter value by the JNDI path of the JBoss data source you've just created.

5. Modify the file d ashbui l d er. war/WEB-INF/jbo ss-d epl o yment-structure. xml

6. Add the following snippet of configuration inside the d epl o yment tag, where

jd bcD ri verMo d ul eName is the name of the JBoss JDBC driver module:

<dependencies>

<module name="jdbcDriverModuleName" />

</dependencies>

Report a bug

18

Chapter 6. Asset repository

Business Rules, Process definition files and other assets and resources created in Business Central are stored in Asset repository, which is otherwise known as the Knowledge Store.

Knowledge store is a centralized repository for your business knowledge. It connects with the GIT repository that allows you to store different kinds of knowledge assets and artifacts at a single location. Business Central provides a web front-end that allows users to view and update the stored content. You can access it using the P ro ject Expl o rer from the unified environment of Red Hat

JBoss BPM Suite.

Report a bug

6.1. Creat ing a reposit ory

⁠Chapt er 6 . Asset reposit ory

Rights for creating a repository

Note that only user with the AD MIN role can create a repository.

Pro ced u re 6 .1. Creat in g a New Rep o sit o ry

1. Open the Ad mi ni strati o n perspective: on the main menu, click Au t h o rin g

Ad min ist rat io n .

2. On the perspective menu, click Rep o sit o riesNew Rep o sit o ry.

3. The C reate R epo si to ry pop-up window is displayed.

19

Red Hat JBoss BPM Suit e 6 .0 Administ rat ion And Configurat ion G uide

Fig u re 6 .1. Creat e Rep o sit o ry Po p - u p

4. Enter the mandatory details:

Repository name.

Note

Note that the repository name should be a valid filename. Avoid using a space or any special character that might lead to an invalid folder name.

Select an organizational unit in which the repository is to be created from the

O rg ani zati o nal Uni t drop-down option.

5. Click C reate

6. A confirmation prompt with an O K button is displayed which notifies the user that the repository is created successfully. Click O K.

The new repository can be viewed either in the Fi l e Expl o rer or P ro ject Expl o rer views.

Report a bug

6.2. Cloning a reposit ory

20

Rights for cloning a repository

Note that only user with the AD MIN role can clone a repository.

Pro ced u re 6 .2. Clo n in g a rep o sit o ry

1. Open the Ad mi ni strati o n perspective.

2. On the R epo si to ri es menu, select Clo n e rep o sit o ry.

3. The C l o ne R epo si to ry pop-up window is displayed.

⁠Chapt er 6 . Asset reposit ory

Fig u re 6 .2. Clo n e Rep o sit o ry Po p - u p

4. In the C l o ne R epo si to ry dialog window, enter the repository details: a. Enter the R epo si to ry Name to be used as the repository identifier in the Asset repository and select the O rg ani zati o nal Uni t it should be added to.

21

Red Hat JBoss BPM Suit e 6 .0 Administ rat ion And Configurat ion G uide

b. Enter the URL of the GIT repository:

For a Local Repository: fi l e: ///path-to-repository/reponame

For a Remote or preexisting Repository: g i t: //hostname/reponame

Note

The file protocol is only supported for 'READ' operations. 'WRITE' operations are not supported.

c. If applicable, enter the User Name and P asswo rd to be used for authentication when cloning the repository.

5. Click C l o ne.

6. A confirmation prompt with an O K button is displayed which notifies the user that the repository is created successfully. Click O K.

The cloned repository can be checked either in the Fi l e Expl o rer or P ro ject Expl o rer views.

Report a bug

6.3. Removing a reposit ory

To remove a repository form the Knowledge Store, issue the D ELET E REST API call. This call relies on the user having created an authenticated HTTP session before issuing this command.

Examp le 6 .1. Remo vin g a rep o sit o ry u sin g cu rl

curl -H 'Accept: application/json' -H 'Content-Type: application/json'

-X DELETE 'localhost:8080/businesscentral/rest/repositories/REPOSITORY_NAME'

Report a bug

6.4 . Syst em Configurat ion

To change system properties, such as SSH configuration, do the following in WildFly of JBoss EAP cluster:

Pro ced u re 6 .3. Ch an g in g Syst em Pro p ert ies

1. Edit the file $JBO SS_HO ME/d o mai n/co nfi g urati o n/ho st. xml

2. Locate the XML elements server that belong to the main-server-group and add a system property, for example:

<system-properties>

<property name="org.uberfire.nio.git.dir" value="..." boottime="false"/>

22

⁠Chapt er 6 . Asset reposit ory

...

</system-properties>

Listed below are a list of all system properties:

o rg . uberfi re. ni o . g i t. d i r: Location of the directory .niogit. Default: working directory

o rg . uberfi re. ni o . g i t. d aemo n. enabl ed : Enables/disables git daemon. Default: true

o rg . uberfi re. ni o . g i t. d aemo n. ho st: If git daemon enabled, uses this property as local host identifier. Default: localhost

o rg . uberfi re. ni o . g i t. d aemo n. po rt: If git daemon enabled, uses this property as port number. Default: 9418

o rg . uberfi re. ni o . g i t. ssh. enabl ed : Enables/disables ssh daemon. Default: true

o rg . uberfi re. ni o . g i t. ssh. ho st: If ssh daemon enabled, uses this property as local host identifier. Default: localhost

o rg . uberfi re. ni o . g i t. ssh. po rt: If ssh daemon enabled, uses this property as port number. Default: 8001

o rg . uberfi re. ni o . g i t. ssh. cert. d i r: Location of the directory .security where local certtificates will be stored. Default: working directory

o rg . uberfi re. metad ata. i nd ex. d i r: Place where Lucene .index folder will be stored.

Default: working directory

o rg . uberfi re. cl uster. i d : Name of the helix cluster, for example: kie-cluster

o rg . uberfi re. cl uster. zk: Connection string to zookeeper. This is of the form host1:port1,host2:port2,host3:port3, for example: localhost:2188

o rg . uberfi re. cl uster. l o cal . i d : Unique id of the helix cluster node, note that ':' is replaced with '_', for example: node1_12345

o rg . uberfi re. cl uster. vfs. l o ck: Name of the resource defined on helix cluster, for example: kie-vfs

o rg . uberfi re. cl uster. auto start: Delays VFS clustering until the application is fully initialized to avoid conflicts when all cluster members create local clones. Default: false

o rg . uberfi re. sys. repo . mo ni to r. d i sabl ed : Disable configuration monitor (do not disable unless you know what you're doing). Default: false

o rg . uberfi re. secure. key: Secret password used by password encryption. Default: org.uberfire.admin

o rg . uberfi re. secure. al g : Crypto algorithm used by password encryption. Default:

PBEWithMD5AndDES

o rg . g uvno r. m2repo . d i r: Place where Maven repository folder will be stored. Default: working-directory/repositories/kie

o rg . ki e. exampl e. repo si to ri es: Folder from where demo repositories will be cloned. The demo repositories need to have been obtained and placed in this folder. Demo repositories can be obtained from the kie-wb-6.0.1.Final-example-repositories.zip artifact. This System Property takes precedence over org.kie.demo and org.kie.example. Default: Not used.

23

Red Hat JBoss BPM Suit e 6 .0 Administ rat ion And Configurat ion G uide

o rg . ki e. d emo : Enables external clone of a demo application from GitHub. This System

Property takes precedence over org.kie.example. Default: true

o rg . ki e. exampl e: Enables example structure composed by Repository, Organization Unit and

Project. Default: false

Report a bug

24

⁠Chapt er 7 . Process export and import

Chapter 7. Process export and import

7.1. Creat ing a Process definit ion

Make sure you have logged in to JBoss BPMS or you are in JBoss Developer Studio with the repository connected.

To create a Process, do the following:

1. Open the Project Authoring perspective (Au t h o rin g Pro ject Au t h o rin g ).

2. In P ro ject Expl o rer (Pro ject Au t h o rin g Pro ject Exp lo rer), navigate to the project where you want to create the Process definition (in the P ro ject view, select the respective repository and project in the drop-down lists; in the R epo si to ry view, navigate to

REPOSITORY/PROJECT/src/mai n/reso urces/ directory).

Creating packages

It is recommended to create your resources, including your Process definitions, in a package of a Project to allow importing of resources and their referencing. To create a package, do the following:

In the R epo si to ry view of the Project Explorer, navigate to the

REPOSITORY/PROJECT/src/mai n/reso urces/ directory.

Go to New It emPackag e.

In the New reso urce dialog, define the package name and check the location of the package in the repository.

3. From the perspective menu, go to New It emBu sin ess Pro cess.

4. In the New P ro cesses dialog box, enter the Process name and click O K. Wait until the

Process Editor with the Process diagram appears.

Report a bug

7.2. Import ing a Process definit ion

To import an existing BPMN2 or JSON definition, do the following:

1. In the P ro ject Expl o rer, select a Project and the respective package to which you want to import the Process definition.

2. Create a new Business Process to work in by going to New It emBu sin ess Pro cess.

3. In the Process Designer toolbar, click the Impo rt icon in the editor toolbar and pick the format of the imported process definition. Note that you have to choose to overwrite the existing process definition in order to import.

4. From the Impo rt window, locate the Process file and click Impo rt.

25

Red Hat JBoss BPM Suit e 6 .0 Administ rat ion And Configurat ion G uide

Fig u re 7.1. Imp o rt Win d o w

Whenever a process definition is imported, the existing imported definition is overwritten. Make sure you are not overwriting a process definition you have edited so as not to lose any changes.

A process can also be imported to the git repository in the filesystem by cloning the repository, adding the process files, and pushing the changes back to git. In addition to alternative import methods, you can copy and paste a process or just open a file in the import dialog.

When importing processes, the Process Designer provides visual support for Process elements and therefore requires information on element positions on the canvas. If the information is not provided in the imported Process, you need to add it manually.

Report a bug

7.3. Import ing jPDL 3.2 t o BPMN2

To migrate and import a jPDL definition to BPMN2, in the Process Designer, click on the import button then scroll down and select Mi g rate jP D L 3. 2 to BP MN2.

Fig u re 7.2. Mig rat e jPDL 3.2 t o BPMN2

In the Mi g rate to BP MN2 dialog box, select the process definition file and the name of the g pd file.

Confirm by clicking the Mi g rate button.

26

⁠Chapt er 7 . Process export and import

Fig u re 7.3. Mig rat e t o BPMN2 d ialo g b o x

Report a bug

7.4 . Export ing a process

Pro ced u re 7.1. Exp o rt in g a b u sin ess p ro cess

To export a business process, do the following:

1. Open the P ro ject Autho ri ng perspective: on the main menu, click Au t h o rin g Pro ject

Au t h o rin g .

2. Select the business process which is to be exported, to view it in the Process Designer.

3. Click on the ( ) button of the process designer toolbar and select Vi ew P ro cess

So urces from the drop-down options.

4. The P ro cess So urces window is displayed

5. Click on the D o wnl o ad BP MN2 button and save the business process at the desired location.

Report a bug

27

Red Hat JBoss BPM Suit e 6 .0 Administ rat ion And Configurat ion G uide

⁠Part III. Integration

28

⁠Chapt er 8 . Int egrat ion

Chapter 8. Integration

Red Hat JBoss BPM Suite provides integration modules for integrating BPMS with other frameworks, namely Spring and Apache Camel. These modules are provided in the generic deployment package.

See Installation Guide for more details.

This section provides information about these modules and how to configure them.

Report a bug

8.1. Configuring Red Hat JBoss BPM Suit e wit h Apache Spring

Refer to the Red Hat JBoss BPM Suite Installation Guide to download the Apache Spring module.

You will need to download the generic deployable version of BPMS.

The Spring module is present in the jbo ss-bpms-eng i ne. zi p file and is called ki e-spri ng -

VER SIO N-red hat-MINO R VER SIO N. jar.

How you intend to use the Spring modules in your application affects how you configure them.

As a Self Managed Process Engine

This is the standard way to start using BPMS in your Spring application. You only configure it once and run as part of the application. Using R unti meManag er API, perfect synchronization between process engine and task service is managed internally and the end user does not have to deal with the internal code to make these two work together.

As a Shared T ask Service

When you use a single instance of a T askServi ce, you have more flexibility in configuring the task service instance as it is independent of the R unti meManag er. Once configured it is then used by the

RuntimeManager when requested.

To create a RuntimeEnvironment from your Spring application, you can use the

o rg . ki e. spri ng . facto rybeans. R unti meEnvi ro nmentFacto ryBean class. This factory class is responsible for producing instances of R unti meEnvi ro nment that are consumed by

RuntimeManager upon creation. Illustrated below is a configured RuntimeEnvironment with the entity manager, transaction manager, and resources for the class

o rg . ki e. spri ng . facto rybeans. R unti meEnvi ro nmentFacto ryBean:

<bean id="runtimeEnvironment" class="org.kie.spring.factorybeans.RuntimeEnvironmentFactoryBean">

<property name="type" value="DEFAULT"/>

<property name="entityManagerFactory" ref="jbpmEMF"/>

<property name="transactionManager" ref="jbpmTxManager"/>

<property name="assets">

<map>

<entry key-ref="process"><util:constant staticfield="org.kie.api.io.ResourceType.BPMN2"/></entry>

</map>

</property>

</bean>

The following RuntimeEnvironment can be created or configured:

29

Red Hat JBoss BPM Suit e 6 .0 Administ rat ion And Configurat ion G uide

DEFAULT - default (most common) configuration for RuntimeManager

EMPTY - completely empty environment to be manually populated

DEFAULT_IN_MEMORY - same as DEFAULT but without persistence of the runtime engine

DEFAULT_KJAR - same as DEFAULT but knowledge asset are taken from KJAR identified by releaseid or GAV

DEFAULT_KJAR_CL - build directly from classpath that consists kmodule.xml descriptor

Depending upon the selected type, there are different mandatory properties that are required.

However, at least one of the following knowledge properties must be provided: knowledgeBase assets releaseId groupId, artifactId, version

Finally, for DEFAULT, DEFAULT_KJAR, DEFAULT_KJAR_CL types, persistence needs to be configured in the form of values for enti ty manag er facto ry and transacti o n manag er.

Illustrated below is an example RuntimeManager for

o rg . ki e. spri ng . facto rybeans. R unti meManag erFacto ryBean:

<bean id="runtimeManager" class="org.kie.spring.factorybeans.RuntimeManagerFactoryBean" destroymethod="close">

<property name="identifier" value="spring-rm"/>

<property name="runtimeEnvironment" ref="runtimeEnvironment"/>

</bean>

Report a bug

8.2. CDI Int egrat ion

To make use of jbpm-kie-services in your system, you will need to provide some mbeans to satisfy all dependencies of the services. There are several mbeans that depend on actual scenarios.

entity manager and entity manager factory user group callback for human tasks identity provider to pass authenticated user information to the services

When running in JEE environment, like JBoss Application Server, the mbean should satisfy all requirements of the jbpm-kie-services public class EnvironmentProducer {

@ PersistenceUnit(unitName = "org.jbpm.domain")

private EntityManagerFactory emf;

@ Inject

@ Selectable

private UserGroupCallback userGroupCallback;

30

⁠Chapt er 8 . Int egrat ion

@ Produces

public EntityManagerFactory getEntityManagerFactory() {

return this.emf;

}

@ Produces

@ RequestScoped

public EntityManager getEntityManager() {

EntityManager em = emf.createEntityManager();

return em;

}

public void close(@ Disposes EntityManager em) {

em.close();

}

@ Produces

public UserGroupCallback produceSelectedUserGroupCalback() {

return userGroupCallback;

}

@ Produces

public IdentityProvider produceIdentityProvider {

return new IdentityProvider() {

// implement IdentityProvider

};

}

}

Then d epl o yments/busi ness-central . war/WEB-INF/beans. xml file may be configured to change the current settings of the new userg ro upcal l back implementation.

<beans xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://docs.jboss.org/cdi/beans_1_0.xsd">

<alternatives>

<class>org.jbpm.services.task.identity.JAASUserGroupCallbackImpl</class>

</alternatives>

</beans>

Note

o rg . jbpm. servi ces. task. i d enti ty. JAASUserG ro upC al l backImpl is just an example here to demonstrate the settings of the application server regardless of what it actually is (LDAP, DB, etc).

Report a bug

31

Red Hat JBoss BPM Suit e 6 .0 Administ rat ion And Configurat ion G uide

Chapter 9. Deploying Red Hat JBoss BPM Suite artifacts to SOA

Repository Artifact Model and Protocol (S-RAMP) repository

While BPMS and S-RAMP are two independent products, it is possible to move artifacts between them. You can move artifacts from BPMS to S-RAMP using Maven or via a user interface.

This section provides information about these two processes.

Report a bug

9.1. Deploying Red Hat JBoss BPM Suit e art ifact s t o SOA Reposit ory

Art ifact Model and Prot ocol (S-RAMP) using Maven

Before you can deploy Red Hat JBoss BPM Suite artifacts to S-RAMP using Maven, you will need to enable the S-RAMP Maven Wagon. The Maven Wagon is a key feature that supports the S-RAMP

Atom based REST API protocol. By enabling the S-RAMP Maven Wagon, users will be able to access artifacts from the S-RAMP repository as dependencies in a Maven project.

Enable the S-RAMP Maven Wagon by making an edit in the po m. xml file as shown below:

<build>

<extensions>

<extension>

<groupId>org.overlord.sramp</groupId>

<artifactId>s-ramp-wagon</artifactId>

<version>${s-ramp-wagon.version}</version>

</extension>

</extensions>

</build>

Once the S-RAMP Maven Wagon is enabled, you can deploy the BPMS artifacts to that S-RAMP repository. To do this, follow the steps below:

1. Clone the git repository where you have saved the BPM Suite project by running this command: git clone http://localhost:8001/REPOSITORY_NAME

2. On the command line, move into the folder that contains the project.

3. Follow the instructions in Red Hat JBoss Fuse Service Works 6 Development Guide, Volume 3:

Governance, section Deploying to S-RAMP. Use the URL from the example below:

<distributionManagement>

<repository>

<id>local-sramp-repo</id>

<name>S-RAMP Releases Repository</name>

<url>sramp://S-RAMP_SERVER_URL/s-ramp-server/</url>

</repository>

<snapshotRepository>

<id>local-sramp-repo-snapshots</id>

32

⁠Chapt er 9 . Deploying Red Hat JBoss BPM Suit e art ifact s t o SO A Reposit ory Art ifact Model and Prot ocol (S- RAMP) reposit ory

<name>S-RAMP Snapshots Repository</name>

<url>sramp://S-RAMP_SERVER_URL/s-ramp-server/</url>

</snapshotRepository>

</distributionManagement>

With these settings, Maven deployments are sent directly to the S-RAMP repository using the

S-RAMP API. Note that artifacts are added to the S-RAMP repository with an artifact type based on the Maven type of the project. You can override this behavior by adding a query parameter to the repository URL in the po m. xml file. For example:

<distributionManagement>

<repository>

<id>local-sramp-repo</id>

<name>S-RAMP Releases Repository</name>

<url>sramp://S-RAMP_SERVER_URL/s-ramp-server/?

artifactType=KieJarArchive</url>

</repository>

</distributionManagement>

The above example causes the Maven artifact to be uploaded with an S-RAMP artifact type of

KieJarArchive.

4. Amend the maven plug-in in file po m. xml and add a dependency to it as follows in case the project does not contain decision tables:

<plugins>

<plugin>

<groupId>org.kie</groupId>

<artifactId>kie-maven-plugin</artifactId>

<version>6.0.2-redhat-6</version>

<extensions>true</extensions>

<dependencies>

<dependency>

<groupId>org.jbpm</groupId>

<artifactId>jbpm-bpmn2</artifactId>

<version>6.0.2-redhat-6</version>

</dependency>

</dependencies>

</plugin>

</plugins>

If the project contains decision tables, use this dependency for the kie-maven-plugin instead:

<plugins>

<plugin>

<groupId>org.kie</groupId>

<artifactId>kie-maven-plugin</artifactId>

<version>6.0.2-redhat-6</version>

<extensions>true</extensions>

<dependencies>

<dependency>

<groupId>org.drools</groupId>

<artifactId>drools-decisiontables</artifactId>

<version>6.0.2-redhat-6</version>

33

Red Hat JBoss BPM Suit e 6 .0 Administ rat ion And Configurat ion G uide

</dependency>

</dependencies>

</plugin>

</plugins>

5. Run a clean Maven deployment using the following command: mvn -s sramp-settings.xml deploy

.

Note

For the Maven deployment to the S-RAMP repository, it is necessary to have credentials set in the setti ng s. xml file. For further details on the credentials, refer to Red Hat JBoss Fuse

Service Works (FSW) documentation on Authentication.

Report a bug

9.2. Deploying Red Hat JBoss BPM Suit e art ifact s t o SOA Reposit ory

Art ifact Model and Prot ocol (S-RAMP) using graphical user int erface

(GUI)

To deploy BPMS artifacts to a S-RAMP repository using the user interface, do the following:

1. In a web browser, navigate to http://localhost:8080/s-ramp-ui/ . If the user interface has been configured to run from a domain name, substitute l o cal ho st for the domain name. For example http://www.example.com:8080/s-ramp-ui/ .

2. Click on Arti facts.

3. In the Manag e Arti facts section, select Impo rt.

4. Locate the kie archive you want to deploy. In the dialog that opens, fill out Ki eJarArchi ve as the type, and select Impo rt.

5. The deployment then creates these entries in the S-RAMP repository:

Ki eJarArchi ve, from which it derives:

Ki eXml D o cument (if the archive contains kmo d ul e. xml )

BpmnD o cument (if the archive contains bpmn definitions)

D ro o l sD o cument (if the archive contains d rl definitions)

Report a bug

34

⁠Chapt er 1 0 . Persist ence

Chapter 10. Persistence

The runtime data of the Process Engine can be persisted in data stores. The persistence mechanism saves the data using marshalling: the runtime data is converted into a binary dataset and the dataset is saved in the data storage.

Note that persistence is not configured by default and the engine runs without persistence.

Custom marshalling mechanism

The runtime data is saved using marshalling (binary persistence). The marshalling mechanism is a custom serialization mechanism.

Red Hat JBoss BPMS will persist the following when persistence is configured:

Session state: this includes the session ID, date of last modification, the session data that business rules would need for evaluation, state of timer jobs.

Process instance state: this includes the process instance ID, process ID, date of last modification, date of last read access, process instance start date, runtime data (the execution status including the node being executed, variable values, etc.)and the eventtypes .

Work item runtime state: this includes the work item ID, creation date, name, process instance ID, and the work item state itself.

Based on the persisted data, it is possible to restore the state of execution of all running process instances in case of failure or to temporarily remove running instances from memory and restore them later. By default, no persistence is configured.

To allow persistence, you need to add the jbpm-persistence jar files to the classpath of your application and configure the engine to use persistence. The engine automatically stores the runtime state in the storage when the engine reaches a safe point. Safe points are points where the process instance has paused. When a process instance invocation reaches a safe point in the engine, the engine stores any changes to the process instance as a snapshot of the process runtime data.

However, when a process instance is completed, the persisted snapshot of process instance runtime data is automatically deleted.

If a failure occurs and you need to restore the engine runtime from the storage, the process instances are automatically restored and their execution resumes so there is no need to reload and trigger the process instances manually.

The runtime persistence data is to be considered internal to the engine. You should not access persisted runtime data or modify them directly as this might have unexpected side effects.

To obtain information about the current execution state, refer to the history log. Query the database for runtime data only if absolutely necessary.

Report a bug

10.1. Session

Sessions are persisted as sessi o ni nfo entities. These persist the state of the runtime knowledge session, and store the following data:

35

Red Hat JBoss BPM Suit e 6 .0 Administ rat ion And Configurat ion G uide

T ab le 10.1.

Field

id lastmodificationdate rulesbytearray startdate optlock

Descrip t io n

primary key last saved to data store binary dataset with session state (binary blob ) session start version number used lock value for optimistic locking

Nu llab le

false

N/A false

Report a bug

10.2. Process Inst ance

Process instances are persisted as P ro cessInstanceInfo entities, which persist the state of a process instance on runtime and store the following data:

T ab le 10.2.

Field

instanceid lastmodificationdate lastreaddate processid processinstancebytearray startdate optlock state

Descrip t io n

primary key last saved to data store last read from data store

ID of the process the instance is based on binary dataset with process instance state (binary blob )

Process instance start version number used lock value for optimistic locking

Process instance state

Nu llab le

false

N/A

N/A false false false

P ro cessInstanceInfo has a 1:N relationship to the EventT ypes entity.

The EventT ypes entity contains the following data:

T ab le 10.3.

Field

instanceid element

Descrip t io n

reference to the Process instance (foreign key to the

pro cessi nstancei nfo ) text field related to an event the

Process instance has undergone

Nu llab le

false

Report a bug

10.3. Work It em

36

⁠Chapt er 1 0 . Persist ence

Work Items are persisted as wo rki temi nfo entities, which persist the state of the particular work item instance on runtime and store the following data:

T ab le 10.4 .

Field

workitemid name processinstanceid state optlock workitembytearray creationDate

Descrip t io n

primary key work item name parent Process instance id integer representing work item state version number used lock value for optimistic locking binary dataset with work item state (binary blob ) timestampe on which the work item was created

Nu llab le

false false false false false

Report a bug

10.4 . Persist ence configurat ion

10.4 .1. Persist ence configurat ion

Although persistence is not used by default, the dependencies needed are available in the runtime directory as jar files .

Persistence is defined per session and you can define it either using the JBP MHel per class after you create a session or using the JP AKno wl ed g eServi ce to create your session. The latter option provides more flexibility, while JBP MHel per has a method to create a session, and uses a configuration file to configure this session.

Report a bug

10.4 .2. Configuring persist ence using JBPMHelper

To configure persistence of your session using JBPMHelper, do the following:

1. Define your application to use an appropriate JBPMHelper session construtor:

A. Ki eSessi o n ksessi o n = JBP MHel per. newKi eSessi o n(kbase);

B. Ki eSessi o n ksessi o n = JBP MHel per. l o ad Ki eSessi o n(kbase,

sessi o nId );

2. Configure the persistence in the jBP M. pro perti es file.

Examp le 10.1. A samp le jBPM.p ro p ert ies f ile wit h p ersist en ce f o r t h e in memo ry H2 d at ab ase

# for creating a datasource persistence.datasource.name=jdbc/jbpm-ds persistence.datasource.user=sa

37

Red Hat JBoss BPM Suit e 6 .0 Administ rat ion And Configurat ion G uide

persistence.datasource.password= persistence.datasource.url=jdbc:h2:tcp://localhost/~/jbpm-db persistence.datasource.driverClassName=org.h2.Driver

# for configuring persistence of the session persistence.enabled=true persistence.persistenceunit.name=org.jbpm.persistence.jpa

persistence.persistenceunit.dialect=org.hibernate.dialect.H2Diale

ct

# for configuring the human task service taskservice.enabled=true taskservice.datasource.name=org.jbpm.task

taskservice.transport=mina taskservice.usergroupcallback=org.jbpm.task.service.DefaultUserGro

upCallbackImpl

Any invocations on the session will now trigger the persistance process.

Make sure the datasource is up and running on engine start. If you are running the in-memory H2 database, you can start the database from your application using the

JBP MHel per. startH2Server(); method call and register it with the engine using

JBP MHel per. setupD ataSo urce(); method call.

Report a bug

10.4 .3. Configuring persist ence using JPAKnowledgeService

To create your knowledge session and configure its persistence using JPAKnowledgeService, do the following:

1. Define your application to use the knowledge session created by JPAKnowledgeService:

A. Define the session based on a knowledge base, a knowledge session configuration, and an environment. The environment must contain a reference to your Entity Manager

Factory:

// create the entity manager factory and register it in the environment

EntityManagerFactory emf =

Persistence.createEntityManagerFactory(

"org.jbpm.persistence.jpa" );

Environment env = KnowledgeBaseFactory.newEnvironment(); env.set( EnvironmentName.ENTITY_MANAGER_FACTORY, emf );

// create a new knowledge session that uses JPA to store the runtime state

KieSession ksession = JPAKnowledgeService.newKieSession( kbase, null, env ); int sessionId = ksession.getId();

// invoke methods on your method here ksession.startProcess( "MyProcess" ); ksession.dispose();

38

⁠Chapt er 1 0 . Persist ence

B. Define the session based on a specific session id.

// recreate the session from database using the sessionId ksession = JPAKnowledgeService.loadKieSession(sessionId, kbase, null, env );

2. Configure the persistence in the MET A-INF/persi stence. xml file: configure JPA to use

Hibernate and the respective database.

Information on how to configure data source on your application server should be available in the documentation delivered with the application server. For this information for JBoss

Enterprise Application Platform, see the Administration and Configuration Guide for this product.

Examp le 10.2. A samp le p ersist en ce.xml f ile wit h p ersist en ce f o r an H2 d at a so u rce jd bc/jbpm-d s

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>

<persistence

version="1.0"

xsi:schemaLocation=

"http://java.sun.com/xml/ns/persistence

http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd

http://java.sun.com/xml/ns/persistence/orm

http://java.sun.com/xml/ns/persistence/orm_1_0.xsd"

xmlns:orm="http://java.sun.com/xml/ns/persistence/orm"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns="http://java.sun.com/xml/ns/persistence">

<persistence-unit name="org.jbpm.persistence.jpa" transactiontype="JTA">

<provider>org.hibernate.ejb.HibernatePersistence</provider>

<jta-data-source>jdbc/jbpm-ds</jta-data-source>

<mapping-file>META-INF/JBPMorm.xml</mapping-file>

<class>org.drools.persistence.info.SessionInfo</class>

<class>org.jbpm.persistence.processinstance.ProcessInstanceInfo</c lass>

<class>org.drools.persistence.info.WorkItemInfo</class>

<properties>

<property name="hibernate.dialect" value="org.hibernate.dialect.H2Dialect"/>

<property name="hibernate.max_fetch_depth" value="3"/>

<property name="hibernate.hbm2ddl.auto" value="update"/>

<property name="hibernate.show_sql" value="true"/>

<property name="hibernate.transaction.manager_lookup_class" value="org.hibernate.transaction.BTMTransactionManagerLookup"/>

</properties>

</persistence-unit>

</persistence>

Any invocations on the session will now trigger the persistance process.

39

Red Hat JBoss BPM Suit e 6 .0 Administ rat ion And Configurat ion G uide

Make sure the datasource is up and running on engine start. If you are running the in-memory H2 database, you can start the database from your application using the

JBP MHel per. startH2Server(); method call and register it with the engine using

JBP MHel per. setupD ataSo urce(); method call.

Sample data source configuration for simple Java environment

If you are running JBoss BPMS in a simple Java environment, your data source configuration will be similar to the following:

PoolingDataSource ds = new PoolingDataSource(); ds.setUniqueName("jdbc/jbpm-ds"); ds.setClassName("bitronix.tm.resource.jdbc.lrc.LrcXADataSource"); ds.setMaxPoolSize(3); ds.setAllowLocalTransactions(true); ds.getDriverProperties().put("user", "sa"); ds.getDriverProperties().put("password", "sasa"); ds.getDriverProperties().put("URL", "jdbc:h2:tcp://localhost/~/jbpmdb"); ds.getDriverProperties().put("driverClassName", "org.h2.Driver"); ds.init();

Report a bug

4 0

⁠Chapt er 1 1 . Logging

Chapter 11. Logging

The logging mechanism allows you to store information about the execution of a process instance. It is provided by a special event listener that listens to the Process Engine for any relevant events to be logged, so that the information can be stored separately from other non-log information stored either in the server built-in database (h2) or a connected data source using JPA or Hibernate.

The jbpm-audit module provides the event listener and also allows you to store process-related information directly in a database using JPA or Hibernate. The data of the following entities is stored as follows:

Process instance as pro cessi nstancel o g

Element instance as no d ei nstancel o g

Variable instance as vari abl ei nstancel o g

T ab le 11.1. Field s o f t h e Pro cessIn st an ceLo g t ab le

Field

id end_date processid processinstanceid start_date status parentProcessInstanceId outcome

Descrip t io n Nu llab le

The primary key of the log entity No

The end date of the process instance

Yes

The name (id) of the underlying process

Yes

The id of the process instance No

The start date of the process instance

Yes

Yes The status of the process instance

The process instance id of the parent process instance if applicable

The outcome of the process instance (details on the process finish, such as error code)

Yes

Yes

T ab le 11.2. Field s o f t h e No d eIn st an ceLo g t ab le

Field

id log_date nodeid nodeinstanceid nodename processid processinstanceid

Descrip t io n Nu llab le

The primary key of the log entity No

The date of the event Yes

Yes The node id of the underlying

Process Element

The id of the node instance Yes

Yes The name of the underlying node

The id of the underlying process

The id of the parent process instance

Yes

No

4 1

Red Hat JBoss BPM Suit e 6 .0 Administ rat ion And Configurat ion G uide

Field

type

Descrip t io n

The type of the event (0 = enter event, 1 = exit event)

Nu llab le

No

T ab le 11.3. Field s o f t h e Variab leIn st an ceLo g t ab le

Field

id log_date processid processinstanceid value variableid variableinstanceid outcome

Descrip t io n Nu llab le

The primary key of the log entity No

The date of the event Yes

The name (id) of the underlying process

Yes

The id of the process instance No

The value of the variable at log time

Yes

The variable id as defined in the process definition

Yes

The id of the variable instance Yes

The outcome of the process instance (details on the process finish, such as error code)

Yes

If neccessary, define your own data model of custom information and use the process event listeners to extract the information.

Report a bug

11.1. Logging event s t o dat abase

To log an event that occurs on runtime in a Process instance, an Element instance, or a variable instance, you need to do the following:

1. Map the Log classes to the data source, so that the given data source accepts the log entries.

On Red Hat JBoss EAP, edit the data source properties in the persi stence. xml file.

Examp le 11.1. T h e Pro cessIn st an ceLo g , No d eIn st an ceLo g an d

Variab leIn st an ceLo g classes en ab led f o r p ro cessIn st an ceDS

<?xml

version="1.0" encoding="UTF-8" standalone="yes" ?>

<persistence version= "1.0" xsi:schemaLocation=

"http://java.sun.com/xml/ns/persistence

http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd

http://java.sun.com/xml/ns/persistence/orm

http://java.sun.com/xml/ns/persistence/orm_1_0.xsd"

xmlns:orm= "http://java.sun.com/xml/ns/persistence/orm"

xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance"

xmlns= "http://java.sun.com/xml/ns/persistence" >

<persistence-unit name= "org.jbpm.persistence.jpa" >

<provider> org.hibernate.ejb.HibernatePersistence

</provider>

<jta-data-source> jdbc/processInstanceDS </jta-data-source>

<class> org.drools.persistence.info.SessionInfo

</class>

4 2

⁠Chapt er 1 1 . Logging

<class> org.jbpm.persistence.processinstance.ProcessInstanceInfo

</c lass>

<class> org.drools.persistence.info.WorkItemInfo

</class>

<class> org.jbpm.process.audit.ProcessInstanceLog

</class>

<class> org.jbpm.process.audit.NodeInstanceLog

</class>

<class> org.jbpm.process.audit.VariableInstanceLog

</class>

<properties>

<property name= "hibernate.dialect" value= "org.hibernate.dialect.H2Dialect" />

<property name= "hibernate.max_fetch_depth" value= "3" />

<property name= "hibernate.hbm2ddl.auto" value= "update" />

<property name= "hibernate.show_sql" value= "true" />

<property name= "hibernate.transaction.manager_lookup_class" value= "org.hibernate.transaction.BTMTransactionManagerLookup" />

</properties>

</persistence-unit>

</persistence>

2. Register a logger on your Kie Session.

Examp le 11.2. Imp o rt t h e Lo g g ers

import org.jbpm.process.audit.AuditLogService; import org.jbpm.process.audit.AuditLoggerFactory; import org.jbpm.process.audit.AuditLoggerFactory.Type; import org.jbpm.process.audit.JPAAuditLogService;

​...

Examp le 11.3. Reg ist erin g a Lo g g er t o a Kie Sessio n

​@

PersistenceUnit (unitName = PERSISTENCE_UNIT_NAME)

​ private EntityManagerFactory emf;

​ private AuditLogService auditLogService;

​@ PostConstruct

​ public void configure () {

​ auditLogService = new JPAAuditLogService (emf);

​ ((JPAAuditLogService) auditLogService).

setPersistenceUnitName (PERSISTENCE_UNIT_NAME);

​ if ( emf == null ) {

​ ((JPAAuditLogService) auditLogService).

setPersistenceUnitName (PERSISTENCE_UNIT_NAME);

​ }

​ RuntimeEngine runtime =

4 3

Red Hat JBoss BPM Suit e 6 .0 Administ rat ion And Configurat ion G uide

singletonManager.

getRuntimeEngine (EmptyContext.

get ());

​ KieSession ksession = runtime.

getKieSession ();

​ AuditLoggerFactory.

newInstance (Type.

JPA , ksession, null );

​ }

3. Optionally, call the method ad d Fi l ter on the logger to filter out irrelevant information. Only information accepted by all filters appears in the database.

4. Logger classes can be viewed in the Audit View:

<dependency>

<groupId>org.jbpm</groupId>

<artifactId>jbpm-audit</artifactId>

<version>6.0.1.Final</version>

</dependency>

Report a bug

4 4

⁠Chapt er 1 2 . Localizat ion and cust omizat ion

Chapter 12. Localization and customization

12.1. Available Languages

The Red Hat JBoss BPM Suite web user interface can be viewed in multiple languages:

United States English (en_US)

Spanish (es_ES)

Japanese (ja_JP )

Chinese (zh_C N)

Portuguese (pt_BR )

French (fr_C A)

German (d e_D E)

Note

If a language is not specified, US English is used by default.

Report a bug

12.2. Changing language set t ings

Changing t he User Int erface Language in Business Cent ral

By default, Business Central uses the system locale. If you need to change it, then append the required locale code at the end of the Business Central URL. For example, the following URL will set the locale to Portuguese (pt_BR).

http: //l o cal ho st: 80 80 /busi ness-central /?l o cal e= pt_BR

Changing t he User Int erface Language in Dashbuilder

To change the user interface language in dashbuilder, do the following:

1. Log into the dashbuilder after the server has been successfully started by navigating to http://localhost:8080/dashbuilder in a web browser.

2. Select the language of your choice by clicking on the available locales on the top center of the dashbuilder user interface to change the language.

Set t ing a Default User Int erface Language in Dashbuilder

Following is an example to set the default user interface language in dashbuilder:

Pro ced u re 12.1. Set t in g t h e d ef au lt lan g u ag e as Fren ch

1. Navigate to jbo ss-eap-6 . 1/stand al o ne/co nfi g urati o n and define the following in

4 5

Red Hat JBoss BPM Suit e 6 .0 Administ rat ion And Configurat ion G uide

the stand al o ne. xml file.

<system-properties>

<property name="org.jboss.dashboard.LocaleManager.installedLocaleIds" value="en,es,de,fr,ja,pt,zh"/>

<property name="org.jboss.dashboard.LocaleManager.defaultLocaleId" value="fr"/>

</system-properties>

2. The default user interface language of the dashbuilder is now set to French.

Defining t he Inst alled Locales in Dashbuilder

Following is an example to define the installed locales in dashbuilder:

Pro ced u re 12.2. Def in in g t h e in st alled lo cale

Navigate to jbo ss-eap-6 . 1/stand al o ne/co nfi g urati o n and define the following in the

stand al o ne. xml file.

<system-properties>

<property name="org.jboss.dashboard.LocaleManager.installedLocaleIds" value="en,es,de,fr,ja,pt"/>

<property name="org.jboss.dashboard.LocaleManager.defaultLocaleId" value="fr"/>

</system-properties>

In this example, the Chinese language (zh) has been removed from the list of installed locales so users will not be able to switch the dashbuilder to Chinese. Dashbuilder will show content in French, which is the default locale. Users will be able to select other languages that are defined (en, es, de, ja, pt) in this file.

Note

Within Business Central, the application server does not need to be restarted after changing locale if you append the "locale" parameter to the URL of Business Central. However, with

Dashbuilder, the application server should be restarted after the configuration files have been changed.

Report a bug

12.3. Running t he JVM wit h UT F-8 Encoding

Red Hat JBoss BPM Suite is designed to work with UTF-8 encoding. If a different encoding system is being used by the JVM, unexpected errors might occur.

To ensure UTF-8 is used by the JVM, use the JVM option "-Dfile.encoding=UTF-8".

Report a bug

4 6

⁠Part IV. Execution

⁠Part IV. Execut ion

4 7

Red Hat JBoss BPM Suit e 6 .0 Administ rat ion And Configurat ion G uide

Chapter 13. Execution server

13.1. Assignment rules

Assignment rules are rules executed automatically when a Human Task is created or completed. This mechanism can be used, for example, to assign a Human Task automatically to a particular user of a group or prevent a user from completing a Task if data is missing.

Report a bug

13.1.1. Defining assignment rules

To define assignment rules, do the following:

1. Create a file that will contain the rule definition on the Business Central classpath (the recommended location is $DEPLOY_DIR/stand al o ne/d epl o yments/busi ness-

central . war/WEB-INF/cl asses/):

A. d efaul t-ad d -task. d rl with the rules to be checked when the Human Task is created

B. d efaul t-co mpl ete-task. d rl with the rules to be checked when the Human Task is completed

2. Define the rules in the file.

4 8

Examp le 13.1. T h e d efaul t-ad d -task. d rl co n t en t

package defaultPackage import org.kie.api.task.model.Task; import org.kie.api.task.model.User; import org.kie.api.task.model.Status; import org.kie.api.task.model.PeopleAssignments; import org.jbpm.services.task.rule.TaskServiceRequest; import org.jbpm.services.task.exception.PermissionDeniedException; import org.jbpm.services.task.impl.model.*; import java.util.HashMap; import java.util.List; global TaskServiceRequest request; rule "Don't allow Mary to complete task when rejected"

when

$task : Task()

$actualOwner : User( id == 'mary') from

$task.getTaskData().getActualOwner()

$params : HashMap(this["approved"] == false)

then

request.setAllowed(false);

request.setExceptionClass(PermissionDeniedException.class);

request.addReason("Mary is not allowed to complete task with approved false"); end

⁠Chapt er 1 3. Execut ion server

If the potential owners of a Human Task will contain the user Mary, the task will be automatically assigned to the user mary.

Examp le 13.2. T h e d efaul t-co mpl ete-task. d rl co n t en t

package defaultPackage import org.kie.api.task.model.Task; import org.kie.api.task.model.User; import org.kie.api.task.model.Status; import org.kie.api.task.model.PeopleAssignments; import org.jbpm.services.task.rule.TaskServiceRequest; import org.jbpm.services.task.exception.PermissionDeniedException; import org.jbpm.services.task.impl.model.*; import java.util.HashMap; import java.util.List; global TaskServiceRequest request; rule "Don't allow Mary to complete task when rejected"

when

$task : Task()

$actualOwner : User( id == 'mary') from

$task.getTaskData().getActualOwner()

$params : HashMap(this["approved"] == false)

then

request.setAllowed(false);

request.setExceptionClass(PermissionDeniedException.class);

request.addReason("Mary is not allowed to complete task without approval."); end

If the potential owners of a Human Task will contain the user Mary, the task will be automatically assigned to the user mary.

Report a bug

13.2. Mail session

Mail session defines the mail server properties that are used for sending emails if required by the application, such as, escalation or notification mechanisms (refer to the Red Hat JBoss BPMS User

Guide).

Report a bug

13.2.1. Set t ing up mail session

To set up the mail session for your execution engine, do the following:

1. Open the respective profile configuration file (stand al o ne. xml or ho st. xml ) for editing.

2. Add the mail session to the urn: jbo ss: d o mai n: mai l : 1. 1 subsystem.

4 9

Red Hat JBoss BPM Suit e 6 .0 Administ rat ion And Configurat ion G uide

Examp le 13.3. New mail sessio n o n lo calh o st

<subsystem xmlns="urn:jboss:domain:mail:1.1">

<!-- omitted code -->

<mail-session jndi-name="java:/mail/bpmsMailSession" debug="true" from="[email protected] company.com">

<smtp-server outbound-socket-binding-ref="bpmsMail"/>

</mail-session>

</subsystem>

3. Define the session outbound socket in the profile configuration file.

Examp le 13.4 . O u t b o u n d so cket d ef in it io n

<outbound-socket-binding name="bpmsMail">

<remote-destination host="localhost" port="12345"/>

</outbound-socket-binding>

Report a bug

50

⁠Chapt er 1 4 . Plug- in for Red Hat JBoss Developer St udio

Chapter 14. Plug-in for Red Hat JBoss Developer Studio

14 .1. Plug-in

Report a bug

51

Red Hat JBoss BPM Suit e 6 .0 Administ rat ion And Configurat ion G uide

⁠Part V. Monitoring

52

⁠Chapt er 1 5. Process monit oring

Chapter 15. Process monitoring

15.1. JBoss Operat ions Net work

A JBoss Operations Network plug-in can be used to monitor rules sessions for JBoss BPMS. The plug-in uses Java Management Extensions (JMX) to monitor rules sessions.

Please refer to the JBo ss O p erat io n s Net wo rk Installation Guide for installation instructions for the

JBoss ON server.

Report a bug

15.2. Inst alling t he BRMS Plug-in int o JBoss ON

JBoss BRMS plug-in for JBoss Operations Network can be installed by either copying the plug-in

JAR files to the JBoss Operations Network plug-in directory or through the JBoss Operations Network

GUI.

The following procedure guides a user to copy the plug-in JAR files to the JBoss Operations Network plug-in directory

Pro ced u re 15.1. Co p yin g t h e JBo ss BRMS p lu g - in JAR f iles

1. Extract the JBoss BRMS plug-in pack archive to a temporary location. This creates a subdirectory with the name jon-plugin-pack-brms-bpms-3.2.0.GA. For example:

[[email protected] server rhq-agent]# unzip jon-plugin-pack-brms-bpms-

3.2.0.GA.zip -d /tmp

2. Copy the extracted BRMS plug-in JAR files from the jon-plugin-pack-brms-bpms-3.2.0.GA/ directory to the JBoss ON server plug-in directory. For example:

[[email protected] server rhq-agent]# cp /tmp/jon-plugin-pack-brms-bpms-

3.2.0.GA/*.jar /opt/jon/jon-server-3.2.0.GA1/plugins

3. Start the JBoss Operations Network server to update the BRMS plug-in.

To upload the BRMS plug-in through the JBoss Operations Network GUI, following is the procedure

Pro ced u re 15.2. Up lo ad in g t h e BRMS p lu g - in t h ro u g h G UI

1. Start the JBoss Operations Network Server and Log in to access the GUI.

2. In the top navigation of the GUI, open the Ad mi ni strati o n menu.

3. In the C o nfi g urati o n area on the left, select the Server P l ug i ns link.

4. At the bottom of the list of loaded server plug-ins, click the Upl o ad a pl ug i n button and choose the BRMS plugin.

5. The BRMS plug-in for JBoss Operations Network is now uploaded.

Report a bug

15.3. Monit oring Kie Bases and Kie Sessions

53

Red Hat JBoss BPM Suit e 6 .0 Administ rat ion And Configurat ion G uide

15.3. Monit oring Kie Bases and Kie Sessions

In order for JBoss Operations Network to monitor KieBases and KieSessions, MBeans must be enabled.

MBeans can be enabled either by passing the parameter:

-kie.mbeans = enabled

Or via the API:

KieBaseConfiguration kbconf =

KieServices.Factory.get().newKieBaseConfiguration();

kbconf.setOption(MBeansOption.ENABLED);

Note

Ki e Servi ces have been implemented for BRMS 6; for BRMS 5, D ro o l s Servi ces was the naming convention used and it had different measurements on sessions. For example,

act ivat io n mat ch renaming occured in the updated version.

Please refer to the JBoss Operations Network Resource Monitoring and Operations Reference guide for information on importing Kie Sessions into the Inventory View for monitoring purposes.

Report a bug

54

⁠Chapt er 1 6 . Managing Securit y for Red Hat JBoss BPM Suit e Dashbuilder

Chapter 16. Managing Security for Red Hat JBoss BPM Suite

Dashbuilder

16.1. Accessing Red Hat JBoss BPM Suit e Dashbuilder

Dashbuilder is the Red Hat JBoss BPM Suite web-based user interface for Business Activity

Monitoring. To access the Dashbuilder from Business Central, go to Dash b o ard sPro cess &

T ask Dash b o ard s.

The displayed dashboard provides statistics on runtime data selected on the left. You can create your own dashboard in the Dashbuilder. To do so, display the Dashbuilder by clicking

Dash b o ard sBu sin ess Dash b o ard s.

Report a bug

16.2. Managing securit y

To manage security, you can define custom authorization policies to grant or deny access to workspace, page, or panel instances per role.

Defined below is a list of the available roles for Dashbuilder: admin - Administrates the BPMS system. Has full access rights to make any changes necessary.

Also has the ability to add and remove users from the system.

developer - Implements code required for process to work. Mostly uses the JBDS connection to view processes, but may use the web tool occasionally.: analyst - Responsible for creating and designing processes into the system. Creates process flows and handles process change requests. Needs to test processes that they create. Also creates forms and dashboards.

user - Daily user of the system to take actions on business tasks that are required for the processes to continue forward. Works primarily with the task lists.

manager - Viewer of the system that is interested in statistics around the business processes and their performance, business indicators, and other reporting of the system and people who interact with the system.

Thanks to the permissions system, you can build a workspace structure with several pages, menus, and panels and define what pages and panels within a page will be visible for each role. You can also define special types of users and give them restricted access to certain tooling features, or even restricted access to a page subset.

Report a bug

16.3. Workspace permissions

Pro ced u re 16 .1. Accessin g Wo rksp ace Permissio n s

1. Log into Business Dashboards from Business Central (as described in the Accessing Red

Hat JBoss BPM Suite Dashbuilder topic).

2. Select the appropriate Dashboard from the Wokspace drop-down.

55

Red Hat JBoss BPM Suit e 6 .0 Administ rat ion And Configurat ion G uide

Fig u re 16 .1. Dash b u ild er Wo rksp ace

3. Click the Ed i t sel ected wo rkspace pro perti es

Dashboard.

button to access the Workspace

4. Click the P ermi ssi o ns label to view the permission management screen.

Fig u re 16 .2. Permissio n s Screen

Under the P ermi ssi o ns assi g nati o n section is a list of allowed actions that are applied to the selected role:

Access: permission to login into the application.

Ad min ist rat e: permission to access the toolbar and system configuration features.

Creat e p ag es: ability to create new project pages.

56

⁠Chapt er 1 6 . Managing Securit y for Red Hat JBoss BPM Suit e Dashbuilder

Ed it : permission to change the workspace properties.

Clear: ability to delete the workspace.

Ed it p ermissio n s: ability to grant/deny permissions.

Ch an g e allo wed p an els: permission to restrict the type of panels that can be used in this workspace.

To assign a permission you must select the target role and the list of actions allowed over the selected resource.

Fig u re 16 .3. Permissio n s Assig n at io n

Target roles (who): What user will be granted/denied with the permissions defined.

Allowed actions: depending on the type of the resource we can enable/disable what the user can do on this resource.

Reverse (optional): when we have a set of roles and we want to grant/deny a permission to all the roles but one.

Note

By default, the full set of permissions go to the role admin. This makes it easy to create a user that can do everything as long as the role admin is assigned.

Report a bug

16.4 . Page permissions

57

Red Hat JBoss BPM Suit e 6 .0 Administ rat ion And Configurat ion G uide

1. To access P ag e permi ssi o ns, locate the P ag es drop-down under the jBPM Dashboard

(or whatever Dashboard you selected).

2. After expanding P ag es, expand the P ro cess d ashbo ard option.

3. Select the P ag e permi ssi o ns option.

Fig u re 16 .4 . Pag e Permissio n s

Under the P ermi ssi o ns assi g nati o n section is a list of allowed actions that are applied to the selected role:

Visu aliz e: permission to make the page visible.

Ed it : ability to change the page properties.

Clear: ability to delete the page.

Ed it p ermissio n s: ability to grant/deny permissions for the page.

Report a bug

16.5. Panel permissions

1. To access the P anel permi ssi o ns page, expand the P anel i nstances option under the jBPM Dashboard (or whatever Dashboard you are using).

2. Expand the D ashbo ard option and then expand the P ro cess d ashbo ard .

3. Expand the P anel s choice and select the appropriate process.

4. Open the P anel permi ssi o ns page.

Below is a screenshot of the permission management screen for a given panel (in this example, the

Process dashboard):

58

⁠Chapt er 1 6 . Managing Securit y for Red Hat JBoss BPM Suit e Dashbuilder

Fig u re 16 .5. Pan el p ermissio n s co n f ig u rat io n screen

Allowed actions are the following:

Visu aliz e: make the panel visible.

Ed it : change the panel properties.

Ed it p ermissio n s: ability to grant/deny permissions for the panel.

Report a bug

59

Red Hat JBoss BPM Suit e 6 .0 Administ rat ion And Configurat ion G uide

Revision History

Revisio n 1.0.0- 30 T h u Mar 05 2015 Vikram G o yal

Built from Content Specification: 22692, Revision: 745885 by vigoyal

60

Was this manual useful for you? yes no
Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Download PDF

advertisement