Bruce Silver Associates Industry Trend Reports Independent Expertise in BPM June 2010 A FIRST LOOK AT ORACLE BPM SUITE 11G BPM Without Barriers As the BPM market has matured, it s time to declare the era of specialized fit-for-purpose BPM Suites officially over. Not long ago buyers had to choose between one set of offerings for human-centric processes and a different set for integration-centric processes. Some offerings focused on business empowerment and others appealed to developers. Some BPMSs were firmly layered on SOA while others ignored SOA completely. Those days are gone. BPM buyers today don t want to proliferate more BPMS islands across the enterprise. They want it all BPM without boundaries a single BPMS platform good for both human-centric and integration-centric processes, offering both business empowerment and rich developer tools, model-driven but on a powerful SOA foundation. And they want it to be based on open standards. Such things are expected in mainstream technology. A key enabler of these elevated buyer expectations is BPMN 2.0, the new process definition language standard from OMG. BPMN is most familiar as a process diagramming notation for business analysts and architects, but BPMN 2.0 provides in addition a standard executable process design language underneath the diagram shapes and symbols. We ve been eagerly awaiting the first BPM Suite based on BPMN 2.0, and now it s here: Oracle BPM Suite 11g. This report takes an early look at Oracle BPM Suite 11g, and shows that it indeed goes a long way toward delivering BPM without barriers. Oracle BPM Suite, part of Oracle Fusion Middleware, brings together business-driven design and robust human-centric BPM with all the IT infrastructure capabilities you would expect from Oracle. Version 11g combines two formerly alternative paths of BPM solution development one based on BPMN and the other on BPEL in a powerful unified architecture (Figure 1) that looks like a game-changer in the BPMS marketplace. BPMS Watch www.brsilver.com Bruce Silver 500 Bear Valley Road, Aptos CA 95003 USA Tel: +1 831.685.8803 Fax: +1 831.603.3424 E mail: bruce@brsilver.com
Figure 1. Oracle BPM 11g architecture. Source: Oracle BPMN 2.0 Setting the Bar High from the Outset Over the past few years, BPMN 1.x has achieved near-universal adoption as the standard for business process modeling. In its simplest form the graphical notation looks like traditional swimlane diagrams, and therein lies its attraction to business users. But BPMN goes well beyond that with features critical to executable process design, such as: Precise semantics of all the shapes and symbols, defined in an explicit metamodel Support for a wide variety of events signals that something happened and graphical modeling of the event handling, important for modeling exceptions Support for inter-process communication in the form of message and signal events, linking process execution to communications with customers, service providers, and other internal processes... all explicitly shown in the process diagram. Many BPMSs have leveraged BPMN 1.x to encourage business-it collaboration in executable process design. Technical details required for execution on the process engine can be defined underneath each shape in the diagram, but in the past each BPMS did it in its own proprietary way. Business could collaborate with process designers throughout the implementation cycle, but the design details were proprietary to each BPMS. In BPMN 2.0, however, that limitation is gone. The technical detail needed for execution is part of the standard, making BPMN 2.0 effectively a new process execution language. It combines the advantages of a standard process runtime with the business-empowerment inherent in a standardized modeling notation. Oracle BPM Suite 11g is the first BPMS based on executable BPMN 2.0. Direct execution of graphical process models has sometimes been called WYSIWYE: what you see is what you execute. In other words, the process diagram what you see on paper is actually what is executed on the process engine. Unlike some other tools, where BPMN models must be mapped to BPEL for execution, WYSIWYE means no roundtripping Bruce Silver Associates 2010 2
problems or business-unfriendly constraints on the BPMN models. With WYSIWYE the process model becomes more than just business requirements for the developer. What you see is actually what you execute. Specialized human-centric BPMSs have had WYSIWYE for a while, but using proprietary runtimes without a strong SOA foundation. Oracle BPM Suite 11g provides WYSIWYE using the new BPM standard on top of a world-class SOA platform. Oracle not only is first out of the gate with BPMN 2.0 support, but sets the competitive bar extremely high for a long time to come. Two of BPMN s most powerful features event handling and inter-process communications are routinely ignored by other BPMSs today. If supported at all, these behaviors usually are hidden in developer-written scripts rather than visible to process analysts in BPMN. Thus, when it comes to things like exception handling, many BPMN 1.x offerings are not really WYSIWYE. Oracle BPM 11g, however, makes both exception handling and inter-process communications as they are actually executed visible in the BPMN diagram. Oracle supports all three of the most important BPMN event types Message (point-to-point inter-process communications), Error (propagation of exceptions from child to parent process levels), and Timer (deadline-triggered behavior) plus Signal (general purpose publish-subscribe integration). When drawn on the boundary of an activity, these events signify that if the event trigger occurs while the activity is running, the process will initiate the exception flow drawn out of the boundary event. (That activity could be either a simple task or an entire subprocess.) If the activity completes without the event trigger, then the exception flow is ignored. Such boundary events can be used, for example, to describe what happens when the customer changes an order in flight, or when an activity takes too long, or when a service returns an exception (Figure 2). Figure 2. Oracle supports all the important BPMN event types for exception handling. Source: Oracle Oracle BPM Suite 11g supports both interrupting boundary events, meaning the trigger aborts the original activity, and non-interrupting, meaning the exception flow runs in parallel to the ongoing activity. Oracle also supports a new BPMN construct called an event subprocess, which is like a boundary event except that the event handler runs inside the context of the original activity. Underneath each of the diagram shapes, BPMN 2.0 defines the technical details needed for automated execution, making it effectively a process execution language similar to BPEL. Oracle BPM Suite 11g continues to support BPEL, and in fact it can run both BPEL and BPMN 2.0 processes simultaneously. Many of BPEL s advantages as a standard runtime apply to BPMN 2.0 also, such as portability to third party engines, ultimately lowering cost and business risk. Bruce Silver Associates 2010 3
While BPEL is great for composing automated services, BPMN 2.0 is better for BPM, in several respects. It does not constrain process models to a rigid block structure that is confusing to business people. Also, execution is layered directly on the diagramming notation that is already widely adopted by business analysts and architects. In the future, we should expect to see BPEL used more for orchestrating automated services in the SOA layer, and BPMN 2.0 used more for end-to-end process modeling in the BPM layer. Oracle BPM Suite 11g solutions will include both BPMN and BPEL components running simultaneously and communicating with each other via messages. Business Empowered Implementation While human-centric BPM pureplay vendors have long emphasized business empowerment through BPMN, they have lacked a strong SOA foundation. Now Oracle brings businessempowered implementation to SOA-based BPM. The key to business empowerment is WYSIWYE, discussed earlier. The same process model used for analysis is used for execution. The model created by business is not just a requirements document, but part of the implementation itself. This strongly encourages iterative development with business and IT working in close collaboration throughout the implementation cycle. While many SOAbased BPM Suites have used BPMN for business-level process modeling, those models are usually mapped to a different process language, BPEL, for execution. That s not WYSIWYE, and it limits business-it collaboration in the process implementation. But because it supports BPMN for both modeling and execution, Oracle BPM Suite 11g means you don t have to give up WYSIWYE to put BPM on a robust SOA foundation. Oracle has loaded BPM Suite 11g with features supporting business-it collaboration throughout the project lifecycle. Business users can create BPMN process models in the browser-based Process Composer, leveraging a pre-populated catalog of roles, services, and similar process components as a starting point for implementation design. Documentation fields in Process Composer can capture use-case details. Process analysts use Process Composer and the JDeveloper-based BPM Studio to refine process models with implementation details, define business indicators to hold BAM data, and simulate process designs to optimize business performance. Process developers use Studio s zero-code tooling to create more technical components, such as automated services, adapters, and mediation flows. All design components are exposed for reuse through Oracle s Metadata Store (MDS). In BPM Studio, each BPM project includes a business catalog, a reusable container of shared process-related artifacts such as services, business objects, events, and exceptions. When published as a BPM project template, artifacts in the business catalog can be reassembled by process analysts using Process Composer. The result is a BPM platform that supports both top-down and bottom-up implementation styles, with agile business-it collaboration throughout (Figure 3). Bruce Silver Associates 2010 4
Analyst Role Developer Role BAM Dashboards Rules Editor Forms Editor BPMN Editor, also Org charts, Simulation, Business Indicators Security Policies Task Editor Events Adapters Editor BPM Projects Metadata Services Repository (MDS) Figure 3. Business-IT collaboration in Oracle BPM Suite 11g. Source: Oracle BPM Studio Oracle BPM Studio, the design environment, runs in the Oracle JDeveloper IDE. In addition to a BPMN 2.0 process editor (Figure 4), BPM Studio provides editors for process data, organizational roles, human tasks (including assignment and user interface), business rules, business activity monitoring, and all other components of a complete BPM solution. Leveraging JDeveloper Roles, business process developers and process analysts see different sets of editors in BPM Studio. Figure 4. BPMN 2.0-based Process Editor in BPM Studio. Source: Oracle BPM Studio also supports simulation analysis of process models, allowing projection of expected cycle time, throughput, and cost based on estimated parameters. Oracle s simulation provides advanced features missing in most competitor tools, such as support for business calendars and project-level simulation across multiple processes (Figure 5). Bruce Silver Associates 2010 5
Project Simulation Definition Calendar based simulation Scenario for the process model Multiple process simulation Role Settings Figure 5. Project-level simulation in BPM Studio. Source: Oracle Process Composer In addition to BPM Studio, Oracle supports business empowerment through a second tool called Process Composer (Figure 6). Process Composer runs in a browser rather than in JDeveloper, expanding access to a wider business audience. Like BPM Studio, it also provides BPMN editing, but without the ability to define implementation components, such as human tasks, services, or business objects. Composer can be used either top-down, to create process blueprints, essentially process models annotated for completion by developers in BPM Studio, or bottom-up, to recompose executable processes from pre-defined components in the business catalog and exposed as project templates. As Process Composer evolves to support a wider range of process design artifacts, it will become the comprehensive tool for business users and process analysts to model and design humancentric processes. Figure 6. Process Composer provides BPMN 2.0-based process design through a web browser. Source: Oracle Bruce Silver Associates 2010 6
Each project template includes selected components representing human tasks, services, business objects, and more. Using templates, business analysts can reuse them in new or modified processes, and even deploy them directly to the runtime environment without touching JDeveloper. Since project templates are derived from BPM projects, they include customization constraints to promote process governance and prevent unauthorized modification of selected features. In addition, Process Composer allows business analysts to design or modify Activity Guides and Business Rules, both discussed later in this report. Form Design For the business analyst, BPM Studio lets you generate basic task forms automatically in one click from specified task data and outcome values (such as Approve or Reject). In addition, the tool provides wizards that simplify development of custom task forms and screenflows. BPM task forms are based on the Oracle Application Development Framework (ADF) and are configured using wizards as Java Server Page XML (.jspx) files. ADF is a declarative framework based on industry standard Java Server Faces (JSF). It includes a rich set of interactive components, a zero-code WYSIWYG designer, and for BPM features wizards for autogeneration of task UI forms. Business users can drag and drop form design components and configure their binding to BPM data and actions. ADF can abstract any back-end data source as a data control and mash it up with BPM data to create richer forms. ADF also includes rich data visualization components including variety of charts and graphs, Gantt charts, map viewers, hierarchy viewers etc. that can be easily used to create very compelling BPM forms. Custom task forms support rich tabbed interfaces including process data, charts and graphs, and action buttons linked to the process model (Figure 7). Figure 7. Custom BPM task forms are wizard-configurable without coding. Source: Oracle Bruce Silver Associates 2010 7
Business Rules Business rules let organizations encapsulate business decision logic in reusable components defined outside of the processes that use them. Most BPMSs force process designers to choose between very simple rules defined within the BPMS design environment and thirdparty Business Rule Management Suites that must be integrated with the BPMS. Oracle stands out by bundling and integrating a full-featured BRMS, Oracle Business Rules, within the BPMS tooling, accessible from either BPM Studio or Composer. The Oracle Business Rules Editor supports both IF/THEN rules and Decision Tables. Each condition row in a Decision Table (Figure 8) tests the allowed values of a data input to the ruleset, called a fact. Each column represents a particular bucketset, an enumerated fact value or range. The combination of all the condition tests in a column specifies an action, typically setting the value of a data output. The complete Decision Table defines a ruleset, deployed as a business rule component invoked from the process as a Business Rule task in BPMN. The editor provides quick tools for resolving gaps and conflicts in the table. Business rules can be used to simplify complex routing logic at gateways, detailed task assignment and workflow, and dynamic service selection. The combination of a powerful business-friendly rule designer with direct integration to BPMN process models is another reason Oracle BPM 11g stands out from the BPMS pack. Figure 8. Decision Table design in the Business Rules Editor. Source: Oracle Process Analytics Process Analytics (Figure 9) provide process performance monitoring through either BPM Workspace dashboards or Oracle BAM, also bundled and integrated with the suite. Out-ofthe-box metrics for activities and processes include active instance count and average time to complete, broken out by process, activity, and participant. In addition to the predefined metrics, process designers can create custom metrics using business indicators, a special type of process variable for Process Analytics measures and dimensions. Oracle BPM provides a set of pre-defined cubes, database structures that let you break out aggregated measures in real time by various dimensions. Business analysts configure Process Analytics by specifying the business indicators and sampling points in the process. In addition, they can define measurement marks, points in the process flow where one or more specified business indicators are sampled and written to Bruce Silver Associates 2010 8
the Process Analytics database. Measurement marks can also be used to define the start and end of intervals in the process for time or cost analysis. At runtime, Process Analytics data can be displayed in a variety of user-configured charts and gauges in the BPM Workspace or Business Spaces. Process Analytics also supports process cubes for integration with Oracle Business Intelligence, allowing for multi-dimensional historical analysis in conjunction with business data outside of BPM. Figure 9. Business indicators and measurement marks defined in the process model drive performance dashboards in BPM Workspace or Process Spaces. Source: Oracle Robust Human Centric BPM Historically, BPM Suites built on a strong SOA foundation have been weak in humancentric BPM. Oracle BPM Suite 11g, however, provides advanced human task support that matches or surpasses the small human-centric pureplay tools. Process Spaces In addition to the standard BPM Workspace, a conventional BPM worklist environment, Oracle BPM Suite 11g provides a new, user-configurable Web 2.0-based collaboration environment called Process Spaces. Process Spaces is the BPM flavor of Oracle WebCenter Spaces, a role-based runtime environment built on Oracle WebCenter Framework and ADF. In addition to providing access to workflow tasks and performance dashboards, Process Spaces supports business users in routine daily tasks such as managing meetings, email, and team collaboration both at design time and runtime. Process Spaces are the cornerstone of what Oracle calls Social BPM, fit-for-purpose collaboration environments, leveraging Web 2.0 and Enterprise 2.0 technology, that put process tasks and dashboards in a social context including team calendars, discussions, shared documents, and notifications. Bruce Silver Associates 2010 9
Figure 10. Process Spaces built on Oracle WebCenter are user-configurable Web 2.0 mashups of BPM, team collaboration, and other components. Source: Oracle Each tab in Oracle WebCenter Spaces (Figure 10) represents a different application, service, or group space. A group space is a collection of content and services that helps people collaborate on a particular task. Users can access spaces that are predefined as well as those they define themselves by selecting and arranging components from catalogued components including documents, discussions, portlets, email, search, RSS feeds, external Web 2.0 widgets, and of course BPM components such as task lists. Process Spaces support team collaboration, unstructured processes, and social networking around a particular project, task, or problem. Activity Guides For many human-centric processes, conventional worklists and BPMN diagrams are not the most intuitive way to present process tasks to end users in the context of the end-to-end flow. To address this, Oracle created the notion of guided business processes, in which process designers define milestones in the BPMN model and an alternative end user interface called an activity guide (Figure 11) that tracks progress through the milestones. Activity guides can be defined either in BPM Studio or Composer. Bruce Silver Associates 2010 10
Figure 11. Activity guide for employee onboarding process. Source: Oracle Human Workflow Oracle uses the same Human Task component for BPMN 2.0-based processes as it does for BPEL. A User task in the BPMN model does not execute task form and actions directly. Instead, it instantiates a human task in a separate Human Workflow Service, and waits for task completion. The task is defined in a Human Task Editor, the same one used in Oracle SOA Suite for BPEL processes. At runtime, end users interact with worklists and task forms through the Human Workflow Service. When a user completes a task, the service reports the completion status (called task outcome) back to the process, which resumes at that point. What makes this different from many other BPM Suites is that approval chains and similar human workflows related to the task are modeled as part of the Human Task component, not part of the process. Only when the entire task, including its associated approval chain, is complete does the Human Workflow Service report outcome back to the process. Oracle calls these complex human tasks with approval chains interactive activities. There are several different types, representing different types of approval chains. Interactive activities simplify the process logic by encapsulating approval chains within reusable task components. It is always possible to model human workflow the old-fashioned way using simple tasks and modeling approval chains within the BPMN process but for many processes it is more convenient to use interactive activities. Ad-hoc processing is possible in the human workflow. An assigned task performer can reassign or delegate the task at runtime, and new approvers may be inserted into the chain at runtime (Figure 12). In addition, tight integration with business rules provides dynamic workflows, to not only make decisions inside the business process but also for rule-based escalations, nominations, delegations, and load balancing of human tasks. Bruce Silver Associates 2010 11
Figure 12. Ad hoc workflow inserting an additional reviewer at runtime. Source: Oracle Single Foundation for BPM and SOA Unified Runtime If you want a BPMS that features business-empowered implementation and robust human task support, usually what you have to give up is a strong SOA foundation well integrated with the BPM stack. Not so with Oracle BPM 11g. The Oracle BPM Suite architecture (Figure 13) is built on top of a world-class SOA foundation that features a unified runtime including BPMN 2.0 and BPEL orchestration, human task management, and business rules. Oracle SOA Suite s scalable grid infrastructure supports extremely high transaction rates and thousands of concurrent users for both system and human workflows. The integration layer offers a common JCA-based connectivity infrastructure, Oracle adapters, Oracle Service Bus, mediation flows, and policy-based security and quality of service. You also get UDDI, identity services, B2B services, event infrastructure, and other Fusion Middleware features missing in almost any human-centric BPMS from a pureplay vendor. BPMN SOA Links Unlike other BPMSs, Oracle makes the linkage between BPMN shapes and their SOA component implementations explicit and configurable in the process model. BPMN User tasks call human task components; BPMN Business Rule tasks call business rule components; BPMN Service tasks call synchronous service composites, including BPEL processes; BPMN Send/Receive tasks and Message events invoke asynchronous composites, including other BPMN processes, and their callbacks. BPMN Signal events leverage the power of the Fusion Event Delivery Network for loosely coupled publish-subscribe integration based on business events. BPMN Error events reference exceptions defined in the BPM Studio business catalog. Bruce Silver Associates 2010 12
Customer Cre ate and Process Submit Order Payment Customer Notify Download User Video Copy to BPA Shared BPMN Model Rich End User Interaction Web based customization Worklist Process Portal MS Office Business View BPMN 2.0, BPM Studio (with Business and IT views) BPEL BPEL BPMN Human Workflow Business Rules Mediator Process Composer BAM Unified Runtime B2B Optimized binding Common JCA based connectivity infrastructure Oracle Service Bus Policy Manager Repository Web based console Figure 13. Unified runtime architecture. Source: Oracle Oracle does not force a choice between BPEL and BPMN 2.0. BPM 11g provides process engines for both layered on common shared services. BPEL will continue to play a major role in defining automated composite services that are called by BPMN business processes. Unified IDE The BPM Studio in JDeveloper is the common IDE for BPM, SOA, and ADF web development. It contains all the editors needed to define BPMN processes, BPEL processes, composite services, human tasks, business rules, data types, and user interfaces. BPM Studio provides separate modes for developers and business analysts, exposing the editors appropriate to each role. All of the components used in a BPM project are collected in the business catalog, which is organized into modules. By saving a project as a template, executable business process components can be reassembled by process analysts using the browser-based Process Composer. Unified Service Component Architecture Both BPM and SOA composites are described using the Service Component Architecture (SCA) standard. Connections between the service components representing each process, service, human task, business rule, and adapter used in a BPM project are modeled as wires in the SCA Composite Editor (Figure 14). Security and quality of service properties can be specified for the wires using policies defined either in JDeveloper or at runtime in Enterprise Manager. Services that call a project component are shown in the left column; references (external services called by a component) are shown in the right column. Bruce Silver Associates 2010 13
Figure 14. Composite editor shows connections between all solution components. Source: Oracle The Metadata Services (MDS) repository stores deployed applications and components as well as projects and project templates for both BPM and SOA. MDS is a key enabler of collaborative process design and business-empowered implementation using Process Composer. The implementation of each BPMN activity and event is defined by a service component. Unified Administration BPM and SOA are integrated in runtime monitoring and administration as well, through Oracle Enterprise Manager, the administrator console for Fusion Middleware. All deployed BPM and SOA composite applications are tracked by Enterprise Manager, which continuously monitors the state of running instances with flow tracing and fault recovery. That means you don t need to go to different tools to track down problems and take corrective action, since Enterprise Manager provides a uniform view from high level processes down to low level service components. For debugging and fault recovery, administrators can drill down to the process audit trail (Figure 15). The flow trace in Enterprise Manager is a list of inter-component messages in a BPMN process instance, operation across instances of the various components involved in the process, linked by execution context ID (ECID). Figure 15. Process Audit flow trace in Oracle Enterprise Manager. Source: Oracle Bruce Silver Associates 2010 14
The Bottom Line Oracle BPM 11g is a game-changer. It gives business analysts and executable process developers a common process model based on the BPMN 2.0 standard. It provides advanced human task support with features like Process Spaces, custom ADF forms and screenflows, activity guides, and ad hoc workflow. It provides advanced business rule support as well. And it provides browser-based tooling that lets business users modify processes and business rules without developer assistance. At the same time, it is loaded with features for IT, starting with a world-class SOA foundation SCA, BPEL, JCA, service bus, and a comprehensive message and event delivery infrastructure. Process modeling and executable design conform to the BPMN 2.0 standard, including the hard parts where other BPMN-based BPMSs have always feared to tread: boundary events (interrupting and non-interrupting), inter-process messaging, Error throw-catch, and publish-subscribe integration using Signal events. Oracle calls it BPM without barriers human-centric together with SOA, business empowerment with strong IT values, all based on industry standards. BPM has become strategic at Oracle not just for its middleware business but for its packaged applications as well, including Fusion Applications, Primavera project management, Enterprise Content Management, and Enterprise Repository. Put it all together and Oracle BPM 11g is probably a year ahead of its closest competitor. The tools are free downloads. You should definitely give Oracle BPM 11g a look of your own. Bruce Silver June 2010 Bruce Silver Associates 2010 15