Because one size does not fit all
Earlier this year, IBM completed the acquisition of Lombardi Corporation, bringing its business process management (BPM) product into the WebSphere® family as IBM WebSphere Lombardi Edition. At the time, IBM had already been a leader in the BPM space with products such as IBM WebSphere MQ Workflow and IBM WebSphere Process Server, and so I started to hear questions about what it was that WebSphere Lombardi Edition brought to – or replaced in – the IBM BPM portfolio. It’s a fair question that I decided I wanted to address.
First, though, it’s important to remember that BPM isn't a software product itself, but an architectural pattern that can be enacted by one or more products. Think of these products as tools: things you use to get a job done. Before looking specifically at BPM, let’s take a step back and understand how you pick the right tool for a given job.
Case 1: Moving things
Suppose you have access to three different methods (tools) for moving freight from point A to point B:
- A pickup truck.
- An 18-wheel semi and trailer.
- A train with two diesel locomotives.
Suppose you need to move 20 tons of coal from a mine in West Virginia to a power plant in Chicago. Which one should you use? They all do fundamentally the same thing: they haul stuff. You could get the job done with either of these three tools, but when you consider all factors, including time to accomplish the task, costs, and logistics, it really only makes sense to use the train.
Now, what if you needed to move a moderately-sized shipping container of parts from a manufacturing site in Michigan to a plant thirty miles to the north on short notice? A train might be able to get it there if there was a rail line connecting the two cities, but a semi truck would offer better service, as well as more flexibility in scheduling. Just because the train was the best tool for the first example doesn't mean it is the best tool for all examples.
Finally, what if you need to move one gallon of milk from a store to your house, four miles away? Because this case does not require the logistics of a train or the capacity of an 18-wheeler, you would go with the pickup truck.
Bottom line: One tool isn’t necessarily the best tool for all problems. Different tools can have different approaches to the problem at hand, bringing advantages in different situations -- even if they technically "do the same thing.”
Case 2: Moving people
On a recent business trip, I drove my car from my home to the airport in Detroit. I boarded a plane and flew to Chicago O'Hare airport. I then boarded the CTA Red Line train downtown to a stop near the IBM office.
At the most fundamental level, the three tools I used for this trip all do the same thing: they move people from point A to point B. As with the previous analogy, the car, plane, and train all have different – and in this case, complementary -- takes on how to do essentially the same thing, bringing advantages (and disadvantages) to certain situations. For my business trip, it was optimal to use all of these tools together rather than use just one to complete the entire trip:
- The plane by itself couldn't achieve the full scope of requirements -- it is too long of a walk from my house to the airport, or from O'Hare to downtown Chicago, and I don't live next to a runway.
- The train alone couldn't do it -- no CTA Red Line stops in Detroit.
- I could have used just my car, but by flying I saved time, didn't have to fight downtown traffic, and didn't have to find a place to park.
It was optimal to use multiple modes of transportation.
Bottom line: Sometimes the best way to get something done is to use multiple tools, leveraging the strengths that each one brings to the table.
Case 3: Moving data
Just as IBM has been in the BPM space for a long time, IBM has also been a leader in the area of connectivity. At one time, WebSphere Message Broker was IBM's only offering as an ESB. Over time, the portfolio was expanded to include WebSphere Enterprise Service Bus as a J2EE™-based ESB offering, and then came WebSphere DataPower™ as an ESB in a hardware device. All three of these offerings can be used to enact the ESB architectural pattern, but each has a different take on it; each is a different purpose-built offering that covers different aspects of the ESB space.
Adding new ESB offerings did not make WebSphere Message Broker obsolete; rather, it simply made more options available for different types of business problems, as in Example 1. In addition, there could be times when you makes sense to use more than one ESB, as in Example 2. For example, a retailer might use WebSphere Message Broker at its headquarters, with WebSphere ESB in each store location, and WebSphere DataPower used as the secure XML gateway for communication to its trading partners. In fact, ESB federation is becoming a common pattern in the industry.
Bottom line: As with the earlier analogies, because there are multiple purpose-built ESBs, the one you choose will depend on what you're trying to accomplish, and you might need more than one of them.
WebSphere Process Server and WebSphere Lombardi Edition
IBM WebSphere Process Server and WebSphere Lombardi Edition are two solutions in the BPM space. At first glance there might appear to be quite a bit of overlap because they both "do the same thing:" they each provide a platform for business processes, invoke services, and incorporate human tasks. In fact, they appear to be very similar on the surface.
But just as the different ESB products above have different approaches to the problem at hand, so do WebSphere Process Server and WebSphere Lombardi Edition:
- WebSphere Process Server is largely an I/T centric solution. WebSphere Process Server enables integration through messaging (HTTP, WebSphere MQ, JMS), standards (Web services, SCA, EJB), and adapters (JDBC, Flat File, SAP, CICS®, and so on), with many options for Quality of Service, from transactional microflows to compensation in long-running processes.
- WebSphere Lombardi Edition excels at rapid development of human-centric processes with a frequent rate of change. WebSphere Lombardi Edition enables business process owners, business users, and I/T staff to collaborate together.
You can also use these products together. Case 2 showed an example of how you might sometimes need multiple tools to accomplish a job, and Case 3 described how some customers leverage multiple, federated ESBs. In much the same way, there can be cases where you might want to implement multiple BPM engines to leverage the strengths that each has to offer.
- WebSphere Lombardi Edition calling WebSphere Process Server
To create the ideal version of a human process, you want to minimize the time spent on non-value-add activities, such as a person looking up information from one system and then entering it on another. Automating such activities would reduce time and eliminate errors. A human-centric BPM process such as this can benefit greatly from integration. A human-centric process in WebSphere Lombardi Edition could call out to WebSphere Process Server, leveraging its integration capabilities to communicate with back-end systems and perform service orchestration. All the logic for exception handling and retries could be built in WebSphere Process Server, freeing up WebSphere Lombardi Edition resources to concentrate on the human processes.
- WebSphere Process Server calling WebSphere Lombardi Edition
In many integration-centric processes, certain errors require human intervention before processing can resume. In cases where the human tasks for error handling have a high rate of change, there could be a benefit from using a tool like WebSphere Lombardi Edition. For example, a healthcare company in the U.S. can anticipate a frequent rate of regulatory changes in the coming years. In this case, it might make sense for WebSphere Process Server to call out to WebSphere Lombardi Edition to perform the human-centric parts of the process. Another example might be complex multi-step interactions. In this case, you might decide that the metaphor of coaches in WebSphere Lombardi Edition fits your needs better than page flows in WebSphere Process Server. In either case, WebSphere Process Server can call out to WebSphere Lombardi Edition to enact a part of the process.
Not every situation requires multiple tools, sometimes one is all you need. Even then, as your organization’s BPM maturity level increases, you might discover the need to begin addressing a wider variety of business problems. If your tool of choice isn't optimal for solving a given problem, integrating multiple tools together becomes an attractive option, provided the tools can work well together:
- IBM Lombardi Blueprint (now called Blueworks Live) can export to WebSphere Business Modeler.
- WebSphere Process Server and WebSphere Lombardi Edition can be used together at run time (see Resources for an example). Although they come from different heritages, both products already work well together.
Bottom line: Selecting the proper tool for the job enables you to do it easier, faster, and more efficiently (and with far less pain and frustration), and IBM WebSphere has multiple purpose-built BPM engines to suit a wide variety of business problems. Much as you can federate ESBs together to form a comprehensive solution, multiple BPM engines can also be federated together in an end-to-end process, leveraging the strengths of each.
To build out solutions in the BPM space, it is important to have the right tool for the job. Some tools may fit better with a given corporate culture. Some might cover process areas that you are (or aren't) interested in. No one tool can solve every possible job. Having different purpose-built tools at your disposal enables you to implement BPM as optimally as possible. In some cases, you might even need to use a combination of tools to leverage the strengths of each.
This brief article does not provide a full set of feature comparisons for the products mentioned here, but you’ll find details to help you learn more in the Resources section below.
- IBM WebSphere Lombardi Edition product information
- IBM WebSphere Process Server product information
- Redpaper: Case Study: SOA Retail Business Pattern
- Exploring the Enterprise Service Bus, Part 4: Federated connectivity in the enterprise
- Video: Integrating WebSphere Process Server V7 and Lombardi Teamworks
- IBM developerWorks WebSphere