Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
RE: AW: [jwt-dev] Unstructered graphs

Hi Marc,

The use of subprocess blocks could be an option to add support for non
structured graphs, we will keep that in mind as we have not yet taken a
decision on that point... but definitely could be an option.

Thanks for the documents on JWT transformations, now we have a more clear
view on how it works, what is already achieved and what could be the next
steps... would be great to start playing with the XPDL transformation and,
from the pointers you gave us, there is no link where download this
extension ? is there any pointers on how to download and install the XPDL
plugin ?

We will start by evaluating this one as well as the codegenerator for BPEL.

Best regards,
Miguel Valdes

BPM Manager
 
Bull, Architect of an Open World TM
1, rue de Provence
38130 Echirolles (France)
Direct Line: +33-4-76-29-72-28
Fax: +33-4-76-29-75-18
 
*Orchestra*, The BPEL open source project: http://orchestra.objectweb.org
*Bonita*, The XPDL open source project: http://bonita.objectweb.org
 
This e-mail contains material that is confidential for the sole use of the
intended recipient. Any review, reliance or distribution by others or
forwarding without express permission is strictly prohibited. If you are not
the intended recipient, please contact the sender and delete all copies.

-----Message d'origine-----
De : jwt-dev-bounces@xxxxxxxxxxx [mailto:jwt-dev-bounces@xxxxxxxxxxx] De la
part de Marc Dutoo
Envoyé : lundi 7 juillet 2008 18:54
À : Java Workflow Toolbox
Objet : Re: AW: [jwt-dev] Unstructered graphs

Hello Miguel, Florian

Florian, thanks for your many and in depth answers. Right now I'm in 
Toulouse showcasing some JWT4SCOrWare niceties to partners so I'm not 
much available.

Miguel, nice to see so many thoughtful questions :)


About supporting unstructured graphs i.e. more than one input or output 
on Actions,

Florian, Miguel, I think both of you are right when saying that JWT has 
right now a good balance between flexibility for the user and support of 
different BPM formats, and that it could be used for those by Bonita 
users. I think unstructured graphs could still be supported on this 
basis, thanks to jwt-views and metamodel extensions ; for example, in 
jwt-views could be configured "newChildNode" commands allowing to create 
"blocks" of nodes in a pattern-like manner, that would be modelized as 
extended metamodel-annotated embedded subprocesses : this would allow to 
create in a single click an embedded subprocess containing an Or node 
followed by an Action followed by a Split node, while the subprocess 
would be displayed using a BPMN XOR icon.


About JWT2XPDL transformation,

In short,
   * supported features of the current version are : common node types, 
decisions, embedded subprocesses, variables, Bonita hooks
   * it has been validated by loading process samples in ProEd and 
executing them in Bonita Engine
   * it has been developed using XSL on top of the JWT transformation 
framework by Guillaume Decarnin of Open Wide (who already did similar 
work last summer). He'll be able to answer your more 
implementation-related questions.

In depth & limitations,
   * look up the detailed transformation spec on the jwt wiki at 
http://wiki.eclipse.org/JWT2XPDL (wiki accessible from 
http://wiki.eclipse.org/index.php/Java_Workflow_Toolbox_Project , and 
from there the link is in the page dedicated to BPM formats 
compatibility / jwt-transformations at 
http://wiki.eclipse.org/JWT_Transformations). On limitations listed 
there, this can be said :
   * only project properties and no activity properties, because we're 
not sure how they would semantically translate in JWT... an open subject 
if there is any.
   * full participant support should be able to be supported thanks to 
JWT metamodel extensibility**
   * full hook support will be easily supported thanks to JWT metamodel 
extensibility (it is even a use case requirement, see 
*http://wiki.eclipse.org/JWT_Metamodel )*
   * supporting iterations and external suprocesses still need some 
thinking and work among all of us

Coming next :
   * web service calls in Bonita using the SCOrWare Frascati SCA 
Framework is developed but not committed, as well as other JWT4SCOrWare 
niceties
   * taking advantage of JWT metamodel extensions ( to define hooks 
properly etc.)

Regards,
Marc

Florian Lautenbacher a écrit :
> Hi Miguel,
>
>   
>>> Looking more deeply into JWT I'm well surprised to know that joins and
>>>       
> splits are not block based (meaning a join matches exactly with the
previous
> split/fork node). This feature gives a lot of freedom to end users when
> defining a graph: in a lot of situations multiple splits/forks end up on
the
> same join node (i.e picture in cc)
>
> Yes, we don't restrict users to have complete block based structure, but
to
> have more freedom in specifying their process models (on the other side
> having more problems during codegeneration, etc.).
>
>   
>>> That say, I feel we could imagine to use JWT as it is (structured based
>>>       
> with some native flexibility) and so to focus on generic features
> development and extensibility (contributions) + customization (Bonita and
> Orchestra).
>
> I'm glad to hear that. If you could contribute anything we would of course
> be happy, or if you'd like us to change some parts we will also try to
> assist you wherever possible.
>
>   
>>> Open Wide folks have already developed an extension allowing to generate
>>>       
> XPDL from JWT, could somebody sent us some tips on how to install it ? we
> would like to start playing with that... My first concern would be to
check
> what are the limitations (if there are) when generating XPDL from a
> particular JWT definition...
>
> Probably Mickael or Marc can answer best on this.
>
>   
>>> On the BPEL flag, key for us as well, I'm really interested on the
>>>       
> codegeneration framework you pointed out. Do you feel feasible to change
the
> licence of this framework to EPL ? 
>
> That will need some discussion with the developers, but should be
possible.
> The wf-codegen framework itself includes another sourceforge project
> (tokenanalysis) which itself is GPL, so both will need to be changed. 
>
>   
>>> Related to this, why are you working on a model transformation over
STP-IM
>>>       
> as another way to generate BPEL from JWT ? is not the codegeneration
> framework approach good enough ? 
>
> Yes, the codegeneration framework is even a better way to generate BPEL
code
> than using STP-IM. However, we want to be able to integrate more with the
> current STP projects which is why we develop this transformation (not only
> to generate BPEL-code, but also JBI-code, or whatever else is currently in
> development in the STP-project).
>
>   
>>> Shall we easily make a try of this framework on top of the current JWT
>>>       
> editor ?
>
> Yes, there is a good documentation on the sourceforge site how to download
> and install it and how it is internally structured, so you should have no
> problem using this framework. If you have any problems, please don't
> hesitate to contact me.
>
>   
>>> I guess the second approach will be similar that the one used for XPDL
>>>       
> generation ?
>
> Not exactly. The XPDL codegeneration is currently done directly from the
JWT
> model using XSLT transformation sheets and no intermediate layer (such as
> the STP-IM) is used.
>
> Best regards,
>
> Florian
>
> -----Message d'origine-----
> De : jwt-dev-bounces@xxxxxxxxxxx [mailto:jwt-dev-bounces@xxxxxxxxxxx] De
la
> part de Florian Lautenbacher Envoyé : lundi 7 juillet 2008 11:06 À : 'Java
> Workflow Toolbox'
> Objet : AW: [jwt-dev] Unstructered graphs
>
> Hi Miguel,
>
> thanks for this explanation. Aah, now I understand what non-structured
> graphs are. You are right, in JWT non-structured graphs are currently not
> allowed since an action is only allowed to have one ingoing and one
outgoing
> edge. Only control nodes (such as decision node) are allowed to have more
> than one in- or outgoing edges. Figure 2 of [1] would be much more
> complicated in JWT (see attachment). You are right, structured graphs make
> it easier for the workflow modeller, but make it more difficult for
workflow
> engines, code generators, etc.
>
> Coming back to the questions Pierre did ask:
> -a non structured graph is currently not supported. If there is the need,
we
> might think of changing the metamodel, but then the current control nodes
> are unnecessary and the semantics of the edges must be cleary defined in
> another way (if two edges are outgoing from an action: are they XOR, OR or
> AND?). 
>
> Therefore, I would like to stay with the current representation. But
perhaps
> we can create an own view which allows the definition of unstructured
> graphs!? This view would allow to have more incoming and outgoing edges on
> an action and make the control nodes unvisible. But then the change from
one
> view to another will be much more complicated or not possible at all...
>
> As you've maybe seen, there is currently a strong discussion about
extension
> of metamodels (also with several views) and last Friday we had a telco
where
> we discussed our ideas and refined them. Perhaps your questions of
> non-structured graphs might be one of the requirements for this
> extension/modification of the meta-model!? (@Marc, Chris: what do you
think
> here?)
>
> -concerning BPEL: Yes, the use of non-structured graphs makes the
generation
> of BPEL-code much more complicated. Currently, there are (to my knowledge)
> two approaches for generating BPEL-code from JWT. The first one is using a
> workflow-codegeneration framework (Sourceforge-project, GPL, [2]), the
> second one over STP-IM. The workflow-codegeneration framework allows to
use
> any kind of modeling tool (and has already been adapted for JWT) and
> generates BPEL code using code-templates. These are currently customized
to
> a framework on top of JBoss jBPM, but can easily be adapted.
> The second one (over STP-IM) uses existing work that generates BPEL-code
> from a model in the STP Intermediate Model. Hence, a transformation from
JWT
> to STP-IM is needed first and is currently developed in our lab. Probably,
> we will be able to commit a first version to Eclipse in the following
weeks.
>
> Hope that answers your questions for the beginning.
>
> Best regards,
>
> Florian
>
>
> [1] http://www.theserverside.com/tt/articles/article.tss?l=BonitaPart2
> [2] http://sf.net/projects/wf-codegen
>
> -----Ursprüngliche Nachricht-----
> Von: jwt-dev-bounces@xxxxxxxxxxx [mailto:jwt-dev-bounces@xxxxxxxxxxx] Im
> Auftrag von Miguel Valdes Faura
> Gesendet: 07 July 2008 09:43
> An: 'Java Workflow Toolbox'
> Betreff: RE: [jwt-dev] Unstructered graphs
>
> Hi Florian,
>
> I will take this answer as Pierre is currently on vacations and with
limited
> access to email...
>
> What we call non structured graphs are graphs in which for instance more
> than one transition leaves a node (without the need of a split node in
> between) or in which one node/activity inside a split/join block is
> connected to another activity which is out of the previous block.
Basically
> non structured graphs give freedom to the graph definition (i.e the jpeg
> image attached)
>
> In the current JWT editor non structured graphs definition are not allowed
> as the editor checks this constraint.
>
> In the following article (focusing on cycles and iterations in Bonita) non
> structured graphs concept is also explained together with
cycles/iterations
> (in fact in Bonita we call loops or iterations on non structured graphs
> arbitrary cycles). If we correctly understood, JWT will not allow those
> cycles/iterations:
>
> http://www.theserverside.com/tt/articles/article.tss?l=BonitaPart2 
>
> Structured graphs make life easier to editors and workflow engines but add
> additional complexity to end users IMO.
>
> Regards,
> Miguel Valdes 
>
> BPM Manager
>  
> Bull, Architect of an Open World TM
> 1, rue de Provence
> 38130 Echirolles (France)
> Direct Line: +33-4-76-29-72-28
> Fax: +33-4-76-29-75-18
>  
> *Orchestra*, The BPEL open source project: http://orchestra.objectweb.org
> *Bonita*, The XPDL open source project: http://bonita.objectweb.org
>  
> This e-mail contains material that is confidential for the sole use of the
> intended recipient. Any review, reliance or distribution by others or
> forwarding without express permission is strictly prohibited. If you are
not
> the intended recipient, please contact the sender and delete all copies.
> -----Message d'origine-----
> De : jwt-dev-bounces@xxxxxxxxxxx [mailto:jwt-dev-bounces@xxxxxxxxxxx] De
la
> part de Florian Lautenbacher Envoyé : vendredi 4 juillet 2008 17:48 À :
> 'Java Workflow Toolbox'
> Objet : AW: [jwt-dev] Unstructered graphs
>
> Hi Pierre,
>
> in the document (which you provided a link for) I don't find a clear
> definition and description of the importance of non-structured graphs. In
> this document only some examples for structured workflows are given as far
> as I can see (I didn't read it completely, but only parts of it; sorry if
I
> missed the part that you mean!).
>
> However, I assume that you mean the difference between block-based and
> graph-based models? E.g. a typical BPEL-viewer is block-based (contains
all
> kinds of blocks which are nested by each other). On the other side,
> languages such as BPMN are normally graph-based, so they contain only
nodes
> and edges. So graph-based are non-blocked graphs or non-structured graphs
-
> am I right? Or do you mean something else here?
>
> If you mean this, then I don't completely understand your question,
because
> in JWT you normally only model graph-based models (containing nodes and
> edges, without defining blocks)!
> I would be happy if you could refine your question, then I'll try to think
> about how much work needs to be done to support it.
>
> Best regards,
>
> Florian
>
>
>
> -----Ursprüngliche Nachricht-----
> Von: jwt-dev-bounces@xxxxxxxxxxx [mailto:jwt-dev-bounces@xxxxxxxxxxx] Im
> Auftrag von Pierre Vigneras
> Gesendet: 04 July 2008 12:01
> An: Java Workflow Toolbox
> Betreff: [jwt-dev] Unstructered graphs
>
> Hi,
>
> we are currently analysing JWT and we have the following questions:
>
> In XPDL (which is the standard supported by our BPM product called
Bonita),
> graphs can be of different "conformance" class: Non-Blocked, Loop-Blocked
> and Full-Blocked.
>
> Basically, XPDL (and therefore Bonita) supports Non-Blocked graphs,
meaning
> non-stuctured graphs.
>
> So questions are: can non-structured graph be designed with JWT? If no, do
> you plan to support it? 
> How much work has to be done approximately to support it?
>
> On the importance of non-structured graph in BPM, please see:
>
> http://www.workflowpatterns.com/documentation/documents/Structured.pdf
>
> Regards.
> --
> Pierre Vignéras
> Bull, Architect of an Open World TM
> *BPM Team*, Bull R&D
> 1, rue de Provence
> 38130 Echirolles (France)
> Direct Line: +33-4-76-29-74-06
>
> *Orchestra*, The BPEL open source project: http://orchestra.objectweb.org
> *Bonita*, The XPDL open source project: http://bonita.objectweb.org
> _______________________________________________
> jwt-dev mailing list
> jwt-dev@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/jwt-dev
>
> _______________________________________________
> jwt-dev mailing list
> jwt-dev@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/jwt-dev
>
> _______________________________________________
> jwt-dev mailing list
> jwt-dev@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/jwt-dev
>   

_______________________________________________
jwt-dev mailing list
jwt-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/jwt-dev



Back to the top