WHY ARE CHANGING THE REQUIREMENTS IN A SOFTWARE PROJECT SO OFTEN?

For several years I have developed even business applications for small, medium and large organizations. Actually, I should have learned a lot about what customers need. But like most software developers I am always surprised about endless changes during the project. You start a new software project but when you are approaching the end your customers have new ideas. Why is that? Continue reading “WHY ARE CHANGING THE REQUIREMENTS IN A SOFTWARE PROJECT SO OFTEN?”

JPA – WORKING WITH GENERIC VALUE OBJECTS

Working with generic value objects and jpa is shown by the implementation of the ImixsEntityService EJB. This service ejb is provided by the Imixs Workflow Project. It can be used to store objects independent from a specific Entity Bean. Also queries with JPQL are possible.
See: http://www.imixs.org/jee/examples/entityservice.html

IMIXS ADMIN CLIENT 2.1.1

The latest version of the Imixs Admin Client is finally released. TheImixs Admin Client is a Web Application which allows you to administrate a Imixs JEE Workflow Instance. The Admin Client can be deployed on any JEE Server independent from a workflow Application. So the Imixs Admin Client can be used to adminstrate different instances of the Imixs JEE Workflow Implemenation on the same JEE Application Server.

Downloadpage

HIDING ACTIVIES FROM USER

Today I stumbled into an issue with hidden workflow activities. Normally you can simple hide an activity to unauthorized users by adding an application specific access role to the property section ‘Visiblity and Access’. For example you can add the role ‘org.imixs.ACCESSLEVEL.MANAGERACCESS’ to allow only Managers to use this workflow activity.

But this seems not to work. The reason is that the Imixs Modeler stores the read-access restriction into the property ‘namReaders’. And this is no read-access property per default. Only the property ‘$readAccess’ will be recognized by the workflow system to protect workitems.

But the solution is quite simple. You only need to add the field name to the Imixs EntityService Bean declaration from the ejb-jar.xml descriptor:

            <ejb-name>EntityServiceBean</ejb-name>
            <ejb-class>org.imixs.workflow.jee.ejb.EntityServiceBean</ejb-class>
            <session-type>Stateless</session-type>
            <env-entry>
                <description>Additional Reader Field for Workflow Model</description>
                <env-entry-name>READ_ACCESS_FIELDS</env-entry-name>
                <env-entry-type>java.lang.String</env-entry-type>
                <env-entry-value>namreaders</env-entry-value>
            </env-entry>            
        </session>

No the property ‘namReaders’ is treated by the Imixs Workflow System as a reader field.

I think we will change the Imixs Modeler in the next release to support also the default field ‘$readAccess’. So no further configuration will be necesary here.

MYSQL AND BLOB FIELD SIZE

Using the Imixs Workflow together with mysql can lead into a problem with large data stored in a single workitem. The Database schema use by the Imixs Workflow will be generated automatically by the OR-Mapper (e.g. Toplink, Eclipslink). This is all done well. But the Data table ‘EntityData’ used by the Imixs Workflow engine contains the column ‘itemcollection’. This column will store all undstuctured data. And in some cases this data can become very large. For example when storing a attachment into a workitem the field can be serveral MB in size. The default field type in mysql is ‘BLOB’. And this fieldtype is restricted to a maximum size of 64KB. So the Imixs workflow engine can not store large workitems. This will result into a SQL Execption.

To avoid this problem the Datatype can be changed from ‘BLOB’ to ‘MEDIUMBLOB’ (=16MB) or ‘LONGBLOB’ (=4GB). This can be done with the MySQL Admin Client or from the MySQL command line.

ALTER TABLE <Tabellenname> CHANGE <columnname> <columnname> LONGBLOB;

To change the datatype for a example database ‘imixsdb’ use the following command:

ALTER TABLE ENTITYDATA CHANGE ITEMCOLLECTION ITEMCOLLECTION LONGBLOB;

 

BPM SOLUTION FOR GLASSFISH AND JBOSS

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”

THE ADVANTAGE OF BPM SOLUTIONS BASED ON JAVA EE

One of the most important advantages of the Imixs Workflow Engine is the fact that Imixs Workflow is based on the Java Enterprise Plattform (Java EE). A Java EE application server can handle transactions, security, scalability, concurrency and management of the components that are deployed to it. So all the features and characteristic from the Java EE plattform are also part of Imixs Workflow. Here are some examples: Continue reading “THE ADVANTAGE OF BPM SOLUTIONS BASED ON JAVA EE”