Skip to main content

By clicking Submit, you agree to the developerWorks terms of use.

The first time you sign into developerWorks, a profile is created for you. Select information in your developerWorks profile is displayed to the public, but you may edit the information at any time. Your first name, last name (unless you choose to hide them), and display name will accompany the content that you post.

All information submitted is secure.

  • Close [x]

The first time you sign in to developerWorks, a profile is created for you, so you need to choose a display name. Your display name accompanies the content you post on developerworks.

Please choose a display name between 3-31 characters. Your display name must be unique in the developerWorks community and should not be your email address for privacy reasons.

By clicking Submit, you agree to the developerWorks terms of use.

All information submitted is secure.

  • Close [x]

Feature in focus: Modeling for execution made easier with WebSphere BPM V6.2 products

Peter Xu (peteryxu@us.ibm.com), Senior Managing Consultant, IBM, Software Group
Peter Xu is a Senior Managing Consultant with IBM Software Services for WebSphere, working directly with IBM's largest customers and helping them design and deploy SOA-based solutions on broad range of IBM Software offerings. Peter specializes in business process analysis, modeling for execution and end-to-end BPM solutions.
William R Lange, Jr (langewr@us.ibm.com), Senior IT Specialist, IBM
William R Lange Jr is the ISSW Worldwide Technical Lead for WebSphere Business Modeler and Publishing Server, specializing in Business Process Management (BPM) adoption and facilitation, including WebSphere Business Modeler adoption, business modeling, business process improvement, and model driven development.

Summary:  Improvements in IBM® business process management (BPM) tooling and runtimes have eased some of the primary difficulties associated with modeling for execution. This article highlights these improvements and how they make it easier to perform this important function. This content is part of the IBM WebSphere Developer Technical Journal.

Date:  20 May 2009
Level:  Intermediate
Also available in:   Chinese  Spanish

Activity:  7154 views
Comments:  

Introduction

An earlier article discussed modeling for execution methodology and established why it's the most rewarding usage pattern -- and the most difficult in general to perform. One of the major reasons for this difficulty is the functional mismatch between modeling and development tools. With the V6.2 release of IBM’s business process management (BPM) product suite -- particularly IBM WebSphere® Business Modeler (hereafter referred to as Modeler) and IBM WebSphere Integration Developer (hereafter referred to as Integration Developer) -- process modeling for execution is not only much easier, but is also applicable to a much broader set of BPM implementation projects.


Modeling improvements

There are three major improvements in process flow modeling in Modeler V6.2 (and supported in Integration Developer):

Cross boundary link workaround

Prior to Modeler V6.2: The paths are separate in the sub-process, but must be combined before exiting the sub-process, and then broken out again by a decision in the parent process. If you want to export to Integration Developer for process development, you need to model this pattern yourself explicitly in Modeler.

  • Cross boundary link

    This is a pattern where multiple outputs (or flows) from a single sub-process (or loop) exist. Each output needs to lead to a different task in the parent process after the loop or sub-process is completed. Before V6.2, this concept was supported as a documentation pattern in Modeler, but not as an Integration Developer export pattern. (See the workaround in the sidebar.) Modeler now supports multiple outputs in V6.2 and will automatically generate the right paths for BPEL and all the appropriate output criteria to paths that occur outside the sub-process. You no longer need to model the merge and split yourself.

  • Loopback link

    It is very common for business analysts to connect one task back to a preceding task in a process flow. This pattern is often necessary to model non-linear and graph-based process flows. However, a process modeled as such cannot be exported from Modeler prior to V6.2 because this technique is not permitted in the WS-BPEL standard. Modeler V6.2 supports this construct through a run time extension to BPEL and, thus, graph-based models can now be exported.

  • Fault link

    In many process modeling diagrams, it is necessary to be able to depict not just the normal path, but also an exceptional path. Defining exceptional output is not supported in Modeler prior to V6.2, but is supported in V6.2, greatly expanding modeling capabilities when you export to Integration Developer.

Let’s look at an example in action, skipping the steps to create a process and add tasks. Before you continue, download the Modeler project file included with this article. This file contains a pre-built process for examining the sample modeled process.


Examining artifacts in Modeler

After you download and import the artifacts into Modeler, expand the project and double-click to open the ProcessWithFaultLinkLoop business process. This fictional process contains three major structural links for you to examine (Figure 1): loopback link, fault link, and cross-boundary link.


Figure 1. Overall Modeler process
Figure 1. Overall Modeler process
  • Loopback link

    You can now link from the output of a task back to the input of an upstream task, as shown in the figure. This is not a new feature, since you can also do this in Modeler V6.1. What’s different is that you can now directly export this pattern as is to Integration Developer without a workaround. You will see how this looks in the exported BPEL later.

  • Fault link

    In order to model fault, you need to define at least two outputs (one for normal, one for exceptional) for a particular task. You will also need to define two output criteria as shown in Figure 2.



    Figure 2. Exceptional output
    Figure 2.  Exceptional output

    Be sure to associate each output criterion with one output, and to mark one of the output criterion as Exceptional output. You will see how this pattern looks like in Integration Developer later.

  • Cross boundary link

    In Figure 3, you can see how V6.2 enables you to have two outputs in the local process that are connected to different paths in the main flow. This model is directly exportable without any modification.



    Figure 3. Cross boundary link
    Figure 3. Cross boundary link

You can now export this Modeler project and import it into Integration Developer.


Examining artifacts in Integration Developer

In Integration Developer, expand the project and double-click to open the generated BPEL process (Figure 4).


Figure 4. Generated BPEL overview
Figure 4. Generated BPEL overview

Pay attention to the outer scope, which is a generalized flow; a generalized flow is an extension to BPEL standard. Only in a generalized flow can you have a fault link and a loopback link. Generalized flows support a graph-based process flow diagram, and thus more closely resembles what is modeled in Modeler by a business analyst.

  • Loopback link

    From the output of Task 3, you go back directly to the input of Task. You can only do this inside a generalized flow.

  • Fault link

    Remember defining an exceptional output in Modeler? The code generation pattern from Modeler to Integration Developer translates this output to a WDSL fault (Figure 5).



    Figure 5. Fault definition
    Figure 5. Fault definition

    A fault link will also be generated that catches this specific fault and directs to the task that handles the fault (Figure 6).



    Figure 6. Fault link and conditions
    Figure 6. Fault link and conditions

  • Cross boundary link

    If you pay close attention, you will see that additional assigns and conditions are created inside the process scope (Figure 7).



    Figure 7. Cross-boundary Links in BPEL
    Figure 7. Cross-boundary Links in BPEL

In this model, the Assign From variable is updated to True, which will be used in the control link to determine the path. As you can see here, the code generator has become smarter in V6.2 to generate the necessary BPEL artifact to support cross boundary links so you don’t have to.


Summary

With this brief exploration of some of the new and exciting improvements in IBM WebSphere Business Modeler V6.2, you can see how exporting a model to IBM WebSphere Integration Developer has been simplified. This functionality is made possible by a generalized flow, introduced in Integration Developer, which supports graph-based flow and some smart code generation patterns from Modeler. These improvements offer tremendous help for model driven process implementations, and make techniques for modeling for execution feasible in more use cases than ever before.



Download

DescriptionNameSizeDownload method
Code sampleModeler62Sample.zip39 KBHTTP

Information about download methods


Resources

Learn

Get products and technologies

About the authors

Peter Xu is a Senior Managing Consultant with IBM Software Services for WebSphere, working directly with IBM's largest customers and helping them design and deploy SOA-based solutions on broad range of IBM Software offerings. Peter specializes in business process analysis, modeling for execution and end-to-end BPM solutions.

William R Lange Jr is the ISSW Worldwide Technical Lead for WebSphere Business Modeler and Publishing Server, specializing in Business Process Management (BPM) adoption and facilitation, including WebSphere Business Modeler adoption, business modeling, business process improvement, and model driven development.

Report abuse help

Report abuse

Thank you. This entry has been flagged for moderator attention.


Report abuse help

Report abuse

Report abuse submission failed. Please try again later.


developerWorks: Sign in


Need an IBM ID?
Forgot your IBM ID?


Forgot your password?
Change your password

By clicking Submit, you agree to the developerWorks terms of use.

 


The first time you sign into developerWorks, a profile is created for you. Select information in your developerWorks profile is displayed to the public, but you may edit the information at any time. Your first name, last name (unless you choose to hide them), and display name will accompany the content that you post.

Choose your display name

The first time you sign in to developerWorks, a profile is created for you, so you need to choose a display name. Your display name accompanies the content you post on developerWorks.

Please choose a display name between 3-31 characters. Your display name must be unique in the developerWorks community and should not be your email address for privacy reasons.

(Must be between 3 – 31 characters.)

By clicking Submit, you agree to the developerWorks terms of use.

 


Rate this article

Comments

Help: Update or add to My dW interests

What's this?

This little timesaver lets you update your My developerWorks profile with just one click! The general subject of this content (AIX and UNIX, Information Management, Lotus, Rational, Tivoli, WebSphere, Java, Linux, Open source, SOA and Web services, Web development, or XML) will be added to the interests section of your profile, if it's not there already. You only need to be logged in to My developerWorks.

And what's the point of adding your interests to your profile? That's how you find other users with the same interests as yours, and see what they're reading and contributing to the community. Your interests also help us recommend relevant developerWorks content to you.

View your My developerWorks profile

Return from help

Help: Remove from My dW interests

What's this?

Removing this interest does not alter your profile, but rather removes this piece of content from a list of all content for which you've indicated interest. In a future enhancement to My developerWorks, you'll be able to see a record of that content.

View your My developerWorks profile

Return from help

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=WebSphere, SOA and Web services
ArticleID=389821
ArticleTitle=Feature in focus: Modeling for execution made easier with WebSphere BPM V6.2 products
publish-date=05202009
author1-email=peteryxu@us.ibm.com
author1-email-cc=cserna@us.ibm.com
author2-email=langewr@us.ibm.com
author2-email-cc=

Tags

Help
Use the search field to find all types of content in My developerWorks with that tag.

Use the slider bar to see more or fewer tags.

For articles in technology zones (such as Java technology, Linux, Open source, XML), Popular tags shows the top tags for all technology zones. For articles in product zones (such as Info Mgmt, Rational, WebSphere), Popular tags shows the top tags for just that product zone.

For articles in technology zones (such as Java technology, Linux, Open source, XML), My tags shows your tags for all technology zones. For articles in product zones (such as Info Mgmt, Rational, WebSphere), My tags shows your tags for just that product zone.

Use the search field to find all types of content in My developerWorks with that tag. Popular tags shows the top tags for this particular content zone (for example, Java technology, Linux, WebSphere). My tags shows your tags for this particular content zone (for example, Java technology, Linux, WebSphere).

Try IBM PureSystems. No charge.

Special offers