Search code examples
jbpmbusiness-process-managementactivitibpmn

What are BPM frameworks advantages


I begin to learn Activiti, and it seems I don't grasp the main purpose of it. And after googling it doesn't become clearer for me.

  1. Is it the program state tracking?
  2. Is it the performance monitoring?
  3. May be another reasons?
  4. Does it reasonably for small projects?

My main question is:

What is the main purpose of using BPM frameworks like Activiti, jBPM, BonitaSoft?


Solution

  • The main purpose of using Business Process Management (BPM) frameworks is to enable an organization to integrate business process applications into their existing frameworks.

    All organizations use processes to do the work they do, even if they don't formally write down those processes. As an organization grows larger, it will find it harder and harder to manage its processes. By 'manage' I mean to modify, grow and evaluate processes. BPM is a way to formally document and manage those processes.

    Organizations can use BPM tools (i.e. Frameworks and other software tools) to get a better understanding of the work they do (i.e. their processes), how they do it and how to do it better. Since all organizations use multiple software applications to do their work, it is essential that BPM tools integrate with these applications. Having this integration makes it easier for people to use BPM and it makes the most of what an organization has already invested in its existing application stack.

    BPM tools and frameworks are what enables BPM developers to integrate BPM into an organization's existing applications. BPM tools and frameworks let you easily build applications that automate an organization's processes and let those process applications share data with the other applications an organization uses.

    These tools and frameworks provide essential BPM services such as:

    1. Task routing - Making sure the right task is made available to the right person
    2. Process monitoring - Discovering which process are running, which are stalled, how long a process is taking to run, etc.
    3. Process administration - Installing/Removing new process applications, re-assigning process tasks to other users, etc.

    I hope this helps.

    Full disclosure: I am an engineer at Bonitasoft.