0 évaluation0% ont trouvé ce document utile (0 vote)
53 vues11 pages
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.
Titre original
Building Smarter Event-driven Business Processes With the Websphere Bpm Suite
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.
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.
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/)