All companies have internal corporate processes — such as order-to-cash or procure-to-pay — by which they do business. But these processes are often cumbersome, unwieldy, and error-prone, involving many manual steps. We're sure you can think of at least one process within your company where it takes an email or a phone call to alert a co-worker that a certain task is awaiting his or her review and approval.
What's more, not all companies have standardized or documented their processes, and even fewer can say that they've optimally designed their processes to help them best achieve their corporate performance goals. Especially in tight economic times, documenting your processes and making them as efficient and productive as possible are critical priorities; to stay competitive, companies need to have their processes under control so that they can nimbly change them to meet shifting customer needs.
These business reasons have prompted a new line of solutions, business process management (BPM) applications, which provide IT organizations with a framework of tools to model, deploy, and execute processes. SAP has come to market with SAP NetWeaver Business Process Management (SAP NetWeaver BPM). With the first release of this solution (see sidebar), customers can document and execute their processes, easily connecting human and system activities in a single, seamless workflow, regardless of how many different business applications they cross.
SAP NetWeaver BPM supports a model-driven approach to documenting and managing business processes throughout their life cycles, and it enables collaboration between business and IT experts via multiple views in one process modeling environment. This article will show you the key steps of how to design and deploy a business process using SAP NetWeaver BPM.
An Insider's Look at SAP NetWeaver BPM: Functionality and Tools
SAP NetWeaver BPM consists of three building blocks (see Figure 1):
The building blocks of SAP NetWeaver BPM
The Process Composer is the design-time environment of SAP NetWeaver BPM. It's a seamlessly integrated, separate perspective of SAP NetWeaver Developer Studio, the Eclipse-based design-time tool of SAP NetWeaver Composition Environment (SAP NetWeaver CE). It provides business process modeling notation (BPMN) capabilities, which allow easy and intuitive process modeling for both business process experts and developers in one common environment (see Key Term box). The Process Composer supports all stages of process modeling — from the high-level definition of the process down to its actual development, deployment, and execution. Process life cycle aspects (versioning, transport, etc.) are also fully supported.
Business process modeling notation (BPMN) is a standardized graphical notation for drawing business processes in a workflow that all business stakeholders readily understand. BPMN differentiates human and automated activities; human activities normally trigger tasks that end users execute, whereas automated activities are executed by a system.
The Process Server is a newly developed, Java-based engine that represents the run-time services for SAP NetWeaver BPM. The Process Desk is the human interaction management part of SAP NetWeaver BPM. It's used for managing processes and tasks and for displaying process details.
The Process Desk is composed of four tools:
- Universal worklist (UWL) is the central access point for tasks, alerts, and notifications. The UWL is based on the portal platform.
- Task execution user interface provides a UI for any given task within a process.
- Process list displays all running, completed, and canceled processes that are relevant for the user.
- Process visualization shows the process as a diagram, similar to the visualization scheme in the Process Composer. Using process visualization, users can display details on individual objects — on a task, for example.
How to Model, Deploy, and Run a Process with the Process Composer
Using the tools within the Process Composer, business users can draw their business processes without having to rely on IT for any manual coding.
In the Process Composer perspective, you will find the Project Explorer view, a structured, hierarchical view of a process's composition elements (see Figure 2). Here, business users can navigate to process-flow drawing objects, including processes, data types, tasks, services, rules, and functions. These process objects, which reside in the Process Composer Palette, are grouped into five categories:
- Activities — Flow objects that represent different process steps (human activity, sub-process, etc.)
- Events — Flow objects that represent when something happens with the process (start event, end event, intermediate error event, etc.)
- Gateways — Flow objects that illustrate a split or merge of the process flow (exclusive choice, parallel split, etc.)
- Connections — Flow objects that represent connections between activities, events, and gateways (sequence flow, data flow, etc.)
- Artifacts — Data objects and annotations
The Process Composer, the design-time environment of SAP NetWeaver BPM
Users can draw the process diagram by dragging and dropping the necessary flow objects from the Palette or by using speed buttons that show up around the process elements once they are dropped into the process canvas (see Figure 3). The following sections walk through how to draw each part, stage, or event within a business process.
How to create a process within a process flow using speed buttons
|NOTE! You can look at your process diagram through two views: an outline view, which shows the hierarchy of the process flow elements, or a miniature view, which is used for adjusting the area of the process diagram that's visible in the main process layout. This miniature view is especially helpful for large, multi-lane processes that expand beyond the width of your monitor screen.
Set Up the Process Flow Diagram
Business users can represent each of their business processes as a pool with one or several lanes (refer back to Figure 2). A pool is a graphical container that separates a group of activities from other pools, and lanes are groups of activities associated with a certain business role or function. A lane could also represent a business system in which an automated activity (a service) will be running.
The process diagram could contain several pools, but only one pool is active and executed at run time. The others are passive and contain activities external to the main process — your supplier process, for example — and are represented for documentation purposes only. Once you've set up the basic pool or lane structure, continue to model the process based on the events and activities that happen in your business.
Create an Event
Event objects represent actions that could happen within a process, such as the start of the process or an unexpected error.
- Every process flow begins with a start event. Activating this start event requires a user to assign a service interface to it. Once the process is deployed, the call of the Web service interface will trigger the process; a new process instance will be created.
- An intermediate error event is used for capturing errors that could happen during the process execution — for example, if a Web service assigned to an automated activity does not complete correctly.
- An intermediate timer event is an action related to a time constraint.
- An end event is used after the process step that's considered the last step in the process.
- A termination event is used to model a business flow exception at the end of the process, usually for abnormal behavior like wrong, missing, or inconsistent business data.
Create a Human Activity
Collaborative, or "human-centric," business processes represent sequences of process steps performed by humans and systems as part of one flow. The steps performed by humans are called human activities, and they are always associated with a task.
The task itself is a request for a human to perform an action; it has a specific priority, UI, potential and excluded owners, time constraints, and other properties. The task could be assigned to one or several human activities within one process and could also be assigned to human activities from different processes created in the same development component.
You can create a list of common tasks in advance; then, this list would be visible in the Process Composer's Project Explorer view for all users who are working on this specific project. When a user drags and drops a task from the Project Explorer view into the process canvas, the system automatically recognizes it and creates a human activity for it.
Create an Automated Activity
Process steps that a business system performs are represented in the process diagram as automated activities, and they are always assigned a relevant service interface. The Web services necessary for the process could be imported from three different sources: the Enterprise Services Repository (ES Repository), the Services Registry (SR), or a remote location or local system.
SAP NetWeaver BPM's out-of-the box integration with the ES Repository and the SR is an important piece of the service-oriented architecture (SOA) story for SAP customers. This integration makes it easy for customers to find and consume large numbers of predefined Web services from SAP, helping companies build their own composite applications.
|SAP NetWeaver BPM integrates with the Enterprise Services Repository and the Services Registry out of the box. This is an important piece of the SOA story for SAP customers.
A sub-process is a reusable process flow element you can use when modeling a parent process to reference another process you've already modeled. Sub-processes have a start and an end event containing the same service operation. You can use sub-processes to reduce the implementation effort for business processes that have common process flow parts. They also come in handy for reducing the complexity of business process diagrams.
Set Up Process Contexts and Data Types
When a process executes, its relevant process data can be stored in what's called the process context. The SAP NetWeaver BPM process context is represented by a data structure defined in an XML schema definition (XSD) file. Data types could either be imported as XSD files or defined manually. Data types are created automatically when a task is linked with a Web Dynpro user interface and also when an imported WSDL file contains data type definitions.
Dragging and dropping a data type from the Project Explorer view into the process diagram defines the data structure of the process context and allows the mapping of the input/output parameters of automated activities, human activities, sub-processes, and events. With this mapping, you're defining the information that is transferred from one process step to another.
Enforce Business Rules in the Process Model
Business rules — including pricing or approval rules, for example — complement and accelerate process management via the automation, management, and alignment of critical business decisions. There are two ways to design and use business rules when modeling a business process: You can create the business rules directly with the Process Composer or use the Rule Composer, which is a separate Eclipse-based design-time perspective of SAP NetWeaver CE.
Using the Process Composer, you can model process-specific rules and use them as a rule function to make a gateway decision and to resolve the mapping of different data types. You can also create rules for dynamic task assignment and to achieve rule-based responsibility determination — all directly in the Process Composer.
Using the Rule Composer, you can model widely applicable business rules, including "if/then" rules or complex decision tables. Once deployed, business rules created with the Rule Composer could be called from the user interface or exposed as Web services and very easily consumed through the automated activities of the business process flows designed using the Process Composer.
Deploy and Run the Process
Now that you've built your process, linked the underlying business data, and established any applicable business rules, the final two steps are to deploy and run the process. Do this by right-clicking on the process development component, clicking "Build," and then clicking "Deploy."
SAP NetWeaver Developer Studio also provides a debugging perspective for processes created with SAP NetWeaver BPM; you can use it to debug the process flow, as well as to check the process behavior and the values of the process context data at every process step.
Once your process is up and running, you can use SAP NetWeaver Administrator to monitor and manage it. Because of the tight integration between SAP NetWeaver BPM and SAP NetWeaver Administrator, users can easily monitor the health of their business process throughout its life cycle.
SAP NetWeaver BPM: Outlook for 2009
The delivery of SAP NetWeaver Business Process Management is just the beginning of an exciting and dynamic BPM story for SAP customers. The next release of SAP NetWeaver BPM, planned for the end of 2009 with the release of SAP NetWeaver 7.2, will include additional capabilities and enhancements:
|Composing business processes with SAP NetWeaver BPM is only the first stage. With future releases, customers will be able to gain critical insights into the efficiency of their process execution.
Enhanced end-user experience. To ease user interface development, support for SAP NetWeaver Visual Composer will be added. Support for offline SAP Interactive Forms software by Adobe will also be included; this software allows users to participate in processes by receiving an email with an attached form, completing this form, and sending it back to the process engine for further processing.
Analytical data about process instances, tasks, and other process-related attributes will be provided through the Universal Data Interchange (UDI) of SAP NetWeaver Business Intelligence, which allows direct access to BPM process metadata (start time, end time, duration, and processors, for example). The ability to create lightweight reports on this data through SAP NetWeaver Visual Composer is also in the works.
Accelerated process composition. Composite process developers will benefit from a variety of enhancements in the Process Composer itself. Most noteworthy will be the support for additional BPMN artifacts, such as loops and exceptions.
Extended business rules integration. The integration of business rules will also be a major enhancement in SAP NetWeaver BPM 7.2. Adding a UI for tactical change management will improve the agility of deployed composite processes and allow business users to make ad hoc rule changes at runtime.
Taking BPM to the next level. Providing SAP NetWeaver BPM for the composition of business processes is only the first stage. The next level will be to provide a comprehensive process view across application and composite processes. This will ease composition and process management for all process domains in the SAP business application space.
With its enhancements and new capabilities, SAP NetWeaver BPM 7.2 will allow customers and partners to efficiently compose and deploy composite business processes. Customers will also be able to gain critical insights into the efficiency of their process execution, allowing them to discover opportunities for process improvements that can bolster their business.
For additional information about SAP NetWeaver BPM, please visit https://www.sdn.sap.com/irj/sdn/nw-bpm. Here you will find a trial version of SAP NetWeaver BPM (referred to as Project Galaxy), which you can download and use to start modeling your own business processes.
Donka Dimitrova (firstname.lastname@example.org) is part of the product management team for SAP NetWeaver Business Process Management (SAP NetWeaver BPM). She is focused on early customer adoption programs, leading the SAP NetWeaver BPM Design Partner Council, which consists of 10 SAP customers selected from different industries and worldwide locations. The council's mission is to help the SAP team validate BPM goals, concepts, and technology throughout the entire software life cycle.
Ralf Schaub (email@example.com) is a member of the SAP NetWeaver Solution Management organization. He has worked for more than 10 years in the SAP industry. Ralf joined SAP almost eight years ago and has held various positions throughout EMEA and Asia Pacific, from technology consultant to solution architect to product strategist. For the last two years, he has been focusing on shaping the SAP NetWeaver Business Process Management offering from a strategy perspective.