BPMN and BPMS software

The educational technology and digital learning wiki
Jump to navigation Jump to search

Draft

Introduction

This page will include a description of Business process management notation (BPMN) software and associated Business process management systems.

A Business process modeling lifecycle includes the ability to design, model, execute and monitor business processes. "Business" refers to any kind of environment where humans and machines have to coordinate in some kind of goal-oriented workflow.

See also:

The BPM development lifecycle

Overview of the development process

There is a lot of marketing waffle about how easy it is to implement BPMN models. Certainly, using a PBMN software combo can save a lot of time, but the processseems to be neither straight forward nor simple as of December 2012. There is no simple way from a BPMN model to an executable application.

The basic workflow (lifecycle) looks like this:

1) Modeling and simulation'

  • Design / model a process

2) Data configuration, interface configuration and/or integration

This step is technically speaking the most difficult and implies configuring / implementing a lot of various types of "parameters" through various interfaces. E.g. create the user interface or specify the integration with other services. This can be done in many different ways and is vendor specific. Often, it requires programming or at least scripting, but in most current modern system, one can get away with forms generators, data definitions and connectors to other services.

  • Each type of data that participants can input/output has to be modelled in some way. Data can flow from one task to another or just be made available.
  • User interface forms have to be defined for the execution engine that will drive the collaboration
  • A way to manage documents produced must be found (e.g. a WebDav document repository)
  • Interaction with other services must be defined, e.g. email, social software, other enterprise services
  • Business rules can be defined (e.g. when a person has the right to obtain a higher salary for writing wiki contributions)
  • Applications and various middleware can be programmed.
  • Generate the server application(s)

3) Execute and manage

  • Add processes
  • Manage

4) Monitor

  • Track activities and produce reports

Each of these steps require different competences and may be performed by people with very different profiles. E.g. Bonitasoft, in their introductory tutorials, presents a table that distinguishes between the business analyst, the process engineer, the application developer, and the (process) adminstrator and/or end user. In addition, a systems engineer may be needed.

Bonitasoft's vision of BPMN-related skills (slightly modified by DKS)
Profile Subject area Tasks
Business analyst Process design Model a process, define actors, check the model, and more, to create a process diagram (BPMN) for collaboration
Process engineer Process definition Add variables, define conditions on transitions, add connectors, and more, to make a process diagram executable
Application developer Application development Customize web forms, configure page flow, customize look 'n' feel, and more, to customize process web applications
Administrator Process administration Manage processes, cases, steps, users, etc.
End User Use processes and process data Use the system, use monitoring and reporting tools. Also can include process administration.

Tools

The following figure explains how different Activiti components (a popular BPMN suite) combine to form a complete solution for BPM in the full context of software development. The blue components are part of the Activiti scope. The gray components are out of scope. (Activiti Components, retrieved 14:30, 19 December 2012 (CET))

Activity components (dec 2012)

That kind of picture doesn't really tell what a designer has to do in order to have a working model. It involves a lot of XML parametrization and could even include Java programming. In other words, going from a BPMN drawing to something that is executable is a long route that requires good understanding of data modeling, web services, UI design and so forth.

Most vendors modeling tools include most of the functionality that is needed to create forms and to use connectors. It is not yet clear to us in what ways standards are used, i.e. if exported BPMN 2.0 includes such information at least to some extent...

Let's have a look at the functionality a BPMN design tools may have:

  • A PBMN modeler / drawing tool (all tools have that)
  • ....
  • ....

(soon....)

Let's have a look at a few examples:

Pure modeling tools

There exist various kinds of pure modeling tools:

  • Some only allow to create (approximate) drawings (not included here)
  • Somme include some type of verification + export facilities

A typical example is ARIS Express:

Aris Express 2.4

Design tools

Design tools allow to

  • draw BPMN diagrams
  • verify and simulate
  • configure the model in order to make it more executable. Usually this produces some kind of proprietary code that works with a given BPMS.
Bonita Studio
Designer

List of software

There exist several free tools. The commercial versions of the (commercial) free diagramming tools often include an execution engine. It is not always obvious to understand exactly what version of BPMN is supported. Some vendors already provide tools that implement draft versions of BPMN 2.0. See also diagramming software. Some general purpose diagramming tools allow to create BPMN models (although with all sorts of restrictions).

This list is by no means complete, see also the links sections below for better resources.

Free modelers

See rather the suites below. Most vendors provide both a modeller and an execution engine plus other middleware.

Only drawing and simulation
  • Oryx, (Signavio) a project to create BPMN 2.0 diagrams, EPCs or Petri nets online. Free for academics.
  • OMII-BPEL, Modelling, monitoring, executing scientific workflows with BPEL. (We did not manage to install this, didn't find any installation instructions either ....)
  • BPMN 1.1 stencils for Visio and OmniGraffle by Frank Puhlmann and Alexander Großkopf.
Additional functionality like simulation and BPM formats output
  • FreeModeler.com. Free online modeling tool (design, validation, documentation and simulation).
  • Sketchpad BPMN is a tool for drawing and editing BPMN (Business Process Modeling Notation) diagrams. Sketchpad process models are serialized and stored as XPDL 2.1 files. Sketchpad was originally developed by Global 360 as Process Modeler Analyst Edition. (not tested)

Totally or somewhat free suites

Activiti
  • Activiti BPM Suite, a workflow and Business Process Management (BPM) Platform (authoring tool and execution engine) targeted at business people, developers and system admins. This suite draws from prior experience with jBPMN (see below) and includes several tools, including a modeler and an execution engine.
  • Activity designer (implemented as Eclipse plugin)
  • Activity BPMN 2 process engine implemented in Java. It can run in a Java application
  • See also the commercial alfresco product, the principal sponsor of Activiti.
ARIS
  • ARIS Express. Closed source freeware for BPMN 2/EPC from Software AG. (Java-based, tested under Ubuntu 10, works - Daniel K. Schneider 10:43, 23 June 2010 (UTC))
Bonita
  • Bonita includes “an innovative Studio for process modeling, a powerful BPM and workflow engine, and a breakthrough user interface.” (dec 2012). Basic functionality (modler and engine) is free and there are three subscription packs.
  • Bonita Studio is a BPMN modeler, connector and forms creator
  • The Bonita execution engine
  • Documentation requires to register
Jadex
  • Jadex process. LGPL licence. “The Jadex Processes project provides modelling and execution facilities for workflows. Main focus is on graphical forms of process representation (e.g. the Business Process Modelling Notation - BPMN) and direct execution of modelled processes (i.e. without prior code generation).” ([1]). This is part of a larger project. Jadex is a Belief Desire Intention (BDI) reasoning engine that allows for programming intelligent software agents in XML and Java.
Bizagi
Intalio
  • Intalio|BPMS, claimed to be the world's most widely deployed Business Process Management System (BPMS). Designed around the open source Eclipse BPMN Modeler, Apache ODE BPEL engine, and Tempo. The free community edition runs under a TomCat server (Windows and Red Hat officially supported) and either Derby or MySQL enterprise server. The software includes a BPMN designer, a BPEL server and WS-Human Task Service.
jBPM
  • jBPM is “a flexible Business Process Management (BPM) Suite. It makes the bridge between business analysts and developers”.
  • BPMN 2.0 support
  • Implemented under jBoss.

Online BPMN modeling tools

Modelers
Free online validation

Commercial only

(not complete since edutechwiki is not about BPM ...)

  • Intalio BPM, includes the interesting Social BPM that combines the BPM design tool with a social portal building framework. Very cool, has the potential for use in education to implement learning design/web 2.0 combos.
  • BariumLive Authoring and runtime tools available as web applications (free 30 day trials).

Links

Overviews
Lists of software