Vous êtes sur la page 1sur 11

Copyright IBM Corporation 2010 Trademarks

Building smarter event-driven business processes with the


WebSphere BPM suite
Page 1 of 11
Building smarter event-driven business processes
with the WebSphere BPM suite
Sreekanth Iyer (sreekanth.iyer@in.ibm.com)
Senior IT Architect
IBM
Marc Fiammante (fiammant@fr.ibm.com.)
Distinguished Engineer
IBM
05 May 2010
This article introduces the building blocks of an event-driven business process architecture,
describes the basic types of sub-models in an end-to-end BPMN model and discusses ways
to address the challenges in modeling, programming and monitoring of event-driven business
processes. You'll learn how to model events as information that services can consume and
understand the significance of business event processing in business process management.
Overview
With the increasing volume of business events and transactions, there is a growing need for
businesses to deal with large volumes of time-dependent events. An agile and situationally aware
enterprise needs to be able to detect and respond to these business events using event-driven
business processes. Service-oriented and event-driven architectural styles provide complementary
paths to realizing a business architecture that can be modeled, deployed and managed on a
middleware platform. This article describes the basic building blocks of an event-driven process
architecture, namely processes, events, services, and rules in the context of business process
management and these architectural styles. We'll talk about the categorization of business
processes, as well as the challenges of managing dynamic and parallel asynchronous flows.
We'll also discuss the pitfalls of designing and visualizing systems that have implicit business
processes initiated through events. As processes expose and consume services and information,
it's essential to create an architectural ecosystem that addresses these aspects.
In consequence, the architectural method suggested in this article models events that services can
consume so that business processes can be modified based on events, even during execution,
to take an alternate path from the defined model. From a modeling and analysis aspect, many
people take a process-centric view and miss out on the information-centric aspects (entities and
events) . In this article, you'll learn the points at which this event and entity information needs
developerWorks ibm.com/developerWorks/
Building smarter event-driven business processes with the
WebSphere BPM suite
Page 2 of 11
to be captured. Finally, we'll discuss the methods, IBM products and tools that support creating,
managing, and monitoring of event-driven business processes.
Business processes and information technology
Businesses are designed to sell to or exchange goods or services with consumers. Their goal is
to manage the interdependencies between people, process and information to generate value
and profit, with gains exceeding costs. Typically, the value generation involves a sequence of
activities transforming an input into one or more outputs. These sets of activities can be thought
of as business processes, invoked in specific sequences that can be also split into multiple sub-
processes, all combining to achieve a particular business goal. Such business processes can
involve steps performed by machines and humans. They can be either short-running (for example,
a funds transfer process that transfers funds between accounts) or long-running (for example,
an account opening process). With its information processing capabilities and its vast array of
connectivity options, information technology (IT) has become the preferred option for planning,
implementing and managing business processes.
With globalization and new technologies, the business landscape is rapidly changing, and the
marketplace is often uncertain, but also presents many opportunities. Executives are looking to IT
to deal with issues of growth and competition, to optimize business processes, to lower costs, and
to improve quality.
In an instrumented, interconnected and intelligent business, flexibility and cost savings are
achieved by consuming and exposing activities made variable. The means to perform such
activity-variable implementations are known best practices, but it's important to note that
a variability approach is essential to offer better service to consumers with lower resource
consumption. The intelligent" approach means that the business can also extract information and
knowledge by interpreting raw data, which enables businesses to perform behavioral analysis of
the real world systems and to select the best approaches captured in rules and policies.
This need to interpret and act on the business meaning contained in raw data with business agility
put a stronger emphasis on the business and IT alignment. Enterprises are looking for better ways
to provide this alignment, thus creating reusable business functionality to deal with the constant
pressure to provide flexibility, cost savings, and efficiency.
Business processes and services
Each business process is an effort to improve an enterprises' operations and functions. Business
process models are used by system architects and designers to come up with a system
architecture that is implemented to realize the business processes. Nearly a decade ago we began
providing additional value to the enterprise with business processes and services by breaking
down the silos between lines of business in a technology-neutral way and then formalizing the
sequences of interactions between and within these lines of business. This contractual approach
between business domains and their IT enabled processes has provided improvements and
costssavings. It enables enterprises to focus on consolidating ownership of business logic and
information, and enables control of business processes across the enterprise.
ibm.com/developerWorks/ developerWorks
Building smarter event-driven business processes with the
WebSphere BPM suite
Page 3 of 11
Service-Oriented Architecture, or SOA, is an architectural style that formalizes the contractual
approach for creating an enterprise IT architecture that exploits the principles of service-orientation
to achieve a tighter relationship between the business and technology environments to optimize
the business value of technology. SOA is typically done at an enterprise level with a focus on
existing investments, and aims to avoid duplication of function and achieve consistency. A goal
of SOA is to make business processes composable to enable business agility. SOA is realized
through a set of business-aligned services that can participate and be composed in a value-net,
enterprise, or line of business to fulfill business needs. The primary structuring element for SOA
applications is a service, as distinct from subsystems, systems, or components. If you consider
what a business does on a day-to-day basis and break its business processes up into repeatable
business tasks or components, then services represent these repeatable elements or building
blocks that can be snapped together into a business process.
Several pitfalls, however, need to be avoided to ensure that the business achieves the expected
value:
A technology focus may lead to a reduced focus on the business validity of the exposed
services, particularly in regard to business evolution and market changes.
The desire for end-to-end control of the enterprise may lead to confusion between automation
and monitoring levels, and a lack of alignment between enterprise business ownership and
processes. Each business owner in the enterprise must retain control of its private business
processes, while the chain of these private processes connected though business services or
events realizes the end-to-end implicit process.
Reusability implies flexibility and variability, but Web services technology itself has had to limit
variability for interoperability (specifically polymorphism and overloading in WS-Interoperability
(WS-I) and Service Component Architecture (SCA)). Therefore, the approach must integrate
variability and look specifically at variable information patterns for the services and event
signatures.
Types of processes and their interconnections
There is no one form of business process. As an example the Business Process Modeling
Notation (BPMN) standard defines three basic types of sub-model categories in an end-to-end
process model:
1. Collaboration processes describe exchanges between two independent business entities.
These processes describe the exchanges between the different processes and ensure good
mutual behavior. Taking a railway analogy, the collaboration process ensures synchronization
by managing the signaling for trains to avoid collisions, as shown in Figure 1. Signals are
events to the drivers that induce reactions for a smooth operation.
Figure 1. Collaboration processes
developerWorks ibm.com/developerWorks/
Building smarter event-driven business processes with the
WebSphere BPM suite
Page 4 of 11
2. Abstract (public) processesprovide the end-to-end view from a participant point of view,
such as the view of a train engineer who drives all of the trains but leaves responsibility for
each individual car to the respective conductors. His only concern is the overall length and
weight of the process (train) and the behavior of the links. Abstract models are used to create
the end-to-end monitoring model by capturing events that surface from each of the smaller
modules (the cars). There is often confusion between this monitoring model required by
higher management of the enterprise and the process automation required in the private
processes, as described below, which are smaller modules. The monitoring model can take
action based on indicators it controls.
Figure 2. Abstract processes
3. Private (internal) business processes have a single business owner and usually focus on
a main core entity (from the information model). These are the only processes that should
be automated with languages such as Business Process Execution Language (BPEL).
Each car is a separate process and usually has a different business owner. The business
owners define the contracts between their private processes as business services or business
events that act like the links between the cars in trains. Any automated process that has
multiple owners ends up being unmanageable because of the conflicts that always occur
in such cases. The technology for each module can be differently represented by a car or
the locomotive. The customer relationship manager (CRM) might be Siebel, the billing might
be SAP, and the supply chain might be WebSphere Process Server. This monitoring model
doesn't require the technologies to be the same as long as appropriate events are exposed
for the monitoring model.
In a dynamic event-driven business process approach, the train is built dynamically by changing
the cars based on the detection of business environment conditions.
Information, processes, services, events, policies and rules
Business process management (BPM) is formed by solutions that support the management
of the lifecycle of a business process. BPM is about combining business processes, IT, and
human expertise to form a unified business unit that can be modeled, implemented, monitored,
analyzed, and optimized. BPM requires a standardized mechanism or language, through which
the artifacts created during business process modeling can be readily used during system design
and implementation. BPEL is used today as the formal language for business process modeling,
and helps to define skeleton code artifacts that form the base for the declaration of application
interfaces and their implementation.
Most organizations are driven by processes and data that stay relatively constant. However
variable business information originates from interactions, services and processes, but also from
external sources or instrumentation that generates new business or technical events. A major
challenge of current BPM solutions is to be able to continuously adapt business processes over
time in response to the business environment and to keep them robust and operational for critical
ibm.com/developerWorks/ developerWorks
Building smarter event-driven business processes with the
WebSphere BPM suite
Page 5 of 11
business processes. For example, some organizations may want to use event-driven information
to guide and affect key business processes. This requires the ability to deal with the increasing
volume of business events and transactions on a daily basis to hasten the decision-making. These
events can occur both inside and outside the enterprise. The relevant events for the business need
to be identified and fed into IT systems so they can process and take actions based on detected
situations.
Events carry the data that contributes to information, services then consume and generate
information, and finally processes consume services and information. The interconnection
provided by services connects these events to components that hold the intelligence and,
in a large sense, are business processes. Therefore, you can't have an approach that
addresses processes independently of services and information, which is why the enterprise
architecture needs to map all three aspects at the same time to ensure coherency of the resulting
implementation. The IT infrastructure complements the enterprise architecture by providing
support for the base technical services that applications will consume. The difference between a
technical service and a business service is that a technical service does not belong to a particular
domain. As an example, a logging service is pervasive and not specific to a particular business
entity, while a manage customer service belongs to the "customer relationship" line of business.
A typical SOA platform focuses on centrally orchestrating services triggered by a business process
requirement in a deterministic way. This platform has to be extended to account for events that
occur across or outside of specific business processes and to introduce opportunistic actions
that match business situations requiring action. These complex events are more common in
high-transaction environments, and may be generated by implemented services. For instance, a
business process can produce a significant change in the state of some business entities. It can
generate an alert event about a state change, and then lead to another service to react to this
alert. Thus, services and, by extension, business processes can be event producers as well as
event consumers. Being able to easily and efficiently generate, receive, and consume real-time
event data within and outside the organization is a critical component of almost all IT and business
plans. To address this requirement, BPM enabled by SOA must have support for event-driven
services.
As you can see, event-driven architecture and service oriented architecture are not opposing
approaches. Events can trigger services and services generate events, so both are part of a
common approach. A more appropriate distinction is Opportunistic versus Deterministic. In a
deterministic approach, the emitter of the event or the service call expects a specific action and
delivers the appropriate function. In an opportunistic approach, the emitter of the event does not
expect any specific action, and it is the responsibility of the receiver to decide whether to take
an action based on the event or the combination of events. In both a modularized, deterministic
approach or in an opportunistic approach, the end-to-end process is just like a train assembled on
the fly from various cars.
In this context, Business Event Processing (BEP) determines these actionable situations by
detecting, evaluating and correlating the events based on user-defined logic. When an actionable
situation is discovered, an appropriate service is called, which then generates and communicates
developerWorks ibm.com/developerWorks/
Building smarter event-driven business processes with the
WebSphere BPM suite
Page 6 of 11
one or more actions with required data back through the IT network. BEP determines when that
action is needed based on the business policies and event processing logic. The policies and rules
are defined using a vocabulary that defines the business aspects, information and applications, or
services. It's essential to create that common vocabulary in order for the enterprise to externalize
the variability of processes, services and information into policies and rules.
One of the emerging trends in business integrity management is for evolving businesses to
develop a consistent and interdependent view of not only their policies and processes, but also
their information or core entities. A single semantic definition of core entities, maintained at all
levels of the enterprise, is required for managing information integrity.
Figure 3. Entity-centric view of BEP
While the state changes of business entities during their lifecycles can trigger business events, the
communication between these entities can be implemented as service invocations.
Putting all these concepts together, Figure 4 shows how the specific capabilities of business rules,
event processing, dynamic service assembly and business activity monitoring (BAM) are required
for creating event-driven business processes.
ibm.com/developerWorks/ developerWorks
Building smarter event-driven business processes with the
WebSphere BPM suite
Page 7 of 11
Figure 4. Know whats happening, when to act, what to do and how
Event-driven business processes
Technically, an event-driven business process can be defined as a process that can be modeled,
implemented, deployed, and most important, can change quickly in response to business events.
Logically, it's an implementation in which services running distributed across the network are able
to independently respond to events executing business services that can be centrally controlled.
Based on events, business processes can be modified even during execution to take an alternate
path from that in defined in the model. The business process becomes implicit as the end-to-end
effect of the process is produced by a chain of explicit smaller processes in which each module
has a single business owner who has control over that portion.
The analysis model captures the sequence of both public and internal interactions that forms the
business process. Additionally, for event-driven business processes (level 2a in Figure 5) in the
analysis, you need to capture the key business events that could affect the business process.
Similarly, the design model typically captures the runtime representation of a business process
along with the human interaction details for the process. The design model also captures the
technical flow involved in the process lifecycle. During design modeling for event-driven business
processes, it's important to capture the technical events, individually or collectively, (level 3a) that
represent the business events captured as part of the analysis model.
developerWorks ibm.com/developerWorks/
Building smarter event-driven business processes with the
WebSphere BPM suite
Page 8 of 11
Figure 5. Analysis and design model for an event-driven business process
Figure 6 shows the steps in the typical lifecycle of an event-driven business process.
Figure 6. Event-driven business process lifecycle
IBM products for building event-driven business processes
The following table summarizes some of the key IBM middleware products and technologies
available to you for creating event-driven business processes.
ibm.com/developerWorks/ developerWorks
Building smarter event-driven business processes with the
WebSphere BPM suite
Page 9 of 11
Capability Product Description
Business modeling WebSphere Business Modeler Provides customizable, role-based views of
processes for faster and smarter decisions
Business process runtime environment WebSphere Process Server Automates business processes that span
people, workflows, applications, systems,
platforms and architectures.
Business event processing WebSphere Business Events Correlates events or patterns of events
and notifies other processes, initiating their
execution
Business rules management WebSphere ILOG JRules Implements business rules used to automate
business decisions or recommendations in a
service or process.
Business activity monitoring WebSphere Business Monitor Captures, aggregates, measures and displays
KPIs, and initiates alerts when thresholds are
exceeded.
Business policies and dynamic services
assembly
WebSphere Business Services Fabric Assembles and dynamically changes SOA-
based business processes.
Summary
In summary, service-oriented and event-driven architectural styles provide complementary paths
to realizing event-driven business processes. In this article, you learned about some of the ways
services can consume events to build smarter business processes. The article also described a
method to create the analysis and design model for developing event-driven business processes.
developerWorks ibm.com/developerWorks/
Building smarter event-driven business processes with the
WebSphere BPM suite
Page 10 of 11
Resources
Dynamic SOA and BPM: Best Practices for Business Process Management and SOA
Agility, Marc Fiammante: This book addresses two of the most critical challenges todays IT
executives, architects, and analysts face: implementing BPM as effectively as possible and
deriving more value from their SOA investments.
Managing the complexity of business processes, Marc Fiammante: This article is aimed
at business architects, and IT managers and architects, and discusses an approach to
controlling the development and maintenance efforts for business processes by limiting their
complexity.
Business Process Modeling notation: Get more information about BPMN, including the
specification, how-to articles, and more.
developerWorks BPM zone: Get the latest technical resources on IBM BPM solutions,
including downloads, demos, articles, tutorials, events, webcasts, and more.
ibm.com/developerWorks/ developerWorks
Building smarter event-driven business processes with the
WebSphere BPM suite
Page 11 of 11
About the authors
Sreekanth Iyer
Sreekanth Iyer is an IBM Certified Senior IT Architect on the Cloud Solutions - Best
Practices team in Tivoli, based at the IBM Software Lab at Bangalore. He has
led many SOA solution implementations and has been a core member of event-
processing research projects for the IBM Software Group Architecture Board. He is
an Open Group Master Certified Senior IT Architect with over 15 years of industry
experience, of which more than 10 years have been with IBM.
Marc Fiammante
Marc Fiammante is an IBM Distinguished Engineer in the Office of the IBM Software
Group CTO for Europe. He has wide experience in large project architecture and
software development on multiple environments.
Copyright IBM Corporation 2010
(www.ibm.com/legal/copytrade.shtml)
Trademarks
(www.ibm.com/developerworks/ibm/trademarks/)

Vous aimerez peut-être aussi