MIGRATION TO NEW IMIXS WORKFLOW JEE API

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

So I recommand to follow these steps:

  1.   backup the entities form you existing Imixs Workflow 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.

LICENSING OF IMIXS OPEN SOURCE WORKFLOW

As we were often ask about the licensing of of the Imixs Open Source Workflow which is subject to the General Public License (GPL). I want to give you today a short idea how your own individual Software project is affected form this license when you are using the Imixs Workflow components.

Assuming that you plan to develop an individual software system using the Imixs Workflow System you have to take care about the subject of GPL. But since your software project is no workflow management system or a pure workflow engine, like the Imixs Workflow itself, there is no reason to worry about the GPL. You are free to use the Imixs Workflow components implementing any kind of business process application.
In contrast if you enhance or modify components of the Imixs Workflow Implementation or you implement a derived unit you are constrained to leave this code also under GPL.
Our goal is to avoid that someone restrict the purpose of the Imixs Workflow Software. Everyone is free to use the Imixs Workflow as free software in the manner of the Free Software Foundain (http://www.fsf.org/).

So we appreciate everybody who plan to use the Imixs Workflow in an individual Software Project. You be bound to inform your users and customer that Imixs Workflow is fee software under GPL. This means that he will receive also the source code (of the Imixs Workflow) or can get it if he want it. He can change the software or use pieces of it in new free programs.
If you enhance the Imixs Workflow you are bound to leave this code again under GPL and share your experience with the community.

So we did not restrict you in your freedom to develop software and business applications using the Imixs Workflow. We also did not restrict your freedom to distribute your software or charge for service if you wish.
Free Software is about to exchange experience and knowledge, not to restrict other people in there freedom to use it.

NEW VERSION 1.6 OF IMIXS JEE WORKFLOW ENGINE

Currently we are working on the new 1.6 release of Imixs IX Workflow API and IX JEE Workflow Server. The new release will include a ReportService. This feature support a power full report function which allows you to generate dynamic reports based on running Business Processes. The Report Feature will be included into the IX REST Services so reports can be used very easy.

Also we extend the IX Workflow Modeler with a new Report Editor that allows a Workflow Modeler to create and manage reports as *.ixr files directly in a Eclipse project.

The new functionality will expand the Imixs IX Workflow Tool with a really strong feature set! Source code of new Version 1.6 will be available on subversion repository in a pre-beta version:

http://www.imixs.org

 

IMIXS MODELER – NEW VERSION 2.2.4

The new version 2.2.4 of the Imixs IX Workflow Modeler is now released. This version includes a lot of improvements concerning the graphical modeling. Therefor the popular style has changed. The attributes of activity entities,like Mail or Access Configurations, now are displayed graphicaly. The handling of users and time objects has been improved.

WEBSERVICE PLUGIN 1.3.0

Also the WebSerivce Plugin was updated to version 1.3.0. Et.al. it includes a better error handling, so connection failures will be displayed much better as in the releases before.

Also all these features are sucessfully tested in newest eclipse version Ganemede 3.4.

SUPPORT FOR BEA WEBLOGIC 10.0

We are now also supporting Bea WebLogic Server 10.0.  Currently Bea WebLogic 10.0 did not support all the functionality as specified in the JEE spec. Particularly the Web Service implementation is not completed so if you try to deploy the Imixs IX JEE Workflow components you need some modifications.

As there are some restrictions in Bea WebLogic 10.0 concerning the Web Service Functionality you could run into problems during deployment of the IX JEE Workflow components on Bea. But it is possible to run Imixs IX Workflow on Bea 10.0.
If you like to deploy the Imixs IX JEE Workflow components on a Bea WebLogic Server 10.0 there are some things you must pay attention to.
First we recommend to remove the WebService implementations
– org.imixs.workflow.jee.ejb.ModelServiceManagerImplementation
– org.imixs.workflow.jee.ejb.WorkflowServiceManagerImplementation
from the deployment.

Then it is useful to integrate the workflow model in a programmatic way inside you Application. We are also supporting helpful component for this.

In general you can build your ear module like described in the chapters Deployment . But as Bea WebLogic 10.0 did not support all the functionality as specified in the JEE spec you need do some modifications. We published a description about the procedure here.

Additional we are supporting a new branch of the IX JEE Workflow for Bea WebLogic. You can checkout this branch on the Subversion Repository on java.net. The branch also supports the maven configuration management.

If you have questions about IX Workflow and Bea WebLogic please give us your feedback.