Imixs Software Solutions GmbH presents with the Open Source project “Imixs Workflow” a Business Process Management (BPM) solution for Glassfish and JBoss Application Servers. Glassfish and JBoss are open source application servers based on the Java EE specification. These server platforms are widely-used by a lot of small and medium companies. The Imixs JEE Workflow components can be seamlessly integrated into Glassfish 2.1, 3.0 and JBoss 5.0 and 6.0 infrastructure. Thus the project provides a highly scalable and robust BPM solution. The Imixs workflow project makes use from the powerful component framework provided by the Java EE specification. All Imixs Workflow Java EE components are implemented as Enterprise Session and Entity EJBs. This makes it very easy to integrate these components in a new or existing enterprise software project. Continue reading “BPM SOLUTION FOR GLASSFISH AND JBOSS”
Today I added a new example page illustrating how to integrate the Imixs JEE components into a JSF application. As the Imixs Workflow project provides a full featured Workflow Management Systembased on EJB and JSF components, it’s not so difficult to extend a JSF application with BPM functionality.
Read more about this at: http://www.imixs.org/jee/examples/jsf_example.html
Since the latest Imixs Workflow release 2.1.0 we recommend to run Imixs Workflow Applications on Glassfish Application Server using JDK 1.6.
If you use Linux Debian as your Server platform – which is a nice choice – the upgrade from JDK 1.5 to JDK 1.6 is a little bit tricky. So make sure to pay attention to the following points:
- Java 1.6 for debian 4 (etch) is available in backports, so just add backports.org to sources.list:
and add the following line to the list of repositories:
deb http://www.backports.org/debian etch-backports main contrib non-free
- Next you can install the JDK 1.6 with following command
>aptitude -t etch-backports install sun-java6-jdk
- Now you be able to switch to the new java version using the following command:
>update-alternatives –config java
You will see an output like this:
There are 2 choices for the alternative java (providing /usr/bin/java). Selection Path Priority Status ------------------------------------------------------------ 0 /usr/lib/jvm/java-6-sun/jre/bin/java 63 auto mode 1 /usr/lib/jvm/java-1.5.0-sun/jre/bin/java 53 manual mode * 2 /usr/lib/jvm/java-6-sun/jre/bin/java 63 manual mode Press enter to keep the current choice[*], or type selection number:
now you can choose the new JDK.
After you have upgraded the Java Version you can check the version number with
You should now see something like this:
java version "1.6.0_07" Java(TM) SE Runtime Environment (build 1.6.0_07-b06) Java HotSpot(TM) 64-Bit Server VM (build 10.0-b23, mixed mode)
UPDATE THE GLASSFISH ENVIRONMENT
After you have changed the JDK on your OS you need to change also the JDK setting used by the Glassfish Server.
The JDK which is used to start the Glassfish Server is configured in the file
Edit the file with
and change the line
Now you can restart Glassfish Server which will now run with the new JDK 1.6.
The Imixs JEE Workflow components are successfully tested on the latest release of JBoss Application Server V 5.1.0.GA (JBossAS 5). The JBoss Application Server is the one of the most widely used Java application servers on the market.
The Imixs JEE Workflow is a full featured Workflow Management System (WFMS) based on the Java EE5 specification and fulfills the requirements to a scalable, transactional, robust and simple deployable Java EE Workflow System.
JBoss 5 for the Java EE5 codebase fully complies with the Java EE5 specification. So the JBossAS 5 is an ideal platform for Workflow Management Systems based on the Imixs Open Source Workflow.
The Imixs JEE Project site provides additional Installation guides for JBoss and also informations about deployment strategies to get best results running the Imixs Worklow on JBoss Application Server.
Read more about the Imixs Java EE Workflow System.
Running the latest stable release of the Imixs JEE Workflow components (imixs-workflow-jee-impl-2.0.1) on a Oracle database can lead into a situation where users did not find any entities or can process new workitems.
The reason for this issue is a query optimizer used in one of the core EJBs. The Problem did not occur on MySQL Database Pools but on Oracle Database Pools.
To fix this problem please use on oracle based workflow systems the following hot fix release:
This patch is available in the subversion repository in /branches. Please let us know if you have any problems. The bug will be fixed in upcoming new 2.0.2 release. Please see also details at Issue Tracker Issue #55.
In the upcoming new release 2.0.2 the Imixs JEE Workflow provides – among other things a new Web Service implementation which will become much more flexible. Now as the Imixs XML API is fully based on JAXB the SOAP Web Services and the REST Web Services are separated into web modules. This makes is much more easy to use these interfaces in workflow projects as the deployment strategy has changed. As announced the new release will run on JEE5 (Glassfish 2.1) as also under JEE6 (Glassfish 3). And also the deplyoment becomes more flexible as you are now no longer forced to deploy all web service modules together with your application.
The project documentation will be extended in the near future with an additional section for XML & Web Services.
You can check out the current 2.0.2-SNAPSHOT release from the Subversion repository. See also the new snapshot releases of imixs-workflow-xml, imixs-workflow-rest and imixs-workflow-soap. If you have any comments or questions please post the in the Imixs Forum.
In the latest version of the Imixs JSF Tools 2.0.2 we provide a new Controller Bean which allows managing file attachments and large binary objects (BLOB). The new contoller class is called BLOBWorkitemController.
This BLOBWorkitemController is used to store large objects into a single ItemCollection mapped to a EntityBean. The BlobWorkitem is always bounded to a parent workitem by its referrer id ($uniqueidRef). So an application can implement a lazy loading for BLOBWorkitems. The read- and write access settings of BLOBWorkitems are automatically synchronized to the settings of the parent workitem. So the security features of the Imixs Workflow controller are full supported. The Data of a BLOB WOrkitem can be accessed by an embedded Itemcollection which can be loaded and saved throgh the controller bean. This makes it really easy to manage file attachments inside a JSF application. See also more infos and examples on the Imixs JSF-Tools Project Homepage.
Imixs supports now a new Login Module which enables JEE Web Applications to authenticate against OpenID Providers.
You can test a Imixs Workflow Application using your own Google Account or any other OpenID Account on the ShareYourWork Online Workflow Plattform.
Read details about this Authentication Module for Glassfish here.
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:
- 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.
- Take care about the new persistence unit used in the persistence.xml
- Redeploy you new project with the persistence.xml option:
- Reimport you backupfile with the new imixs WOrkflow AdminClient Tool