The article “Why BPEL is not the holy grail for BPM” presents a scenario for implementation which is difficult for BPEL based products to actually execute. It presented a particular product based on BPEL that was not able to execute this diagram. What about products that are based on executing the BPMN directly without conversion?
Fujitsu Interstage BPM is such a product. You draw the BPMN diagram, and submit the diagram to the server, and the server executes it directly. It has no problem executing the diagram as drawn. Here is the diagram as drawn in the Fujitsu Studio:
Some slight modifications: Instead of an “activity” receiving the start message, I use a start-event which receives the message. I don’t understand why people draw processes that start and then immediately go to an activity that waits for something — a start event does this much more clearly. There are many who feel that waiting for a message should always be done by an event node, and never an activity node, and that certainly seems to make sense to me. Using the start node to be triggered by the incoming message is the same semantics. Similarly, the original diagram had a final activity which was not really an activity, but really only an indication of the final state, and I would use an exit node (end event) to indicate that. But the real question was with the middle section and that is reproduced faithfully.
This is saved as XPDL. I do not say that this is transformed to XPDL, because there is no transformation. The diagram above is expressed directly, one-for-one, into XPDL which is simply a file format for storing BPMN diagrams. When you read the XPDL back in, the same BPMN diagram as you see above is displayed. XPDL is simply used as a file format to transfer BPMN diagrams around. The XPDL file is imported into the server through a web form:
Then in the server the process definition is displayed as BPMN using the Flash based process diagram viewer:
Then we start an instance of the process. Since two activities are started in parallel, you will have two workitems in the worklist.
The worklist has two workitem on it, “Provide Office” and “Fill HR DB”:
And this can be visualized graphically as:
Because these steps are in parallel, they could be completed in either order. To demonstrate how the AND node holds up the progress until both inputs are received, lets complete the “Provide Office” first.
One work item available:
And this can be visualized graphically as:
The the “Fill HR DB” has not been completed, and so that task is still on the list. The Provide Computer step can not be started before the Fill HR DB step is completed, because the AND node requires input from both direction. There is only one active activity (indicated with green) and so we have one workitem. The AND node is colored green here to show that it has received one, but not both inputs. We complete the “Fill HR DB” workitem:
This has two workitems available again:
And this can be visualized as:
Completing the “Fill HR DB” sent an event to the “Medical Check” activity to activate it, as well as to the AND node, satisfying that, and causing “Provide Computer” to be activated as well. So we have two activities active at this time. Again, these are in parallel, and so they could be completed in either order, so lets choose to complete the “Medical Check” workitem.
We are left with only one work item:
And this can be visualized as:
So now we complete that one remaining workitem
Now we have completed the process, there are no workitems:
And this can be visualized as:
So you see, the BPMN can be executed directly. There is no need to translate into any other form. The process is transferred to the server as a BPMN diagram, using XPDL as a file format. The diagram is interpreted directly without conversion to another model. You can execute diagrams that are not possible with BPEL. And the advantage is that you can directly see how the process is running.
Why again do analysts recommend BPEL? It seems to me in this scenario to be nothing but a limitation.
Pingback: BPMN/BPEL/XPDL posts « MyNotePad
Pingback: links for 2008-10-30 « steinarcarlsen
Pingback: It all kicked off, didn’t it? « Euroside
You could also store the example process as a BPEL file directly without transforming it. It’s simply a flow with some links, nothing special.
Executing BPMN directly is not really a good idea, because of its non-deterministic behaviour. Imagine an xor split with two overlapping conditions. Which branch will be executed? The spec only says “the conditions should be evaluated in a specific order”…
There are good reasons why consultants recommend BPEL. One is that BPEL has a well defined deterministic behaviour.
When it comes to more complex BPMN diagramms that can not be easiliy represented with BPEL then most probably the execution semantics are unclear or you run into synchronisation problems.
I believe you are mistaken about being able to store BPMN as BPEL without transformation. These two languages deal with entirely different constructs, and the specifications themselves say as much. The has been much study of how to transform BPMN to BPEL, and there is no definitive way to do this. The current proposed BPMN 2.0 spec clearly states that “Not all BPMN process can be mapped to WS-BPEL”.
You last paragraph acknowledges this, so you know it, you just have the opinion that you want to program in BPEL, and therefor are willing to limit yourself to the kinds of BPMN diagrams that can in fact be represented in BPEL. I would surmise from that that you represent a “software engineer” mindset with some training in programming languages.
The question we are considering here is not whether programs can be written in BPEL, but rather are the programs that you can write in BPEL suitable for a business user. It is very hard for someone who know how to program to forget all that, and imagine a non-programmer point of view.
Before you make a lot of vague sweeping statements about the usability of BPEL, why don’t you actually do the work of demonstrating how the case presented in the InfoQ article can actually be, as you say, represented directly in BPEL. Once you have done that, show me the BPEL engine that executes it, along with the visible stages along the way.
As to your point about BPEL being more executable than BPMN. BPEL is a lot more like Java, C#, Perl, etc in that it has a well defined execution semantics. But note this: if the BPMN diagram lacks the semantics for execution, then it can not be transformed into something that does. Let me say that again so it sinks in: if the BPMN diagram contains enough information to be transformed into an executable BPEL process, then it contains enough information to be executed directly. The transformation does not manufacture information on its own.
What you have told us is that you prefer to program in BPEL. If it works for you, then great. I have no problem with BPEL for EAI and web service orchestration purposes — that is what the language was designed for. The problem is that it is not a Holy Grail for all business problems, and some business problems can be easily represented by business people, but can not be easily represented or executed using BPEL.
Wow, you make a lot of assumptions about me…
You should read carefully. All I’m saying is that this particular example can be easily stored as a BPEL process.
I have in mind boxes and arrows, which are in my opinion the toolset for business analysts (BPMN is much too complex for business users). And BPEL provides exactly this: boxes = activities and arrows = links (in a flow environment)
I wouldn’t say that you “write programms in BPEL”. For the example I used a graphical modelling tool and used boxes and arrows to draw the bpel process.
Here we go:
$link5 and $link6
$link7 and $link4
You can find the graphical representation of the model above here.
The good thing is, that I don’t have to explain you how “I think” this will be executed, because this is precisely defined by the BPEL spec… 🙂
As this is pure BPEL, every BPEL engine in the world (at least every engine that really implements BPEL and not only claims it) is able to execute that. You see, the problem is not BPEL but the fact that most of the BPMN to BPEL transformations just do not take into account the with links.
I completely disagree: Have you ever used boxes and arrows in Java, C# or Perl?
Absolutely right. So you have 2 options: Either modelling something weird using BPMN and try to find out what it actually means or restrict yourself to model only things that make sense, i.e. from my point of view that can be directly executed in BPEL (Model BPEL using the BPMN stencils).
Yes, nothing is perfect! Every language, framework… has strengths and weaknesses.
But once again (so it sinks in): I’m not programming BPEL, I draw BPEL processes with boxes and arrows!
And: I would really like to know the percentage of real world business processes that should be executable, that are modelled correctly, i.e. they really do what the business people who modelled the processes want them to do, and that cannot be modelled in BPEL. Artifical / academic examples don’t count.
second try with the process model:
<bpws:process exitOnStandardFault="yes" name="infoQSample"
<bpws:receive name="Receive" …>
<bpws:reply name="Reply" …>
<bpws:joinCondition>$link5 and $link6</bpws:joinCondition>
<bpws:empty name="Fill HR DB">
<bpws:empty name="Provide Office">
<bpws:empty name="Provide Computer">
<bpws:joinCondition>$link7 and $link4</bpws:joinCondition>
<bpws:empty name="Medical check">
Forgive me for making assumptions, I sometimes do that, and thank you for the excellent response in spite of that.
You can serialize BPMN graphs into BPEL using the “link” tag. I am aware that links were included in the BPEL spec in order to support graph oriented processes, but there are issues. I did some experimentation with that a few years ago, but I was not able, in the end, to model the “Trouble Ticket” standard example. I found this method works only if you travel through the path once, and do not have any loops back. Your process starts all the activities, and make each wait on the link. If you attempt to flow back to an earlier node, the link signals a node that is already completed, and nodes can be completed only once. I would be interested in knowing if you can support the Trouble Ticket scenario, which is also a real-life example process.
Can you say whether this method of transformation to BPEL is consistent with the BPMN spec? Is this method for transformation written up and published anywhere? I am not aware of any products implementing this approach, can you please let me know which ones work on this principle? It is likely that I am simply unaware of them.
One thing I think we agree on is that “open ended BPMN” can lead to problems, and that you must restrict yourself to a subset of BPMN which has clear semantics. What I hope you also agree, is that all the semantics for proper execution was in the original diagram. In this diagram the semantics are clear, and can be executed whether you transform it to BPEL or to anything else.
When I say you are “programming in BPEL” what I mean of course is that you are drawing a BPMN diagram, but limiting yourself to those things which can be transformed to BPEL. This diagram can be transformed, but there are other ambiguous diagrams which can not, and you would avoid (or disallow) those. Thus you limit yourself to what can be expressed in BPEL. I also limit my BPMN diagrams to those that have clear semantics, but I have found the limitations of BPEL to be too restrictive. What you have made me realize is what I call the “limitations of BPEL” may really be limitations with the method used to transform BPMN to BPEL. I will have to think about that.
This post turned into an article
Then referenced by:
I am using jbpm bpel flow activity to make my webservice work parallely. but they r working sequentially. can you please provide some help on this……………
Well, calling web services in parallel is something that BPEL should be able to do. You use the “Flow” tag to contain the actions that are called in parallel. (Has anyone noticed how ironic this tag name is?)
You probably want to approach a jBPM site to find out exactly how to get the program you wrote to run correctly.
Why waste your time with either BPMN or BPEL? Both are not the true process and way to rigid for a business that wants to be agile.
The easy way to look at this is on a video – this one includes BPMN execution http://tiny.cc/BPMN
PS- Max Pucher’s comment is a stupid statement to make – its like saying cars and vans are useless because they need a driver to work.
Alan, name calling is a sign of having no better arguments. Cars and vans do not have to be redesigned by engineers if you want to make a left turn instead of a right turn. With BPMN and BPEL that happens all the time. You go back to the blueprint …
Your response will be: ‘Yes, then the process was defined the wrong way.’
My answer: ‘Exactly!’
Max, it is still a silly statement. BPMN and BPEL are valueable and have the support of every major vendor – and you just said that the work of over 700 people (one being my CTO) was to develop something that is of no value.
The market is littered with failed companies that wanted to build “flexible” process execution systems (BPM and ERP ect). Unless you can tell me you have identified a number of processes in the corporate environment that true “agile” is pertinent to, then there is no global market and such a system will only ever be a niche solution which is only ever sold as part of a consultancy led sale.
Every major vendor has adopted BPMN. And every major system caters for it. BUT its just the stencil used, the underlying model translation by the designer is up to the technology vendor so the map is only an element fo the definition – business optimisation is the key and corporate boards like that to be certin, controlled and managed – i bet even the systems you put in conform to a map, delivering what the customer wants rather then what he can have.
Just because you can build something does not mean it was worth doing. That is not a perticular criticism of any system, its a true statement. I retire 3 programs of development every year across the portfolio – often they are excellent systems with a clear value proposition, but I bin them because they would not scale up in sales volumes.
I am no academic, so this simple sales man will stick with globally recognised system standards and main stream multinational brand customers.
Alan, fine by me … to claim that BPMN/BPEL must be right because YOU do it, is not only ignorant but also arrogant, while I just question the practicality. I understand that I am stepping on your toes, so you hit me with the usual empty phrases. Major vendors use ‘open standards’ as a marketing pitch. Try to import/export ANY open standard and you’ll see how much that is true. A complete process solution with all its elements has so many systemic breaks that the lock-in is dramatic and there is no such thing flexibel and portable. Only a fraction of vendors support those standards anyway.
You make an important point about ‘consultant led sales’ … no consultant will sell you a system that is easy to implement because it makes their own work obsolete. It is like asking the government to reduce bureaucracy.
I even propose that the whole idea of rigidly defined processes is silly. It is not human. Running a business is about people communicating internally and externally as needed. Would you want to sit all day by a terminal telling you what to do next? So you can chose between idiots being perfectly controlled by BPMN processes designed by someone in the ivory tower, or a business that does what it’s customers need and communicate about.
I am no academic either. I wish that I could implement templates, but when customers see that it can be done, they all want their own thing. That is human and customer oriented.
Finally, what should the benefit of a global market be? IBM, Oracle and MS have long forgotten what it is like to communicate with a customer in person. They are virtual monopolies by virtue of stock market financed domination. They are big, but neither agile nor customer oriented themselves. IBM Websphere, Oracle Fusion and Sharepoint are crap, but the billions of advertising spent, turn them into global brands. Businesses pay for those marketing billions and get no more than an illusions installed by consultants who cost even more.
The result: Rigid, process blueprinted, global enterprises that also have sell their crap by marketing billions and dominate every small innvoative vendor. So don’t give me all the BS about being AGILE. I am not jaded or frustrated, but I don’t buy it because I still use my brain and intuition.
You can call me names, but that makes what you do not any more clever. It is neither innovative nor customer oriented but just following the markeing billions. Good luck!
Max – we are BPMN, XML, ULM, BPEL, XSLT, .Net, Java and a load of other things that are industry standard.
We work with IBM, Oracle, SAP, Microsoft, Tibco, Pega, Metastorm, W4, IDS Scheer, Casewise and a load of other mainstream vendors who employ hundreds of thousands of people up and down their value streams
We integrate to Sharepoint, Websphere, Fusion, Netweaver, iProcess, Proforma, Systems Architect, Aris, and other main stream technologies that run the worlds systems
We sell what is quantifiable, repeatable, understood, needed and desired.
We sell Business Optimisation through the delivered capability to capture and define AS IS – communicate it, and create a path to TO BE, which is all supported with change management and version control from the original master to each version & variant that exists.
The system has been created through consultation with the heads of Process, Transformation, or Operations of approximately 14 clients, all of which employ over 10,000 people and have the added benefit of paid relationships with Gartner, Bloor, Butler, et al to advise them on what they can and should be doing, using and buying.
Summing up – you cannot sell what you have not marketed, you cannot market what you cannot quantify, and you quantify nothing but the negative. You also state that I, and almost the entire industry we work in, is deluded into thinking we know what customers want when actually only you have the answer.
BPMN gets about 1 new adopter every 6 weeks and Process Master recruits one new Global 5000 client on average each month because we do not live in an ivory tower. We live in a real world where we spent time an effort talking to customers, partners and analysts – and I have yet to find a single one who has ever said that they mistrust, dislike, or wish to work away from any well thought out and accepted international standard.
And the very last thing you did was question any practicality – you were completely dismissive and called it a failure. As I know of over 100 jobs that the standard now supports, I would not allow that to go unanswered or unchecked.
Alan, a lot of people believed and still believe in communism. Does that make it any more realistic, human or practical? No. I do not just disagree with the standard, but I propose that it makes the failure of BPM even more profound, because it not only rigidizes a buiness but it follows some outdated standard without any benefit whatsoever. It does not reduce cost or make a business more agile, but it just creates the fuzzy warm feeling of ‘we all do the same right thing’.
You do something very typical for BPM proponents: You pick numbers at random and correlate them with something else at random and claim that to be a causation. Just like with the people who supposedly support the standards. Who cares? It means nothing.
BPM quantifies an illusionary benefit that can at best be proven in the short run. But in reality it produces a straightjacket for the business in the long run for processes and for the IT infrastructure. The incredible effort of integrating all the products you mention produces a huge spiderweb of dependencies that make any portability or even version upgrade nearly IMPOSSIBLE. You know it but you would never admit to it! That is your ivory tower.
But clearly, I am discussing the subject with someone who makes a living from selling a dogma. Show me the long term independent stuides that show that large scale process management is good for a business.
There aren’t any. I have been searching them for years. BPM is worse than SOA. Huge effort and nothing to show for except money down the drain. But at least it is spent on a standard …
I have no idea how you made the leap from BPMN to Communism, or how you now define that BPM does not reduce costs.
In truth, I do not even know what you are argueing for, or what benifit you feel you can actually deliver as you seem incapable of defining it.
It is also aparent that you must never have had a management role in a global IT business – what you say is slow and complex is actually careful and derisked.
If all you promote is that every business should only be allowed to run off one fully integrated system that is centrally managed and delivered out of the box in a way that responds to every concievable need of the corporation in an intuitive way – then I now do understand you because I saw that very system in iRobot, 1984, and The Matrix
Alan, right. Let’s add some sarcasm, that helps. I would be surprised if you have worked anywhere near with the number of CIOs of global corporations as I have in my 34 years in this business. I built and still run a medium sized but global software business and my solutions are used by more than a 1000 global corporations. I don’t need to prove anything to anyone anymore. I have seen so much incompetence and ignorance in IT that nothing surprises me.
You once again chose to attack me personally rather than provide counter arguments. We obviously live in different worlds and have different perspectives and horizons. I always take a long-term complex system perspective, because that’s what economies and businesses are because of their human agents.
Thus I see process management as a software facility that does not complicate things by controlling people by process illusions that were created by some analysts in the ivory tower to achieve some short-term savings. That’s what I call process communism (and it does get people’s attention).
I propose that current style BPM is not anywhere near providing the agility that it promises, rather the opposite. The so-called standards are one of the reasons. The unnecessary IT complexity that is implemented today is the reason for the extremely careful and derisked approach that makes IT solutions being years behind business needs and causes more than 50% of projects being cancelled.
I propose that the business users (and ideally partners and customers on the web) must be able to work with a front-end that enables them to perform business processes as they see fit, while the process owner monitors business results and improves processes continuously without having to go back to the flowchart blueprint. Clearly to you that sounds like the Matrix … no surprise there.
My proposed solution does require very new technology with a user accessible meta-data repository, user-interactive content and process creation, natural language rules and automated process discovery by machine learning.
It is much more than ad-hoc processes because by above means any complexity and the necessary control can be achieved. Charts are created automatically for documentation rather than drawn by experts for design and hardcoded implementation. Business intelligence is not seperate but accessible by the business user as part of the process.
So you go your way – slowly, careful, derisked and outdated … and I go mine. Good luck!
Ah, a good result.
There is nothing in this reply that I disagree with. Every argument you put forward is credible and relevant – and as much as I have not worked with 1000 CIO’s, I have worked with enough CxO’s to understand that what you now say is correct and is what the world is saying, even if it does not actually know it, understand it, or want to admit it.
However, even though the world says these things, the real world such stuff is not so simple.
I will be honest enough to say that I see your point, accept it, understand that it points to the “better way” but I am so unfortunate to be confined to the ivory tower that understands it is what the greater part of the world considers to be radical and risk bound – where budgets only go as far as disruptive and advanced. It is hard enough to sell and deliver what a customer wants without having to try and persuade him to spend money on “brave new world” stuff. And equally, trying to educate a sales force and customer base on the value proposition is impossible – and that is experience talking.
As the old marketing phrase goes, you never get fired for buying IBM – what you advocate is not for today’s market. My truth therefore is that I work within the system that you poke fun at. Yours is one of Moses – so you have 6 more years before getting us all to the promised land.
And I will recognise the new world when I see it go mainstream – working inside the global vendors portfolio strategies and creating jobs, wealth and new innovations in health, banking and social communication.
So for me, you will remain a marginalised quack as long as you criticise everyone and everything that does not believe what you believe, advocating a “stay away” policy from what is proven to work (its value not cost that matter) – but if you moved on to say that we should demand more of MS, Fujitsu and IBM who have feature gaps (as opposed to crap) and say that BPMN BPEL ULM XML SOA BPM needs to move on to next iteration (as opposed to being a failure) then you may just be a thought leader…………..and I and the rest of the industry listens to thought leaders
Alan, thanks for admitting that my approach is leading the way. I know exactly that I won’t be the one to change the world. Moses (as the story goes) has not succeeded in convincing the world in his lifetime but he has still changed it.
I proposed (and offered) the merging of inbound and outbound process management in 2001 and was laughed at. Now that IBM and others are doing it, it is considered a ‘new’ trend. I have no problem with that at all. I did what I had to do at the time. Like you they all wait until it goes mainstream. They call minimal functional advances innovations and revolution and sell solutions that clearly do not keep the sales promises and broadly fail … what can clearly not be admitted.
You and others simply make money from your customers regardless. I struggle with selling them new concepts every day and training a sales force to do so is very hard. I still made more money than I will be able to spend. So what I do is NOT an empty idealistic concept. It creates wealth and a lot of people enjoy doing it with me. Yes, it’s easier to let others innovate and then jump on it. Apple neither invented the mp3 player nor the mobile phone and still truly innovated both. The same thing will happen to me and I am fine with that. The last thing the industry does is listen to thought leaders. Those are mostly run over once the market catches on.
I still believe that a lot of ‘crap’ is being sold knowingly and mostly it kills American jobs and reduces the quality of service in banking, insurance and healthcare to push up the share price at the end of the quarter. It does not matter how many iterations of three and four letter acronyms we will go through, it will not improve our life.
Fine, I am an idealist but I still do real solutions. I measure value in quality of life only and IT could do a lot there but it is used mostly to the opposite. Yes, I feel like a misunderstood prophet often enough but there are a lot of people who follow my ideas. As long as I enjoy working with those people I will continue.
And, I will say what I want and call it ‘crap’ when I see ‘crap’.
PS: Moses was most likely an Egyptian Pharao, just as Solomon’s temple was not in Jerusalem but in Palmyra, Syria. But that is another interesting subject …
Keith, I ran into this thread and saw your earlier comment about modeling the “TroubleTicket” process in BPEL. As an interesting exercise I decided to try that out – I created a BPMN process for TroubleTicket, converted to BPEL and executed it without any modifications. Re-executing some of the activities i.e. traversing back to previously executed steps works. This was done with IBM Modeler and Process Server. There probably are BPMN processes that may not transform into BPEL perfectly but seems like TroubleTicket isn’t one of them.
After reading the heated debate between Alan and Max I have just one question: is Max wearing a bow tie and a brocade suit ?