Category Archives: Uncategorized

Uncategorized

BPMN 2.0 – Conditional Events

With version 4.2.0 the Imixs-Workflow engine supports conditional events. A conditional event can be defined with one of the BPMN Gateways  ExclusiveInclusive or EventBased.

Conditional Events

The conditions are defined as boolean rule expressions for each output of the gateway. A condition can be defined with the Script language JavaScript. The following example evaluates the workitem attribute ‘_budget’ for a value greater than 100:

(workitem._budget && workitem._budget[0]>100)

With Conditional Events, Imixs-BPMN offers a significant extension of the modeling possibilities for BPMN 2.0 models to be executed within the Imixs-Workflow engine. Find further details about the modelling with Imixs-BPMN here.

Uncategorized

Imixs-Workflow – Support of Nashorn JavaScript Engine

With the next release of Imixs-Workflow (3.6.0) the open source workflow engine will support JDK 8 and the new JavaScript Engine Nashorn. The JavaScript engine supports the ECMAScript 5.1 specification. This allows to use new features when executing scripts from the Imixs RulePlugin. The Imixs RulePlugin is part of the workflow engine and allows the execution of business rules defined in a BPMN model. You can find more about the Imixs RuleEngine here. Read also the Rhino Mogration Guide for more details about the new capabilities of the Nashorn Script Engine included in JDK 8.

Uncategorized

Merry Christmas – Imixs-Workflow Version 3.5.0 Released

Today – just before Christmas 😉 – we published the latest version of the open source workflow engine ‘Imixs-Workflow’.

bpmn_example_06The new release includes an improved BPMN parser. The new parser supports BPMN 2.0 link events and also shared events. Shared events can be used to reduce the complexity of large BPMN models. Examples about the new BPMN 2.0 modelling capabilities can be found here.
Also the Imixs-Rest API was improved within this release. The internal JSON parser becomes more robust in parsing native JSON values which makes the usage easier for cross-platform environments.
Finally the Imixs RulePlugin includes a nice improvement: the RulePlugin can now evaluate the object ‘nextTask’, which can be used to evaluate complex business rules with decision maps.

The latest release is available in the maven central repository and the work on the next release 3.6.0 has already begun.

 

The Imixs project wishes all members of the community Merry Christmas!

 * * *

Uncategorized

HOW TO CHANGE THE MYSQL DATABASE ENGINE

When you are running Imixs Workflow on a Linux Server using MySQL the database default engine is typically ‘MyISAM’. This is a fast engine type.

But for transactional systems it is recommended to use a database engine which is supporting transactions. This database engine in MySQL is called ‘InnoDB’. When you change the default engine type in your MySQL setup an new Imixs Workflow instance will create tables based on this engine type. But you can also simply change the engine type from ‘MyISAM’ to ‘InnoDB’ with a sql script:

ALTER TABLE `CALENDARITEM` ENGINE = InnoDB;
ALTER TABLE `DOUBLEITEM` ENGINE = InnoDB;
ALTER TABLE `ENTITY` ENGINE = InnoDB;
ALTER TABLE `ENTITYINDEX` ENGINE = InnoDB;
ALTER TABLE `ENTITY_CALENDARITEM` ENGINE = InnoDB;
ALTER TABLE `ENTITY_DOUBLEITEM` ENGINE = InnoDB;
ALTER TABLE `ENTITY_INTEGERITEM` ENGINE = InnoDB;
ALTER TABLE `ENTITY_READACCESS` ENGINE = InnoDB;
ALTER TABLE `ENTITY_READACCESSENTITY` ENGINE = InnoDB;
ALTER TABLE `ENTITY_TEXTITEM` ENGINE = InnoDB;
ALTER TABLE `ENTITY_WRITEACCESS` ENGINE = InnoDB;
ALTER TABLE `ENTITY_WRITEACCESSENTITY` ENGINE = InnoDB;
ALTER TABLE `INTEGERITEM` ENGINE = InnoDB;
ALTER TABLE `READACCESS` ENGINE = InnoDB;
ALTER TABLE `READACCESSENTITY` ENGINE = InnoDB;
ALTER TABLE `TEXTITEM` ENGINE = InnoDB;
ALTER TABLE `WRITEACCESS` ENGINE = InnoDB;
ALTER TABLE `WRITEACCESSENTITY` ENGINE = InnoDB;

This sql script did not connect to a specific database. For this reason it is necessary that you connect fist to the database the changes should be assigend. To run the script you can use the mysql command line tool in the following way:

First save the script into a local script file (e.g ‘mysql_innodb_imixs’). This file will be called later from the mysql console.

Now connect into the mysql Server:

mysql -u root -p

next select the database where the engine should be changed:

mysql> connect mydatabase;

finally you can run the script with the following command (assuming the you have stored the script before into a file named ‘mysql_innodb_imixs’ which is located in the current directory) :

mysql> source  mysql_innodb_imixs;

Thats it. Now you tables will use the new Database engine ‘InnoDB’.

When you configure the JDBC Datapool connection from your Glassfish Server it is strongly recommended to use a ‘javax.sql.XADataSource’ connection. This DataSource type supports the transaction scope provided by the Imixs Workflow System.

Uncategorized

NEW! IMIXS WORKFLOW PROJECT

I am proud to announce that we started the new Open Source Workflow Project Imixs-Workflow on dev.java.net. This project arise from the ix-workflow project we developed about for more than 3 years. But the new project is much more easy to use. We developed a bunch of simplifications in the Workflow API so the hole project is now much easier to integreate. I would be happy if you can give me some feedback to that project on the project home page.

I will provide a short video next time to show how easy it is building workflow applications based on the API.