The Web Sample Application

To demonstrate the concepts of the Imixs-Workflow Engine, the project provides a Web Sample Application based on JSF. The source code can be downloaded from GitHub.

The following section gives you an overview how to build the sample application and how to deploy the application into an Application Server.

We assume, that your are familiar with the concepts of Java Enterprise, JSF and Maven. This tutorial also refers the general steps needed to get the Imixs-Workflow engine up and running on different platforms. You will find more detailed information about deployment in the deployment guide.

How to Build the Imixs-Sample Application

First checkout the sources from GitHub and build the Imixs-Sample Application in your workspace. All Imixs-Workflow projects are build on Maven. This makes it easy to build the application from the sources. You can build the application with the maven command:

$ mvn clean install

You will find the war file in the target folder of your working directory.

How to Setup the Environment

Before you deploy the Imixs-Sample Application, you first need a Java EE application server like Glassfish, WildFly or Apache TomEE. You need at least to configure the following resources:

  • a Database to store the Workitems and the Workflow Model
  • a JDBC Database connection from your Application Server to the database
  • a JAAS Security Realm to allow users to authenticate against the Workflow Application.

In the following deployment sections you will find more information how to setup a server environment:

Run the Imixs-Sample Application

After you have successfully deployed your application you can open it from from your web browser:

http://localhost:8080/workflow

The Workflow Model

Imixs-Workflow is based on BPMN. The workflow model describes the behavior of your Workflow. Things like the different states, the Read- or Write-Access, the Process History or Email notifications are declared in the Model. The Imixs-Sample Application contains already a valid model file for a “Trouble Ticket Workflow System” under /src/workflow/ticket.bpmn

Trouble Ticket Systems are commonly used in an organization's customer support. So this will be a good example to start with. You can explore and customize this sample model using the Imixs-BPMN Modeler.

Uploading a BPMN model into your application is done by using the Imixs-Rest API. With the following Linux curl command line tool you can upload the model from your workspace:

$ curl --user admin:adminpassword --request POST -Tsrc/workflow/ticket.bpmn http://localhost:8080/api/model/bpmn

You can also use any other Rest Client Tools to manage your models. E.g: Insomia or Postman.

To verify all models available in your application use the URL:

http://localhost:8080/workflow/api/model

What's Next…

The Imixs-JSF-Sample application can be used as a starting point. You can add your own forms and views if you are familiar with the concepts of Java Enterprise, JSF and Maven.

Get started now and read more about: