Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [Fwd: [jwt-dev] [architecture] JWT and the Process Virtual Machine]

I see two main principles for the tooling counterpart of the PVM:

A component model for nodes
On the tooling end, the base framework should be able to display nodes and transitions. Like e.g. in BPMN, but ignore the decorations and the properties for a minute.

Then a process construct should be a plugin. The plugin contributes the following to the base plugin:

- shape: the tool could predefine the 4 BPMN shapes, but a node-plugin should be able to self-define it's shape with its own figure.

- configuration: the plugin should contribute a properties form to enter the configuration information for that node type. to enable this, the internal model of the process graph must have a dynamic set of properties.

- constraints: the plugin should be able to specify constraints like: this type of node can only have 1 outgoing transition. or: outgoing transitions from this node type can only be connected with node type z.

- decorations: which decorations are supported. maybe this could be done with icons so that apart from the BPMN decorations, node implementors can supply a graphical colourful icon.

The whole idea is that you should separate all the node type specifics from the basic process designer container.

Guidance for process languages
BPMN recognizes multiple process languages. But it has suggested a problematic approach to handle that.

BPMN defines a mechanism of bidirectional mappings from BPMN to executable process languages. This suggests that you could model in BPMN and then translate to any executable language. IMO, that is a unidirectional translation.

When an (non-tech) analyst starts to model a process, this has to be done in free modelling language like BPMN, visio or IDS Scheer's ARIS notation. Of course, those models only contain graphical information intended for human-to-human communication and they are not executable.

Executable processes exists of graphical structure and technical details to make a process executable (see The graphical picture is the common language between analysts and developers. An executable process is human to system communication in the sense that it specifies to the computer system what it has to do.

The translation from a modelling process (graph only) to an executable process (graph and tech details) is a big one. First of all, the analyst may have modelled steps in the model that are not to be automated by the computer system. Second, the developer makes a selection as to which process language best fits his technical environment. It will most likely not be possible to keep the original process model as-is for the executable process because of the executable language specific constraints.

After the translation to an executable process, analyst and developers have a common language in the graphical part of the executable process. But now, the analyst lost his freedom to change anything he wants since that implies software changes.

This is why I come to the following conclusion: A process designer tool should support each process language individually. BPMN is one of those languages/notation. This is the free modelling tool. Then BPMN diagram can be converted (1 time translation) to executable process languages like BPEL, XPDL and jPDL. This translation should generate a new file.

For modelling an XPDL process for instance, the designer tool should present itself as a straight XPDL editor. All the parts that XPDL specifies should be exposed by the tool with their proper names (properties and node types). But where XPDL is undefined (like in the graphical notation), that is where BPMN can be used to complement.

Same story for other executable process languages.

sorry for the length :)

regards, tom.

Koen Aers wrote:
-------Doorgestuurd bericht-------
Van: Marc Dutoo <marc.dutoo@xxxxxxxxxxx>
Antwoordadres: Java Workflow Toolbox <jwt-dev@xxxxxxxxxxx>
Aan: Java Workflow Toolbox <jwt-dev@xxxxxxxxxxx>
Onderwerp: [jwt-dev] [architecture] JWT and the Process Virtual Machine
Datum: Tue, 19 Jun 2007 21:03:22 +0200

Hi all

Following my last email, I'll try here to give more details on the concept of the "Process Virtual Machine" and why it's very interesting for the whole BPM field and especially for JWT.

The core idea is to solve the problem of "too many different BPM standards and languages", which hinders and complexifies integration between components using different standards. You'll note that it is the same problem JWT attempts to solve though on the tooling side, by having a unified tooling solution. The proposed solution is to "use the right language for the right job" without integration and compatibility worries by making all of them run on the same Process Virtual Machine (metaphorically similar to Java or rather the .NET approach).

I personally think this "gordian knot"-like approach is clever and quite right, since the advocated "use the right language for the right job" says that having multiple standards should not bring problems but flexibility, being a range of diverse solutions for diverse needs available to the architect. It would even allow users to write their own business-oriented BPM language and let it run on top of it, as well as being an open door for any proprietary language.

Moreover, being championed (and implemented in their next generation solutions) by JBoss jBPM, which is almost a defacto standard in the Open Source world, and Bull Bonita / Orchestra, which is (the just released Shark 2.0 aside) by far the other more complete, visible and entreprise ready BPM solution, it is promised, at the very least to have quite an imrpressive audience.

So where does JWT fit in ? The bottom line is : JWT solves the tooling side of the problem, so in a global point of view the picture remains the same : offering genericity across BPM languages and representation.

Now how could JWT actually benefit from this paradigm and runtime ?

Please send you feedback !

Marc Dutoo
Open Wide
jwt-dev mailing list

regards, tom.

Back to the top