Antoine of Intalio comments on yesterday’s post re the need to tweak BPMN diagrams to make them more BPEL-friendly.  One of my complaints had to do with the nasty “interleaving” error that always pops up when you turn on BPEL validation.  He references an Intalio presentation at EclipseCon last year, specifically slide 16.  I copied his BPMN into my tool (ITP Commerce) and sure enough, it gives the interleaving error:

interleave3.png

Getting rid of interleaving errors requires making duplicate copies of some of the diagram nodes so that BPEL’s block structure is happy.  In my tool this has to be done by hand, but Antoine sort of suggests that Intalio does this automatically by turning the BPMN into a “directed acyclic graph” and generating BPEL from that.  More mathematical gobbledygook to me, but I think he is saying “we fix the interleaving thing automatically” by turning BPMN into a “tree”… I assume under certain conditions.  Here is the result from his document:

interleave4.png

As you can see, ‘merge’ and ‘do more things’ have been duplicated, but apparently it’s automatic.  Sweet.  I’m curious, Antoine, does Intalio automatically handle my mixed token diagram from yesterday?  And, since those exclusive merge gateways are really optional in BPMN – uncontrolled merge means the same thing in this case – does Intalio require you to draw them?

Tags:

9 Responses to “Automating the BPMN-BPEL “Interleaving” Solution”

  1. frenchdk says:

    No, I can confirm that Intalio will allow you to draw your first example in BPMN without merge gateways (ie the same as you drew it) and will generate and run bpel as intended. regards David

  2. bruce says:

    OK. I guess I really should be paying more attention to that tool. Just like Ismael keeps telling me.
    –Bruce

  3. kswenson says:

    Bruce,

    This diagram should not have any threading problems, any block problems, if you consider the first XOR splits be two XOR splits: the first one brakes the upper branchs from the lower one, and then the second XOR split splits the upper two, which come back together.

    This would be realized in the block structure as an outer if statement, and then inside the first block having another if statement. If you convert from the BPMN to the block structured language well enough, you will not need to duplicate any blocks. You get the interleaving error because the conversion does not recognize that the upper two paths are special because they come back together sooner than the lower one……I think.

    What you don’t have in this diagram is the “figure 8″ shape. This is a shape that was drawn long ago by W Van der Aalst when discussing the limitations of BPEL. The figure-8 shape is a long rectangle, where the top is one branch, and the bottom the other, and you have an arrow that crosses from the upper to the lower somewhere in the middle (or lower to upper as the diagram in your last post did). The figure-8 can not be handled in a block structured language, and must be resolved by duplicating nodes/paths.

    -Keith

  4. bruce says:

    Keith,
    I don’t doubt what you say, but you are still effectively duplicating a diagram node, so let me restate my complaint. Mapping BPMN to BPEL automatically requires smart algorithms that can analyze the topology of a diagram and insert additional gateways (per your example) or activities (Intalio), or else report errors that the modeler has to fix himself (ITP).

  5. sebastian says:

    By the way folks, why do we have to map BPMN to block-oriented BPEL? BPEL also has a graph-oriented character using links. So how do you motivate that a mapping to block-oriented BPEL is needed?

  6. bruce says:

    Point well taken, Sebastian. Again, my point is more about tools and roundtripping than about fundamental capabilities of BPEL. I believe WebSphere Modeler generates link-oriented BPEL from its graph-oriented (not BPMN) models, but I don’t know of any other tools that use the links. Do you? To restate the need, it’s that the tool automatically create the BPEL from BPMN, and – ideally – recover the BPMN from BPEL in the reverse direction. I gave Intalio points for doing some of it. Do you know of tools that do this using links?
    –Bruce

  7. sebastian says:

    @Bruce: I’m not aware of a single tool transforming to BPEL graph-style. I only know of 2 reasons for that, but I think both reasons are not really convincing:

    1) BPEL graphs are hard to understand and maintain by a human user. –> But why is it easy for people to do graph modelling with BPMN but not with BPEL?

    2) BPEL graphs are not portable. –> I have no proof for that. It might have been true some years ago, but I think now most engines are compliant to the full spec.

    Any other reasons?

  8. kswenson says:

    About comment #4, Bruce, you are right, you are still duplicating a gateway, which is a lesser sin than duplicating an activity. IMHO.

    About BPEL graphs: the example I saw on graph style had a bunch of parallel activities that used links to coordinate the start and stop of each activity — preventing one activity from starting before another activity ended. Graph-style would be sufficient for representing the drawings, BUT when I last investigated this there were a lot of unanswered questions about how you terminate the process. The precise meaning of certain kinds of transitions (like loops that have links that cross threads) was not clear. ALSO, with the graph-style how can one get any of the advantages of being block structured: exception throwing? nested scopes? transaction boundaries? Seems like all of those would be lost.

  9. [...] BPMN-to-BPELにおける課題:第1回 2008年4月15日 コメントをどうぞ コメントへ つい最近のことですが、BPMNとBPELの連携についてWebで大討論会が繰り広げられていました。WilliamVambenepe氏の ブログにKeithSwenson氏が ブログでコメントし、そのコメントにBruce Silver氏がブログ( その1と その2)でコメントしたものです。しかもそれぞれのブログに多くの人がコメントを寄せており、全てに目を通すのはかなり大変ですが、BPMNとBPELの連携における様々な課題や方向性が見えてきます。 まずは、これら討論の背景として BPMNはビジネスプロセス管理において最重要な標準という前提がある、ということを認識する必要があります。コメントを寄せている人の中にはそれを否定している人もいますが、ITの視点ではなく本来あるべきビジネスの視点で考えるとBPEL以上にBPMNが重要だということです。 BPMNありきで考えると、討論されている課題が解決するまでは、BPMNで描いたモデルをBPELに変換せずに実行するエンジンを選択するという方向性もありますが、大手ベンダのBPELエンジンが選択されるケースが多いことも考えると、BPMNをBPELに変換するツールがどこまで課題に対応できているかをしっかりと評価して実用的なツールを選択する必要もあります。そのためにも課題を理解しておくことが大切だと思います。 そこで、何回かに分けて、討論されている課題について補足する情報を交えて紹介していきたいと思います。 [...]

Leave a Reply

You must be logged in to post a comment.