IT|Redux

BPM 2.0

Wednesday, February 1st 2006 | Ismael Ghalimi

Six years ago, I wrote the first white paper on BPMS. It was one of the seminal publications that helped define the concept for BPM and start a new industry. The three letter acronym, which we borrowed from musicians, became an instant sensation, successful beyond any expectations we could have had at the time. Too successful some would say.

Today, the BPM moniker is used to describe anything from legacy workflow products to business rule engines, flowchart diagramming tools, Java code generators, or even business process reengineering consultancy services. This confusion, perpetuated by software vendors and industry analysts alike, serves two main purposes: it allows any vendor who can show boxes and arrows in its product to keep selling its gear, while letting any analyst who can compile a list of the aforementioned vendors to sell its luminary services to herds of utterly confused end users.

Customers I talk to are asking for a change. They’ve tried the first version of BPM, did not find what they were looking for, and are wondering if there is anything else worth trying out. The good news: there is, I call it BPM 2.0 — a term originally coined by my good friend Bruce Silver, and it’s available now. The bad news: the definition I give for BPM 2.0 is a radical one, it leaves no place to hide, and most vendors won’t like it. But guess what? I am more interested in making customers happy than letting other vendors sleep well at night, especially when they happen to be my competitors. So here we go, welcome to BPM 2.0!


BPM 1.0 BPM 2.0

Marketed to Business Analysts Used by Process Analysts

Starting with a Process Modeling Tool Starting with a Complete BPMS

Multiple Tools from Multiple Vendors One Single Tool in Eclipse

Usable by J2EE Experts Only Loved by ABAP, PHP and VB Folks

BPEL, BPML, WSFL, XLANG, XPDL BPEL

ARIS, HIM, UML, Proprietary Notations BPMN

BPEL Editor BPMN Designer

Writing Code Behind the Boxes Zero Code

Writing Deployment Descriptor Files One Click Deploy

Implementing Application Connectors Generating Web Services on-the-fly

Generating Java Code Interpreting BPEL Code Natively

Web 1.0 User Interface Web 2.0 User Interface

Bring your own Rule Engine Rule Engine Included

Bring your own BAM Real-Time BAM Included

Ad hoc Process Simulation Native Process Simulation

Continuous Process Improvement Dynamic Process Optimization

Closed Source Process Engine Open Source Process Engine

$250,000 Entry Fee Get Started Today, Free of Charge

Used by Process Analysts
Let’s start by debunking the biggest lie about BPM, which is that business analysts could use a BPM tool to model & deploy an executable business process. Even though that might be true for the simplest document-centric workflow processes, such as when a business analyst specifies the reviewing process of issuing press releases on a website, it breaks as soon as the process involves transactions with any kind of back office system, for two main reasons: first, last time I checked, no IT guy is ever going to open a port onto the corporate ERP system for a business analyst to mess with; second, the said business analyst does not want to be the one the CEO calls in the middle of the night if the aforementioned ERP system cannot record new purchase orders. Conclusion: BPM 2.0 is not for non-technical business analysts. Never should have been, never will, and nobody should care. Instead, BPM 2.0 is for process analysts who are articulate enough to talk to business folks, yet technical enough to understand the difference between a do-while loop and a for-each statement. We will not bridge the business-IT divide by empowering business analysts to get rid of IT people. Instead, we’ll just let more technical process analysts understand business requirements and implement them directly into the process, while leveraging existing IT systems. Neither top-down nor bottoms-up, it’s a middle-out approach, and it’s the only one that makes the gap any narrower.

Starting with a Complete BPMS
Because BPM was originally marketed to business analysts, vendors thought that it would be a good idea to start with the only tool business analyst could use, namely some kind of flowchart diagramming tool. Problem is, that’s exactly what customers did, but they did nothing else beyond that, for a very simple reason: once a business analyst has diagrammed a process with a tool that does not enforce any rule that would make the process executable, there is no way to make that process executable later. All that work goes to waste and the business analyst feels she’s been cheated. If you want to try this BPM 2.0 thing out, my advice is “don’t buy a process modeling tool”. Instead, get yourself a complete BPMS and start building executable processes from day one. Some would call it Agile Development for business processes. I call it BPM that works.

One Single Tool in Eclipse
Not long ago, going from a process map to deployed code used to take up to seven tools: one for modeling the process at a business level, an other to describe technical details, a third to build connectors to external systems, a fourth to map data in and out, a fifth to specify business rules, a sixth to design workflow user interfaces, and a seventh to deploy all the code on a collection of proprietary runtimes components. They all required different kinds of expertise, ran in different environments, used different languages, lost information when going from one to the other, and made the whole thing so complex than no end-user could actually use them without the outrageously expensive consulting services of a software vendor that got all the pieces through multiple acquisitions rather than building them from scratch with a very clear architecture in mind. BPM 2.0 puts everything you need within one tool, and that tool sits on top of Eclipse. With Oracle and SAP now supporting Eclipse, no other integrated development environment — beside Microsoft’s Visual Studio — will matter anymore, so get along with it and demand that your BPM 2.0 tool natively runs in Eclipse.

Loved by ABAP, PHP and VB Folks
BPM products of the first generation required expertise with J2EE, or even worse, proprietary scripting languages, as if the world needed yet an other programming language. As much as I like J2EE for what it gives me as a software vendor, it’s a freakishly complex set of specifications that are out of reach for most IT people. Object-oriented programming is extremely powerful, but like it or not, most programmers do not understand it, or at least would rather use something simpler like PHP or Visual Basic. There are 2 million Java programmers out there, and I reckon that only a fraction of them can write EJB components. Even less know how to combine EJB with JMS, Servlets and Message-Driven Beans. Compare that to the 3 million PHP coders and the 8 million VB developers out there, and you’ll start getting the picture. BPM 2.0 is not for the J2EE gurus, or at least not limited to them. BPM 2.0 targets process analysts who can read a BPMN diagram, understand the tree-view representation of an XML Schema, and drag-and-drop form widgets onto a canvas. If you think you can do that without too much effort, then BPM 2.0 will work for you.

BPEL
In the early days, there was no standard for executable processes. XLANG was on the drawing board, WSFL did not exist, and the workflow guys had produced nothing more than a set of utterly useless interfaces. Then BPMI.org released the BPML specification, which forced Microsoft and IBM to abandon XLANG and WSFL respectively. For political reasons, Microsoft and IBM decided to write their own specification, rather than adopting BPML, which led to the release of WS-BPEL, a year after the first commercial implementation of the BPML specification was deployed into production. Three years of sterile public discussions followed, until BPMI.org merged with the OMG and finally decided to drop BPML in favor of BPEL. In short, no real standard was available for the last six years, which contributed to slowing down the adoption of BPM. Things are a little bit different today. BPEL has won, BPEL 2.0 is a good enough specification for customers to build mission-critical processes with, and all the big vendors have adopted it. BPM 2.0 works because of BPEL, much like relational databases work because of SQL. Process analysts should not really care about it, for they won’t have to write a single line of BPEL code if they pick the right tool, but BPEL is like the DNA of your process, it’s the standard that everything else gets built around. So if you’re being told that BPEL does not matter, or that the product you’re considering buying will support BPEL next year, don’t be fooled: you’re about to buy a very expensive piece of proprietary software that you will have to get rid of sooner than you think, so don’t make the same mistake that early adopters made, and go for the standard, today.

BPMN
As for the process execution language, early BPM products sported many different notations, with cute little shapes and fancy colors. Some were very workflow centric, like HIM, others more technically oriented, like UML Activity Diagrams, but most were totally proprietary, incomplete, and incompatible with each other. BPMI.org set out to fix this, but this time around learned from its early mistakes and made sure that IBM was involved as early in the development process as possible. A fine gentleman by the name of Stephen White did his magic and developed BPMN, which quickly established itself as the standard notation for modeling executable business processes. BPMN supports both the orchestration of web service and the execution of human workflow tasks, while enabling the choreography of multiple business processes through the swimlane metaphor. BPM 2.0 works because one can go from BPMN to BPEL without having to write code. BPMN is not perfect and should learn a couple of tricks from HIM, but its support for compensating transactions, unsolicited events, complex loops and multiple swimlanes is what makes it unique, effective and irreplaceable.

BPMN Designer
Early BPM products supporting the BPEL specification offered a BPEL editor as primary development tool, instead of a real business process design tool. The problem with this approach is that BPEL is a very complex specification, especially from a data management standpoint. Furthermore, BPEL’s heavy reliance on complex web services specifications requires developers to manually synchronize multiple BPEL and WSDL files in order to deploy an end-to-end process. BPEL editors do not make this exercise much simpler. They also produce process models that do not have a coarse-enough granularity for them to be shown to a business audience. A higher-level notation is needed, it’s called BPMN, and BPM 2.0 must take advantage of it for a wide-enough audience of process analysts to get the productivity they need for their BPM projects.

Zero Code
BPMN and BPEL make for an extremely powerful combination because they allow one to go from picture to code without having to actually write the code. Let’s face it, a lot of work went into the development of these two specifications, and this work benefited from an unprecedented amount of collective experience that no single vendor could ever match on its own. What that means is that most BPM products that are based on proprietary notations and execution languages actually require the writing of quite a bit of code in order to make processes executable. Double click on the neat-looking boxes and arrows, and code written in Java or proprietary languages will show its face. There is nothing fundamentally wrong about code, but it just so happens that writing and maintaining code is harder and more expensive than writing and maintaining none at all. BPM 2.0 makes it possible to implement the most complex processes without having to write code. The Dutch Government did just that for a process that has a quarter of a million activities, so if it worked for them at such a scale, it should work for many other organizations.

One Click Deploy
By their very nature, business processes are prone to change, and most of us got interested by this new BPM thingy because of the promise that it would make change a little bit easier. I can even remember one of the early pure play BPM startups using the tagline “Go ahead! Change!” to emphasize that very point. Well, this is all nice and fancy, but if one has to write multiple deployment descriptor files and configure various web service interfaces to deploy a process, the ability to change the process as you go remains a pipe dream. BPM 2.0 advocates a radical ‘One-Click-Deploy’ approach to solve this problem. Once your process is valid, with all data mappings completed, business rules defined, and workflow parameters set, just click on a button and get the process deployed on your runtime environment, without any additional work. There is absolutely no reason why it should be any more complex than that.

Generating Web Services on-the-fly
Most BPM solutions are workflow systems in disguise, and as such, they do not really support integration with back office systems. Distributed transactions and reliable messaging are foreign concepts for such tools. For the rest of them, integration with enterprise applications has been forever tainted by what could be considered as the biggest scam in the history of enterprise software, the idea that you need custom connectors to integrate with enterprise applications such as PeopleSoft or SAP. In the late nineties, EAI vendors made a fortune selling connectors: you want to enter a purchase order into this version of SAP R/3? Buy connector X, for a cool $25,000 per CPU. You want to get the list of employees from that version of SAP R/3? Buy connector Y, for an other $25,000 per CPU. In reality, one can write a generic connector for all versions of SAP R/3, back to SAP R/3 3.1i, that exposes all 200,000 BAPIs, IDOCs and RFCs as web services, on-the-fly, for both standard and custom transactions, without writing a single line of code. The same can be done for Oracle, PeopleSoft, Siebel, and most enterprise applications out there. If it’s possible, BPM 2.0 should take advantage of it, and unless one takes some masochistic pleasure in developing one-time connectors for APIs that might be obsolete the next day, nobody should have to write custom connectors anymore.

Interpreting BPEL Code Natively
Early implementations of the BPEL and BPML specifications relied on Java code generation: you write the code in BPEL, and a code generator automatically translate it into a set of Java classes that are deployed on a Java Virtual Machine or a J2EE Application Server. Good news: it’s a relatively easy way for a software vendors to get into the BPEL game. Bad news: it does not really work. Much like Oracle’s database does not generate C code to execute a given SQL query, a good BPMS should not have to generate Java code to execute a BPEL process. Java code generation is bad because it makes the deployment of processes more complex than it should be, it creates discontinuity from the process semantic that makes debugging and monitoring an order of magnitude more difficult than with native interpretation, and ultimately, it slows everything down. Things get even worse when such implementations rely on the EJB component model for the persistence of process data, especially when Entity Beans with Container-Managed Persistence are being used. For it to work at a large scale — the aforementioned Dutch Government is running 250 million concurrent process instances that take up to five years to complete on a 4-CPU box — BPM 2.0 must natively interpret the BPEL 2.0 code, ideally through just-in-time compilation into process bytecode that closely maps to the Pi-Calculus semantic, and forgo the use of any EJB component for persistence, relying instead on straight database connectivity. If you need performance and scalability, you should go for such a model.

Web 2.0 User Interface
BPM 1.0 solutions relied on Web 1.0 user interfaces, namely standard email clients and web portals serving task lists and forms produced using plain HTML. BPM 2.0 must take advantage of Web 2.0 and Office 2.0 technologies, such as AJAX for dynamic tasks lists and complex forms supporting client-side data validation, RSS feeds for process events and user task lists, weblogs and wikis for process documentation, web-based calendars for task scheduling, and REST APIs for supporting the most creative mashups. Somehow, BPM has yet to be perceived as a ‘cool’ technology, and Web 2.0 might be all that is needed to move the needle enough to get a more mainstream audience excited by it.

Rule Engine Included
Up until now, BPM solutions would fall into two camps: you either had a glorified rule engine presented as a generic BPM solution, or you had a generic BPM solution that failed to support the execution of complex business rules natively. As a result, most customers who deployed a BPM solution of the later kind had to look for a rule engine from a third-party vendor, even though they did not really need a full-fledged rule engine to being with. BPM 2.0 makes the rule engine a requirement, so that it can be leveraged by the BPM vendor itself in places where it makes sense, such as decision branching, message routing, late-stage service binding, or contextual user interfaces. As James Taylor puts it, it is no longer OK for the BPM vendors to have nothing in the way of a rule engine — they must either build something comparable or, more likely, OEM something from one of the business rules leaders. BPM 2.0 makes the Business Rule Management System (BRMS) part of the BPMS, so that only one platform has to be managed and the lifecycle of rule-driven processes can be streamlined. To a large extent, the BPMS becomes the killer application that rule engine vendors have been waiting for up until now.

Real-Time BAM Included
Much like the data management industry had separate vendors for data processing (database vendors) and data analytics (business intelligence vendors), the business process management industry has featured separate vendors for BPM and BAM. It might take time for companies to actually merge, but products won’t wait for this to happen before merging on their own. With BPM 2.0, BAM is part of the overall solution, day one, instead of being an optional afterthought. You need BAM, because doing BPM without it is like driving a car with your eyes wide shut. BAM is one of those godsends that BPM makes possible, and I cannot think of a reason why anyone should not take advantage of it today.

Native Process Simulation
With BPM solution of the first generation, process simulation was supported by ad hoc process simulators that were based on primitive finite state machine simulating the execution of processes to be deployed on a separate runtime. Good news: such an ad hoc simulator is relatively straightforward to implement. Bad news: it does not reflect the true nature of the target runtime environment, cannot accurately simulate load testing, and has no visibility onto process data, which represents a good half of the process’ semantics when using process execution languages such as BPEL. While appropriate for addressing the needs of business analysts who have no interest in the actual execution of the processes they model, such simulators are totally useless to the people who own the overall process lifecycle. Learning from this experience, BPM 2.0 advocates a different approach for simulation, whereby the process engine is used as process simulator. According to such an approach, simulated processes are stubbed out from external systems, which are emulated by the process engine itself. In order to simulate a process, the process development environment automatically deploys a collection of process instances and randomly generate seed variables in order to support simulation models such as Monte Carlo. The process engine executes the set of simulated process instances and lets the BAM infrastructure aggregate the results to be displayed back to the process analyst, who gets access to business-level key performance indicators, as well as system level performance metrics. This approach ensures that the semantics of the simulated process remains 100% accurate with respect to the semantics of the process to be deployed. Furthermore, by combining business indicators with system metrics, it guarantees that business and IT get equal representation in the evaluation of processes to be deployed within a mission-critical production environment. At the end of the day, ad hoc process simulators are nothing more than cute toys for business analysts, while native process simulators are accurate metrology instruments that BPM practitioners can safely rely on.

Dynamic Process Optimization
Adepts of the Business Process Reengineering school promoted the concept of continuous process improvement, and early BPM vendors made sure to support this methodology with their products. Problem was, changing the process once deployed into production turned out to be more difficult than most had initially expected, especially when software code had to be re-written for changes to be applied. Furthermore, if making a change to a process meant going through the entire process lifecycle all over again, from modeling to simulation and deployment, most ideas for process improvements remained just that, ideas. BPM 2.0 marks a departure from the concept of continuous process improvement, and promotes a more dynamic process optimization model, whereby key process elements can be optimized on the fly, without having to re-deploy the entire process. Through the use of native BPEL interpretation, reusable process interfaces, externalized business rules, late-stage binding, and instance-level exception handling, running process instances can be optimized in real time, without requiring advanced technical skills. Such an approach allows the Dutch government to make regular changes to processes that can take up to five years to complete. If anyone had any doubt that BPM could be used to support long-running transactions, such doubts should be put to rest by now.

Open Source Process Engine
Your process engine will quickly become the most critical piece of your IT infrastructure. As such, you need the best insurance policy money can buy for it, and if you can get it for free, even better. This is the main reason why your BPMS should be architected around an Open Source process engine. Whatever should happen to your BPM vendor of choice, a community will remain to support you. The web, which one could have called Internet 2.0, was literally built on top of the Open Source Apache web server, which still runs a cool 67% of all web servers connected to the Internet today. The same will be true for BPM 2.0, and the leading Open Source BPEL server will also become the leading BPEL server.

Get Started Today, Free of Charge
Last but not least: BPM is too good of a technology for it to be kept out of reach from most of its potential users because of high acquisition costs. Until now, a fully featured enterprise-class BPMS would cost north of $250,000. If you wanted to add support for business rules, BAM and a couple of enterprise applications, it would cost you close to $500,000. I tend to think that such a high price tag is the largest single contributor to the slow adoption rate for BPM that we witnessed over the past six years. BPM 2.0 will change this by making enterprise-class BPMS products free of charge when deployed through certain configurations. Hybrid business models blending Open Source and commercial software will ensure that a handful of vendors enjoy the success they need for supporting customers over the long run. In the end, customers, system integrators and software vendors alike will all benefit from the upcoming explosion of the BPM market. Things are starting to get exciting, so don’t wait any longer and join the party today!

Author’s notes: sections on simulation and optimization have been added on February 6, 2006 following discussions with Naeem Hashmi and Bruce Silver. Additional sections might be added or modified over time and will be indicated as such through similar notes.

Clarification of the section on rules has been made on February 11, 2006, based on feedback from James Taylor. A solid rule engine must be part of any BPM 2.0 platform and the BRMS is merging with the BPMS.

Entry filed under: BPM 2.0

48 Comments - Add a comment

1. JC Reddy  |  February 2nd, 2006 at 9:42 pm

Honestly, I have no idea what the next generalion of BPM will look like. I, along with others in my current company, currently work closely with large financial institutions on automating, tuning and measuring their core business processes, and I haven’t met anyone who thinks BPEL is going to solve the problems they face.

I think BPEL is so far away from the real world BPM, it is hard for me even to begin articulating the gaps. I view BPEL simply as one possible technology stack for doing plumbing, and not much more. Claiming business users will sit and model their utterly complex business processes using an Eclipse plugin, with no one writing a piece of code, is at best naive.

2. Ismael Ghalimi  |  February 3rd, 2006 at 7:48 am

JC,

I agree with you, BPEL is a very low level plumbing technology that is not appropriate for the modeling of business processes. In fact, it is reflected in its very name, which refers to the ‘Execution’ of business processes rather than their ‘Modeling’. In that respect, BPML was misleading from a naming standpoint. I am the one who gave BPML its name and am the one at fault there. The BPEL folks fixed my mistake, now let’s move on.

What makes BPEL work is that process analysts can use BPMN to model the process and let the tool automatically generate a fully executable BPEL process for it. More than 15 large organizations used this approach to implement some of the most complex processes out there, and I strongly encourage you to take a look at the tool they used for it. It works in Eclipse and is being used by business analysts, process analysts and system architects alike. I might be naive, but I can recognize a good thing when I see it, and this one really works. Give it a try!

3. Doug McClure&hellip  |  February 7th, 2006 at 8:14 am

[…] The concept of BPM 2.0 was coined by Bruce Silver and first implemented by company called Intalio. From what I’ve read on their website and on the ITRedux blog there may be some very exciting opportunities here to leverage their open source (free) platform as an enabling technology for BSM and BAM (which they’ve embedded into their product!). The BPMS concept introduced here by Ismael Ghalimi, CEO of Intalio. […]

4. Phil Gilbert&hellip  |  February 7th, 2006 at 9:58 am

BPELephant…

The elephant in the BPM room is this: BPEL and BPMN won’t provide seamless round-trip engineering; BPEL is a wrong-headed distraction. “Please papa can I go Down to Richmond to the traveling show Please papa don’t say I can’t…

5. Ismael Ghalimi  |  February 7th, 2006 at 10:17 am

Phil,

BPEL is the standard for executing processes. Why fight against it?

6. Andrew Stesin  |  February 9th, 2006 at 6:17 am

Okay, your speech convinced me. I’ll buy it. So where is BPM 2.0? where can I get a reference sample in order to give it a try? Thanks in advance.

7. Ismael Ghalimi  |  February 9th, 2006 at 7:35 am

Andrew,

Glad to hear. One implementation I know is Intalio’s, which is available through an Early Adopter Program. General availability is scheduled for March of this year. Enjoy!

8. James Taylor&hellip  |  February 9th, 2006 at 3:13 pm

Are BPMS and BRMS complimentary or not?…

In his blog posting on BPM 2.0 Ismael Ghalimi gives a number of characteristics of a 2.0 BPMS. While there is much here with which I agree, he also said:Rule Engine IncludedUp until now, BPM solutions would fall into two…

9. James Taylor  |  February 9th, 2006 at 3:16 pm

Interesting view. Still think even a BPM 2.0 platform needs a decent decisioning platform integrated with it. See my post on this.

10. Ismael Ghalimi  |  February 11th, 2006 at 7:10 am

James,

I totally agree with your post. I updated my definition based on your feedback. See section on rules and author’s notes.

11. Dion Hinchcliffe  |  February 12th, 2006 at 8:59 am

Ismael,

This might at least be what folks are looking for: low-friction process automation tools with unnecessary complexity hidden.

I look forward to seeing how well this works and hope that you try for the Web 2.0-style real-time feedback loops that allow products to evolve in the direction their user’s need organically and quickly enough to grow with them. I believe the lack of this severely hindered the previous generation of BPM, and this generation might be the one that breaks out of the mold.

As you know, I wrote a little about what you’re doing here.

Best,

Dion Hinchcliffe
Editor-in-Chief - Web 2.0 Journal
ZDNet’s Enterprise Web 2.0

12. Ismael Ghalimi  |  February 12th, 2006 at 9:10 am

Dion,

Thank you so much for the kind words and for the article. I agree with your statement regarding the need for participative development. We are currently working on a software development model that should address it to the extent you’re describing, and possibly even more. Stay tuned!

13. Francis Ip  |  February 15th, 2006 at 11:32 pm

I’ve been working on a generalized Enterprise Architecture Methodology for Small and Medium size Enterprises. It applies relevent enterprise management concepts, adapts standards, adopts best practices, and inserts tecnologies for continuous business operations improvement. The features of BPM 2.0 are very impressive. Two elements seem to be missing though, which are: 1. ABC/M/B for capturing costs including human resources, materials consumed, and assets deployed. 2. Roles played by people assigned to tasks, activities, and processes. I assume that BAM captures performance statistics over time with pre-defined time parameters. It would be nice if statistical analysis modules do exist to facilitate the performance trending and quality control for continuous process and business operations improvement.

14. Ismael Ghalimi  |  February 16th, 2006 at 8:04 am

Francis,

I agree with you. We will need to extend the definition for BPM 2.0 by describing the need for activity-based costing and widening the scope of workflow functionality that has to be offered by a BPMS. Stay tuned!

15. Francis Ip  |  February 16th, 2006 at 6:33 pm

Ismael,

Thanks for the consideration of my suggestions. I have further suggestions after re-reading your BPM 2.0 article. They are as follows:

1. Would the extended version of BPMS include EDI (e.g. X.12) capabilites similar to Microsoft’s BizTalk?

2. Is it feasible to extend BPMS for building Ontology that supports IPPT (Integrated Product & Process Team) in product and process innovation? My thought is to broaden the application of BPMS, which would cover the entire product life cycle management from inception to disposal.

3. Mass customization becomes more or less a mandatory capability for an enterprise to satisfy customer requirements and needs. Would the extended BPMS support a projectized organizational setting to track a custom built product end-to-end? That is, backward link to the suppliers through EDI for sourcing and inbound logistics (supply chain) as well as forward link to customer through EDI for progress reporting and outbound logistics (demand chain).

I might ask a bit too much from a basically transaction-driven BPMS!

16. Ismael Ghalimi  |  February 17th, 2006 at 7:51 am

Francis,

You’re not asking for too much. Your first request is related to generating web services on the fly, and that is what Intalio does for supporting EDI. Your second and third request are directly related to the issue of process lifecycle and project management. This is an area that needs to be added to my definition, but I am still trying to figure out how to word it in a generic-enough manner. Give it a couple of weeks.

17. Kiran Garimella  |  February 17th, 2006 at 12:21 pm

Ismael,

One big challenge for BPM is the legacy of large ERP/CRM applications such as Siebel and Oracle. Looks like we have three options here:

1. Completely throw out (read: carefully retire) legacy, replace with BPM.

2. Keep legacy, but use BPM for everything else.

3. Keep legacy, use BPM for everything else, and integrate into legacy with adapters wherever possible.

What are your thoughts?

Thanks.

18. Ismael Ghalimi  |  February 17th, 2006 at 1:16 pm

Kiran,

Option 1 is not an option for most customers. Option 2 could work but will require integration sooner or later. Option 3 is the one I like the most. At Intalio, we used to call it APEX, which stands for Application Extension. The idea is to reverse engineer the processes of the legacy application, expose inbound and outbound interfaces as web services, and allow the extension of legacy application processes outside of the application itself. We did it successfully for SAP, Oracle, PeopleSoft and Siebel, with several customers. It works, preserves the legacy, yet reduces the amount of customization you make to it when having to implement new business processes.

19. Bob Urry  |  March 7th, 2006 at 3:57 am

Ismael,

I think that you’re on the right trail. However I’d be interested in knowing where you think security should fit in. My own opinion is that you can embed it within the process engine and maintain control of access to processes and enterprise systems through the BPMS.

As a process developer, I welcome the idea of a single tool, and why not Eclipse. Does not the notion that you could give this tool to an analyst fit in with your debunk of the current BPM tool use? I would think that there are several process development practitioner types that might welcome access to the same integrated tool, but with a different perspective that provides them with the components for their speciality. Perhaps you might need more than just BPMN as a notation in this case?

20. Ismael Ghalimi  |  March 7th, 2006 at 4:57 pm

Bob,

Regarding your question related to security, I believe that you are on the right track. I tend to view the BPMS as a process-level firewall, for the declarative binding of roles to process participants can be used as a way to enforce strong authorization policies, without having to declare them at the transaction level. In other words: anything you design a role to perform will be authorized for that role, while anything else will be forbidden. I could not think of a simpler way to build a solid entitlement system for complex business processes.

With respect to the use of a process modeling tool by different categories of BPM practitioners, I agree with you that multiple notations will be needed. Or to be more precise, multiple perspectives will have to be offered on the process by the process modeling tools, in order to address the needs of multiple process stakeholders. BPMN will play a key role, but additional notations for modeling organizations, objects and rules will be required as well. Intalio is currently working on adding these, and you should expect some pretty cool stuff to be released in the second half of 2006. Stay tuned!

21. Perry Lawrence  |  March 17th, 2006 at 2:29 pm

Ismael,

I am your target audience and you hit it on the head! I have been looking for over two years for a simple solution to a simple problem. Our legacy applications (coded in Lotus Notes) are basically forms that get routed. Why is this hard and why is this not readily available? Like you mention, if we want to spend 6 figures, we can do it, but 75% of companies looking for BPM are looking for simple forms and documents routing. The best offering out there currently is a forms module in Cybozu’s Share360. It allows users to create a form, define the routing or process, and then launch the process. Why can’t this be done in a LAMP environment? OK, maybe not a LAMP environment, but offer it to me as a brandable web service and I’ll be happy. While a full blown BPM 2.0 solution may be what’s needed over at GM, I need BPM Light. Anyone?

22. Ismael Ghalimi  |  March 21st, 2006 at 10:43 am

Perry,

I could not agree more with you. This kind of simple solution to a not-so-simple problem is what people really want. While BPMN is totally overkill for this type of scenario at the time being, simpler patterns can be defined on top of it in order to deliver what you’re talking about. This is something that we are currently working on with a couple of sponsors in the context of our Demand Driven Development program, so keep the faith, for your wish might turn true sooner than you might think.

23. Doug McClure&hellip  |  March 29th, 2006 at 1:35 pm

[…] Bruce Silver, who coined the term BPM 2.0 some time ago, has been blogging on the topic at IT|Redux for some time. Bruce has started a new blog BPMS Watch yesterday with the post called “BPM Immaturity Model Unveiled”. Follow Bruce’s thoughts and participate in the BPMS discussion! […]

24. Petr Krenzelok  |  April 7th, 2006 at 12:29 pm

Hi guys,

I am rather newbie in this entire area, but very interested. I went from programming to more abstract things, such as project management. Over the last few years I got sporadically involved with some collaborative and workflow tools, but mostly smaller systems, while at work we are using SAP and Lotus Notes. (I write it here for you to know where I come from, nothing more :-)

I just wanted to ask the following: what to think of the WfMC’s Wf-XML standard? I bought two books from them, and it helped me better understand those topics. Today, I saw some IBM BPEL-related tools in action, and actually I found the blog article too good to be true :-) So, where does Wf-XML fit? I am mostly interested in a good workflow tool.

Thanks a lot…
 Petr

25. BPEL Bits&hellip  |  April 10th, 2006 at 4:19 am

SOA and BPEL Energize BPM, Part 2…

My previous post on this subject prompted a few comments that I felt would best be addressed in a follow-up post. First, Value Wizard commented: "I agree fully with the conclusion. Every enterprise architect should be tracking this trend in…

26. Ismael Ghalimi  |  April 10th, 2006 at 2:35 pm

Petr,

Wf-XML is an interoperability standard between workflow engines. It allows you to connect one workflow engine to an other. Problem is, its functional scope is rather limited, therefore its usefulness questionable.

The WfMC has developed a standard process modeling language (XPDL), but the success of BPEL makes it less attractive today. I believe that the WfMC should focus its efforts on standardizing the BPEL4People work done by IBM and SAP, but I’m not sure that they’ll agree to be relegated to this type of work.

I hope this helps.

27. Kunal Shah  |  May 1st, 2006 at 6:04 pm

Ismael,

I tend to agree with some of the comments made here, with respect to obviously evident limitations of BPEL. Okay, so it is a great mechanism to capture the “orchestration of web services”. But BPEL by itself is not sufficient to capture a “business process”. Because, I believe that real “business processes” are a combination of EDA & SOA. Also, in its current form it does not capture the “human interaction” portion of a process — like XPDL can. Finally, BPEL does not quite capture higher-level abstractions of a truly business-oriented representation of a process, without getting it bungled with technical details.

I do agree with a lot of the points you’ve described on the comparison. But, I’m not sure about complete dependence on BPEL in its current form. I know that all of those features are available on BEA AcquaLogic BPM. How is BPM 2.0 superior to this particular product, or even for that matter Lombardi? By the way, I’m not trying to plug any product here, but just tyring to make an honest observation and looking for fair comparison.

28. Ismael Ghalimi  |  May 3rd, 2006 at 3:09 pm

Kunal,

I beg to differ. Here is why: if you read the SQL specification, you might not find much in the way of describing “business data”. It’s pretty low level and abstract. In fact, I could not think of a single “business concept” that is reflected in the SQL specification. Nevertheless, the very vast majority of business data is currently stored in relational database management systems that natively implement the SQL language. I strongly believe that the same goes for business processes and BPEL.

As far as proprietary products such as BEA’s or Lombardi’s are concerned, I am sure that they work for the customers that are using them, but they are what they are: proprietary pieces of technology, implementing proprietary languages. History tells us that such products are eventually replaced by others that natively implement the standards that are established in the industry, and that migration costs can be significant for customers. Therefore my advice would be for BEA and Lombardi to really adopt the BPEL execution model before it’s too late for them to do so.

29. Enterprise Web 2.0&hellip  |  May 7th, 2006 at 12:27 pm

Exploiting the power of enterprise wikis…

As part of my recent exploration of developing strategies for using Web 2.0 in the enterprise, I find that time and again the lowly wiki presents itself as the most likely target for the initial adoption in the enterprise. For one thing, almost everyone…

30. Raj Arya  |  May 17th, 2006 at 1:18 am

Hi,

I am from a J2EE developer background. In fact I lost my virginity to Business Process Modeling only a couple of days ago. So at the moment, chaos reigns supreme in my head.

1. I have done some reading on WS-CDL (Choreography) and BPEL. I also had a look at the Open Source pi4soa. Does BPMN+BPEL (Orchestration) as defined in BPM 2.0 make Choreography redundant?

2. I find it troubling that BPM 2.0 has thrown away the policy of having BPEL generate Java for the Web Services and uses some other (perhaps proprietary) mechanism. For those who work with BPM 2.0, it wouldn’t have really mattered how everything is being executed. But in some cases, when IT people need to plug into the BPM stack, it would have been great help if everything underneath was accessible. I think BPM should not turn away from using open standards at the back-end as well. This would be a major mistake.

31. Ismael Ghalimi  |  May 17th, 2006 at 7:42 am

Raj,

Regarding your first question, I would say that orchestration and choreography complement each other. Orchestration (BPEL) describes the high-level business process, while Choreography (WS-CDL) can be used to execute low-level transactions, especially when acidity, consistency, isolation and durability are required behaviors, but cannot be implemented using traditional transaction coordination techniques. For the BPM developer, choreography should remain largely invisible though, and it becomes the BPM tool’s responsibility to generate the appropriate BPEL code and use web service interfaces that support the WS-CDL model to execute transactions in a reliable way.

Regarding your second question, I believe that the BPM 2.0 manifesto should not mandate the use of any particular programming language, be it Java or C#, for the implementation of the BPEL runtime component. Instead, it should be the BPM vendor’s responsibility to expose it’s back-end infrastructure in ways that will allow customers to take advantage of it in the most productive way, according the the programming model they use. In Intalio’s case, our connector framework is implemented in Java, supports both the AXIS and JBI models, and allows customers to build their own connectors. This should address your needs I believe.

32. Dion Hinchcliffe&hellip  |  May 21st, 2006 at 9:10 am

[…] As I’ve written about in the past, companies such as Intalio have been developing this vision, which they call BPM 2.0, and the idea at least shows the potential for what Gartner and McKinsey have been talking about: Leveraging network effects, self-service IT, and the recombinant Web to harness new growth and productivity gains in the enterprise.  Note: I’ve recently taken Intalio’s BPM 2.0 tools for a spin and have been impressed so far, hopefully I’ll do a tour of this in a future post. […]

33. Jeevan Kamble  |  June 6th, 2006 at 11:47 am

Dear Ismael,

I am new to BPM, more interested to know about its connection with Knowledge Management. Since I read some few articles on KM-BPM, it would also be helpful if I could get some career opportunity guidance. I am working on a Knowledge Management Implementation.

34. Marcos Reyes  |  July 5th, 2006 at 5:02 am

Hi,

First of all, sorry for my bad english.

I have a little question. Business processes are, by nature, unstructured processes (like BPMN is). BPEL is (should be) a structured programming language. Migration from an unstructured to a structured process is a non-trivial task. Indeed, some processes that can be modeled in BPMN with paralelism and arbitrary cycles cannot be translated into BPEL processes.

In cases where mapping from BPMN to BPEL is possible — of course not just the trivial BPEL mappings provided by the BPMN 1.0 specification, the techniques employed are really complex and generate unfriendly BPEL. I believe that BPEL links and event handlers (unstructured BPEL elements) should be used to model many elements of unstructured scenarios. I guess this is how Intalio does it anyway.

At the end of the translation, you’ll never recognize your business process in the resulting BPEL code. So, why choose BPEL as execution language if users/analysts/programmers will never use/touch/understand it?

-Marcos

35. Ismael Ghalimi  |  July 10th, 2006 at 8:21 am

Marcos,

Because computers will use it, and that’s all that matter at the BPEL level.

36. Marcos Reyes  |  July 10th, 2006 at 10:58 pm

Oh… And why not use one of the existing standard languages for “machine code”. I can’t see the benefits of BPEL at this level… Why is BPMN2BPEL mapping better than BPMN2Java or BPMN2C#? Do we really need a new standard for this?

I understand that BPEL is a strong standard for composing new services through to Web service orchestation, without unstructured patterns, without standard human interaction, and within a SOAP/WSDL world). But it’s not a BPM language, and it’s not good for machine code either. In fact BPEL is a new programming language, quite similar to any other, but with some nice high level concepts… But is that enough? I think that I can do a BPMN2Java compiler with less effort than a BPMN2BPEL compiler plus a BPEL interpreter. My computer doesn’t care.

My poor english doesn’t let me be as polite as I wish. Thank you in advance.

-Marcos

37. Ismael Ghalimi  |  July 11th, 2006 at 6:00 am

Marcos,

The thing is, if you want the ability to execute a very large number of processes, in real-time, leveraging the full semantics offered by BPEL, and letting users dynamically change the definition of processes at runtime, building a BPMN2Java compiler will be an order of magnitude more complex and difficult to maintain than building a BPMN2BPEL compiler plus a BPEL interpreter. If you need proof for this, look at the database world: the Oracle database does not have a SQL2C compiler. It has a native SQL interpreter. For the very same reasons.

38. Marcos Reyes  |  July 11th, 2006 at 7:49 am

Ummm… OK… We need an execution platform to execute business processes… The generated “Java” code doesn’t need to be an executable standalone process. It can execute inside a container that dynamically adds processes (implemented with an old-fashioned ORB for example) to serve all the petitions over a very large number of processes and instances.

The BPEL semantics is good for small and manual problems, but I believe that an automatically-generated BPEL process has no “human semantic” at all. And BPEL doesn’t include important new high-level concepts (except correlation).

Runtime changes… The executing process is a BPEL one, you told it is “computer code” so nobody can touch or modify it. So people modify, in their development environment, the BPMN process and generate the new BPEL. Of course modify one “arrow” in the BPMN process may change completely the resulting BPEL — unstructured vs. structured problem again. Then they deploy the whole new BPEL in the execution platform. And how could you migrate existing processes instances to the new BPEL process? BPEL has no concept of state, so it is hard to imagine how to do that dynamic changes and migrations at runtime.

And What about BPMN2XPDL? Don’t you think it is a more natural mapping — with a fully closed, portable and executable XPDL standart of course. I like BPEL, but not for BPM. I like BPMN, but it allows to model lots of really evil things. XPDL is nice also, but it’s full of non-portable vendor extensions. So I don’t know what to think. I am still playing with my Petri Nets meanwhile…

Thank you for the answers.

39. Ismael Ghalimi  |  July 11th, 2006 at 8:03 am

Marcos,

Give Intalio a try, look at how we implemented workflow patterns on top of the BPEL engine, and let me know what you think. I believe that it will clarify a lot of things for you.

Best regards
 -Ismael

40. Improving New Account Ope&hellip  |  October 22nd, 2006 at 6:21 pm

Next Generation BPMS — does it need CRM?…

I’m thinking of an all-encompassing business suite that incorporates not just process and all of its supporting capabilities, but also content, integration, collaboration, security, identity, metadata repository and a host of…

41. Abi Mirkhani  |  December 13th, 2006 at 5:17 am

As a process analyst/designer/consultant/practitioner I fully agree with the concept of BPM 2.0. But I would like to have my hands dirty, for the BPMS implementation with the proposed Open-source tools before having my final vote for the timing of this move from BPM 1.0 to BPM 2.0. I have the feeling that even the timing ir right. “In Ismael We Trust”

42. Abi Mirkhani  |  December 13th, 2006 at 5:17 am

As a process analyst/designer/consultant/practitioner I fully agree with the concept of BPM 2.0. But I would like to have my hands dirty, for the BPMS implementation with the proposed Open-source tools before having my final vote for the timing of this move from BPM 1.0 to BPM 2.0. I have the feeling that even the timing is right. “In Ismael We Trust”

43. Joe Dimagio  |  January 21st, 2007 at 10:03 am

Perry,

If you are looking for a forms-driven solution, look at Karomi. It is a workflow tool, but it has most of the features that a BPM tool would have. Web-based process designer, Web-based form designer, and a mini BAM.

-Joe

44. Pekka Pulkkinen  |  February 12th, 2007 at 2:06 am

Hi Ismael,

What is your opinion on data analytics vs. process analytics? You mentioned that BPM should be used by process analysts. Would it make sense to separate process improvement activities (BPM scope) from other business improvement activities (business intelligence scope)?

45. Ismael Ghalimi  |  February 12th, 2007 at 2:26 pm

Pekka,

I’m not sure about that. I think both are needed for making educated business decisions. Also, while designing executable processes requires the skillset of a process analyst, developing BAM dashboards usually does not, therefore I would believe that a business analyst could easily handle both BAM and BI activities.

Best regards
 -Ismael

46. Rob Burness  |  July 31st, 2007 at 6:26 pm

Hi Ismael,

As a consultant in Business Improvement and Alignment, I read with horror your reference above to the Dutch Government that has a quarter of a million activities for one process. I think this is impossible unless they have used process notation to describe all of their checklists…

I understand that this is a technical discussion, but I think the biggest problem that most companies face is the imprecise nature of business analysis and the training given to Business Analysts and Process Analysts.

I have personally taken a printout of one “process”, developed by a major consulting company and laid it out on the floor. When I connected all of the pieces of paper, the thing was 5 meters long and activities at the far edge of the process linked back to activities at the start of the process.

No-one could work out what was happening, so no one from the business would sign off on the process. I produced a framework and condensed this into 4 separate one page processes, and the business agreed with the process straight away.

I think you will find that documenting activities at too low a level and failure to establish a process framework are the two biggest mistakes analysts make, and these have a huge impact on the final product. Following close on their heels is inconsistent use of terms, process descriptions, and patterns.

BPMN is great to describe processes to business users, but not to the extent that you can generate BPEL from it. The reason is that in order to get agreement about processes, business users generally should not be exposed to the sheer number of symbols that make up BPMN. The complexity overwhelms them, whereas it is the symbols and the application of their precise meaning that permits them to become BPEL.

And finally, people with the skillsets to take the process from the business and into IT are very rare. Very rare.

-Rob

47. Jitin Girdhar  |  August 24th, 2007 at 2:07 am

Hi,
I am a business specialist, having little knowledge of IT, started my career with an IT firm though last year and from last few months, i am working on BPD with BPMN, i want to convert my busines processes to a working application and for that i am in the process of converting BPD into codes (on java or .net) i have tried many tools including Intalio but no one gives me the desire output, as a business executive i want fully automated process, no maunal coding, can anyone suggest anything in this regard… thanks in advance.

48. Jairo  |  July 20th, 2008 at 8:02 am

Can BPM 2.0 manage the planning of tasks? Planning of resources? Managing finite capacity?

Trackback this post  |  Subscribe to the comments via RSS Feed

Leave a Comment

Required

Required, hidden