Jump to: navigation, search

JWT EclipseMag

Revision as of 04:10, 26 August 2008 by Mickael.istria.openwide.fr (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Organization

  • Title: Workflow Tooling within Eclipse
  • Authors: Florian Lautenbacher, Bernhard Bauer (Uni Augsburg), Marc Dutoo (OpenWide), additional authors welcome!!
  • Could be submitted after finalizing to the German speaking Eclipse Magazin or the International Eclipse Mag.

Storyline

  • SOA and BPM is getting more and more attention
  • Many tools available, but either incompatible or quite expensive
  • Hence: using Eclipse as a basis for an overall workflow and BPM tool
  • Short background: what is BPM, workflow, what is important there
  • Aim, architecture and components of Eclipse JWT
  • Maybe something on SCOrWare here?
  • Short description about each component in Eclipse JWT
  • Workflow Editor more in detail, especially on views and extensions(?)
  • What is our current work, future research, in which projects will JWT have impact
  • References at the end

Introduction

During the last years the Service-Oriented Architecture (SOA) is realized in more and more companies, very often applying Web Services but also other technolo- gies. Not only since the advent of SOA but now with much more attention, the modeling, analysis, design and execution of business processes is promoted by many vendors. These vendors sell tools that allow an overall management of the whole life-cycle of business processes (compare [12]). There already exist several open-source tools for modeling processes, deploying them on existing process- engines and monitoring them. Due to the huge amount of different tools most of them are not interoperable and tools are only usable for one specific kind of process engine, modeling tool or service registry.

Gartner says that especially the continuity from business processes on the one hand to the realization by services in an SOA is still a big problem. There are already a lot of tools that allow the one or the other (modeling in BPMN [10] or UML activity diagrams [9] or orchestrating in WS-BPEL [7]), but the continuity from the business view to the technical details is often missing [4].

This is the setting which we aim to improve. In the Eclipse-project Java Workflow Tooling (JWT) we are currently developing a complete toolset for the modeling of business processes, refining them with technical information to executable workflows and deploying and monitoring them on process engines.

In this paper we describe the integration issues and our solution. Therefore, in the next section we give some basic definitions and show the issues that companies have at the moment. After that we describe the architecture of JWT, before we go into more details for some parts of the solution. We conclude with some next steps that are currently taking to enhance JWT to a fully blown tool for semantic business process modeling.

Background

In the introduction we are speaking about workflows on the one side and BPM on the other. But where exactly is the difference? A common understanding is the basis for further discussion about the improvement of business process management.

A business process is a set of one or more linked procedures or activities which collectively realise a business objective or policy goal, normally within the context of an organisational structure defining functional roles and relation- ships [14]. A workflow [6] on the other side is the automation of a business process, in whole or part, during which documents, information or tasks are passed from one participant to another for action, according to a set of procedu- ral rules [14] or simply the computerised facilitation or automation of a business process, in whole or part [13]. The difference between business process man- agement and workflow has also been described as: BPM and workflow are seen as essentially the same, albeit with some differences of emphasis [5]. The term workflow is used to denote a series of related interactions between people and a computer system. Where workflow is more often used in a technical context, BPM has a broader scope. It implies also the non-technical issues like analysis, organizational impact, from the viewpoint of a manager [1].

Generally speaking a process is a formalized view of a business process, rep- resented as a co-ordinated (parallel and/or serial) set of process activities that are connected in order to achieve a common goal [14]. There are four layers of process definition:

  • the state layer: control flow, states and actors
  • the context layer: process context variables and references
  • the programming logic layer: software in binary or source format
  • the user interface layer: interactivity with human users [1].

There are many vendors who sell tools for BPM, workflows and SOA. However, a monitoring tool is normally only designed for one specific process engine and the modeling tools cannot be used to generate code for all kinds of process engines. This becomes especially a problem in the open-source area.

The aim of the Java Workflow Tooling (JWT) project

JWT is divided into several parts. The architecture which is depicted in Figure 1 consists of several models. Similar to the model-driven architecture (MDA) [8] which is promoted by the Object Management Group (OMG), the modeling of systems starts with the computation-independent model (CIM) which is then transformed and refined to a plattform-independent model (PIM). This PIM can be afterwards refined again with technical information and either transformed to the plattform-specific model (PSM) or can directly be used for the generation of executable code.

The core is the JWT metamodel which is used for modeling processes in the Workflow Editor (WE). This allows to graphically represent process definitions and export these process definitions in XML. However, for the generation of XPDL or BPEL-code an own transformation is necessary which can in the case of XPDL be done directly from the model or through a workflow code generation framework [11] which takes the graph-based process model and generates a block-based representation in BPEL. Additionally, we are currently developing transformations to the STP Intermediate Model (IM) which acts as a pivotal model in the SOA Tools Platform project of Eclipse and which can then afterwards be transformed to BPEL-code. Sometimes, however, one already has a business process model in BPMN (e.g. created with the STP BPMN modeler) and does not want to start from scratch. Henceforth, we also have transformations from BPMN to JWT and vice versa. The model in JWT can be enhanced with all kind of technical information. This allows to simulate the workflow e.g. with the AgilPro Simulator [3] and to preview the result without a process engine or to generate code lateron. The process can be surveyed in different views: the business views only shows information that is interesting for a business manager (who does not want to see technical details about services, applications or some data binding). One can easily switch to a technical view which then shows much more information. Here, all necessary data for one or more process engines can be integrated. Hence, JWT aims to become a complete toolset for companies using workflows: from modeling a process, simulating it over deploying it on a process engine, monitoring it, etc. until it terminates.

Workflow Editor (WE)

  • Based on EMF, GEF
  • Enables the modeling of workflows in different views (technical, business, user-definable)
  • Underlying principle: MDSD light [11]
  • Screenshots?
  • Example process(es)

Next steps in JWT

JWT in a world of services (JWT4SOA)

This text is not part of orginal article, it has been added by Mickael and written without trying to integrate it in the existing part, thus it should be reviewed/improved/corrected several times to be better integrated in article

TODO:

  • Reference for SCA to OSOA
  • Reference for Bonita


As you may know, Service Oriented Architecture is getting a lot of interest since it can provide efficiently and easily reusability, agility, scalability and simplicity to complex SI and applications.

Some people feel that a close link between SOA and BPM exists; and we agree with them. SOA can be a technical architecture behind BPM. Indeed, automated workflow tasks are concretely programs or services calls. Then we understand that process modeling is a client of SOA concepts.

Moreover, if we consider more generally processes (and not only workflows), we also speak of web services orchestration and BPEL. As explained, we try to make JWT a complete tool for workflow design, but we also think that it is also able to deal with any kind of process.

Those two reasons show that JWT also has to include some abilities to deal with services. Some proofs of concept already exists, and workflow containing only web services tasks were designed in JWT and run on workflow engine (using Service Component Architecture technology in Bonita engine). This experiment was successful, and confirmed that linking SOA and BPM is something efficient, and that JWT can become a good tool in such context.

This topic is far from being closed, the integration of JWT into SOA is only at its beginning, bridges are to be built between JWT and STP , to encourage process modelers to take advantage of SOA in their processes (a transformation between JWT and STP-IM metamodels is already in progress). Ideas, use cases and contributions on this topic are welcome on JWT newsgroup!

Other topics that can be developped

  • Joint work with the STP-IM project extensions for integrating with an Information

Systems Service Oriented Architecture (SOA) and especially the SCA technology model transformations and code generation, implementing further a united approach of BP design and management

  • JWT as the basis for a toolset for semantic business process management.

References

1. T. Baeyens. The state of workflow. jBoss.org/jBPM, May 2004.

2. B. Bauer, F. Lautenbacher, G. Palfinger, and S. Roser. AgilPro LiMo - Modellierung und Simulation von Prozessen. In 1. GI-Workshop openBPM - Open Source Business Process Modeller, Hamburg, October 2006.

3. B. Bauer, F. Lautenbacher, G. Palfinger, and S. Roser. Agilpro: Modellierung, Simulation und Ausführung agiler Prozesse. OBJEKTSpektrum - Die Zeitschrift fur Software-Engineering und Management, Januar/Februar, Januar / Februar 2007.

4. S. Franke. Prozessmanagement-Suiten fehlt noch die Durchgaengigkeit - Ein Interview mit Gartner-Analyst Hestermann. Computer Zeitung Nr. 18, 28. April 2008, p. 8.

5. D. Hollingsworth. The workflow reference model, 10 years on, 2004.

6. S. Jablonski and C. Bussler. Workflow Management - Modeling Concepts, Architecture and Implementation. Thomson Computer Press, 1996.

7. D. Jordan, J. Evdemon, A. Alves, A. Arkin, S. Askary, C. Barreto, B. Bloch, F. Curbera, M. Ford, Y. Goland, A. Guizar, N. Kartha, C. K. Liu, R. Khalaf, D. König, M. Marin, V. Mehta, S. Thatte, D. van der Rijn, P. Yendluri, and A. Yiu. Web services business process execution language version 2.0. OASIS Standard, April 2007.

8. Object Management Group. Mda guide version 1.0.1, June 2003.

9. Object Management Group. Unified Modeling Language (UML) Specification: Superstructure, version 2.0. Final Adopted Specification, July 2005.

10. Object Management Group. Business process modeling notation, v1.1. OMG Available Specification, formal/2008-01-17, January 2008.

11. S. Roser, F. Lautenbacher, and B. Bauer. MDSD light for ERP. In Proceedings of the 23rd Annual ACM Symposium on Applied Computing, Track on Enterprise Information Systems - EIS, Fortaleza, Brazil, March 2008.

12. M. Weske. Business Process Management - Concepts, Languages, Architectures. Springer Verlag, Berlin Heidelberg, 2007.

13. WfMC. Workflow reference model, 1995.

14. WfMC. Terminology glossary, 1999.