There is subprocess support - but it invokes another process from a node.
If you mean having multiple "pages" that can reference each other within the same process definition, I don't think it exists. I wish it were implemented too!
If you meant neither of these, please clarify.
(another newbie, trying to help - please correct if I went astray)
Thanks for replying.
By graph nesting, I am asking:
Can a discrete graph be encapsulated into a
single reusable node component with inputs and outputs ?
(No different than the idea of an electronic circuit which
contains one or more integrated circuit chips, each of which
itself contains a "sub-circuit" with input and output pins.
Or, as in programming, where subroutine calls can be nested
to any level.)
If indeed, jBPM "subprocesses" constitute such a nestable
functionality, are these only usable at the programmatic
level or are they visually constructable with the graph
designer, and subsequently reusable in other arbitrary
graphs with appropriate "pin-outs" (inputs, outputs) ?
they can be separately used. Look at the testcase to see how it is done. You can currently construct the subprocesses grpahically, but then they are processes. The GPD is not ready yet for going levels deeper, back up etc...
Thanks for the response.
Could you please point me to the example testcase,
to which you refer.
Forgive my gauche reply.
I'm still not used the format of this
emails-user-group system, and didn't
notice your first name till after I had
sent my reply on its way...
No problem... kukeltje (wel kukel, but that was taken on AIM years ago) has been my nickname for years, so I'm used to it.
The testcases and examples are best seen in the source. If you look at cvs (http://fisheye.labs.jboss.com/changelog/JBPM/jbpm.3/jpdl)
I think you're looking for a level of metadata that's not at all present in jBPM.
A more general case of what you're looking for is a reusable node template, which has defined inputs and outputs that are bound in a given process definition to specific values (sometimes process variables, sometimes other things). Extending this, you might consider "stencils" (a la Visio) that are collections of such node templates that apply to a specific application domain.
This is all blue sky - maybe Ronald will say whether there's any work being considered in this direction.
You need to think carefully about whether a subprocess will do what you need. The fact that it has a separate process identity may complicate your life, depending on how you need to do things like externally monitor the process state. If you want to investigate the state of the outer process down to the states within the inner process, there's extra work involved.
Hello Ed, Ronald
I guess I am still not clear on what is supported in the way of
visually defined hierarchical graph elements. So please bear
with me here and consider the following rewording of my question:
Suppose there are two (distinct, visually defined) graphs A
and B of arbitary complexity, the first of which, A, produces
some value which is required as input to the second, B.
Then, with jBPM, is it possible to define a new (visually defined)
A --> B
I believe this example is about as simple a case as I can concoct
which clearly defines my question.
Additionally, if the answer to the above is yes, then is it correct to
presume that this kind of hierarchical graph definition may be
continued to any depth ?
Yes, but the GPD does not support going in and out of 'nested graphs' (yet)
and again... look at the testcases.