I mentioned in a previous post I had created a tool that converts BPMN diagrams from Visio Premium 2010 to BPMN 2.0-compliant XML. It was an interesting project because Visio itself does not internally “understand” the structure of a BPMN model. Sure, it can test many of the rules in the BPMN spec, but that is by testing relationships between the shapes in the diagram. A BPMN structural element that has no shape – such as a process or a collaboration - has no associated Visio object to manipulate. At the same time, if a pool is replicated on multiple pages of a hierarchical model, Visio contains multiple pool objects that must be combined into a single participant element in the XML. So mapping Visio Premium to BPMN 2.0 XML is tricky… but it can be done.
A fundamental principle of BPMN2.0 should be that there is one and only one way to serialize a properly constructed model. Excluding (for the moment) imported components, a single multipage Visio file equates to one BPMN model. In the XML, that means it all sits underneath a single definitions root. So… here is a question for you… if you have a multipage Visio file, how many collaboration, participant, and process elements does it contain? Visio itself cannot tell you. But you can deduce it from the shape information, assuming the model follows certain conventions.
Most of the conventions relate to hierarchical modeling, in which a collapsed subprocess on one page of the model is expanded on a separate hyperlinked page. Visio Premium 2010 supports this via the Process/CreateNew menu pick on a selected subprocess shape. (There is also a Process/LinkToExisting function, but I haven’t played with it yet.) The conventions I apply to Visio Premium are, by and large, the same as I apply to structure-aware BPMN tools like Process Modeler for Visio from itp commerce. Here they are:
- A page that is the target of a Process/CreateNew hyperlink is, by definition, a child-level page. A page that is not a child-level page is, by definition, a top-level page.
- Each top-level page in a model that contains a visible pool shape defines a collaboration element in the XML.
- Each pool (visible or invisible) in a top-level page defines a participant in the collaboration. (Only one pool may be invisible, and it cannot be an empty – or “black box” – pool.)
- Each non-empty pool on a top-level page defines a process element in the XML. A top-level page may depict any number of processes, but only one can have an invisible pool.
- A child-level page can contain elements of at most one process.
- A child-level page can contain any number of black box pools, but there must be a corresponding pool (i.e., with the same name) on the top-level page. In other words, additional participants cannot be introduced on a child-level page.
- If the process elements on a child-level page are enclosed in a visible pool shape, the pool must have the same name as the corresponding process pool on the top-level page.
Lanes are especially tricky in Visio Premium 2010, because pools and lanes share a common shape in the stencil. That is unfortunate since they mean very different things in BPMN. Adding to the fun, the first instance of this shape on a page creates multiple Visio objects, including the CFF Container object (what BPMN calls the pool) and the Pool/Lane object (what BPMN calls the lane). When you add a second instance alongside, Visio automatically encloses them in a container shape. In that case, the CFF Container shape in the diagram refers to the enclosing container, and the Pool/Lane shapes become the lanes. As a result…
- Although it is allowed by BPMN, Visio Premium does not let you draw lanes without an enclosing pool.
- If you draw a pool with no lanes, Visio creates a default lane for the pool. The name you type in the pool header is actually the lane name in Visio; the pool name is some default like ‘Title’ and is hidden. If the pool is non-empty, I assign the pool and the lane the same name in the BPMN XML, which by convention is the name of the process. In the XML, the lane is placed inside a laneset.
- If the pool is empty, the default lane is excluded from the XML. A black box pool has no lanes, by definition.
- Lanes in a child level page generate another laneset in the associated subprocess. The lanes defined in that laneset are independent of the lanes in the parent-level page.
- While BPMN 2.0 allows nested sublanes, i.e. child lanesets of a lane, those child lanes must be drawn on the same page as the parent. Visio does not support this.
Data objects and associations are also tricky. In BPMN 1.2, these were artifacts. Most often the data object is drawn with a non-directional association to a sequence flow. In BPMN 2.0, data objects were upgraded to first-class semantic elements representing process variables, with dataAssociations representing mappings between those variables and data inputs and outputs of activities and events.
Furthermore, in BPMN 2.0 a non-directional association to a sequence flow is considered a visual shortcut, standing for a directional association from the sequence flow’s source node to the data object and another one from the data object to the sequence flow’s target node. In any case, Visio Premium cannot create a locked connection between an association and a sequence flow – i.e. the lines may look connected but they are really not. The upshot is that associating a data object with a sequence flow – the most common representation of data flow – is not supported by Visio Premium (in an exportable way). However, explicit data flow using directional associations from source node to data object to target node – the “right” way in BPMN 2.0 – works properly in Visio. Even though that representation is unfamiliar to most modelers today, it is the only way to draw BPMN-exportable data flow in Visio Premium.
Figure 1. Top-level page
Figure 2. Child-level page – expansion of Sub1.
The two-page model above, which contains the elements of the BPMN 2.0 analytic class supported in the Visio Premium palette, is automatically mapped by my tool to schema-valid BPMN 2.0 XML. If you are interested, the .vsd and mapped .bpmn files are here.
Tags: BPMN, bpmn 2.0, model interchange, visio
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.
To achieve BPMN model interchange, you need the following:
- 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.
- 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.
- XML export (as BPMN 2.0 or XPDL) from those tools. Process Modeler exports either BPMN 2.0 or (in the Pro edition) XPDL 2.1 for BPMN 1.2. There are a couple problems with it in the current build, but I expect those to be fixed shortly. Visio 2010 Premium has no native XPDL or BPMN export. (Global 360′s analystView add-in provides XPDL 2.o but does not fully support either the Descriptive or Analytic conformance classes.) The good news is I have developed a tool that produces either XPDL 2.2 or BPMN 2.0 from Visio 2010 Premium, absent a few BPMN 2.o shapes missing from the palette: non-interrupting events, escalation, CallActivity, etc.
- Validation of user-created models to support effective interchange. Four distinct types of validation are required:
- Adherence to the rules of the BPMN spec. Both itp and Visio 2010 offer this built into the tool.
- Adherence to the palettes specified by the Descriptive and Analytic conformance classes. The purpose is to identify diagram elements that may not be interchangeable. WfMC provides an online tool to validate against the XPDL 2.1 conformance classes, which are similar to those defined by BPMN 2.0. I will probably create something similar for BPMN 2.0.
- Schema validation of the exported XML, either XPDL or BPMN 2.0. You might think that tools would always produce schema-valid XML, but they don’t, for two reasons: First, they either ignore the published xsd or reference an outdated version. Second, the user-created diagram may be inherently invalid. For example, if one end of a message flow is drawn dangling in space (or is improperly connected to a flow object), its required sourceRef or targetRef attribute in the XML will be missing.
- Adherence to certain conventions that allow unambiguous serialization of the diagram. These conventions go beyond the requirements in the BPMN spec, and they could be thought of as “style rules.” Many of them are also important for human readability of the diagrams and are identical to rules I require in my BPMN Method and Style certification exercises. I have created a validation tool that looks at exported BPMN 2.0 and lists violations of both BPMN rules (4.1 above) and these conventions/style rules. I originally built the tool to automate examination of student certification exercises, but it turns out to have broader value. A fundamental Method and Style principle is that the process logic should be evident from the diagram itself – the shapes and labels, nothing more, no reference to BPMN details with no visual representation. That is consistent with the information contained in the BPMN 2.0 conformance classes, which explains the alignment of Method and Style conventions with diagram conventions needed for proper serialization.
- Process modeling and executable process design tools that can import and edit BPMN 2.0 or XPDL that passes all of the aforementioned validation tests. This is the biggest gap right now. The primary need is to export from a business-friendly BPMN tool like itp or Visio 2010 and import into a BPMN 2.0-based BPMS like Oracle BPM11g. Today you can’t do it, but it’s a requirement of several of my clients (and, I hear, of numerous RFPs on the street). I’m hoping to work more with Oracle and like-minded BPMS vendors on ways to do this.
With the tools I will be providing, we should be able to get through step 4.4, and I’m hoping to begin closer dialog with Oracle (and others) on step 5. I’m vacationing on Block Island until Labor Day, but working on the tools off and on. I plan to have some of them available, at least for my clients and students, in the next few weeks.
Tags: BPMN, bpmn 2.0, model validation, process model interchange, xpdl
Last Friday I had a run-through of my upcoming BPMN Method and Style Level 1 workshop. It was a good thing. I got some helpful feedback on the content, and I learned a few tricks of Microsoft Visio 2010 (having the Visio product manager in attendance didn’t hurt). It was a little rushed to squeeze all of Level 1 into a 4-hour window, so I am expanding the workshop to 5 hours instead of 4. Because of interest overseas, I am adding two more sessions that fit better with working hours in Europe and Asia. And because not everyone will have a headset or the bandwidth for internet audio, there will be an option for toll-free dial-in audio as well.
The workshop is full BPMN Method and Style training using the Level 1 palette, complete with hands-on exercises using the new Microsoft Visio 2010 Premium, which supports BPMN natively. It’s live, interactive, but delivered over the internet. You’ll get instruction in a browser window and do exercises in Visio 2010 Premium in a separate window. You’ll learn not only how to use the entire Level 1 palette, but my step-by-step methodology that brings clarity and consistency to your process models, and gets business and IT speaking the same process language. In addition, you’ll learn the key elements of BPMN style that ensure your diagrams are understandable across the business and traceable from the top down, even by others far removed from the original modeling effort.
The cost is a modest $395, with volume discounts. Note the dates and times:
- July 19, 5am-10am PT (8am-1pm ET, which is 2pm-7pm in Europe). Register here.
- July 20, 8am-1pm PT (11am-4pm ET, a more reasonable time for us West Coasters). Register here.
- July 21, 6pm-11pm PT (July 22, 11am-4pm in Australia, 10am-3pm in Japan, 9am-2pm in China). Register here.
Tags: BPMN, bpmn method and style, bpmn training, microsoft, visio
Last week I had the chance to stop by Pegasystems in Cambridge for a briefing. As usual, I came away impressed with what they had to show. Pega is an anomaly in the BPM market. They always win the BPMS MQs and Waves, but 70% of their systems are sold to people who did not set out looking for BPM. Pega has mastered the art of BPM solution selling – as CRM, as a healthcare payor solution, as a banking back office solution, whatever. It seems to be working financially as well, with 11 consecutive record quarters and annual revenue growth over 50%. They are up over 1400 employees now, and CEO Alan Trefler even pops up now and then on the cable business channels. Now how many other BPM executives can claim that?
But I’m a product guy, so my main interest was the software itself. Pega’s process design environment stands out by incorporating business requirements capture and agile scrum methodology directly within the tools. The Application Profiler (Figure 1) collects business requirements for the process flow, user interfaces, KPIs and reports, and other attributes. Then business analysts and developers collaborate directly on the solution design. The chicklet-style process discovery map – familiar to Lombardi Blueprint users – is converted behind the scenes to a BPMN process model .
Figure 1. Application Profiler
The Application Accelerator converts information from the Application Profile to create the application structure and framework automatically, including base flows, data classes, and user interfaces. It used to be necessary to have a data architect set up the class structure at the beginning of a new Pega app, but now the software includes a refactoring tool that allows the structure to be changed later on… allowing business to move quickly on new apps without developer assistance up front.
Performance reporting is a key feature of all Pega apps, and KPI definition is exposed in the business analyst/architect tooling (Figure 2):
Figure 2. Business Architect – KPIs
Like Lombardi, Pega supports close business-IT collaboration by instant playback of any process component directly from the design environment. Every solution component has a URL available for playback as soon as it is developed or modified. Business users can provide direct feedback to developers by adding sticky notes on the web UI (Figure 3).
Figure 3. UI Feedback
Pega provides comprehensive tools for business analysts and developers to define performance management charts and tables – Pega calls them reports – including layout (Figure 4), data access, user interaction (Figure 5), and other properties. Reports can contain buttons and editable fields, and tree and grid views of data are synchronized so a selection in one view is reflected in the other. It’s all very nice.
Figure 4. Report Definition – Layout
Figure 5. Report definition – User Interaction
I mentioned earlier that while Pega is pretty cool by itself as a BPM platform, that’s not usually how it is sold. Industry solution frameworks are a central focus of Pega’s value proposition. These frameworks are not ready-to-go apps – they used to do it that way, but customers wanted to tailor the details themselves. The frameworks now consist of an industry foundation – primarily data models used in that industry – layered on top of the Pega BPMS, and specific industry solutions on top of the foundation. Solutions fit into four basic categories – new business backbone, CRM/service backbone, back office, and GRC. Key verticals have been banking/financial, insurance, and healthcare payer, but Pega is launching new ones in life sciences, communications, energy, and public sector. Where most BPMS vendors are reluctant to invest in industry-specific solutions, Pega has 200 people working on the industry frameworks.
Having heard so much about it, I got a chance to look at Pega’s case management solution. Case management started within the industry frameworks, but in the past year they have tried to make it a horizontal product. Pega distinguishes three types of cases – service request, incident, and investigation – and can their solution can handle any of these, or a mixture. A case can contain nested subcases as well. Each case can contain both structured and ad hoc processes. The architecture was quite rich. Compared to, say, G360′s offering, still the best I’ve seen, Pega’s UI seems to focus more on the individual task performer’s case work rather than providing overall case status at a glance. But to be honest, it might be possible to create a different look and feel quite easily. Pega is clearly a major player in case management.
Finally, I got a look at Pega’s CRM solution. Pega is in the leader quadrant of the CRM MQ, and stands out from its competitors there by taking a process-centric rather than data-centric approach. That means the CSR is guided to the next step in any interaction, driven by rules involving the state of the customer, the agent, and the interaction itself. Every CRM case has a service level agreement and is driven to completion. Pega claims this approach dramatically increases agent flexibility and reduces training time.
Overall, an impressive show of force from a BPM market leader.
Tags: BPMS, Pega, Pegasystems
In the past couple years TIBCO kind of dropped off my BPMS radar screen. They don’t put a lot into marketing, and in BPM I don’t think they had that much to say anyway. Last week I got a briefing on the new ActiveMatrix BPM, and my impression is TIBCO is finally back as a major BPM player. ActiveMatrix used to be a SOA infrastructure product and then a “brand” for a bunch of semi-related SOA products, but it now has morphed into an integrated platform for BPM and SOA. But unlike, say, IBM, TIBCO’s BPM pitch underplays the SOA grid and cloud-enabled foundation and puts the focus instead on “work management.”
TIBCO makes the case that management of human task distribution and prioritization should be independent of process management. One reason is that BPM is not the only source of tasks in the enterprise, and work management should encompass those external sources as well. When you peel the onion, the work management features mostly center around dynamic task assignment to groups and roles based on properties of the instance in combination with skills and capabilities of the task performers, based on business rules. Many BPM Suites have had such rules-based dynamic task routing for a while, but TIBCO is doing it on an enterprise scale. Their showcase work management account, a French bank called LCL, uses it to centralize distribution of back office work nationwide, instead of 29 regional offices each handling its own work. It’s not all that sexy, but TIBCO thinks that work management is its key differentiator in the BPMS marketplace.
In ActiveMatrix BPM, TIBCO has greatly strengthened the scope of Business Studio’s business analyst-friendly modeling tools used for executable design. Organizational modeling, business object modeling, and task user interface modeling all fall into that category, bringing a “business-empowering” mindset to heavy-duty SOA-based BPM. The data modeling and user interface modeling seem particularly strong.
TIBCO Business Studio supports collaboration between business analysts and process developers in design and test of sophisticated task UIs without programming. Forms can be automatically generated from the user task’s input and output parameters. Business analysts can visually change layouts and controls, and developers add validation rules and event scripts to customize the user experience and leverage the full functionality of TIBCO General Interface. The inline preview function allows playback of running forms from within TIBCO Business Studio. This Lombardi-ish approach is carried forward in page flow modeling as well, using BPMN to describe each step in the page flow… an advantage (in my view) over the programmer-oriented approach of most “enterprise-class” BPMSs.
ActiveMatrix BPM provides 3 user clients out of the box. Workspace is the Ajax-based General Interface web client that provides a rich client experience; individual components can be integrated into custom clients and portals as well. Openspace is a new gadget-based web client built using the Google Web Toolkit (GWT), enabling easy creation of lightweight self-service portals. Mobilespace is a rendering of the Openspace client for mobile device, especially the iPhone. All of these clients can be customized by role and privilege to control access to page components.
ActiveMatrix BPM also represents a much better integration of performance monitoring with the BPMS. The Monitoring, Reporting, and Analytics feature collects events from the process and other sources. These events can be viewed in the Event Viewer to provide real-time, detailed monitoring of running processes and outstanding work. The Event Viewer can filter, sort, correlate and link events, making it easy to navigate the audit trail. External applications, including TIBCO’s BAM and CEP engines, can subscribe to the event stream. The event stream is aggregated into the reporting database which consolidates performance data. The Openspace client has gadgets that enable monitoring of processes, work items, and team and individual performance, providing operational monitoring out-of-the-box.
ActiveMatrix BPM Spotfire provides process reporting and analytics with advanced visualization. Business users can visually interact with performance data to develop deep insight through self-service reports and analysis, sharable over the web. Process and resource performance information can be enriched with business data from applications to understand the full impact on the business.
All in all, an impressive step forward for BPM at TIBCO.
Tags: ActiveMatrix BPM, BPMS, tibco
Today, Oracle officially announced Oracle BPM Suite 11g. To my knowledge, Oracle BPM Suite 11g is the first and only executable BPMN 2.0-based BPMS available today. I’ve had a chance to try it out, and it is really impressive. The product provides a united runtime environment for both BPEL and native BPMN 2.0, uniting two previously distinct BPMS offerings.
I expected a minimal implementation of BPMN, but Oracle far surpassed those expectations. They support all the important event types – message, timer, error, signal – including boundary events (interrupting and non-interrupting) and event subprocesses, so they have really set a high bar for other vendors who will claim BPMN 2.0 support later this year. They also have great business rule and BAM integration, and a configurable end user mashup environment called Process Spaces that supports team collaboration and “social BPM.” If you want to find out more, I wrote a white paper about it, which you can download here.
I tuned in to Sandy Kemsley’s webcast for Active Endpoints on How to Explain BPMN to Business Users today to see how this pet topic of mine is filtering out to the world. Longtime BPMS Watch readers will recall the spirited discussion I had with Michael zur Muehlen a couple years back, when he did some academic “research” that demonstrated that the BPMN elements most used were the ones carried over from traditional flowcharting. No kidding… Unfortunately that was marketed as defining “all the BPMN you need.” In the end we agreed to blame the headline-writers on that. Anyway, Michael has come around, through his work with WfMC and the DODAF community, and today we are in basic agreement.
Sandy didn’t really tackle the question of how much BPMN business users need. She gave a serviceable presentation on what is in the BPMN 2.0 conformance classes, subsets of BPMN elements generally aligned to descriptive modeling, analytical modeling, and executable modeling. I recommend the replay. But she missed the real motivation for these subsets in the standard, which is portability of models between tools. BPMN tools rarely support all of the shapes and symbols, and never support all of the technical detail allowed for the XML underneath each shape in the diagram. The purpose of the conformance classes was to define specific palettes that tool vendors could assert support for. Modelers could then assume a model confined to such a palette would be portable between conforming tools.
Anyway, getting back to the question of how much BPMN do you need… The composition of the Descriptive and Analytical classes in the BPMN 2.0 spec originated as aligning with the Level 1 and Level 2 core palettes of my BPMN Method and Style book and training. I tried hard to get this into the BPMN 2.0 draft, but at the time, Oracle, IBM, and SAP did not want to be in a position where their first BPMN 2.0 offering would not meet all the conformance classes, even though they all agreed that a levels-based approach made good sense for maximizing BPMN adoption. (IBM’s WebSphere Business Compass, for instance, implements the Level 1/Descriptive palette.) In the Finalization Task Force phase, Robert Shapiro ultimately succeeded in getting conformance classes into the final BPMN 2.0 draft, so we all owe him a great debt of gratitude. (It was not easy, and not all of the Big 3 voted for it in the end.)
In the final BPMN 2.0 draft, Descriptive class includes two task types, user (human) and service (automated); subprocess (embedded and Call Activity); exclusive and parallel gateways; 3 start events (None, Message, and Timer) and 3 end events (None, Message, and Terminate); pools and lanes; sequence flow, message flow, and association connectors; data object and data store; text annotation, documentation (invisible in diagram), and group. That’s it. It’s a small fraction of all the task, gateway, and event types supported in the spec.
The “hard” parts, from a tool portability perspective – i.e., many tools do not support them today – are message flows and data store. Message flows indicate communications between a process and external entities, important for establishing the business context for a process but not needed for automated execution. Oracle BPM 11g, for instance, doesn’t draw message flows. Do business people need them? I think architects and analysts need them. They identify the touchpoints between a process and customers, service providers, and other internal processes. That’s why I put them in. I expected them to get stripped out, but they’re still there.
In BPMN 1.x, a data object was just an “artifact”, effectively a decoration of the drawing with no associated semantics or rules. That’s no longer the case. In BPMN 2.0, a data object is a variable stored within a process instance; a data store is data stored outside of the instance, accessible to it but also from outside. It’s a subtle distinction. I wanted data store in Descriptive because modelers often use message flow to show information passing that is actually implemented via shared data. For example, to obtain billing information a process can either request it from a customer and wait for it in a message event, or look it up from customer account data maintained outside of the process instance. The latter method uses a data store.
Do business people need to understand this distinction? Hard to say. For modeling an executable process it’s obviously important. But even for basic process description, if a business user mistakenly draws a data object connected to a message flow or a directed association from another pool (neither allowed in BPMN 2.0), the tool will not be able to serialize it correctly. It will give a validation error. So I think it makes sense to put data store in Descriptive/Level 1 and then teach people how to use it correctly.
In a way, we’re still back to the question Michael and I were wrestling with a couple years ago. Do you want to limit the BPMN palette to what business users already know (or think they know) from traditional flowcharting, and allow them to bend the semantics and rules? Or do you want to raise the bar and say here is a common process language that can be shared between business and IT? That takes a bit of education or training, since they probably don’t already know how to use it properly. But it’s not rocket science.
Obviously, I favor the latter. Sandy comes out for the former, or maybe in the middle. She says the Descriptive palette is probably too complicated for business users and companies should define their own subset of it that business users will employ. Anyway, the debate is still unresolved.
Tags: BPMN, bpmn 2.0, bpmn interoperability
Most of the changes between BPMN 1.2 and BPMN 2.0 have to do with extending it from a diagramming notation to a language for executable process design. Both my book BPMN Method and Style and the training that goes along with it deal with non-executable models, what I call Levels 1 and 2. Level 1 is limited to a basic working set of shapes and symbols familiar to business – similar to the new Descriptive conformance class of BPMN 2.0 – and useful for process documentation and qualitative analysis. Level 2 adds support for some additional elements, most notably intermediate events – the palette is similar to the Analytical conformance class of BPMN 2.0 – and represents the common process language shared by business and IT. It describes in precise detail the activity flow of a business process, but by itself it is not executable. Executable BPMN is what I call Level 3.
Levels 1 and 2 deal with shapes and symbols in the diagram. Level 3 deals with stuff you don’t see, XML underneath the activities, gateways, and events that make them executable on a BPMN engine: things like variables, messages, data mappings, and condition expressions. I talked a bit about it in the book, but just a little because no tools for Level 3 BPMN existed. But now one does… Oracle BPM11gR1.
I’ve spent a few days with Oracle BPM11gR1, and it’s got my juices going about developing some Level 3 training. Since the hard part of my training approach has been getting “method and style” alignment between Level 1 and Level 2, I was interested to see if Level 3 could be aligned with them as well. A Level 2 diagram that can be shared effectively by business and IT should ideally work as the starting point for Level 3, but I wasn’t sure if it would. The answer probably varies from one BPMS to the next, but my first impression is that with Oracle, it does!
What I am trying to do is define a “cookbook” approach that allows business analysts to create executable processes using BPMN, starting from a Level 2 model as described in my book and current training. I’m striving for simplicity and consistency rather than elegance. Key elements of my approach include hierarchical modeling using subprocesses, explicit depiction of “end states” in the diagram, and top-down traceability through labeling.
Hierarchical modeling is a little clumsy in the initial release of Oracle BPM11g. A subprocess in BPMN can be drawn either collapsed as a single activity or expanded into a process, and you can toggle between those views, as they both reference the same semantic elements in the model. Hierarchical modeling works best when the expanded view (child level) is drawn on a separate diagram hyperlinked to the collapsed shape in the parent level diagram. But you can also show both levels in the same diagram by enlarging the rectangle enclosing the expanded subprocess and reflowing the rest of the parent level around it. Oracle only implements the latter way, and when you collapse the subprocess again the tool leaves the reflowed diagram unchanged… but with lots of white space where the enlarged expanded subprocess used to be. In real-world diagrams, my methodology uses several levels of nesting, so the diagrams in Oracle would get kind of ugly. I suspect Oracle will allow hyperlinking to the child level expansion when they add Call Activity (fka reusable subprocess) in a near-term patch release. At least I hope so…
The concept of end state is key to my methodology. It’s not in the BPMN spec, but it’s an important concept nonetheless. From a business standpoint, an activity can complete in various end states. Typically one represents the “success” end state (although there may be more than one) with possibly one or more “exception” end states. In a subprocess I teach students to use a separate end event for each distinct end state, and to label them to indicate the end state, such as Approved and Rejected. When the process flow following the subprocess depends on the end state, a gateway labeled as a yes/no question makes the logic perfectly clear. For example, a gateway labeled Approved? is interpreted to mean take the Yes path if the preceding subprocess reached the end event labeled Approved. Through conventions like these, hierarchical models can be traced top down without ambiguity.
Oracle BPM11g supports end states natively for most activity types. Subprocesses have output arguments that map to data objects (process variables) which can be tested by gateways. Human tasks return a string variable called outcome that represents the end state, and business rule tasks do something similar. Subprocesses can also throw a user-defined business exception to the boundary, which can also represent the end state. These constructs make translating Level 2 flow logic into executable BPMN Level 3 quite straightforward.
There is a lot more to say about Oracle BPM 11g, and as I have more time to play with it I’m sure I’ll be doing just that.
I apologize for the inconvenience, but after a few months of difficulty rooting out a hack to my BPMS Watch site, I had to rebuild it on another host. Since I use BPMS Watch as my main website now, I changed the URL to www.brsilver.com instead of www.brsilver.com/wordpress. Maybe not the best idea, since bookmarked links don’t work any more. The feed should still be the same (I hope). Let me know if you see any other problems with the site.














Recent Comments