
Bonita Open Solution is a free utility that helps users to create project-based applications. This program addresses to people in business industry in order to smooth the workflow on a specific project. Due to its exquisite features, Bonita Open Solution is also able to overcome all possible gaps and errors that might occur when more persons are involved in a specific project.
This piece of software is able to allow one designated administrator to assign different tasks to people in his team, without making any errors such as overlapping tasks. Furthermore, Bonita Open Solution offers support for Business Process Model and Notation (BPMN), version 2.0, which offers users the possibility to design their projects in a transparent and timely manner. In addition to this, users are given the possibility to make different settings to their projects from general overview, to appearance and even simulations.
An important advantage of this application is that it supports various image export formats, like pdf, jpeg, png, bmp, gif and svg. In other words, once you finish a project design, you can save and export it to one of the above listed image formats. On the other hand, Bonita Open Solution supports three different file import formats: BPMN, XPDL and JBPM.
As a management tool, Bonita Open Solution allows users to simulate certain projects costs in terms of quantity, cost per use or time cost. To do that, one has to access the Manage Simulation Resources, located under the Simulation menu.
To conclude with, this utility was designed to smooth project-based application, and also to eliminate human errors. Because of a user-friendly interface and well-organized features, this application simplifies the workflow and offers complete control over project’s design.
v5.9.1 [Nov 24, 2012]
1. FUNCTIONAL OVERVIEW
1.1. NEW FEATURE: KEY-BASED CORRELATION SUMMARY
In previous versions, the transmission of a message between 2 processes was validated by a matching
condition.
It is now possible, in Bonita Studio 5.9, to use keybased correlation between 2 processes.
The user can define up to 5 correlation keys. The key name and value are concatenated and the result
is stored in the database. The result must not exceed 50 characters long.
Thanks to the new correlation, the overall performance of Bonita Open Solution is improved.
1.2. ERROR MESSAGE WORDING IMPROVEMENT ON CONNECTOR FAILURE
To improve the clarity of the message coming from the Bonita Open Solution when a connector fails,
the "Raise Exception" error message is replaced by "Put in failed state".
1.3. IMPROVEMENT ON CONNECTOR EXECUTION
Connectors can now be configured to execute asynchronously, to improve performance when there
may be connector latency. (Up to version 5.8.0, all automatic activities were executed entirely in the
same synchronous transaction.)
This asynchronous behaviour can be configured for connectors on automatic activities (service tasks).
To apply it, select “on enter” when configuring the connector, and select “asynchronous” mode for the
service task containing the connector.
2. TECHNICAL CHANGES
2.1. DATABASE CHANGES
The following section describes the structural changes added to the Bonita Open Solution database.
2.1.1. New Elements Available in Database Coming from the New Correlation Feature
--Add in BN_OE_DEF of 5 columns representing correlation key name (limited to 50 char)
COR_KEY_NAME[1..5]_
--Add in BN_OE_DEF of 5 expressions representing correlation value expression (longvarchar)
COR_KEY_EXPR[1..5]_
--Add in BN_IE_DEF of 5 columns representing correlation key name (limited to 50 char)
COR_KEY_NAME[1..5]_
--Add in BN_IE_DEF of 5 expressions representing correlation value expression (longvarchar)
COR_KEY_EXPR[1..5]_
www.bonitasoft.com
--Add in BN_EVENTS of 5 columns representing correlation key name (limited to 50 char)
COR_KEY_NAME[1..5]_
--Add in BN_EVENTS of 5 expressions representing correlation value expression (longvarchar)
COR_KEY_EXPR[1..5]_
--Add in BN_OEI_ of 5 columns representing concatenation of correlation key name and result
of the expression evaluation (limited to 55 char) COR_KEY[1..5]_
--Add in BN_IEI_ of 5 columns representing concatenation of correlation key name and result of
the expression evaluation (limited to 55 char) COR_KEY_EXPR[1..5]_
New tables
--Add a new table BN_JOB
--Add a new table BN_JOB_LOCK
Add several new indexes
--IDX_OEI_COR_KEY_ on BN_OEI_
--IDX_IEI_COR_KEY_ on BN_IEI_
--IDX_EXEC_ID_ on BN_JOB
--IDX_JB_ACT_UUID_ on BN_JOB
--IDX_JB_EVT_TYP_ on BN_JOB
--IDX_JB_INST_UUID_ on BN_JOB
--IDX_JB_LK_ on BN_JOB
--IDX_JL_PRI_UUID_ on BN_JOB_LOCK
Updated indexes
--IDX_LOCK_ on BN_OEI_
--IDX_OEI on BN_OEI_
--IDX_IEI on BN_IEI_
Add a foreign key:
--FK_OE_ on BN_JOB
Columns removed
--LOCK_OWNER, CONSUMED in BN_OEI_
--LOCK_OWNER, CONSUMED, RETRIES_ in BN_IEI_
www.bonitasoft.com
2.1.2. Add a new Foreign Key in BD_INST_ACTUSERS
A new foreign key, FK_INST_ACTUSERS, has been added to BN_INST_ACTUSERS, and the INDEX_ has
been removed from the BN_INST_ACTUSERS in order to fix the bug #11723 (Multiinstantiated Sub
Process Call: Concurrent submits on subprocess tasks lead to “violates unique constraint”.)
2.2. CONFIGURATION CHANGES IN BONITA-SERVER.XML
2.2.1. Configuration Changes Related to Correlation
The configuration changes related to the correlation feature:
--jobexecutor: maxparalleljobs: defines how many jobs can be executed (max) at the same
time.
--cleanlocksatstartup: defines whether the locks should be cleaned when starting the service
--matchers: matchingconditionmessages: defines whether the thread which associates
catching/throwing message events using matching condition is launched at startup, if your
processes do not use a matching condition, it is recommended to turn off this matcher.
--withoutmatchingconditionmessages: defines whether the thread which associates
catching/throwing message events using correlation keys or no correlation and signal events is
launched at startup.
Xml update
2.2.2. Configuration Changes Related to Connector Failure
In Bonita Open Solution 5.9 a new property (throwexceptiononfailure) is available in the bonitaserver.
xml in order to determine whether the exception thrown by a connector or groovy script
(activity scope) is rethrown to the client side.