News

Open Source Workflow Engine on the IT & Business Trade Fair 2016

This year, the Imixs Software Solutions GmbH presents the latest major release of the open source workflow engine Imixs-Workflow 4.0.0 at the IT & Business Trade Fair.

ITB_15_W_027_gr-200x300

Bildnachweis Messe Stuttgart

Imixs-workflow is a so called “human-centric workflow engine”. Human-centric BPM means to support human skills and activities by a task orientated workflow-engine. The Imixs-Workflow project provides a powerful framework for the development of human-centric business applications. Imixs-Workflow can control, monitor and optimize any kind of business process between employees, customers and suppliers. This topic is currently also well known under the headline “Social Collaboration”. In contrast to a simple ad-hoc workflow approach, Imixs-Workflow allows the development of professional business applications and the integration of business process management into existing IT architectures. Imixs-Workflow also follows the approach of a microservice architecture and can for example be run easily in a docking container.

The new release includes significant improvements in performance and stability. Which a new database schema and the integration of the Lucene-search technology, the Imixs-Workflow engine is now much faster and can be easily integrated in custom software projects. With the Eclipse-based modelling tool ‘Imixs-BPMN‘ a business process can be developed according to a model-driven software development approach. Changes in the business logic or in the business process itself can be deployed at run time. This leads to a significant reduction of development cycles in an agile software development environment.

For software companies and larger projects, Imixs-Workflow shows a huge potential for improvements in the area of agility and cost reduction. With the support for BPMN 2.0, business logic can be changed easily and without costly re-factoring. The Imixs Software Solutions GmbH supports companies in the development and implementation of workflow solutions and offers also training and individual workshops.

The new version is expected to be released finally in September 2016. The open source project is available on GitHub, and provides a lot of examples and modules. Visitors of the IT & Business Trade Fair can inform themselves between Oct. 04.-06. in Stuttgart. Discussions about Imixs-Workflow can be made together with workflow experts at booth 1G33.2.

6064633_29_08_16-300x250IT & Business, DMS EXPO and CRM-Expo are merging to form a single event: the new IT & Business. Under one brand and under the roof of the largest hall at the Stuttgart Trade Fair, exhibitors will show how companies can work more efficiently, simply, safely and economically by means of optimising their operational processes.

News

Version 4.0.0 anounced!

The next major release of Imixs-Workflow 4.0.0 is already under development and will be released soon. The new version represents a significant improvement in performance and stability. One of the major improvements is the new database schema as well as the integration of the Lucene Search Technology. At the same time, we will also re-factor the service layer which will simplify the usage of Imixs-Workflow for most projects.

For software companies and larger projects, Imixs-Workflow can be a huge improvement in changeability and cost reduction for the development of enterprise business applications. The BPMN 2.0 standard and the Imixs-BPMN modeler allows to change business logic during runtime and simplifies the way to maintain complex business applications.

The new release which is now in a test stage will be released in September 2016. You can join the project on GitHub.

Development

Does the GPL of Imixs-Workflow Affect my own Application?

Once again I was asked if the GPL of Imixs-Workflow does affect the development of a proprietary application which is distributed under a non-gpl licence? The answer splits into two different aspects:

Running a Separate Process

Since the Imixs-Workflow engine runs as a separate process which is called from a closed-source program, the FSF presents the legal opinion that the proprietary application would probably be a separate work. And this is the typical usage of the Imixs-Workflow engine. This is also valid if you develop a library or a plugin linking to the Imixs-Workflow engine used from a non-free program. The copyleft of the GPL library causes your plugin or library to be covered by the GPL, but not the main application, which is probably a separate work. As long as the workflow engine runs as a separate process there is no violation of the GPL in your main application.

Distributing Software

The second part of the answer is about the question of distributing software. In these days we all mostly develop software running on servers in the internet or the ‘cloud’. In this case it does not matter if your server uses a GPL library or software like MySQL or Imixs-Workflow. As long as you did not distribute the source code of your software you are not affected by the GPL or violating it. You are totally free to use GPL software.

Conclusion

Does the GPL of Imixs-Workflow affect your application development? The answer is “no” for the cases discussed above. Feel free to use free software, but avoid to prevent others from using free software.

News

Imixs-Workflow 3.8.4 – Final Release

The last week the Imixs-Workflow project released the new Imixs-Workflow release 3.8.4. The new release includes a lot of improvements and enhancements:

  • ResultPlugin – provide method to parse item attributes enhancement testing
  • ReportService – getReportList returning sorted result set
  • Rest API – Report Service provide new converter tag
  • Rest API – Report supporting dynamic date values
  • Rest API – remove duplicated mediatype methods
  • Rest API – provide new RESTfull uri for getEvents()
  • Rest API – added new post workitem URI
  • Testsupport – refactor AbstractWorkflowServiceTest
  • WorkflowService – added new method getEvents
  • WorkflowService – refactoring, remove getWorklist
  • WorkflowService keyDebugLevel deprecated/removed
  • WorkflowSevice – standard queries – remove useless joins
  • ReportService – provide child item structures #169

Also some bugfixes are included in release 3.8

  • WorkflowService – namLastEditor updated only if user changed
  • EntityService – remove deprecated indexValues
  • ResultPlugin – Regex matcher failed in case of newline

You can download the latest version from the Maven repository or GitHub.

Next Release 3.9

The work on the next release 3.9.0 has already started. The upcoming new version of Imixs-Worklfow will include a redesign of the Model Service Interfaces. The Model Management will be handled In-Memory which gives the workflow engine a impressive performance boost.

News

Imixs-BPMN Modelling Tool 1.4.4 Released!

With the latest version 1.4.4. of the BPMN modelling Tool Imixs-BPMN, the open source project ‘Imixs-Workflow‘ provides several enhancements in modelling human centric workflows. Among other new features it is now possible to model scheduled events on a working day basis. This allows scheduling events in individual time frames ignoring weekends. Another enhancement is the visualisation of custom task properties. ACL settings or custom editor settings are now visualized by info icons. Also the Process-ID of a Imixs-Task element is now displayed in the graphical representation of a BPMN model.

bpmn2-customtask

Some bug fixes align the new release with the latest version of Eclipse BPMN2 for the Mars Release. The new version can be downloaded and installed from the Eclipse Marketplace. Further information about the BPMN modelling tool can be found on the project homepage www.imixs.org.  Take also a look into the tutorial “How to Create a Workflow Model“.

Architecture Development

How to Run a Custom Build of Imixs-Office-Workflow Using Docker

The Imixs-Workflow project supports Docker and provides also a Docker image for the workflow management suite ‘Imixs-Office-Workflow‘. Imixs-Office-Workflow provides a full featured business process management suite and can also be used to be extended in various ways. With Docker it becomes easy to setup a custom build for development, test and productive environments.

Setup a New Custom Build

To setup a new custom build of Imixs-Office-Workflow you can use the Imixs-Office-Archetype maven project, which provides a simple starting point for custom development. To run you custom build using Docker you should add a docker folder into your project with the following structure:

-/.data
-/.deployments
-/configuration
 |-standalone.xml
-docker-compose.yml
-Dockerfile

Customize Wildfly standalone.xml

First you can use the standalone.xml file located in the /configuration folder to configure your wildfly server to your project needs. Typically this will be a data-pool configuration and a security realm. This is an example of a custom database pool configuration which can be run in a docker container to access a postgres database running in another Docker container:

...
  <datasource jta="true" jndi-name="java:/jdbc/office-test" pool-name="office-test" enabled="true" use-ccm="true">
 <connection-url>jdbc:postgresql://postgres/office-test</connection-url>
 <driver-class>org.postgresql.Driver</driver-class>
 <driver>postgresql-9.3-1102.jdbc41.jar</driver>
 <security>
 <user-name>postgres</user-name>
 <password>adminadmin</password>
 </security>
 <validation>
 <validate-on-match>false</validate-on-match>
 <background-validation>false</background-validation>
 </validation>
 <timeout>
 <set-tx-query-timeout>false</set-tx-query-timeout>
 <blocking-timeout-millis>0</blocking-timeout-millis>
 <idle-timeout-minutes>0</idle-timeout-minutes>
 <query-timeout>0</query-timeout>
 <use-try-lock>0</use-try-lock>
 <allocation-retry>0</allocation-retry>
 <allocation-retry-wait-millis>0</allocation-retry-wait-millis>
 </timeout>
 <statement>
 <share-prepared-statements>false</share-prepared-statements>
 </statement>
 </datasource>
 ...

Note that the connection-url points to the host ‘postgres’ which need to be linked later to this container.

The Dockerfile

Next you can create a custom Dockerfile to describe you Imixs-Office-Workflow container for your custom build:

FROM imixs/office-workflow:latest
# add custom standalone.xml file
ADD configuration/standalone.xml /opt/wildfly/standalone/configuration/

The Dockerfile is quite simple. It extends the office imixs/office-workflow container and adds the new custom configuration file standalone.xml into the container

Docker-Compose

We use now docker-compose to describe the environment where we run a PostgreSQL Server, a WildFly Application Server and our custom build of Imixs-Office-Workflow.

 postgresloml:
  image: postgres:9.4.6
  environment:
    POSTGRES_PASSWORD: adminadmin
    POSTGRES_DB: office-test
  volumes:
    - ./.data/db:/var/lib/postgresql/data

 officetest:
  build: .
  environment:
    WILDFLY_PASS: adminadmin
  ports:
    - "8080:8080"
    - "9990:9990"
  links: 
    - postgresloml:postgres
  volumes:
   - "./.deployments:/opt/wildfly/standalone/deployments"

The docker-compose.yml file describes the PostgreSQL container with a custom database named ‘office-test’ (see the standalone.xml file), and a new imixs/ofifce-workflow container running our custom build of Imixs-Office-Workflow. The volumes parameter binds the local ./deployments/ folder which is used for autodeployments our application artifacts and also to configure hot-deployment during the development phase.

To start the environment simply run:

docker-compose up

That’s it! Now you can deploy your application aretfact of Imixs-Office-Workflow together with ah postgresql-jdbc.jar file into the local ./deploymetns folder.

After you access Imixs-Office-Workflow from your web browser (http://localhost:8080/office-test) the default user account ‘admin’ with the default password ‘adminadmin’ will be created and can be changed from the Admin section

 

Architecture Development

Docker-Compose – How To Install

The Imixs-Workflow project supports Docker and provides several Docker containers to run business applications like Imixs-Office-Workflow on a Docker host. A business application like Imixs-Office-Workflow requires to start different containers to separate the database form the application/web server. With the help of the Docker Tool ‘Docker-Compose’ the  definition of multi-container Docker applications is quite simple. The Imixs project provides different Docker-Compose definitions stored in a docker-compose.yml file.

The Installation

The following installation guide is written for linux users. For other plattforms see the installation guide here.

Fist download docker-compose sources from GitHub and change mod with the following command:

curl -L https://github.com/docker/compose/releases/download/1.7.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
 chmod +x /usr/local/bin/docker-compose

After installation you should verify the installation with the following command::

docker-compose --version

this should result in something like:

docker-compose version 1.7.0, build 0d7bf73

How to downgrade the docker-compose

Depending on you docker installation it can be result in a version conflict between Docker and Docker-Compose after a manual installation. You will see an errer message when starting docker-compose like the following:

client and server don't have same version (client : 1.18, server: 1.17)

In this case you can easily install a lower version of docker-compose with the curl command as shown above.

Run Docker-Compose

After you have installed Docker-Compose successfully you can start a multi-container Docker application with the following command:

docker-compose up

You can run the containers in background:

docker-compose up -d

to stop all containers run:

docker-compose stop

 

 

News

Imixs Joins Docker!

The Imixs-Workflow Project is now joining Docker. We provide a first image for a Wildfly application server container. This image will be used as a base for Imixs-Workflow projects like Imixs-Office-Workflow.

Read more about the imixs/wildfly container here. 

News

Imixs-Workflow 3.7.0 – Final Release

These days we released the latest version of Imixs-Workflow 3.7.0. The new release contains the following enhancements and bugfixes:

  • Enhancement: RestClient supports fileupload (Post request)
  • Enhancement: XMLItem supports Map and List values
  • Enhancement: EntityTableWriter supports formating item values
  • Enhancement: WorkflowKernel enhanced logging for followup activities
  • Enhancement: FieldMapping of BPMN models supports now static mapping of user groups
  • Enhancement: Removed TinyMCE support
  • Bugfix: ItemCollection setItemValue – handle list with null values throws exception
  • Bugfix: FileUpload Controller is now thread/session safe
  • Bugfix: EntityService saveEntity fixed wrong datastsructure durng multiple updates in one transaction
  • Bugfix: new Pug-In Exception when item tag is not closed in activity result

You can download the latest version from the Maven repository or GitHub.

News

BPMN modeling for martians!

Version 1.2.4 of the Eclipse BPMN2 Modeller Plug-In is now available for Eclipse Mars. The new release provides a lot of improvements and bug fixes. See the New & Noteworthy page for what’s new in Eclipse BPMN2 Modeller. The latest version can be installed from the Updatesite.
Version 1.2.4 can be installed together with the Imixs-BPMN Plug-In which is providing extensions to deploy a BPMN 2.0 model into the Imixs-Workflow Engine. Imixs-Workflow is an open source workflow engine for human-centric business process management (BPM) based on the Java EE technology stack. Read more about Imixs-Workflow here.