Professional Documents
Culture Documents
6
In this section:
Welcome
For Business Analysts
For Process Engineers
For Application Developers
For System Administrators
For Process Administrators
General
Getting Started
Process Design
Connectivity
Data and Variables
Form [field] Design
Web applications
System Administration
LDAP synchronization
Process Administration
Document management
Process Simulation
End Users
Development
Welcome
The new online documentation system for Bonita Open Solution contains descriptions and
how-tos (tutorials) for the many features and functions available in the Open Source and
Subscription Package versions of Bonita Open Solution.
The documentation is organized by section.
Functional Guides
The first 5 chapters organize information by role, pointing to the sections in the
documentation below that are most likely to be of interest to the Business
Analyst (process modeling), the Process Engineer (model completion for execution),
the Application Developer (applications for Web deployment), the System
Administrator (setting up Bonita Open Solution), and the Process
Administrator (managing deployed processes). These sections are aligned with User
Guidance in Bonita Open Solution.
Process Design
Create a new diagram
Create a new pool
Add a Task
Define a transition (draw)
Add a gate
Timer events
Message flow
Call Activity
Define Actors
Create a new lane
Change appearance
Change color and font
Process Design
o Diagram
o Pool
o Lane
o Tasks
o Set process validation
o Transitions (conditions, decision table)
o Gateways
o Timer events
o Message events
o Text annotations
o Generate process documentation
o Multi-instantiation
o Change appearance of design elements
Executable Design
o Actors selection and assignment
o Data and variables
o Connectors (add, test, debug)
o Contexts
o KPIs/BAM
Application Design
o Form (field) design
o Web applications
o Translation / choose language for forms
Simulation
o Simulation
Run
o Run
We are planning a printable version of this Guide. Check back!
For System Administrators
This guide includes features and instructions for installation, deployment, and version migration
for Bonita Open Solution.
Jump directly to each section using the links below. (You can always navigate among all topics in
the documentation using the Menu/Table of Contents at the left.)
Installations
o Simple BOS installation on a single PC
o Request a BOS Subscription Pack license for a development or production
environment
o Install a BOS-Tomcat or BOS-JBoss bundle
o Install BOS "from scratch"
o Configure BOS for use with other databases
o Configure multi-tenancy
Version migration
LDAP synchronization
We are planning a printable version of this Guide. Check back!
Jump directly to each section using the links below. (You can always navigate among all topics in
the documentation using the Menu/Table of Contents at the left.)
BPMN
BPMN stands for Business Process Model and Notation.
It is a standard notation and graphical representation designed to depict business
processes. BPMN is intended as a common language for all BPM project stakeholders:
business analysts who create and refine the processes
technical developers responsible for implementing the processes and
business managers who monitor and manage the processes
"This specification provides a notation and model for Business Processes and an
interchange format that can be used to exchange BPMN Process definitions (both domain
model and diagram layout) between different tools. The goal of the specification is to
enable portability of Process definitions, so that users can take Process definitions created
in one vendor's environment and use them in another vendor's environment".
(c.f. Object Management Group)
For example, all defined process data variables are offered in a drop-down menu in the
list at the top.
Figure 3. Select variables to use in Groovy expressions
Bonita variables are also available from a drop-down menu at the top of the editor.
Figure 4. System variables are also available to use in expressions
A set of Groovy expressions is available in Categories; click on the script highlighted in
Functions to load it into the editor.
Identify the KPIs which are to be associated with a process, create them and add them to the appropriate tasks
or at the process (pool) level. They will then capture specific data from each case of the process as it runs and
insert it into an external database.
BAM reporting (in Bonita User Experience) will pull data from this same database and show it in reports.
These reports are defined and installed in Bonita Studio.
Select Create new database configuration to specify the database where the KPI
data will be stored.
Figure 8. Newly configured KPI database connection now available to apply to a task or
a pool
Subprocesses
In this section:
Create a call activity
Create an event subprocess
A subprocess is a complete process (with a start and an end) that is called from another process.
There is a parent-child relationship, that is, the flow in the child process is essentially contained
within the parent process. One parent process can call multiple subprocesses and a subprocess
may be called by multiple parent processes.
In a parent process diagram, a subprocess can be called via a call activity or by an event
subprocess.
A call activity calls an independent, re-usable subprocess that has its own pool. That is, it looks
like any other process and it can be called by other parent processes. Its start and end are linked
to its parent processes via data mapping.
Multi-Instantiation
In this section:
Multi-instantiate a task
Multi-instantiate a call activity (subprocess)
Develop a new instantiator
Develop a new join checker
Multi instantiation instantiates (initiates) the same task or set of tasks multiple times in
parallel. The number of instances (and possibly also the specific actors who will perform each
instance), are determined in the process design.
The number of iterations of a multi-instantiated task are known in advance and the iterations are
performed in parallel.
The instantiator is configured to specify how many times the task will be repeated.
The join checker is configured to evaluate when the specified number of parallel
instances have been completed, so the process can continue to the next step.
If there are multiple tasks to multi-instantiate as a discrete sequence, define a multi-
instantiated call activity (that is, a multi-instantiated subprocess).
Instantiators and join checkers are similar to connectors, and can be defined, created, and tested
in essentially the same way as connectors can be.
This is evaluated either at the beginning or at end of the loop to determine whether it should continue.
test after: completes a loop, then evaluates the condition. If the condition is
met the process continues.
test before: evaluates the condition. If the condition is met, the task or
process is repeated (looped).
Define the loop condition using an expression.
You can also manually limit the number of loops performed by entering a number
in Maximum Loop.
RESULT
The looped task or call activity appears on the pool:
This can be changed by creating subsequences that are asynchronous. That is, sequences can be
decoupled.
A synchronous sequence (transaction) can then be completed in parallel to other sequences.
To mark the end of one transaction and identify the beginning of another, the activity in the process
immediately following the transactional sequence should be de-synchronized. This signals the
disconnection of this sequence from the transactional group.
When the Bonita Execution Engine receives an order from a client application (Bonita User Experience or third
party application) it uses the client Java thread. During the execution, if an activity is marked
as asynchronous, the engine will give the control back to the client and open a new Java thread to continue
with the execution of following activities.
To indicate de-synchronization of any element, click on the element and go to Details -> Advanced and
un-check the selection forSynchronous.
RESULT
The last element in the synchronous sequence marks the end of a group of activities
that must all complete successfully before the process can continue.
Contexts (SP)
In this section:
Associate a process with a context
Define context keys
Contexts are useful to handle different environments/status/contexts of a process; for example, to test
a process in a test environment before deploying it.
For example, by defining a test context and a production context and associating different
variables to each context, there is no need to change values in connectors, forms, or other places where
variables necessarily differ in different environments.
A context is a set of key-value pairings. Context keys (which will be replaced by a predefined value) can be
used as input in most text variables.
When a process is associated with a context and then Run, the context keys are replaced by the associated
values defined for that context.
If desired, you can also define static (fixed) lists of individuals for a lane or task. This is useful for
development and testing.
To assign a subset of actors from a list returned by an actor selector, you can define and apply a
filter. See Apply a Filter to assign a subset of Actors.
You can create actor selectors at the task level also. Any actor selectors created inside a task will show up in
the actor selectors list at the diagram and pool level.
Bonita: most of these will retrieve a list of Actors as defined in Bonita User Experience,
ie:
Users, roles, groups, delegees, managers, team members
Database: these will retrieve a list of actors from external databases
LDAP: this will retrieve a list of actors from an LDAP directory
You can Edit an actor selector from the diagram, pool, or task level. Once the actor selector is defined, it's
easy to add, remove, or change users in the group without redesigning the process.
When you Remove an actor selector from the task level, it is removed from the Task only.
When you Remove an actor selector from the pool or diagram level, it is deleted entirely.
How To Define An Actor Selector
Go to the pool, and in its Details panel select the General tab and the Actor
Selectors pane. Click on Create.
Note that you can save this actor selector configuration, and test it, in the same way
that you can Save a connector configuration and Test a connector.
When you have completed the wizard to define an Actor Selector, it will appear in the
Actor Selectors list with its Name and type.
RESULT
Figure 3. Assign an
individual actor for a lane
you can add the name of the individual you want to assign this lane to.
Note: Any names you enter here must be properly defined with access to Bonita User
Experience (or your web application). See Manage Users.
For a test environment, you can also use the predefined defaults provided in Bonita
Open Solution: john, jack, james or admin.
RESULT
The actor selector appears in the list for this lane.
Figure 4. The actor selector
for this list shows in the list of actor selectors
Or
Actor selectors can be defined at the task level, and when you do this, they are stored at the process level and
available everywhere in your process.
If the task is in a lane that has an actor selector assigned to it, you can elect to keep the actors defined
in this lane, or override the actors defined in lane. If you choose to Override, then youll
choose either Select actors dynamically or Individual for this Task.
How To Assign An Actor To A Task
Go to the task, and in its details panel select the General tab and the Actors pane.
Choose to either Keep actors defined in Lane, or Override actors defined in
Lane. If you choose to Override, then you'll choose either Select actors
dynamically or Individual for this task.
If you have ticked Override and Select actors dynamically,
Click Finish.
If you have ticked Override and Individual,
RESULT
The actor selector appears in the list for this lane.
To apply any of these users, see Assign an actor to a lane, or Assign an actor to a task, in the section
that describes how to assign an Individual.
When you Run a Process from Bonita Studio, by default you are automatically logged in as the Actor/ User
defined as admin, with the password bpm. You can change this configuration in Preferences.
How To Use Default Actors (For Test)
Use default actors for a lane
Go to the lane, and in its details panel select the General tab and the Actors pane.
Select Individual. Click onChoose.
Note: any names you enter here must be properly defined with access to Bonita User
Experience (or your web application). See Manage Users. For testing, you can also use
the predefined defaults provided in Bonita Open Solution: john, jack, james or admin.
RESULT
The actor selector for the process initiator appears in the list for this lane.
Figure 3. The process
initiator actor selector for this list shows in the list of actor selectors
RESULT
The results window appears to show what is returned by the actor selector. In this
example, all three names are found and returned.
Apply A Filter
In this section:
Assign an actor from a previous task
Assign an actor from one of several previous tasks
Select random candidates
Create a new filter
Apply a filter to obtain a subset of actors from a list returned by an actor selector. Use one of the predefined
filters in Bonita Studio or create your own filter using a script.
How To Apply A Filter
Go to a lane or task, and in its details panel select the General tab and
the Actors pane. Next to the Actor selectors list is the Filters list. (You will need to have
already defined one or more actor selectors.) Click on Add.
In Bonita Open Solution Teamwork version, you can use a remote repository to share workspaces,
and can synchronize, version, and restore shared workspaces for process design collaboration.
For information about migrating repositories, see Migrate a repository from 5.5 to 5.6.
Generate Process Documentation (SP)
This feature is available in Bonita Open Solution, Teamwork version.
When a process is open in Bonita Studio, it is possible to generate documentation containing a summary of
individual elements in the process. This is like a process report.
Choose the settings for the format of the export file, how the report will be presented, choose a logo to display
and its size in pixels.
Draw A Transition
You can draw a transition between elements in a pool in two ways:
using the design palette, or
using the context palette on an element.
How To Draw A Transition
When an element, such as a task, is created using drag and drop from the design palette,
no transition is created. When an element is created from another element using the
context palette, a transition is created automatically.
Choose the settings for the format of the export file, how the report will be presented, choose a logo to display
and its size in pixels.