12 Replies Latest reply: Apr 8, 2011 7:50 AM by David Howard RSS

Taking the initiative from Big Workflow

Matthew Rawlings Newbie

The other day, I was leading a front to back workflow enablement initiative at an anonymous mega-corporation. Each business function within each department did its own workflow and process re-engineering. At the end of it, I found the re-engineered processes didn't quite fit together.

 

I looked into it a bit more and found they didn't quite fit exactly before re-engineering, but now it was worse. And the problem with accelerating a broken process is that the breaks then occurred more frequently. So, I started again with an end-to-end global description, with the goal of generating out the process for each business function later.

 

Each business function performed the role of a Participant in the end-to-end Choreography. Each Participant uses a workflow technology (such as Fujitsu or Tibco BPM), for describing the Participant.

 

What I envisage is something like Scribble's Projection to project out for each role what it's essential business process is, the minimum necessary to satisfy the overall choreography. Then if this was in BPMN2 and XPDL I have a tangible artefact I can pass to the workflow team in each business function.

 

The overall request here is

  1. Project Endpoints in BPMN2 terms (events, etc.)
  2. Export as XPDL

 

This gives me the capability to support the big workflow tools (vendors). Scribble does a nice projection - I just need now to plug it in.

 

The reason why the end-to-end could never be done in Workflow is because there are many wholly independent entities in the overall flow, and nobody communicates with them all.

  • 1. Taking the initiative from Big Workflow
    Gary Brown Master

    Hi Matthew

     

    The usecase you outline is the perfect usage of choreography and testable architecture as a whole - being able to describe the problem at a high level and be able to generate the endpoint behaviours in such a way that they can be implemented to guarantee interoperability - and eventually support static conformance checking so that as those endpoints are developed, they can be reverified against the overall choreography to ensure they continue to conform.

     

    Hopefully Savara 2.0.0.M1 partially addresses your first requirement. It uses the most recent version of Scribble to represent the global behaviour and project the appropriate local behaviours. This version of Savara also still supports export of a WS-CDL based choreography to a BPMN1 representation, which can still be used as a design artefact for each business function's participant.

     

    BPMN1 support is being withdrawn in milestone2 in preparation for integrating the new BPMN2 editor/meta-model into JBoss Tools - and hopefully soon after we will support generation of BPMN2 process models from a choreography - shouldn't matter whether that choreography is defined using WS-CDL or BPMN2 choreography model.

     

    We don't currently have plans to support export to XPDL, so might be worth creating a jira for this feature request.

     

    Regards

    Gary

  • 2. Taking the initiative from Big Workflow
    Kohei Honda Newbie

    This can be considered about the problem of tooling or methodology. I consider the second point, which aligns with other projects we are in.

     

    > The other day, I was leading a front to back workflow enablement initiative at an anonymous mega-corporation. Each business function

    > within each department did its own workflow and process re-engineering. At the end of it, I found the re-engineered processes didn't quite

    > fit together.

     

    As Gary wrote this is a great use case for the use of global descriptions.

     

    > Each business function performed the role of a Participant in the end-to-end Choreography. Each Participant uses a workflow technology

    > (such as Fujitsu or Tibco BPM), for describing the Participant.

     

    This is a perfect case for projectable global descriptions.

     

    > What I envisage is something like Scribble's Projection to project out for each role what it's essential business process is, the

    > minimum necessary to satisfy the overall choreography. Then if this was in BPMN2 and XPDL I have a tangible artefact I can pass

    > to the workflow team in each business function.

     

    I think the users may appreciate most if there come out very lucid global descriptions and their projections. I think that part is what the new generation of modellers are starting to do (well, at least around here). Hooking them to local languages should not be hard in principle. I believe this part can be done as a separate project in parallel.

     

    Gary's comments include:

     

    > Hopefully Savara 2.0.0.M1 partially addresses your first requirement. It uses the most recent version of Scribble to represent the global

    > behaviour and project the appropriate local behaviours. ....

     

    If we have good projections at the core, it will give a lot to not only for the re-engineering process this time, but for future.

     

    > BPMN1 support is being withdrawn in milestone2 in preparation for integrating the new BPMN2 editor/meta-model into JBoss Tools

    >- and hopefully soon after we will support generation of BPMN2 process models from a choreography - shouldn't matter whether that

    > choreography is defined using WS-CDL or BPMN2 choreography model.

     

    I think if a choreography --- global model --- can be captured clearly and in a satisfactory manner, then it can be used for many purposes, since it captures in most distilled form the whole structure of coordination among multiple local work flows.

     

    A central mental picture, put forward largely by CDL, is: we have an interactional part among local workflows (which themselves can be interactions, but delineted from the interaction part, or the choreography): and the interactional part and endpoint flows are linked by communication hooks.

     

    I wish best that this project goes well.

     

    kohei

  • 3. Re: Taking the initiative from Big Workflow
    Ashley McNeile Newbie

    Hi Matthew

     

    > What I envisage is something like Scribble's Projection to project out for each role what it's essential business process is, the

    > minimum necessary to satisfy the overall choreography. Then if this was in BPMN2 and XPDL I have a tangible artefact I can pass

    > to the workflow team in each business function.

     

    Of course this is right. The projection from a choreography should not be an end point behaviour but a contract for end point behaviour, where the contract defines the minimum necessary for the participant to satisfy the choreography.

     

    It should then be possible, for instance, for a given participant process to engage in two (or more) separate choreographies at the same time, by simultaneously satisfying the contracts imparted by both (all of them).

     

    In my work (see my page) I have taken considerable trouble to define how such contracts should be expressed, and how satisfaction of such a contract is established. This allows a participant to engage in multiple choreographies with a single behavioural definition.

     

    I think these ideas are important in choreography, and sadly missing from most accounts of the subject.

     

    I don't know whether the Savara project has the concept of a behavioural contract as the basis for choreography compliance. If it doesn't, perhaps it should!

     

    Regards

    Ashley

  • 4. Re: Taking the initiative from Big Workflow
    Gary Brown Master

    Hi Ashley

    Ashley McNeile wrote:

     

    I don't know whether the Savara project has the concept of a behavioural contract as the basis for choreography compliance. If it doesn't, perhaps it should!

     

    Yes it does - this is what we call the 'local' model, representing the behaviour of a particular participant.

     

    Regards

    Gary

  • 5. Re: Taking the initiative from Big Workflow
    Ashley McNeile Newbie

    Hi Gary

     

    Gary Brown wrote:

     

    Hi Ashley

    Ashley McNeile wrote:

     

    I don't know whether the Savara project has the concept of a behavioural contract as the basis for choreography compliance. If it doesn't, perhaps it should!

     

    Yes it does - this is what we call the 'local' model, representing the behaviour of a particular participant.

     

    Regards

    Gary

     

    I am not sure that the 'local model' concept does this.

     

    Suppose you have a participant P with behaviour p and two choreographies (in which P simultaneously participates) with projections to P (= local models for P) l1 and l2. How do you check that p conforms simultaneously to both l1 and l2 (as it must if P is to engage successfully in both choreographies)?

     

    There is no problem if l1 and l2 are contracts and you have a way of determining whether the behaviour definition p conforms to these contracts. But this needs a concept of 'conformance to a behavioral contract'.

     

    I think that essentially the same issue is present in the idea of an essential business process discussed by Matthew in his opening post. If we have a local model projected from a choreography to a participant P represented as an essential business behaviour for P, how do we determine that the full behaviour of P conforms to it? Again, we should regard the essential business process not as a full definition of the behaviour of P but as a contract to which P's full behaviour must conform.

     

    Of course, I may have misunderstood what is meant by a 'local model'. However, the papers I have read that discuss the 'local model' concept do not seem to address the 'behavioural conformance' issue as I understand it. They just assume that the local model is the participant's behaviour.

     

    Regards

    Ashley

  • 6. Re: Taking the initiative from Big Workflow
    Gary Brown Master

    I think the confusion may just be in the terminology. From scribble's persepctive, we have global models (i.e. the participant neutral view, or choreography) and local models (i.e. the behaviour from a participant's perspective).

     

    How we use these two different models is a different matter. I believe in the situation you are describing we have three things,

     

    (1) the global model (i.e. choreography),

    (2) the local model representing the 'behavioural contract' required of a particular participant when particating in the choreography, and

    (3) the local model representing the actual behaviour of a participant implementation.

     

    (2) is projected from (1).

    (2) is then conformance checked against (3) to determine whether the participant actually implements the required behavioural contract required to participate in (1).

     

    (3) can represent a superset of the behaviour required by (2), so that it can also support the behavioural contract required by a second or third choreography.

     

    Regards

    Gary

  • 7. Re: Taking the initiative from Big Workflow
    Ashley McNeile Newbie

    Hi Gary


    Yes, this is the situation I am describing.

     

    For me, a key question is what is meant by '(3) can represent a superset of the behaviour required by (2)'.

     

    The term 'superset' is a slippery one in the world of behaviour. For instance, an obvious possible definition is:

     

         P1's behaviour is a superset of P2's behaviour means that the set of traces of P1 is a superset of the set of traces of P2.

     

    However, this definition would not work in the context of choreography. If P2 were a contract (a local model extracted from a choreography) this definition would allow P1 to behave in ways that departed from the choreography.

     

    The definition I have used in my work is basically: P1 || P2 = P1, where || is CSP style composition. This works very well in the context of choreography as it requires that, insofar as P1 engages in the same actions as P2, it must have traces that match P2's; but is otherwise unconstrained.

     

    However, most people seem leave the definition of 'behaviour superset' (aka 'behaviour conformance') undefined (i.e., they do not consider the question).

     

    Regards

    Ashley

  • 8. Re: Taking the initiative from Big Workflow
    Gary Brown Master

    Ashley McNeile wrote:

     

    However, this definition would not work in the context of choreography. If P2 were a contract (a local model extracted from a choreography) this definition would allow P1 to behave in ways that departed from the choreography.

     

    Yes, but that is where the conformance checking needs to ensure that the types are compatible. So for example, if the local model for a participant can potentially receive 5 different types of message, but the choreography only indicates that three types may be received, then that is fine. The problem occurs if the endpoint can send more message types than the choreography's endpoint projection for that participant expects.

  • 9. Taking the initiative from Big Workflow
    Ashley McNeile Newbie

    Hi Gary

     

    You have given an example of one factor that determines compatibility: conformance on the set of message types. But this is clearly not enough to guarantee conformance in the way that is required. Is there a formal definition of 'compatability of types'?

     

    (One might consider bi-simulation, but this is a definition of behavioural equality, not behavioural compatibility.)

     

    If the definition is too complex to explain here, can you give a reference?

     

    Thanks

    Ashley

  • 10. Taking the initiative from Big Workflow
    Gary Brown Master

    I'll have to let Kohei answer that one, as I believe there are various papers on the subject that cover different aspects.

  • 11. Taking the initiative from Big Workflow
    Ashley McNeile Newbie

    Okey Dokey!

     

    Thanks

    Ashley

  • 12. Taking the initiative from Big Workflow
    David Howard Newbie

    Kohei,

     

    In the discussion in this thread it is implied that you may be able to provide references to define some of the terms being used. If you can shed light on this thread I would appreciate it, as I am currently struggling to understand the full implications of the discussion.

     

    Thanks,

    David Howard