Posts Tagged ‘BPMN 2.0’

IBM Fulfilling BPMN 2.0 Promises?

Wednesday, November 16th, 2011

Bruce Silver reports that IBM is following through on its promises with respect to BPMN 2.0 in its next release, IBM BPM 7.5.1, which ships this week.

Not that IBM is covering EVERY corner of BPMN 2.0, but it is a significant advance – in that they are surprisingly supporting import and export of BPMN 2.0 XML from the Process Designer:

In a recent post, I talked about what “BPMN 2.0 support” really means, in both non-executable and executable model contexts.  It’s not primarily about the notation, although a few shapes and symbols – notably non-interrupting events and event subprocesses – are new in BPMN 2.0. BPMN 2.0 support is really about the XML serialization, the ability to export the process model according to the XSD and rules of the spec, and ideally import from the XML as well.  IBM BPM 7.5.1 can do both.

[...]

The important thing, though, is not just the palette of shapes but the fact that Process Designer supports export and import of the BPMN 2.0 standard XML format.  (Oracle BPM 11g has had the BPMN 2.0 shapes for a year and a half and still cannot do that.)  I haven’t seen the XML yet but I believe that the export includes data objects, data inputs and outputs, data association mappings (assignment), and other details of executable BPMN 2.0. At least I hope it does.

A few new palette items have been added as well, though as Bruce notes, we’re still missing explicit representation of message flows.  I happen to agree with Bruce that this could improve the readability of IBM BPM models. And knowing how things are implemented underneath, I believe I’m qualified to say there aren’t really any technical barriers to having this “transparently” implement message flows, except to update some of the assumptions that go into the process canvas.

Great news, and great recap from Bruce.

 

Carrying the BPMN Interchange Torch

Friday, April 15th, 2011

Bruce Silver is still carrying the torch for BPMN2 interchange – thank goodness someone is- and has yet another update to explain the ins and outs of “valid” models.

That means an interoperability validation tool needs to test, in addition to the normal semantic rules of BPMN, rules that relate the semantic and graphics elements.

For example, the rule in question here might be something like this:  In a diagram (i.e. page of the model), if a process is represented by a pool then all elements of that process on the page must be enclosed within the pool shape.

It is going to be a long road to get there but Bruce is, at least, making progress and uncovering some of the semantic (as well as syntactic) issues.

And since it took me a while to publish this post, we have an update from Bruce regarding BonitaSoft:

I have run across 5 BPMS vendors interested in my BPMN-I work: Activiti, BonitaSoft, Oracle, SAP, and IBM.  Of the five, BonitaSoft is so far the most successful in actually implementing BPMN 2.0-based model interchange.  Not only that, they are the only one so far that has implemented any of my suggestions for conforming to the xsd and BPMN-I.

I’ve said it before, I’ll say it again: when it comes to interchange, I think open-source offers the best alternatives.  Activiti was probably first occupied by providing an upgrade path to folks running JBPM3 and 4, rather than from other BPMN2 tools (very few of which yet export proper BPMN2 XML).

I’d agree with Bruce’s assessment that so far, BonitaSoft does the best job importing someone else’s BPMN2. In a project last summer we exported JBPM4 to BPMN2 (via an xsl transform) and then loaded that into BonitaSoft, and while we ran into a few issues, we could only get BonitaSoft and Oracle to import BPMN2 at the time. Unfortunately for Oracle we had to add quite a bit of custom Oracle decoration to the XML to get the diagram to show up decently.  (BonitaSoft has an auto-layout feature that helped).

(note: another update from Bruce)

 

ebizQ Revisits BPMN 2.0

Friday, March 4th, 2011

I was surprised to find this piece on ebizQ, covering the “emerging star of business process modeling“, BPMN 2.0.  BPM and BPMN get a lot of coverage in the forums on ebizQ, but don’t as often show up as topics for articles (at least, that hit my radar screen).   Of particular note is Jon Siegel’s concise separation of three key business process concepts: conversation, orchestration, and choreography:

The underlying idea is that “a set of processes form choreography if they communicate and there is no overarching process in charge of it,” explains Jon Siegel, OMG’s vice president for technology transfer. He says BPMN is fantastic at modeling, but the addition of choreography represents a major step forward in version 2.0. He says choreography was inserted belatedly because BPMN was first designed and came into widespread use a time when there wasn’t as much Internet-based commerce and choreographic processes were unusual, if they happened at all.

In contrast, Siegel says, “orchestration” is the BPMN word for conduct of a process internal to a business entity. “These days, a substantial fraction of e-commerce is choreography-based rather than conversation-based or orchestration-based,” he notes. “So the language had to be upgraded to take this into account, particularly for business users to help them to model their systems.”

I don’t think I’ve seen such a concise description, if you just take the first sentence of the first paragraph, and then the second paragraph, that neatly puts each type of interaction in its place.

Bruce Silver’s BPMN2 Interchange Update

Monday, February 28th, 2011

Bruce has been writing about BPMN2 model interchange for some time, and I’m a fan of the work he’s doing in this regard, and the light he’s shining on lack of vendor effort. Here’s his latest take on the status of things:

Last summer I posted on the challenge of achieving process model interchange via the BPMN 2.0 standard.  In the half year since then, vendor progress toward that goal has been about zero.  It seems that vendors, in particular the ones that drove the standard, don’t really care about this most fundamental user expectation of any standard.  Ah well, no surprise there…  But in the past couple weeks, some encouraging developments.  Activiti and BonitaSoft – both are open source startups with a BPMN 2.0-based BPMS – have begun to tout BPMN 2.0 import and export.  Neither one supports even the Descriptive subclass of the spec (what I call Level 1 in the training), but  both vendors are full speed ahead at expanding the capabilities of their process engine.

I’ve always felt (even when I worked at Lombardi) that interchange would be best served in the open source market – no single vendor has much impetus to do it – and invariably there would be bugs that the vendor doesn’t view as high priority (hey, the lombardi to oracle transformation exhibits some obscure bug, not sure whether lombardi isn’t exporting right or oracle isn’t importing right… think either vendor ever wants to fix that?  But in the open source world – even if the sources and targets are NOT open source, if the “interchange” (the spec) and the “transform” (the code that does the work) are open source, then (at least) developers who experience issues can actually attempt to fix them (even if those fixes are a temporary hardcode or hack).

Bruce goes on to comment on IBM:

It will be interesting to see if IBM takes Lombardi Edition in a BPMN 2.0 direction; I’m not sure Phil Gilbert is a believer in its value.  If not, when Activiti and BonitaSoft finish the Common Executable subclass of BPMN 2.0, the BPMS marketplace could get very interesting.

I think Phil Gilbert’s issue with BPMN2 was that it got lost in the weeds (my interpretation based on reading his blog posts at the time). For example, every BPMN2 xml I’ve seen so far has several vendor-specific extensions (which are allowed by the spec, but likely meaningless to other tools until someone writes the adapters). As BPMN2 was getting started he was a fan and wanted it to succeed, and he drove lombardi to be one of the early adopters of a native BPMN 1.0 engine (not that it covered 100% of the spec- but there was no lossy transformation to some other format to interfere with the interpretation of your BPMN – Model preserving, to use Keith Swenson’s terminology).  Certainly, BPMN2 implementations to-date have failed Phil’s test of providing tools so good that no one needs to bother to read the XML behind the model…

I don’t have any inside knowledge of IBM’s stance on BPMN2 with respect to their products, but I, too, will be interested to see what shakes out at Impact. If they don’t make progress it might be interesting to write a BPMN2 exporter or importer. But it is a fair amount of work to do as an outsider.  I can see why IBM might not view interchange as a high priority – again, a good argument for an open source implementation of interchange.

As if to underscore my feeling that open source will pave the way, Activiti releases this video of an import of BPMN2 from another editor into Activiti:

 


Pretty nice demo. I do wonder if the import/export functionality would be better off as a standalone interchange open source project…

Anatoly on Signal Events

Thursday, December 2nd, 2010

If you don’t know much about Signal events in BPMN2, read Anatoly’s blog post on the subject:

In order to make the diagram work we must limit the signal propagation somehow. How it can be done?

  1. The first thing that comes into my mind is an attribute that would limit signal broadcasting by the current process instance boundaries. Yet there is no such attribute in the standard. Under BPMN 1.x one may say that it’s implementation issue not covered by the standard. But BPMN 2.0 fully specify the process metamodel. Let’s look at page 281 of OMG document dated June 2010: signal has a single attribute – its name. Therefore, a signal will be transmitted to all process instances.
  2. If the signal has only name then let’s use what we have. The diagram above may work if we could change signal name dynamically i.e. during the process execution. If we could name the signal “Process 999 Concept Ready” instead of “Concept Ready” then everything will be fine. But it’s a dirty hack and it’s hard to count on it. BPMS engines allow to change certain things during the execution (e.g. timer settings) but unlikely the name.

Signal Event Example

As Anatoly points out, the signaling examples given in several highly regarded books are fine, but when you think about how to make them work for the n>1 case, the logic breaks down.

It turns out that Lombardi’s BPM product (Now IBM’s Websphere Lombardi Edition) does not distinguish between Message flow and Signal events (the distinction between the two has only artificial merit).  All events include an information payload (which can be arbitrarily simple or complex).  The receivers control what they listen to by identifying a correlation key.  The correlation key has to be something in the information payload, and as you can imagine, often one element of the payload is specifically designed to be the correlation key for listeners.

So sometimes implementations get the design right in a way that the spec-writers don’t – because of what I would call over-design.  Let’s face it, writing specifications like BPMN2 goes against the principle of lean development (producing the minimum viable set of features).

So I find it interesting to see some of the challenges Anatoly has faced by facing in some cases a more pure representation of the BPMN 2 specification.

63 Types of Events

Tuesday, November 30th, 2010

Paul Vincent on BPMN 2 events (all 63 types of them) :

OK, “63 types of event” needs a bit of explanation (and justification). These consist of:

  • 13 main event types: untyped, message, timer, escalation, conditional, link, error, cancel, compensation, signal, multiple, parallel multiple, and terminate
  • … across 8 situations classified by location in a process:
  • Start: top-level, event sub-process interrupting, and event sub-process non-interrupting
  • Intermediate: catching, boundary interrupting, boundary non-interrupting, and throwing
  • End

… but with some situations not requiring certain types of event (e.g. there is no “start cancel process” event) leaving58 63 event types defined [*1].Presumably BPMN tools will let the user specifiy the main event type and associate the correct symbol from the context in most cases, leaving us to consider just the 13 main event types.

Paul is right: 63 is too many. But I think he also hints at the right answer: the tooling should be able to pick the right symbol based on the context of the detail of the event (or conversely, show the author the right context if they pick a specific event).  But there’s no reason for anyone to know 63 event types off the top of their head.  In fact, they really don’t need to distinguish between all of the 13 “main” event types in most cases.

It is up to the BPMS providers to make the authoring experience powerful and yet simple enough to be manageable and useful.  If the notation has gotten away from us a bit, then software can help reduce it back down to something manageable.  One interesting aspect is that many of these event types are not currently supported by BPMS vendors-  so depending on which tool you’re using you can cross off a lot of the potential event types!  That isn’t exactly what I mean by “simplifying” but it is one way to get there, I suppose.

BPMN = Death to your Process?

Thursday, September 9th, 2010

Antiamba’s Ligurio says that “BPMN can bring death to your process“:

The problem lies that BPMN is so complex to implement, that people made some workarounds, simplifying process maps. If a business process needs to be mapped (some don’t like ad-hoc) it should be done in a way everybody understands it, and it can be exchanged using multiple platforms that support process notation. Once it does not happen, there is a high risk of losing process data, because you can’t use things like intermediate message, or timer, that was represented in the process repository you need to move. Thus, you are sending your process data to oblivion (and BPEL, if used, also).

If process map is an asset, imagine re-training people that work in call centrer executing business processes by the book, telling that the decision gateway changed to something different, because process maps were updated to other tool. This has an impact in the way people perform tasks and in customer perception how the company execute. If process managers don’t have this concern they are very far from process execution where everything happens.

I can definitely relate to his criticisms of the tools around BPMN.  We have a problem in our business right now.  Almost every BPM software package supports BPMN.  But what does “support” mean?  It usually means, the BPMS uses a subset of BPMN notation standard.  Anything produced would be BPMN compliant.  However, it does not mean that ALL BPMN notation is available.  Therefore, despite two tools speaking a “common language” there may not be a 1-to-1 translation of a BPMN model in one tool to a BPMN model in another tool.

The definition of BPMN 2 will help.  By defining a storage format, it gives vendors a more concrete target to hit in terms of export/import.  And it will make missing BPMN icons feel more like a bug than an annoyance.

But Ligurio takes the criticism to BPMN, rather than, primarily, the vendors.  Vendors have got to get their act together and embrace BPMN 2 more fully. He blames BPMN for allowing you to model things so many different ways – but in a modeling world absent BPMN, this problem is worse, not better.

Earlier in his post, Ligurio criticizes Blueprint for its Visio importer being less-than-perfect.  However, keep in mind that Blueprint is importing native Visio XML.  This is not some standard BPMN XML that Blueprint is importing – because Visio doesn’t produce it, despite using a BPMN stencil.  He seems disappointed with the idea of manually choosing that one kind of gateway icon maps to a split, or a decision gateway, rather than Blueprint just guessing.  Keeping in mind that Visio can label anything a split or gateway, regardless of what it truly is, this seems to be asking a bit much.  It isn’t as if you have to choose the mapping for every occurrence of an icon – just once per type.

The more accurate criticism is that Blueprint doesn’t (yet) support things like complex gateways and attached events (and pools vs. lanes).  I know the Blueprint folks are trying to avoid these “advanced” use cases, but if they want Blueprint to stay relevant as users get more advanced or import valid BPMN diagrams from other tools, they simply have to add this functionality or risk becoming irrelevant. Having said that, Ligurio’s example diagram has a sequence flow crossing pool boundaries, which looks like a no-no according to the BPMN spec (they often get over-used in tools where they are supported).

He runs into similar issues with ARIS and ITP Commerce.  Bottom line: he has a 25-page process. It will clearly get mangled in import routines today, and require lots of manual work to clean up.

My advice:  for now, stick with one modeling environment.  Choose one that starts with modeling and lets you seamlessly add execution details.  If you use a “modeling only” environment it should stay at a very high level to work out concepts and disagreements – not to model execution-level details.

BPMN2 model portability, along with the diagram interchange format, will help these problems greatly.  But the commercial vendors have to step up their game to support a much larger subset of the BPMN specification if they want customers to consider them compliant.

Meanwhile, it isn’t BPMN killing your process.  It is BPMN exposing the problems in process definition and communication that were always there – but going unnoticed.  They’re now coming to light, and vendors have an opportunity to really address these issues.

Universal Translators, Open Source, and BPMN 2

Tuesday, September 7th, 2010

Bruce Silver has recently posted his latest efforts to perform BPMN model interchange.  It has been a recurring theme on his blog, BPMN 2.0 and its potential for interchange, as well as XPDL’s capacity for interchange.  Recently Bruce went on vacation and spent his time in a rather dubious way (just kidding, Bruce!):

On my summer vacation I’ve been thinking a lot about the XML side of BPMN.  While we usually think of BPMN as a diagramming standard, it is also – in principle – a model interchange standard, an XML format than can be exported from tool A and imported into tool B.  BPMN 2.0, XPDL 2.1 (for BPMN 1.2), and XPDL 2.2 (for BPMN 2.0) all purport to deliver this.  In reality, however, BPMN model interchange faces serious – some would say insurmountable – hurdles.  I have been working on a number of tools to overcome these obstacles.

So the holy grail of model portability isn’t fully realized yet.  But BPMN 2.0 does represent progress.  He goes on to outline what has to happen to enable model portability:

1. An explicitly enumerated set of interchangeable model elements and attributes.  The full BPMN 2.0 schema is too open-ended for unrestricted interchange.  Fortunately, we now have such an enumerated list in the Descriptive and Analytic process modeling conformance classes in the BPMN 2.0 spec.
2.  Modeling tools that unambiguously support all the elements and attributes in those conformance classes, meaning the mapping of diagram shapes and labels to the standard is unambiguous.  We have a number of such tools today.  My work has focused on two of them: Process Modeler for Visio by itp commerce, which supports both BPMN 1.2 and 2.0, and native Visio 2010 Premium, which is just BPMN 1.2.

I agree that getting a complete set of BPMN 2.0 elements explicitly enumerated is going to be difficult.  And getting the modeling tools to support all the elements and attributes, not to mention exporting them as XML, is too much to expect from our modeling tool software partners.  I believe the only way we’re going to get this kind of interchange is with an open-source project – because open source projects excel at eventually covering wide specifications as people volunteer to fill in the gaps.  Interchange of data, and support for a wide specification, are both well-suited to open source projects – if they have the right framework in place that makes it clear how a newcomer can add to it (by, for example, adding a new exchange adapter).  I can envision a pretty interesting model interchange utility that would read a variant of BPMN2 produced by some tool, and perform a little magic on it to produce “clean” BPMN 2.  Then a second adapter that would produce BPMN 2 that a target BPMS tool expects.  The author (say, Bruce) doesn’t have to solve all the possible interchange combinations, just provide a framework and an example, and see what other interchange adapters people will add to it.

That’s the beauty of open source – if you build the framework, and make it “accessible” to developers… then if there is a need for something, it will be built.  If not, it won’t.  Not too much wasted effort.

I See Business Professionals… Using BPMN

Thursday, September 2nd, 2010

So Jim Sinur really opened a can of worms the other day with his missive on BPMN, literally calling for it to burn baby burn – nothing like a gentle start like that to initiate a moderate discussion of the finer points of BPMN.  I couldn’t help but respond both within his blog as well as on our own blog.  I feel like Jim is letting the business off the hook – as he puts it – they don’t care about process, and they’re too busy making money to worry about process.  I think this is a cop out.  There is a comment thread on Jim’s blog that I’d recommend reading for the follow up discussion, and the original “burn baby burn” statement got walked back somewhat.

But the debate didn’t stay contained there.  Keith Swenson chimed in, taking advantage of the opportunity to pile on BPMN.  I can’t accept the black-and-white approach he is taking to the discussion, and so of course we had a bit of back-and-forth about whether BPMN is appropriate for no one in the business (his contention) or at least some people (my contention).  I was challenged to name people within the business who read or write BPMN, which was quite easy to do, because this is the kind of stuff we do every day for work.  I think the comment thread on his blog, and on Jim’s, or incredibly telling.

But there was also a great post from Neil Ward-Dutton on the subject, that captures my perspective perfectly:

Or – in other words perhaps – surely it’s not too much to ask non-IT participants in BPM initiatives to take a little time to learn some fairly straightforward modelling technniques?

From our case study work here I think what Scott is saying leads to a sensible, middle-ground answer – which is, that the applicability of BPMN depends on a number of factors; saying that BPMN (especially BPMN 2.0) either is, or is not, suitable for “the business” is too simplistic and black/white. It’s like saying Cloud Computing is the future of IT. Firstly it supposes that we have to talk about BPMN as an all-or-nothing proposition; secondly it supposes that “the business” is some kind of homogeneous organisation with one set of skills, experiences and inclinations.

I literally could not have said this better myself. He goes on to make another important point I agree with:

At the same time, though, there’s significant evidence to suggest that a core subset of BPMN symbols are absolutely usable by business analysts with experience in high-level analysis and design and provide great results in terms of delivering a common language across multi-disciplinary teams. I’ve come across many BAs who know and use (aspects of) BPMN as part of their armoury. They’re not “IT people” – they have business backgrounds and they work in line-of-business departments.

Great read from Neil.

In the comments on this one, Keith takes a nice shot at my assertion that understanding just a few BPMN shapes will allow you to read someone else’s thoughts on a process, or to communicate your own basic processes to others:

Also funny is the comment that learning six (or 7) shapes means that you understand the non-trivial interactions between those shapes at run time without needing the programmer’s insight into how systems function. That would be a little like saying that learning 26 letters makes you a Shakespeare, or able to read all western European languages. (But I must avoid use of similes since this apparently is sometimes confusing.) BPMN certainly is useful is some situations, it simply isn’t useful in all situations.

For the record, I don’t find Keith’s “similes” confusing at all.  I find them inaccurate, misleading, and misrepresentative.  And when we turn the analogy on its head, I think that proves how pointless they are.  In practice, when people read Shakespeare they’re usually in school and get help from cliff’s notes, teachers, and fellow students.  Not unlike those working with business processes and BPMN … and other tools (six sigma, lean, value stream, etc.  ).  Once again, I’ll point out that analogies are illustrative, they simply don’t constitute proof or refutation.

Jakob Freund of Camunda commented on Keith’s blog and summed up a reasonable reader’s interpretation of both Jim’s post and Keith’s post:

I think the main problem is that in both blog posts (Jim and yours) this very important distinction between “all” business professionals and “business (process) analysts” was not made. Analysts are not programmers but very often part of a business department, therefore a subset of “business professionals”. To throw all “business professionals” in one pot judging there skills in working with BPMN (or whatever) makes a good headline, but does not say anything useful.

Furthermore, there has not been made any distinction between “creating” and “reading” BPMN diagrams, and between the extremely different grades of complexity a process diagram can bear (please excuse my bad English).

But those are exactly the parameters you always have to look at when judging modeling approaches (no matter whether they are control flow – based, grids, prosa or what ever).

I guess it just comes down to this: BPMN is quite useful.  It is even useful to people most of us would consider as “business professionals”.  But there are other quite useful tools in our business process management space, and there’s no reason not to use each one when appropriate.  I also recommend as practical reading, this post on practical application of BPMN by Jakob on his own Camunda blog.  I liked how he closed his last comment:

cheers from my customer’s office in Germany (currently introducing BPMN in a 80k-people company, and huh, it works for Business people, but it’s bloody hard work to make that happen  ).

Similarly, as I was writing on the same comment thread, I was about to head in to visit my customer, which also uses BPMN to communicate broad requirements between business stakeholders and IT.  Regardless of what the theory says, the practical reality is our customers’ businesses are using this stuff.

August 2010 Blueprint Update

Saturday, August 14th, 2010

IBM has put out the latest BPM Blueprint update today.  It isn’t the most exciting update they’ve ever made to Blueprint, but of course I’d rather see incremental and frequent updates than one big overhaul for a service like this.  The August release seems to focus on adding avatars (aka pictures), and has a security model tweak, and a much-needed update to the Word export.

I’m still looking for more support for expert features (not necessarily their target audience yet, but I think the time has come to include more expert functionality in a tool that also appeals to more general collaboration).  Part of the reason I think this support is needed is so that users can import or export BPMN2 XML.  Not that the users will care that it is XML, but this is the modeling format that they’re going to expect BPM tooling to support.

A Word on the Meaning of Patterns

Friday, July 23rd, 2010

Dr. Stein of Aris has a blog about workflow patterns in BPMN2:

“In many areas, patterns are used to codify best practices. A pattern describes a solution for a problem. Originally, patterns were used in architecture to describe architectural design ideas. In software engineering, patterns are used to describe typical software design solutions, for example like client-server architecture.

In business process management, the so called workflow patterns by Prof. van der Aalst and friends exist. In their original description, they described the most important 20 workflow constructs like loops, decisions, and sequence flows. Later, Prof. van der Aalst and other research fellows extended the list of patterns and revised the initial description (see workflow pattern homepage). Still, the original 20 workflow patterns are valid and a useful tool to learn a modelling language such as BPMN.”

I’m just not excited about the van der Aalst “patterns” that are oft-quoted in BPM circles. The more accurate statement is that they are snippets of BPMN that demonstrate how various “constructs” work.  They’re useful demonstrations of how BPMN can work, and how to use a particular tool to diagram specific constructs.  And the work of van der Aalst and colleagues was very useful as well in identifying edge case diagrams that expose tricky aspects of the notation’s execution semantics.  They are not, truly, patterns as I would think of them.  Showing three activities executing in a sequence is hardly a “pattern” any more than three lines of code that execute in a row are a pattern.  Splits and joins are just constructs of the notation. The patterns don’t identify the usefulness of the pattern or the “why you would want to do this” aspect.  In that sense, they largely fall short of the bar for a pattern in my book.  A typical name for a “pattern” in this study : “Multiple Instances without Synchronization”… huh?  A name only a parent could love.  What’s the business case for this that helps me understand how it relates to business process? There isn’t one.  The point of these patterns, documented here, is to identify technical edge cases and compliance, not to create patterns that you will base your actual design work off of … and maybe that’s my main complaint.

The “four eyes” pattern is a pattern (where n-1 potential reviewers have to approve something before it moves on).  There are lots of real patterns out there – and generally they’ll get names that make sense- an “observer” pattern, the “shadow process” pattern, etc.  Having voiced my complaint, maybe I need to take some time to document a few BPMN2 style patterns to clarify.  Anatoly Belychook has described a few on his blog, in the past (as well as anti-patterns).

BPMN 2 Examples Courtesy of Camunda

Wednesday, July 21st, 2010

BPM Guide has some examples of BPMN 2.0 diagrams, on the heels of Stephen White’s blog post that the BPMN 2.0 spec has been ratified by OMG.  Thanks to Jakob Freund for publishing them.There are a couple of key points that Jakob makes throughout the article, that I’d like to call attention to:

Creating process models for both business AND it is actually one of the absolutely main topics of our consulting business. And it is a very big struggle, of course. For us it was important to show in the document that BPMN is not necessarily “too complicated for business”, because it totally depends on how you actually use the standard when process modeling. That’s why we always need a Framework around BPMN if we want to apply it in bigger modeling engagements.

This is a well-said point – BPMN doesn’t have to be too complicated for the business. But drawing diagrams that are not more complicated than they have to be takes some skill and practice.  I often tell people who aren’t familiar with BPM that it takes a reasonable degree of abstract thinking to really do well.  It is the abstractions and generalizations afforded by a process and its subprocesses that comprise the solution.

Apparently they built these examples with Trisotech’s tools:

The diagrams in the examples document however are all made with Trisotech’s Visio-based BPMN Modeler, provided for this purpose by Denis Gagné. The cool thing is that we could directly serialize the diagrams into BPMN 2.0 XML with that tool.

Denis, where is this tool! Sounds interesting!

Jakob also gives interesting examples of how to take advantage of collaboration diagrams.  His final thoughts:

  • Make a “strategic” process diagram (Figure 6.1), just a simple sketch for a quick understanding
  • Make an “operational” process diagram (Figure 6.2) for analyzing the collaborational aspects
  • Enrich the diagram with the aspects of a process engine, therefore adding a pool for the process engine
  • Take that process engine pool into your technical environment and enrich it for execution (make a “technical” process diagram).

Good advice for how to approach modeling in BPMN.

Alfresco/Activity Contributing to BPMN 2 Effort

Tuesday, June 29th, 2010

Tom Baeyens writes:

We’re very committed to BPMN 2.0. In fact, we’re aiming to build the #1 BPMN 2.0 process engine and deliver the full BPM Suite components, all available as open source.

Glad to hear it – I’m sure the world of BPMN and Open Source BPM will be the better for it.

BPMN 2.0 Interoperability at Risk

Thursday, April 1st, 2010

Bruce Silver writes:

I failed, but Robert Shapiro has carried that effort forward in the Finalization Task Force phase, and today he succeeded in getting it on the ballot.  You can see the proposal here. What that means is that in a few days, FTF members will vote to either approve the inclusion of these process modeling conformance classes in the final specification, or not.  There is still some opposition to the idea, mostly from vendors who may not be able to claim conformance with all of the classes in their first BPMN 2.0 release.  So there is a chance, maybe a good chance, that this will not pass.

So… If you want to see interchange of BPMN 2.0 models between tools, you need to make your voice heard, and quickly.  There are twenty-some voting members of the FTF, including IBM, Oracle, Lombardi, Tibco, Global 360, Fujitsu, SAP, Cordys, Red Hat, CA, HP, BizAGI, iGrafx, Camunda, Trisotech, NIST, and MITRE.  If you are a customer or partner of any of these organizations, please urge them to support the BPMN2.0 Process Modeling Conformance Class proposal.  Time is of the essence, as the vote is in the next few days!

I agree, this is important, and it will be harder to get it done later – no time like the present to push your voting members to vote for this.  Thought this battle was already lost, but it has one more shot before the final spec is approved.

Tom Baeyens on Blending Process and Rules

Tuesday, January 19th, 2010

Tom continues to update the world with jBPM updates – in this case, using jBPM 4 and Drools to blend process and rules. His updates definitely play to the technical audience rather than the business – but I don’t find that too surprising in the open source world.  From a technical perspective, it is certainly interesting.  Proof that these memes seem to emerge on their own : Bruce Silver has also recently posted on rules and BPM (part 2 of a previous effort).

At some point I look forward to digging into jBPM more thoroughly, and now that it supports BPMN 2, I’m more inclined to make the time, its starting to get interesting for the kinds of problems we look at.  However, I still fear that it is just a bit too technical in terms of what it requires of process authors still.

A previous update confirms that jBPM now supports BPMN 2.0, as of version 4.0.  This is a niche I think open source can help fill – potentially fully implementing a spec that probably won’t be fully implemented by any commercial software vendor.  (Filling out the corners is just the kind of academic exercise that seems to get tackled by *someone* within an open source effort)

jBPM supporting BPMN2

Thursday, December 10th, 2009

Pretty interesting update from Joram Barrez on jBPM – looks like it now supports BPMN2.0. (or, more accurately, it will come January 1st).

Its a pretty interesting look under the hood of one of the top open-source solutions in the BPM space.  The BPMN2 implementation uses the jBoss PVM (process virtual machine) to execute the BPMN, rather than transforming BPMN into BPEL  or JPDL or some other XML format.

jBPM also gives the developer a good Java programmatic interface into the BPM engine implementation (and, the processes it runs).

This sort of development effort does make me wonder if, eventually, we’ll have a fairly standardized open-source BPMN engine with commercial products that incorporate it in different ways (picture Apache or jBoss as examples, or the WebKit in the browser world).  Hard to say if jBPM (or key pieces like PVM) will turn out to be that open-source engine of choice, but at least from the blog posts it seems like they’re taking an intelligent and focused approach.

Lombardi Blueprint Embraces XPDL

Tuesday, July 14th, 2009

I’ve been a skeptic of XPDL as the pre-eminent format for BPMN-drawn Models, but I’ve also been encouraged by Keith Swenson’s efforts to prove that it could be the de facto standard for BPMN model exchanging.

But it looks like my judgment that XPDL would only catch on with vendors like Lombardi (who have been beating the drum for BPDM and BPMN2 for some time) only if BPMN 2.0 didn’t sufficiently address the interchange problem might be a little off.  Lombardi just announced that its Blueprint July ’09 release supports XPDL!  It could be that Lombardi is voting with its feet – perhaps BPMN2 doesn’t seem to solve the problem(s) they were hoping it would with regard to model interchange.  Or, perhaps they see XPDL interchange as the Right Now solution, and don’t see an advantage in waiting on BPMN2 support. After all, not only would Lombardi have to build the BPMN 2 export/import functionality, they would then have to wait on myriad other modeling tools to pick up the baton in order for there to be anyone to “interchange” with.

By picking up XPDL support, Lombardi Blueprint can now exchange models with a host of other modeling tools listed on the XPDL vendor site (perhaps Lombardi will now be added to the site).  Bruce Silver has already assessed portability between Blueprint and Process Modeler for Visio.

Update:  more info from Keith Swenson on his blog, regarding exporting from Blueprint and importing into Fujitsu’s Interstage BPM.

Recap of Robert Shapiro on BPMN 2.0

Saturday, May 23rd, 2009

Sandy Kemsley posted a good recap of a webinar on BPMN 2.0 by Robert Shapiro.  Its a good writeup, and must have been a pretty good webinar.

Another link from Sandy – I’m not sure how I feel about this – a book on BPMN, that (I think) is intended to read like a novel… I don’t know whether to be afraid, or very afraid…

Bruce Silver’s 5 things left out of BPMN 2.0

Wednesday, April 15th, 2009

Bruce previously had a good post on the 5 things to like most about BPMN 2.  Now he’s back with the 5 things that were left out that might be the most disappointing.  Perhaps disheartening, but not completely surprising, given how difficult it is to pull these kind of specs together.  Hopefully they’ll keep at the revisions on BPMN and react to the feedback once BPMN 2.0 is approved.

Bruce Silver’s take on BPMN 2.0

Monday, March 23rd, 2009

Bruce Silver has a nice article on BPMInstitute.org about the 5 things to like about BPMN 2.0 (he doesn’t discuss the 5 things not to like – perhaps material for a future post?!).

OMG votes on the proposal in June, but the history on OMG’s voting on BPM-related standards has typically been that it takes longer than I expect for things to get finalized.  I won’t be shocked if final approval drags out a bit longer.

Interestingly, 4 of the 5 things Bruce mentions address weaknesses that at least one pureplay BPM vendor addresses already in their product (implementing more than what BPMN 1.0 spec requires).  Let’s hope there’s more than 5 things to love about BPMN 2.0 – vigorous vendor adoption would be on my wish list!