Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Analysis and optimization of business processes. Course of lectures

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
2 Мб
Скачать
from among a set of services (supplier services) the one that is suited best for the task at hand.
4.3. Standardized Software Interfaces
Standardized interfaces to existing software systems are another means of flexibility in business process management. A variety of techniques to specify software interfaces are known from software engineering and software architectures.
It is a key concept to decouple the use of a software component from its implementation, that is, to hide implementation details from usage information, following the information hiding principle.
In the context of business process management, standardized software interfaces are of crucial importance in system workflows, and also in human interaction workflows, since the overall process structure can be decoupled from the implementation of particular activities realized by software components.
A flexible association of process activities with software systems allows us to change the implementation of specific process activities without changing the overall business process. There are two variations: the software system realizing a particular activity can be defined at design time of the process or at run time of the process instances. The first variant is discussed in this section.
An example of changes in the implementation of business process activities is represented in Figure 4.8. In the original implementation, an inventory management system is used to realize the Check Inventory activity, and an order management system is used to realize the Store Order and the Prepare Invoice activities.
This situation is depicted in Figure 4.7 by dotted lines between the business process activities and the information systems that realize them. We assume that an ERP system is deployed to provide the functionality of the order management system and of the inventory management system in an integrated, robust, and scalable manner.
71
By standardized software interfaces, the business process activities can use the functionality of the new system without changing the business process. This enhances the flexibility of the business process implementation, because the realization of particular process activities can be changed without modifying the business process.
This discussion describes an ideal setting, in which activity implementations can easily be exchanged. However, specific properties of legacy systems make the definition of clean, standardized interfaces cumbersome, because legacy systems offer their functionality typically by proprietary and often not well documented interfaces.
In addition, the granularity with which legacy systems provide functionality often does not match the granularity required by the business process. In particular, legacy systems often realize complex subprocesses rather than individual activities in a business process. Sometimes, the processes realized by legacy systems and the modelled business processes are not immediately comparable.
These issues have to be taken into account when software interfaces to existing information systems are developed.
One option to solving this problem is developing software interfaces that make available the functionality provided by legacy systems with a granularity that allows reuse of functionality at a finer level of granularity. The granularity should match the granularity required at the business process level.
Depending on the legacy system, its complexity, software architecture, and documentation, as well as the availability of knowledgeable personnel, the required effort can be very high. If the need for finer-grained granularity and efficient reuse of functionality is sufficiently high, then partial or complete reimplementation can be an option.
72
Figure 4.8. Business process uses ERP systems functionality to realize process
activities, while the business process remains unchanged
4.4. Architecture of Process Execution Environments
So far, this chapter has discussed the modelling of different aspects of a business process. This section looks into the representation of a business process management system capable of controlling the enactment of business processes based on business process models.
Figure 4.9. Business process management systems architecture model
73
Figure 4.9 shows a high-level business process management systems architecture model consisting of components and relationships. The architecture model contains the Business Process Environment, a Business Process Modelling subsystem, a Business Process Model Repository, a Process Engine, and a set of Service Providers. The roles of these constituents of the architecture model are characterized as follows.
– Business Process Modelling: The business process modelling subsystem is used for creating business process models, containing information on activities, their operations, and the structure of the business process. This architecture subsystem can be realized by business process modelling tools.
– Business Process Environment: The business process environment triggers the instantiation and enactment of process instances based on process models.
– Business Process Model Repository: The business processmodel repository holds business process models that are created by the business process modelling component.
Process Engine: The process engine is responsible for instantiating and controlling the execution of business processes. It is the core component of a business process management system. This component is triggered by the business process environment. It uses process models to instantiate and control the enactment of process instances. To execute a particular activity instance, it calls entities that act as providers of the required functionality. In a service-oriented architecture, service providers are called to execute individual services that realize business process activities.
– Service Providers: Service providers host application services that realize business process activities. In the architecture model, service providers represent an abstract entity that subsumes not only Web service providers but also knowledge workers that realize particular activities in business processes. The organizational and technical information that the process engine needs in order to determine and access the service provider is also stored in the business process model repository.
74
These components of the architectural model control the enactment of process instances. To capture the distributed nature of business process executions, the components and the service providers are represented by agents that communicate by sending and receiving messages, that is, the agents do not share memory, but are distributed. These messages are sent along the arcs shown in Figure 4.10.
Gateways are nodes in a process model that are used to guide the process flow. Therefore, for each gateway node the process engine needs to perform some action. This work that the process engine conducts is represented by a gateway instance, just as the work defined by an activity model is represented by an activity instance. A property of gateway instances is that the process engine executes them, whereas activity instances are executed by service providers, requiring nonlocal communication.
The events that occur within a process engine during the enactment of a process instance are shown in Figure 4.10. The first event that occurs represents the occurrence of the start event in the process model. Let n1 be this event.
The process engine detects that there is a process model deployed for this event. Therefore, a process instance is instantiated. For each activity model in the process model, an activity instance is instantiated; for each gateway node, a gateway instance is created, represented by events i2 through i6. When the instances are initiated, the AnalyzeOrder activity instance can be started, resulting in event b2. After the termination of this activity instance in event t2, the gateway instance is started, represented by event b3.
After the gateway instance terminates in event t3, the process engine can decide which path to take. In the process instance shown, the advanced check activity instance is disregarded and the simple check path is taken. Therefore, the AdvCheck activity instance is skipped, represented by event s5. The SimpleCheck activity instance is started (event b4) and later terminates in event t4. Finally, the execution of the gateway instance and the occurrence of the final event n7 terminate the process instance.
75
The event diagrams introduced are extended to capture agents involved in the enactment of process instances. Each agent is represented by a horizontal line, on which the events that occur in this agent are drawn. Time proceeds from left to right. In addition to the events directly associated with the execution of activity instances, the begin and end of a computation and the sending and receipt of a message are also represented by events. Message events of agents represented by directed arcs connecting the send event with the corresponding receive event.
Figure 4.10. Process model and events of process instance
The business process environment, the process engine, and two service providers are the agents represented in the event diagram. Since the operation of the business process modelling component is not the focus of attention, these components of the architecture model are not represented as agents in the event diagram.
76
Figure 4.11. Event diagram of business process execution environment
An event diagram of a process instance involving the agents of a business process execution environment is shown in Figure 4.11. To ease presentation, initialization events and events associated with gateway instances are omitted in that figure.
When the initial event of the process model occurs in the business process environment, the process engine instantiates a process instance, including its activity instances. Then, the process engine determines the first activity instance to be executed. A service provider is determined for executing this activity, in the example, Service Provider 1.
The service provider receives this message and starts an AnalyzeOrder activity instance, marked by event b2. Once that activity instance is completed (t2), the service provider returns a message to the process engine. This message typically contains the return value of that invocation. Using this information and possibly other information, the process engine can evaluate the condition associated with the gateway node. Based on the decision made by the process engine on behalf of the gateway, the AdvCheck activity instance is skipped (skip event s5) and the SimpleCheck activity is started.
In order to realize this process instance, the process engine sends an invocation message to the service provider responsible for executing the simple check service. Service Provider 2 receives this message and starts the SimpleCheck activity, marked by event b4.
77
Once this activity instance completes in event t4, the service provider returns a message to the process engine, which then executes the join gateway node (events omitted). The process instance completes with the final event and by sending the respective message to the business process environment, informing it about the termination of the process instance. As will be detailed in the next chapter for more complex workflow patterns, control flow patterns restrict the ordering of execution events for activities involved in a business process. For instance, an AnalyzeOrder activity can only be started after the initial event has occurred, and a SimpleCheck activity can only be started after the exclusive or gateway has completed, and so on.
The execution semantics of a process instance based on a process model is described by restrictions on the events and their ordering during the execution of process instances.
The conclusions on the topic
1. Describes business process flexibility
2. Describes architecture of process execution environments
Questions
1. Tell us about business process flexibility
2. What do you know about architecture of process execution
environments?
78
Part II. BPMN Method and Style
TOPIC 5. ABOUT BPMN
Plan of the lecture
5.1. BPMN Tools
5.2. BPMN stands for Business Process Model and Notation
5.3. The Paradox of BPMN
5.1. BPMN Tools
The simplest BPMN diagrams can be drawn by hand, but BPMN assumes use of a software tool. The good news is that there are many such tools to choose from, and the meaning of the diagram does not change from one tool to the next. But even though BPMN is a standard, the tools are not all equally good. Some are little more than drawing tools. They can produce diagrams containing the
standard shapes and connectors, but they do not “understand” their
meaning. They cannot, for example, validate the model, or save it in XML interchangeable with another BPMN tool. Some tools support all of the BPMN shapes and symbols, while others – particularly those offered as part of a BPM Suite – include just those that the Suite’s process engine can execute. Tools mostly adhere to the symbols, markers, and semantics specified by the standard, but some take liberties here and there. Some tools allow you to draw pools and message flows, while others do not. Some naturally support the hierarchical modeling style, in which subprocesses are expanded on separate hyperlinked diagrams, while others are
geared toward “flat” process models with inline subprocess
expansion. Also, BPMN tools vary widely in the non-BPMN information they describe, such as problems and goals, KPIs, organizational roles, and systems. Prior to version 2.0, the BPMN spec did not even attempt to describe requirements for
“conformance”. As a consequence, many tools claim to support
BPMN but really do not. The BPMN 2.0 spec does spell out requirements for Process Modeling Conformance. The Descriptive
79
and Analytic subclasses, equivalent to our Level 1 and Level 2 palettes (in fact, borrowed from my BPMN training!), specify the elements in non-executable models that must be supported to claim conformance. The BPMN-I Profile, described in Part IV of the book, provides serialization rules for non-executable models that allow tool vendors to interchange those models automatically. At this writing, no BPMN tool vendor yet claims full conformance with the BPMN-I Profile, but some are close. All this is a long way of saying that even though BPMN is a standard, BPMN tools are not all the same, and your choice of tool may significantly impact your ability to create “good BPMN” consistently. The diagrams used in this book were created using Process Modeler for Visio, an addin to Microsoft Visio from itp commerce ltd, of Bern, Switzerland. [5] This is the tool I primarily use in my BPMN training and certification. A key reason is it has the style rule validation built in. Also, it supports the full BPMN
2.0 element set with proper XML serialization and model export and import, and simplifies hierarchical modeling as recommended by the Method. A major strength of BPMN is that users enjoy a wide choice of tools. Nevertheless, some readers will surely find that the BPMN tool they are currently using does not support some of the shapes, symbols, and patterns described in this book. One possible reason is that the tool is based on BPMN 1.x, while the book is based on BPMN 2.0. Tool vendors are often loath to advertise which version of the standard they support, so here is an easy way to tell. If your tool
includes a shape that looks like this then it is based on BPMN 1.0. That was obsolete in 2008, so if you are serious about process modeling, I would recommend upgrading your tool. If your tool can
draw a shape that looks like this or a shape with a black
envelope, like this but not shapes like these then it is probably based on BPMN 1.2. This is all right for Level 1
modeling, but it doesn’t support important shapes such as non­interrupting event and data store. More important, it doesn’t
support the formal BPMN metamodel and XML interchange format.
80