YOUR FEEDBACK
3rd International Virtualization Conference & Expo: Themes & Topics
queZZtion wrote: Who is the current leader in the market for backup and di...
SOA World Conference
Virtualization Conference
$50 Savings Expire May 23, 2008... – Register Today!

SYS-CON.TV
TOP THREE LINKS YOU MUST CLICK ON


The Power of Process, the Benefit of BPEL
Taking advantage of IBM's BPEL extensions

Digg This!

Page 2 of 2   « previous page

Here we'll refer to the process that does the invoking as the calling process and the one that it invokes as the invoked process. Rules regarding the interruptible and non-interruptible properties of the processes apply in this case. If the calling process is interruptible, then the invoked process can be either interruptible or non-interruptible. If the calling process is non-interruptible, then the invoked process must also be non-interruptible for obvious reasons. An invoked process, if it's interruptible, has an extended attribute available to it called Autonomy that can take the values Peer and Child. Peer implies that the invoked process runs on its own without access to the calling process's context and that it is also outside of the calling process's compensation sphere. It's completely autonomous in this case. When the Autonomy attribute is set to Child, then the calling process is considered to be the parent and the invoked process a child. In this case the invoked (child) process shares the context of the calling process (parent) and belongs to the same compensation sphere. When the Autonomy attribute is set to Child, the invoked process is effectively a sub-process nested inside the calling process. Sub-processes are sometimes referred to as micro flows.

The Autonomy attribute has an impact on what compensation support can be selected for a sub-process. If a sub-process's autonomy attribute is set to Peer, the valid compensation sphere settings are Not Supported or Requires New. If autonomy is set to Child, then only Supports or Required are valid.

ATTRIBUTES OF INVOKE ACTIVITY
Now that we've looked at an extended attribute closely tied to the Invoke Activity, let's examine some more attributes that belong directly to it: transactionalBehavior, undo, continueOnError, and expiration.

  • An important aspect of the Invoke Activity is the transactional behavior associated with the invocation. This can be easily configured through the Transaction Behavior attribute (see Figure 4).
  • Undo is the action taken to compensate on rollback. You won't actually see "undo" in the user interface of the WebSphere Process Choreographer, but it'll be created in the generated BPEL source if compensation is configured.
  • The continueOnError extension is a useful flag that determines whether, on encountering an error, the invoke activity will go to the stopped state and cease executing the process, or merely transition to a failed state while the process continues. As its name implies, process execution continues if it's set to true.
  • Finally, the expiration attribute is intended to prevent an Invoke Activity from blocking a process indefinitely while waiting for a response. Expiration can be set to a duration, date, or timeout (see Figure 5).
ONALARM ATTRIBUTE OF PICK ACTIVITY
The BPEL specification provides a useful entity called a Pick Activity that's a hybrid between the Receive and Switch Activities. It waits for one out of a set of messages and continues the process with an activity chosen based on the first message received that matches one of the options in the Pick. Besides waiting for a specific message, the Pick activity can also continue execution based on the setting of an extended attribute named OnAlarm. OnAlarm can be configured to trigger based on a duration of time or a specific date. An example of where this may be useful is a situation in which you're waiting for a response from a Staff Activity and if the response isn't received by a certain date, the process needs to timeout. You can configure OnAlarm to trigger in a certain number of days and then send the process to a no-op, effectively timing the process out or making it start over (see Figures 6 and 7).

A JAVA EXPRESSION AS PART OF A WAIT ACTIVITY AND OTHER ENTITIES
The base BPEL specification provides for enabling a Wait Activity either through duration of time or a specific date. The Wait Activity has been extended to allow for a Java Expression to calculate the amount of time to wait thus allowing for a more precise and flexible control in a Wait (see Figure 8). An example of where this could be useful would be in a retail order management system where you want to make the process wait to bill the customer for a certain number of days calculated by a formula based on the types and quantity of items ordered.

This same idea of flexible and granular control and decision making inside BPEL entities using a Java Expression also applies to the While and Switch Activities as well as Control links and Joins.

There are more extended attributes for Activity such as id, displayName, description, documentation, and layout. These are simple extensions without any profound impact, but they do make process choreography more convenient by adding meaningful information for human consumption and understanding.

THE BUSINESS RELEVANT ATTRIBUTE
So far we've examined extensions that provide for easier development and execution. A final attribute that we'll examine enables detailed and effective runtime monitoring of processes. The attribute that makes all of this possible is the Business Relevant attribute of variables, processes, links, and activities (see Figure 9). This powerful attribute can be used by tools such as the Business Process Engine in the WebSphere Business Integration Server Foundation to create a durable and persistent audit trail. This is done by logging certain events to an audit log table that can be examined to paint a vivid picture of the life of a running process including what events may have led to its failure. Events that can be logged, assuming the business relevant switch has been set for the entity, are numerous. The process instance events that can be logged are installation and starting a process, completion, failing, failed, terminating, terminated, compensating, compensation in doubt, successful compensation, initialization of correlation sets, and process deletion. You can see how much information can be gathered from the audit log table just from the audit events of a process instance. Adding even more power to the set of data that can be gathered are the audit events for activities, variables, and links.

Conclusion
The goal of this article was to illustrate the powerful benefits of IBM's BPEL extensions. While some are specific to IBM tooling and are unlikely to be adopted in the specification, others are non-proprietary and offer so much value such that they may be embraced. As the primary BPEL contributors create similar extensions and the user community uses these features, adoption becomes more likely.

More and more companies today are moving toward a Service Oriented Architecture that will enable their business to become more agile and adaptable. BPEL is the execution aspect required to implement such architecture. Together BPEL and IBM's BPEL extensions offer a powerful integration model to automate process integration in the enterprise and with partners.


Page 2 of 2   « previous page

About BJ Grau
BJ Grau is a key member of Prolifics' highly specialized team of IBM WebSphere experts retained to architect, build and troubleshoot custom WebSphere, Portal and Business Integration solutions. Specializing in enterprise architectures, WebSphere administration, performance tuning, portal development, and SOA development, BJ has serviced several WebSphere customers including Lockheed Martin, Century 21, State of Florida, Blue Cross/Blue Shield, Office Depot, Royal Caribbean, Celebrity Cruise Lines, Harcourt, Siemens, and SAIC. BJ has also taught classes on Java and J2EE.

WEBSPHERE LATEST STORIES . . .
Red Hat Named "Platinum Sponsor" of Virtualization Conference & Expo
Red Hat is a trusted open source provider. Red Hat offers enterprise customers a long-term plan for building infrastructures on the quality and innovation of open source. Combining open source operating system platform, Red Hat Enterprise Linux, together with applications, management
3rd International Virtualization Conference & Expo: Themes & Topics
From Application Virtualization to Xen, a round-up of the virtualization themes & topics being discussed in NYC June 23-24, 2008 by the world-class speaker faculty at the 3rd International Virtualization Conference & Expo being held by SYS-CON Events in The Roosevelt Hotel, in midtown
Microsoft's Mike Neil To Keynote SYS-CON's 4th International Virtualization Conference & Expo
Mike Neil is general manager for virtualization strategy in the Windows Server Division at Microsoft. Mike is focused on the delivery of the Windows virtualization technology, including Windows Server 2008 Hyper-V, Microsoft Hyper-V Server and Virtual PC 2007. Mike also directs the tec
IBM Unveils Insurance Operations of the Future Powered By SOA
IBM announced two new advances in the insurance industry - a solution for improving operational efficiency and a framework for process acceleration - that are designed to help insurance providers lower costs and increase customer satisfaction by handling core processes, such as claims
ParAccel Announces OEM Relationship with IBM
ParAccel announced it has entered into an original equipment manufacturer (OEM) agreement with IBM. Under the terms of the agreement, ParAccel will embed IBM InfoSphere Change Data Capture within the ParAccel Analytic Database, providing ParAccel customers with seamless and real-time u
Micro Focus Upgrades SOA Express for IBM CICS
Micro Focus announced the availability of SOA Express 8.0. The new version adds support for direct deployment into IBM's Customer Information Control System (CICS), enabling users to accelerate the deployment of Web services by reusing their existing CICS TS mainframe infrastructure in
SUBSCRIBE TO THE WORLD'S MOST POWERFUL NEWSLETTERS
SUBSCRIBE TO OUR RSS FEEDS & GET YOUR SYS-CON NEWS LIVE!
Click to Add our RSS Feeds to the Service of Your Choice:
Google Reader or Homepage Add to My Yahoo! Subscribe with Bloglines Subscribe in NewsGator Online
myFeedster Add to My AOL Subscribe in Rojo Add 'Hugg' to Newsburst from CNET News.com Kinja Digest View Additional SYS-CON Feeds
Publish Your Article! Please send it to editorial(at)sys-con.com!

Advertise on this site! Contact advertising(at)sys-con.com! 201 802-3021

SYS-CON FEATURED WHITEPAPERS

ADS BY GOOGLE
BREAKING WEBSPHERE NEWS
Intervoice Releases Voice Portal 5
Intervoice, Inc. (Nasdaq:INTV) today announced the availability of Intervoice Voice P