Navigation
  • The Microguide to Process Modeling in BPMN 2.0: How to Build Great Process, Rule, and Event Models
    The Microguide to Process Modeling in BPMN 2.0: How to Build Great Process, Rule, and Event Models
  • Business Process Management with a Business Rules Approach: Implementing The Service Oriented Architecture
    Business Process Management with a Business Rules Approach: Implementing The Service Oriented Architecture
Bosch Software Downloads
Sunday
Jul082012

Messages and Sequences in a ‘Requesting Feedback’ Process

In a linked-in question on the BPMN group, Lotfi Al-Hussami posed a basic modeling problem in BPMN. Quoting here:

“As an example, we have the following process that we will call "Get feedback":
- A company X "Send forms" to people by e-mails
- People fill forms, so every person receiving  the message "Fills form"
- Company X "Process forms"

At first glance this looks like a pretty simple problem to solve, as shown in the process below. If the process merely prepares the correspondence then our process, ‘get feedback’ will handle the messages as shown below: 

 

So the location of the intermediate event is dependent on what level the process is responsible for the messaging. Strictly reading the name of the first subprocess in our example the first example is probably most correct. Also, we are using the external black-box pool to denote the customer.

The Survey Pattern

In many cases, organizations want to aggregate feedback. Sometimes a process gathers data from an unknown number of participants. The process requirement wording might be:

  • Request feedback from at least %20 of the customers.
  • A minimum of 20 participants are required for the class to be scheduled.

The process does not know the number of instances of an activity at run-time. We can use a survey pattern when we don’t know how many responses or instances of an activity happen. Here the process must wait until all instances are completed. Then other activities start. Often, while some activities execute or are completed, new ones might be created- your process might ask for more responses. This

A Survey Process

The figure below presents a model of the survey, marketing or feedback scenario. In the example an email form invites a response from customers in the process. The loop awaits a satisfactory response, as determined by a decision. Here is a short description of the process:

  1. An incoming message starts a survey. The ‘email Recipients’ task send email to a mailing list.
  2. The survey process loops for incoming email. The results of the survey are tallied by the ‘survey decision’ activity, which calls business rules that decide the adequacy of the survey.
  3. A gateway decides if the survey results are satisfactory. Usually the gateway is optional. BPM tools specify the looping conditions.

 

The black box pool shows a notation, verticle bars, for multiple customer participants.

Other examples of the usages for this pattern include:

  • Getting bids for work from multiple trading partners,
  • Awaiting the delivery of multiple shipments from vendors to a facility before completing a process.

The multi-participant pools should be displayed in this case. You assign this pattern when the process must respond to multiple unknown quantities of events.

The elements of the pattern are:

  • A request from multiple sources by email, messaging, html or other sources
  • A loop that awaits the arrival of information from these sources
  • A decision to approve the survey and business rules for this decision: a call to the rules engine to decide when the survey response is satisfactory.

A process that receives the request and loops between the approver and requestor until the approver is happy with the request.

Cardinality is the Key

Returning to Mr. Al-Hussami example, process-oriented thinking should focus the requirements on a single instance of an interaction. So, a single survey form should be met by a single process response. We can compose a working, single-person survey into a more powerful pattern, such as the pattern that we have described here. When you are working with process requirements in BPMN, verify that you are thinking in terms of the singular entity, and then build your requirements from there.

 

Tuesday
Jun122012

Starting Processes Multiple Ways in BPMN

In BPMN 2.0, there are several ways to start processes with multiple events. There is a ‘multi-start’ event which looks like this:

 

Because they are abstract, multiple events can be hard to understand. Generally, a multiple event is "shorthand" notation for multiple events triggering a process. Triggers could include messages, timers, conditions, signals, escalations and other event types.

So, usually when a modeler is working with a requirement to start a process – multiple ways, we suggest the multiple-event gateway.  With event based gateways, a path is chosen based on an event. For example, "web form" is a possibility. Also, there could also potentially be no response at all. The Figure below shows an example of handling all three of these events from one gateway.

 

Multiple events on a event based exclusive gateway

The event-driven exclusive gateway can come in the start of a process, or in a sequence as an intermediate shape. When the gateway is at the start of the process, the event shape inside the diamond is the start multiple start event (single thin line). The figure shows the use of the intermediate, event-driven gateway after an ordinary start of a process.  The BPMN2.0 spec also has a starting form with a single thin circle at the center. We end the pattern with a data-based exclusive merge because with the ‘exclusive’ type of the multi-start gateway.

There is also an inclusive form of the event-gateway, but that is the topic for another conversation.

Tuesday
Jun052012

Build Survivable, Hardened Cloud Processes with BPMN

Integrating the cloud into your error processing strategy can be challenging. Fortunately, BPMN provides a powerful approach to managing failures, in the form of exceptions and compensations. Adding resources and services into the ‘Cloud’ adds error points that must be managed. The designer of these processes should strive to make their processes ‘survivable’ and hardened. The exception shapes and compensations allow continuous operation throughout intermittent error conditions such as those encounter in integrating cloud services and resources. Without a hardened process your participants might need to use a manual process for the exception flow. This can be an outcome of overfocus on “happy day” paths. Manual processes promote staff improvisations and undocumented “work arounds” and obviously should be avoided.

Figure 1 presents an example of BPMN’s modeling of survivable processes in a survey pattern. If an error occurs in the email-reading process, it can be posted to a log and systems administrators can respond. The survey can continue. Finally, the process can loop back or complete.

Figure 1:  BPMN for an exception in the survey process.

The aim of BPMN is to support “long-running” transactions so it is especially suited to the cloud scenario. For instance, a process-oriented car rental agency might create one process for each vehicle, each using a cloud-based machine health service. In this case, the process could run for years, with thousands of calls to the cloud-based service.

Three Error Types

There are three types of exceptions that may affect process execution:

  • Technical exceptions—the process server has failed
  • Transient exceptions—a needed resource (for instance a cloud service) for the process is unavailable
  • Business exceptions—the condition of the process is in error. Data is incomplete or has errors.

Unfortunately, there is no cure or notation for the technical exception. When the server halts, recovering processes are dependent on the technical nature of the process server.

Decisions, supported by business rules, can create named business exceptions. If the process is transactional, it should compensate for transactions that fail to complete. In compensation, the process cleans up or backs out records from ERP’s, operational data stores, or data warehouses – perhaps these can be cloud based.

Processes often must be completed within a specific time period, so there could be time-out actions noted on the diagram. Business processes usually receive a message and translate that message into yet another message for consumption by the next part of the process. BPMN is powerful for developing time-outs, exceptions, and compensations. In building a basic process in BPMN, you can attach time-outs, exceptions, and compensations directly to a subprocess task list. When time-outs and exceptions occur within the process tasks, the process server traps these at the point of the subprocess.

Figure 2 presents a process server “architecture”, including a cloud services, for understanding the three types of errors. If the process server fails, then it obviously cannot run and a technical error occurs. If the ‘on-premise’ database service fails, then the process cannot get the data it needs to complete. This is a transient error. You should be able to restart the process instance and complete it once the database is restored. However cloud services are more complex, you might not have the same level of control that you would have for the database.

Users send data for the process in application servers. If users send incorrect data, then a business exception has occurred. Finally, you use process steps to resolve the error. If the users have used a cloud-bases SAS system to create a request or order, then more complexity is added.

 

Figure 2:  Architecture for a process environment in a cloud-based ecosystem.

You can model business processes with advanced abilities that suspend processing, or communicate with disconnected, cloud-based processes. They can add new services and capabilities such as payments processing. These powers yield opportunities and fulfill the need for the enterprise to reduce the cost of their most complicated practices. Yet, to develop these cloud-based capabilities, you should understand how BPM tools use the three types of exceptions and what you must plan for when developing the production version of the process diagram.

Cloud-based- Error Handling Example

A process diagram should use exception handlers to redirect the process flow when a cloud based exception happens. So, if the subprocess in the figure below raises an error, then steps can be taken to accommodate the error.

Figure 3: using subprocess for exceptional flow

In BMPN, handling errors arising from a subprocess is known as ‘Exceptional flow’ and, for errors, this is always interrupting: the subprocess that generated the error will terminate, and the alternate “exceptional flow” is followed instead. Later, the process can merge exceptional flow with the main flow. The exceptional flow merge does not need to immediately return to the subprocess that generated the error. If required, a process model can merge several steps downstream.

Finally, cloud process integration diagrams in BPMN should include error handling, compensation, and transactions. All services have the potential for error conditions, understanding how to use BPMN to automate error handling and recover, or be survivable, is critical. 

Friday
May252012

Bosch Software Innovations Webinar Series

Bosch Software Innovations has made many changes over the past several years, plus our technology  provides platforms for many new Bosch products and services. If you would like to hear more about Bosch’s ‘Connected World’, we are holding a BPM and BRM webinar series. At these webinars, you can learn from Bosch’s technical experts with in-depth industry knowledge, best practices and relevant solutions.

During the first webinar “Comprehensive Round-Trip BPM and BRM System at Best-in-Class TCO”, we will describe the Bosch approach and thinking about the benefits of using BRM and BPM. There will be a live product demonstration of inubit and Visual Rules. The webinar will cover these topics:

  • The integration of a inubit process and the Visual Rules engine
  • How our customers manage their projects on an enterprise level using
  • Our BPM and BRM methodology

 In order to register, please visit Bosch’s website: here

Friday
May182012

On Bosch’s Connected World and the Internet of Things and Services

On Tuesday, May 22, at 13:30(est) I gave an interview on the Peggy Smedley Show. Peggy’s show is the leading radio voice on the topic of the connected world and she has conducted interviews with many notable industry leaders.

The interview is available here.

By way of introduction, I want to describe Bosch’s relationship with the Connected World or what we call the Internet of Things and Services (IoTS).

Whatever label you choose to describe this, there are certainly many amazing new products and services arising from this architecture built on our pervasive wireless network - especially Verizon’s LTE. These IoTS ‘things’ include edge and hub products that are designed, built and offered by Bosch. The pervasive, sensor-driven, networked environment has arisen from the phenomena I call ‘Moore’s law everywhere’. This includes:

  • Ubiquitous, low cost (<$3) microprocessors and radios often found in innocuous products and devices, (some, such as light fixtures and ordinary appliances are unexpected)
  • Accelerating deployment of wireless bandwidth especially LTE
  • Big Data

Again, this environment is spawning new products and new business models, many led by Bosch business units in the areas of security technology, telemedicine, renewable energy, and consumer products. Some business sectors, such as manufacturing and security, are leveraging the situational awareness potential. Other business sectors, including telemedicine, are using the efficiency and asset savings characteristics.

Since 2008, when Bosch acquired Innovations Software, we have been methodically creating IoTS solutions through a framework called the Internet Application Platform (IAP). At the core of the IAP is the robust, industry leading BPM platform inubit and the Visual Rules BRMS.  Bosch has great depth and experience in developing solutions for the IoTS and our IAP has already solved complex IoTS challenges. Now with these developments, we are moving into the era of what Forrester calls the Big Process and activities, information and decisions will be pushed to the “edge” - as close as possible to the customer and trading partner.

Yet, the IoTS is more than an interesting technological development or architecture. At the core, it is a set of solutions that are driven by global political, economic and social forces. A core value for Bosch is supporting the long-term viability of the communities we serve and we see the IoTS as a critical, global development for creating a more sustainable world. In many ways, IoTS solutions, via the Bosch Connected World, support the sustainability movement within business and government. The Bosch Connected World solutions span the important vertical domains of security, energy, environment, risk and finance. Briefly, here are the critical market drivers for these solutions:

  • Financial Strains: business and government investments in new infrastructure is limited and often there is inadequate maintenance and poor operations
  • Eroding Infrastructure: especially in the US there is an over-stressed electrical grid
  • Increasing security needs: in the US there is zero tolerance for acts of terror, this yields more complexity, more need for autonomous intelligent decisions, more situational awareness
  • Risk Management: there is an accelerated need to measure and control financial risk
  • Consumer Expectations: there is an emphasis on comfort, safety and security
  • Aging Demographics: this is not only true in the US but also Europe,  increasing health care needs within declining budgets

The bottom-line: the mandate is not only ‘do more with less’ it is ‘do much more with even less’. Surprisingly, despite being internet-based, the autonomous local controls are critical.

The Bosch Connected World IoTS solutions support the sustainability objectives of business and government. Connected World solutions span these domains:

  • Security, physical and information
  • Energy Solutions, including new building energy systems, grid solutions and renewable energy
  • Environment, water and air
  • Risk Management
  • Finance Controls and Integration

Conclusion

We have learned many unexpected lessons in developing solutions for the IoTS and we are constantly adding new depth and experience. We will be providing details on this in the coming weeks.