Welcome!

Weblogic Authors: Yeshim Deniz, Elizabeth White, Michael Meiner, Michael Bushong, Avi Rosenthal

Related Topics: Weblogic

Weblogic: Article

Rating WebLogic Integration 8.1 on Process Patterns

WLI and BPEL don't always fly in formation

WLI 8.1 cannot easily model the 2-of-3 security clearance example, or any other N-of-M where N>1. The language is limited: the parallel join condition is not sophisticated enough to select, say, two branches. BPEL is no better off, lacking even basic OR join capability that could satisfy Discriminator. (BPEL has an OR join, but it waits for each inbound path to complete, whereas the WLI 8.1 join accepts the first inbound path and discards the others.) The easiest way to implement the search engine example in BPEL is to run the searches in separate processes (Listing 3) that perform the work (line 3) and publish an event to announce when they are done (line 4). The main process (Listing 2) spawns the subprocesses asynchronously (the "invoke" statements in lines 2 and 3) and waits for the first of the completion events to arrive (the "receive" in line 4).

The BPEL implementation of the security clearance example, shown in Listing 4, is similar: spawn (lines 2-5) the three checks as subprocesses, and wait for any two to complete (lines 5-6). WLI 8.1 could follow this approach too, perhaps using Message Broker subscriptions to catch the events.

Interleaved Parallel Routing: Supported by BPEL Only
Interleaved Parallel Routing is an unusual pattern in which several activities are to be performed in an order that is indeterminate at design time. The activities are performed in sequence (not in parallel, as the name of the pattern suggests), but the order of execution is arbitrary. Interleaved Parallel Routing is a type of ad hoc processing, though ad hoc includes cases that are even more monstrous, where there is no clear-cut distinction between parallel and sequential, and execution is determined by the performing actors (e.g., the work of a software developer on a typical project, whose job might be to develop three components, contribute two sections to the architecture document, and set up a stand-alone test environment for the development group).

For a good example of Interleaved Parallel Routing, consider the case in which an applicant to the army must take three tests - dental, medical, and optical - one after the other, but in any order; when the applicant completes one test, the next one to take is determined by the availability of doctors (example suggested in Reference #6, p.10).

The WLI 8.1 implementation is a combinatorial mess! The overall process, shown in Figure 4, starts with an Event Choice with separate paths for Dental, Optical, and Medical. The Dental event means that the applicant has been called in for a dental examination; the applicant responds by attending the examination (Attend Dental), before entering an inner Event Choice (shown collapsed in Figure 4), which models the remaining two appointments. The paths for medical and optical have the same form as dental. Figure 5 shows the expanded Event Choice structures for the three top-level choices. If the first choice had been dental, the next choice is between medical and optical. If called for medical, the applicant attends the medical appointment, and then waits to be called for the optical; if called for optical, the applicant attends the optical and waits for the medical.

In total, six paths are required to model the permutations of dental, medical, and optical. If there had been four activities, 24 paths would have been needed; if five activities, 124 paths. Messy indeed! Alternative implementations should be considered on a case-by-case basis.

BPEL, probably by accident rather than by design, has an elegant, linear solution. The idea is to place the activities in a parallel structure (the "flow" activity in lines 5-27 of Listing 5), but to force each activity to acquire a mutually exclusive, shared variable (defined in line 3) before running. The effect is that the activities run sequentially, but in indeterminate order. The key to this maneuver is the variableAccessSerializable flag in lines 6, 13, and 20, which ensures, in effect, that as soon as one of the scoped activities (optical in lines 6-12, dental in lines 13-19, medical in lines 20-26) accesses the variable, the others are locked out until the activity has completed.

In the BPEL approach the order of activities is effectively random, determined by the proprietary low-level logic of the BPEL engine. This approach is not suitable for cases in which order is to be driven by application logic or external stimuli.

WLI 8.1 Scorecard
Table 1 provides the scorecard for WLI 8.1 on the 20 patterns. Following the style of the workflowpatterns.com authors, the table uses the symbol "+" to indicate that the language fundamentally supports the given pattern, "+-" to indicate that the language supports the pattern with straightforward coding, and "-" to indicate that the pattern is either hard or impossible to implement in the language. Counting both + and +-, both WLI 8.1 and BPEL score 14.

Summary
BPEL and WLI 8.1 score differently on support for the 20 process patterns documented on the renowned site www.workflowpatterns.com. Some patterns are supported by both, some by neither, some by BPEL but not WLI 8.1, and some by WLI 8.1 but not by BPEL.

References

More Stories By Michael Havey

Michael Havey is a Chordiant consultant with 10 years of industry experience, mostly with application integration. Michael's book Essential Business Process Modeling was published by O'Reilly in August 2005.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


IoT & Smart Cities Stories
The best way to leverage your Cloud Expo presence as a sponsor and exhibitor is to plan your news announcements around our events. The press covering Cloud Expo and @ThingsExpo will have access to these releases and will amplify your news announcements. More than two dozen Cloud companies either set deals at our shows or have announced their mergers and acquisitions at Cloud Expo. Product announcements during our show provide your company with the most reach through our targeted audiences.
Machine learning has taken residence at our cities' cores and now we can finally have "smart cities." Cities are a collection of buildings made to provide the structure and safety necessary for people to function, create and survive. Buildings are a pool of ever-changing performance data from large automated systems such as heating and cooling to the people that live and work within them. Through machine learning, buildings can optimize performance, reduce costs, and improve occupant comfort by ...
@DevOpsSummit at Cloud Expo, taking place November 12-13 in New York City, NY, is co-located with 22nd international CloudEXPO | first international DXWorldEXPO and will feature technical sessions from a rock star conference faculty and the leading industry players in the world. The widespread success of cloud computing is driving the DevOps revolution in enterprise IT. Now as never before, development teams must communicate and collaborate in a dynamic, 24/7/365 environment. There is no time t...
CloudEXPO New York 2018, colocated with DXWorldEXPO New York 2018 will be held November 11-13, 2018, in New York City and will bring together Cloud Computing, FinTech and Blockchain, Digital Transformation, Big Data, Internet of Things, DevOps, AI, Machine Learning and WebRTC to one location.
DXWorldEXPO | CloudEXPO are the world's most influential, independent events where Cloud Computing was coined and where technology buyers and vendors meet to experience and discuss the big picture of Digital Transformation and all of the strategies, tactics, and tools they need to realize their goals. Sponsors of DXWorldEXPO | CloudEXPO benefit from unmatched branding, profile building and lead generation opportunities.
Disruption, Innovation, Artificial Intelligence and Machine Learning, Leadership and Management hear these words all day every day... lofty goals but how do we make it real? Add to that, that simply put, people don't like change. But what if we could implement and utilize these enterprise tools in a fast and "Non-Disruptive" way, enabling us to glean insights about our business, identify and reduce exposure, risk and liability, and secure business continuity?
In this Women in Technology Power Panel at 15th Cloud Expo, moderated by Anne Plese, Senior Consultant, Cloud Product Marketing at Verizon Enterprise, Esmeralda Swartz, CMO at MetraTech; Evelyn de Souza, Data Privacy and Compliance Strategy Leader at Cisco Systems; Seema Jethani, Director of Product Management at Basho Technologies; Victoria Livschitz, CEO of Qubell Inc.; Anne Hungate, Senior Director of Software Quality at DIRECTV, discussed what path they took to find their spot within the tec...
The deluge of IoT sensor data collected from connected devices and the powerful AI required to make that data actionable are giving rise to a hybrid ecosystem in which cloud, on-prem and edge processes become interweaved. Attendees will learn how emerging composable infrastructure solutions deliver the adaptive architecture needed to manage this new data reality. Machine learning algorithms can better anticipate data storms and automate resources to support surges, including fully scalable GPU-c...
Nicolas Fierro is CEO of MIMIR Blockchain Solutions. He is a programmer, technologist, and operations dev who has worked with Ethereum and blockchain since 2014. His knowledge in blockchain dates to when he performed dev ops services to the Ethereum Foundation as one the privileged few developers to work with the original core team in Switzerland.
DXWorldEXPO LLC announced today that Telecom Reseller has been named "Media Sponsor" of CloudEXPO | DXWorldEXPO 2018 New York, which will take place on November 11-13, 2018 in New York City, NY. Telecom Reseller reports on Unified Communications, UCaaS, BPaaS for enterprise and SMBs. They report extensively on both customer premises based solutions such as IP-PBX as well as cloud based and hosted platforms.