This Tutorial shows how to build a web based workflow application using the Imixs workflow framework. As the Imixs workflow project gives you a powerful technology building a business process management system (BPMS) it is mostly easy to setup a new web application without spending to much time into development. Its time to focus on the business process and your customers needs!
The Imixs Workflow Project is open source and so the project gives you the possibility to customize your workflow management system as you would mind. There is a lot of additional documentation about the different technologies and also a discussion forum where you can ask any question. So don't worry about your plans to develop a strong, scalable and robust workflow management system (WFMS) with Imixs Workflow.
The Tutorial consist of three parts.
- Part I. - shows the creation of a workflow model. The workflow model is the blueprint where you describe how your business process should work. You can use the Eclipse based graphical Imixs Workflow modeler to develop a Imixs Workflow model.
- Part II. - concerns about the setup of your application server which is responsible to authenticate users and store workitems (a running process instance) into a database.
- Part III. - will show you how to build and deploy the web application. This is mostly easy as you can use Maven to setup a scaffold in a few seconds which will provide you with a typical web application project based on the latest JEE/JSF Technology. You can use the scaffold to start further development or just start you own implementation. Its up to you.
The hole tutorial will take less than 15 minutes. So I suggest you to check it out!
Creating a Workflow Model
To start this tutorial I will explain how you can create a new Workflow Model which describes your business process. This is the typical first step in business orientated development. And this is also that part which your customer will be able to follow best as this step is more business orientated and less technical.
The Trouble Ticket Workflow
In this Tutorial I will develop a "Trouble Ticket Workflow System". A trouble ticket system (also called issue tracking system or incident ticket system) is based on a business process that manages and maintains lists of issues, as needed by an organization. Trouble Ticket Systems are commonly used in an organization's customer support call center to create, update, and resolve reported customer issues, or even issues reported by that organization's other employees.
A ticket is the "workitem" managed by your application which contains all necessary informations about the reported customer issue .
In my example scenario I will design the workflow very simple to demonstrate the principle and basic concepts of the Imixs Workflow:
- A customer service operator receives a telephone call, email, or other communication from a customer about a problem. The operator creates a new issue in the Trouble Ticket system. The status of our workitem is now "open"
- Next a member of the technician team verifies that the problem is real, and not just perceived. The technician will also ensure that enough information about the problem is obtained from the customer. The technician accepts the ticket or reject it. An accepted Ticket will change the status of the workitem into "in progress".
- As work is done on that issue, the system is updated with new data by the technician. Any attempt at fixing the problem should be noted in the issue system.
- After the issue has been fully addressed, it is marked as solved in the issue tracking system and the ticket will be closed. Status "closed"
This is a BPMN diagram from the workflow which shows the process flow:
To create this BPMN diagram I use the Eclipse BPMN Modeler which is a nice and easy to use modeling tool based on eclipse.
Using the Imixs Modeler
In the next step you create a technical model of the business process. To create a new Imixs workfow model I use the Eclipse based Imixs Workflow Modeler. The Imixs Workflow Modeler is used to describe the technical flow of a workflow. You can configure a lot of application specific behavior within this tool which will reduce the time for coding the application. The Imixs Workflow Modeler can be installed very easy using the Eclipse Update Manager. If you have not yet installed the Imixs Modeler follow this installation guide.
From the Eclipse IDE you can crate a new Imixs model file to store the workflow model. A Imixs model file has the file extension ".ixm".
can create you new Model file in the /src/ folder of any eclipse
project. Create a new folder /workflow and create a model file
"model.ixm". Or you can use the New Wizard or simply create a empty file
When you open this file you see the Imixs Workflow Editor:
Now you can create a new Process Group called "ticket" and add three Process Entities described in your bpmn business model:
- new Ticket
- in process
You will find a full description at: how to model a business process on the Imixs Modeler project Page.
After all you model can look like this:
If you don't want to create the model by yourself you can download the complete model file from the Imixs Download center here.
Now the first Part of our Tutorial is finished. Continue with Part II.