Posts Tagged ‘jBPM’

Plug and Play Business Process Execution

22. August 2009

The field of field of Business Process Execution is rising in importance and will make a fully web service oriented software development strategy of today really shining tomorrow.

What must one think of when it comes to “integrating” such an Engine with a Framework of Components primarily targeted at developing stand-alone “applications” for specified Business Purposes? Well, nothing stands alone anymore in these days and everthing is a process, isn’t it? Therefore, I think it would be nice to have in place

  • A Web Service Oriented Architecture of the Application itself in order to allow the Business Process Execution Engine to automatically trigger any Task one could think of
  • In addition to that a Task Management which is fully integrated into the Application in order to allow the User of the Application to go through all the Tasks which concern the Application and need Human Intervention by a User just like the one which happens to sit in front of the Application.

Such a Task Management will probably

  • Provide a small layer of interface code which abstracts away the main aspects of typical Business Process Task Managements (should as a starting point work with jBPM and Intalio Task Management)
  • Filter out and present only Tasks which concern Human Intervention in this Application itself.
  • Provide useful mechanisms of linking such Tasks to Target Screens of the Application and maybe even prepopulate forms presented to the user with data needed for this task
  • Such “Data needed for the Task” could be Data already available in the Process Instance and somehow transfered to the Application via the Task – but an even better Idea could be to prepare User Screens which need Human Confirmation directly by the Process Instance (via a Web Service) and after that Create the Task which links to this prepared “Screen”. (When thinking about it, what’s happening here is very similar to the approach of “Second Set of Eyes”. The Idea is in my mind that a Process could act just like a User which is not allowed to activate changes and prepare some “not-yet-activated” Data, while a Human User who is allowed to activate such changes could just confirm them when going through the Task List linking to such Screens of Prepared and Not-Yet-Activated Data).

(This post is part of my thoughts about A portfolio for Enterprise Web Applications)