Comparison of JBoss JBPM and Imixs-Workflow

If you take a closer look at the Imixs Workflow Project you may ask yourself if the project is different to other Workflow Engines like JBoss JBPM or Activiti. In this blog will try to do a short comparison of JBPM and Imixs-Workflow. This comparison is not in technical detail but it should give an overview about the goals of the two open source projects. First I want to point out that Imixs-Workflow and JBPM are not rivals in the BPM market. Both projects are open source, both projects try to find solutions for similar but not equal problems in business process management and at least, both project use the same Eclipse-BPMN modeling platformContinue reading “Comparison of JBoss JBPM and Imixs-Workflow”

IMIXS MODELER VERSION 2.3.1 RELEASED

The latest version 2.3.1 of the Eclipse based Imixs Workflow Modeler is now released.
The new version includes different bug fixes and improvements in usability like the “new Report Wizard” and a new design of the modeler perspective.

The new release includes also additional updates:

  • Imixs Workflow Modeler – 2.3.1.v200911181830
  • Imixs Workflow Modeler Integration Plug-in – 2.2.7.v200911181830
  • Imixs Workflow Report Plug-in –  1.0.1.v200911181830

Read more: http://doc.imixs.org/modeler/

MIGRATION TO NEW IMIXS WORKFLOW JEE API

If you migrate form the ix-workflow project to the new imixs-workflow project it is not posible to redeploy with the new JEE Implementation into an existing EJB / EAR module.

So I recommand to follwo these steps:

  1.   backup the entities form you exsiting Imixs Worklfow Application with the new (!) org.imixs.workflow.jee.adminclient.web 1.4.3 using the Export Feature.
  2. Take care about the new persistence unit used in the persistence.xml
    org.imixs.workflow.jee.jpa
  3. Redeploy you new project with the persistence.xml option:
    <property name=”toplink.ddl-generation”
    value=”drop-and-create-tables” />
  4. Reimport you backupfile with the new imixs WOrkflow AdminClient Tool

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.

DATABASE MIGRATION DERBY -> MYSQL

If you have started you workflow project using the build-in Derby Database from Glassfish you maybe can run into a performance problem if you manage a lot and complex of Data. This is because Derby is not so scalable in managing complex SQL statements like other Database Management Systems. In such a case you can easily migrate your workflow system form Derby to MySQL which is much more scalable.

Follow these steps to migrate data in a running system

  1. Start your Derby DB and Glassfish Server
  2. Make sure that your Workflow System is up and running
  3. Switch to the Imixs JEE Admin Client.
  4. Connect to the EntityPersistenceManager from your Workflow Instance
  5. Start a export using the default EQL Statement. This will export all existing Data of your workflow system into a file
    >SELECT wii FROM Entity wiI
    If the export did not succeed a reason can be the HeapSize of your Glassfish Server instance. You can increase the default HeapSize from 512m to 1024m using the Glassfish Admin Console.
    Go to : Applicationserver->JVM Settings -> JVM Optionsand change -Xmx512m into -Xmx1024m
  6. Undeploy your Workflow Instance
  7. Shutdown your Derby Database
  8. Setup a new MySQL Database and create a new JDBC Connection Pool using the Glassfish Console
  9. Now you can switch the JDBC/Ressource of your Workflow System from your Derby Database to your new MySQL Database
  10. Deploy your Workflow Instance again – this will generate the necessary Tables in your new MySQL Database
  11. Optionall : after deplyoment you can setup Entity Index Fields manually if necessary
  12. Import your Data form the Export File you generated in Step 5.

Thats it!

If the import process fails on MySQL check the following:

PACKETTOOBIGEXCEPTION

If you got the Excepiton:

com.mysql.jdbc.PacketTooBigException: Packet for query is too large

you should change the max_allowed_packet setting in your MySQL server for the import process

  1.  Open your MySQL console
    >mysql -u root -p
  2. Change the max_allowed_packet setting
    >SET GLOBAL max_allowed_packet=3000000000;
  3. Restart your Glassfish Server (not the MySQL Database!)
  4. Reimport your data
  5. Restart you MySQL Server and Glassfish Server to reset the max_allowed_packet settings.

PERSISTENCEEXCEPTION

If you got the Exeption:

javax.persistence.PersistenceException: Exception [TOPLINK-4002] (Oracle TopLink Essentials – 2.0.1 (Build b09d-fcs (12/06/2007))): oracle.toplink.essentials.exceptions.DatabaseException
Internal Exception: com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column ‘DATA’ at row 1

MySQL tells you that the BLOB field is to small to store the data. This is because MySQL generates per default a SmallBlob (64K) for your Data Fields in the Entity Table. You can change the Blob type after the deplyoment of your Workflow Instance :

  1. Open your MySQL console
    >mysql -u root -p
  2. Connect to to your Database
    >USE mydatabase;
  3. Change the BLOB Type to LONGBLOB (4GB) or MEDIUMBLOB (16MB)
    >ALTER TABLE Entity CHANGE DATA DATA MEDIUMBLOB NOT NULL;

NEW VERSION OF IMIXS MODELER

The new version of the IX Modeler for Eclipse is now available!

The new relase 2.2.9 of the Basic module and  2.2.6 of the Integration module includes a lot of enhancements of the user interface. The management of Process and Activity properties is now extended by a new property editor concept. All properties are now managed using the “Tabbed Properties View Extension Points”. This allows you to extend the IX Workflow Modeler in your Software projectes much faster as you can now use the eclipse standard extention point for tabbed properties.

The new version was tested with Eclipse 3.4.2 for Windows and Linux.