Upload
assign7997061
View
59
Download
3
Embed Size (px)
DESCRIPTION
ccBPM in PI 7.1
Citation preview
1© SAP AG 2008
Cross-Component Business ProcessManagement (ccBPM) within SAPNetWeaver Process Integration 7.1
SAP NetWeaver Product ManagementSAP NetWeaver Regional Implementation Group
March 2008
2© SAP AG 2008
© SAP 2008 / Page 2
1. ccBPM Overview2. New Design Features3. New Runtime Features4. ccBPM in a Nutshell
Agenda
3© SAP AG 2008
© SAP 2008 / Page 3
Model-Based Business Process Managementon a Business Process Platform
Composition Environment 7.1
Process Integration 7.1
SAP ApplicationCore Processes
BusinessObject
BusinessObject
Non SAPB2B
SOA DesignGovernance
SAPNetWeaver 7.1
Human-CentricExecutable modelsProcess collaborationHuman interaction management
System-CentricExecutable modelsProcess automationService and event infrastructure
Packaged ProcessesDescriptive modelsEmbedded workflowExpose services / events
End-to-end business processes are seamless combinations of different types of processes, as:Core application or platform processes that provide proven standard business practices and aredelivered by SAP’s applications. These packaged processes are built to satisfy a high demand onintegration, integrity and legal compliance, and are typically mission-critical. They are designed as integralpart of a business process platform.System-centric integration processes that include A2A and B2B interactions, legacy system or third partsystem integration. These processes are technically delivered through SAP NetWeaver Process Integration(PI).Human-centric composite processes focusing on human interactions and process collaboration. Theseprocesses are delivered through a new building block of BPM capabilities that is integrated into SAPNetWeaver Composition Environment (CE).All these types of business processes interact seamlessly through services and events.
Building Blocks of SAP NetWeaver BPM Capabilities
The SAP NetWeaver Composition Environment will support a standards-based modeling environment(BPMN, Business Process Modeling Notation), process design collaboration, semantic integration with SAP’sapplication core processes, human interaction management that provides task management, rule andresponsibility assignments and business event resolution mechanisms.
The Enterprise Services Repository (ES Repository) is shipped in 2007 with SAP NetWeaver ProcessIntegration 7.1 and SAP NetWeaver Composition Environment 7.1. As an evolution of the SAP NetWeaverExchange Infrastructure Integration Builder, it does not only contain enterprise services (service interfaces,service operations) and data types but also tools to cover the integration needs of a SOA middleware (e.g., amapping editor, a BPEL integration process editor) Apart from this, the ESR is used as the central place forprocess component architecture modeling with SAP modeling methods and content for enterprise SOA.
4© SAP AG 2008
© SAP 2008 / Page 4
Process Automation with Human Call-Outs
User Interaction
ApplicationUI
Task List(UWL)
Change OrderCheck
Consistency Release
Integration Process
Mediate Data Workflow Service(Web) Services
Service InterfacesHuman WF services
BPELProcess
InvokeServ ice
Receive Send
Application Workflow
Human Workflow
TriggerWorkflow/
TaskWorkflowBusiness ObjectsEventsTasks
CreateWorkitem
Approve/Reject
Send Taskcompletion
Task Assignment
Universal WorklistBusiness Task ManagementMulti Channel AccessDashboards & Business Context
Cross-component BPMSAP NW Process IntegrationMessage-based Web serviceorchestration (BPEL)Business Workflow integration forhuman call-outs
SAP Business WorkflowEmbedded Workflow ManagementRe-usable TemplatesNon-intrusive extension ofapplication business logic
Devices Office ApplicationsPortal
Task Completion
Cross-Component BPM (delivered with SAP NetWeaver Process Integration) handles processes where themessage flow between different business applications is dependent on several messages or on time andbusiness actions or reactions. Interdependencies can be defined using an internal state derived from contentof incoming messages. Messages belonging to one process instance are identified by correlations as commondenominators on the basis of message content (e.g. a Purchase Order, an ASN, a Confirmation and anInvoice in a procurement process via the Order ID in combination with the business partner ID and/ or thecompany code). ccBPM also supports handling of system exceptions and alerting.
SAP Business Workflow has been embedded in the heart of the SAP solutions, so that SAP applications(including CRM, SRM and ERP) are built on it to incorporate workflow features directly in their application.Integration with Organizational Management and with standard SAP reporting tools allow to reuse theinvestment that customers have made in SAP solutions.
Universal Worklist (UWL): a work-item inbox/ task list is the watering hole where users access their workflow“to-do” lists. Work items that appear in these inboxes can span a range of business activities, fromadministrative processes like a vacation request to more in-depth processes like the evaluation of a salesopportunity.
5© SAP AG 2008
© SAP 2008 / Page 5
Integration Server
Business Process Engine
Enterprise ServicesRepository
AbstractInterfaces
IntegrationDirectory
Business Process(Configuration)
Routing Rules
Enterprise Services Builder
Business Process(Definition)
(References)
Mes
sage
Mes
sage
23
1
4
Process / Message Store
ProcessExecution
CorrelationHandling
Routing Mapping ChannelDet.
Advanced Adapter Engine
Proc
ess
Edito
r
Integration Engine
SAP NetWeaver Process Integration –Architecture Overview
Enterprise Services Builder is the central tool for the design and configuration of integration processes. Itcontains the Integration Directory for configuration purposes as well as the Enterprise ServicesRepository, an evolution of the Integration Directory, for business process definition. Within EnterpriseServices Repository all information regarding interfaces, mappings, data types, integration scenarios andintegration processes are stored.
In the Integration Directory the configuration of the cross-system processes for an existing systemlandscape takes place. The configuration describes how the Integration Server is to process inboundmessages and to which receiver or receivers messages must be sent.
Various engines are involved in message processing on the Integration Server:Integration Engine, the central runtime componentAdapter Engine, runtime component for adapter communicationBusiness Process Engine, runtime component for the execution of integration processes on theIntegration Server.
6© SAP AG 2008
© SAP 2008 / Page 6
BPEL Process Editor
Output area Object area
Header
Birdsview
Propertyarea
Edit area
The BPEL process editor within the Enterprise Services Builder consists of:Header – contains several information about the objectEdit Area – to display and change objects, several view available (Graphical Definition, BPEL Display ,Correlation Editor)Output Area – to check whether an object is complete and works properly together with objectsreferencedObject Area – provides several views (Containers, Correlation List , Process Signature, ConfigurableParameters )Property Area – to edit properties of an objectBirds view – to show alternative representations of the business process
7© SAP AG 2008
© SAP 2008 / Page 7
Process Step Types
Messaging relevant
Receive Step
Send Step
Transformation Step
Receiver Determination Step
Process flow control relevant
Container Operation
Control Step
While (Loop)
Fork
Block
Undefined Step
Wait Step
Switch Step
An integration process comprises individual steps. There are various different step types available for thedefinition of an integration process:
Receive Step – starts an integration process, receives messages, define sync/async communication- Send Step – send messages synchronously / asynchronously, send acknowledgements, define sync/async
communication- Transformation Step – convert message into another message, bundles or splits messages- Receiver Determination Step – get a list of receivers (configured in Integration Directory) for a subsequent
send step- Container Operation – set value for a target container element at runtime- Control Step – terminate current process, trigger an exception, trigger an alert- Loop – repeat the execution of steps within the loop, runs while end condition returns “true”- Fork – to continue process in branches, independently from each other- Block – to combine steps which should be executed one after the other and which use the same local data,
or have the same deadline, exception handler- Undefined Step – has no influence to the process flow, acts like a placeholder- Wait Step – to incorporate a delay in a process, can be defined as either a point in time or a period of time- Switch Step – to define different processing branches for a process, based on a condition for each branch
8© SAP AG 2008
© SAP 2008 / Page 8
Correlations
Correlation HandlingRouting of messages (Business Documents) toprocess instancesDependencies rely on business data (e.g.Message ID, Order ID, Business Partner ID,Company Code)Correlations define these dependencies
You use a correlation to assign messages that belong together to the same process instance. Anintegration process is to process a purchase order and the corresponding sales order, for example. Thepurchase order and the sales order have the same purchase order number. To ensure that the purchaseorder and the corresponding sales order are processed by the same process instance, you define acorrelation using the purchase order number.
Receive and send steps can activate or use correlations. First you must define a correlation before youcan enter it in a receive or send step.
9© SAP AG 2008
© SAP 2008 / Page 9
Usage of ccBPM
Integrate processes within and across systemsEnable service-based integration end-to-end todayEndorse composite applicationsProvide central orchestration – loose coupling of legacy systems
Enable model-driven process flexibilityModel-driven process automationUsage of pre-defined contentReduce adaptation time by changing models (zero coding approach)
Typical use casesB2B scenarios with request/response interaction of business partnersService Orchestration for composite applicationsSynchronous-asynchronous mainframe integration
Business Process Management
Links models with executionProvides configurationControls process executionFacilitates model-driven monitoringSupports governance & standardization
… for Service Orchestration
Decouples process logic from servicesSupports A2A, B2B integration and human workflow in a unified mannerApplicable for inter-SAP applications & compositesApplies open standards
10© SAP AG 2008
© SAP 2008 / Page 10
1. ccBPM Overview2. New Design Features3. New Runtime Features4. ccBPM in a Nutshell
Agenda
11© SAP AG 2008
© SAP 2008 / Page 11
Extended conditions and expressions
Configurable parameters
Language dependent texts
Step groups
User decisions
Alert categories
New Modeling Concepts
With SAP NetWeaver Process Integration 7.1, a lot of new modeling concepts are introduced to ccBPM (cross-component Business Process Management)
Basic extensions
Besides the Integration Process, new Process Types are offered to allow fine granular check servicesdepending on the Process Type (Integration, Monitoring, …)Language dependent text for all modeling elements allow better documentation for all SAP deliveredprocessesConfigurable Parameters allow new concepts such as parameterization in general (see conditions) anduser decision
Step Groups for speeding up process modeling
User Interaction
User DecisionsAlert Categories
Conditions and expressions
Extended capabilitiesAdvanced User Interface
Standards
Process Definition StandardsBPEL4WS 1.1 (specification/already adopted)WS-BPEL 2.0 (specification / preview / implementation)
12© SAP AG 2008
© SAP 2008 / Page 12
Language Dependent Texts
Definition of language-specific texts in Integration ProcessesDefine alerts or describe steps and translate these texts
Language dependent texts support describing processes in native language.
Define the original language in the software component version and also the target language for thetranslations.
Edit the language specific text and translate the text of the object -> “Display Translation for Object”
After designing the process, change the display language and get the description of process elements inthe defined language.
13© SAP AG 2008
© SAP 2008 / Page 13
Configurable Parameters
Configure the value of a parameterNo need to change the process definition if value must be changed laterEnables multiple processes using the same process definition, but with different parameters
Specify values for relevant processtype in the Integration Directory
Define list of Configurable Parametersin the Enterprise Services Repository
Configurable Parameters enable the configuring of the values of a parameter in the Integration Processcomponent and in the Integration Directory.
Therefore, if the value must be changed later on, the process definition does not have to be changed
Also, it is possible to create multiple configurations for one process and define different values for aconfigurable parameters in each process.
Define configurable parameters in the same way as container elements.
Select in the object area of the process editor the Configurable Parameters view. Then give the parametera name and choose the required category and type:
Agent – Specifies the agent of a user decisionSimple Type – Configurable parameter to use in conditionsAdapter – Specifies the communication channel when programming a mapping lookup that will be usedin a transformation step
14© SAP AG 2008
© SAP 2008 / Page 14
Step Groups
Step groups enable creation of reusable templatesDesign time artifact – speeds up modelingPre-setting of some simple propertiesGlobal availabilitySet to changeable / not changeable
Step group in anIntegration Process
Preset properties
Template of re-usablecombination of steps
Allow/prohibitchanges
Step groups speed up process modeling, as it is possible to define templates or typical process patternswhich can be reused at design time.
While defining a step group, some simple properties can be predefined and then later on adapted to thecurrent process design.
The change of the properties can also be prohibited if necessary and only the preset properties can beused in the process.
An advantage of the step groups is their global availability. This means that once defined, a step groupcan be used in the whole repository.
When using a defined step group at process design, the group itself can be expanded or collapsed.
15© SAP AG 2008
© SAP 2008 / Page 15
Alert Categories
Creating of alert categories directly in the Integration ProcessDesign of Integration Process and alert at the same time
Use alerts inControl Steps
Having full access to thecontainer-elementsof the alert category
Define alert at design ofIntegration Process
Another new feature is the creation of alert categories directly in the Integration Process.
Previously, it was necessary to use transaction code ALRTCATDEF and define the alert, then use thisdefinition in the Integration Process.
Now create an object of type “Alert Category” and use this in the Integration Process. After creating thealert, recipients are determined in ALRTCATDEF.
16© SAP AG 2008
© SAP 2008 / Page 16
Extended Conditions and Expressions
Define conditions to control processing depending on the result of the conditionThe condition editor supports the definition of the conditionInsert comments to ensure that conditions remain clear and easy to understand
Drag & drop and contextsensitive help
Condition Editor provides all back-endfunctionality and is re-usable by all
ESR components
With the help of conditions, you are able to control the flow of a process. Depending on the result of thedefined condition, the process will be executed in the defined way.
Use the step type “Switch” and use “Condition” in the properties.
In the integrated Condition Editor, you can formulate logical conditions.
17© SAP AG 2008
© SAP 2008 / Page 17
User Decisions
Generic user decision during the execution of an Integration ProcessDeadline occurs, or an alert is thrown, option needed to directly interactProvides decision gateway and outcomes of the user decision, and uses the IntegrationDirectory for responsibility determinationUses container elements type “agent” from the configurable parametersAssigned user receives a dialog work item in the workflow inbox at runtime
Use the new step type “User Decision” to enable a user to decide which branch of a process flow shouldbe executed.
For each decision option, a branch is entered.
At runtime, the user will be notified by a dialog work item in the workflow inbox.
To define the text to be displayed for the user, it is possible to use local variables. At runtime, thesevariables will be replaced with the current data from the process.
Within “User Decision”, you will use the introduced “Configurable Parameters” to determine which usershould be notified at runtime. Therefore, you use the configurable parameter type “Agent”.
18© SAP AG 2008
© SAP 2008 / Page 18
BPEL 2.0 and BPEL4People
Standard SupportBPEL4WS 1.1 (specification / already adopted)WS-BPEL 2.0 (specification / preview / implementation)Plans to support BPEL4People
SAP isA leader in BPEL-Standard adoptionA driver of the BPEL-Standard
SAP was one of the proposers of the OASIS WS-BPEL Technical CommitteeSAP works together with IBM on BPEL standard extensions
SAP joined the BPEL initiative in March 2003 and it isCo-author of the BPEL4WS 1.1 specificationEarly adopter of BPEL4WS 1.1SAP NetWeaver customers are live and in production with BPEL4WS 1.1Co-author of the WS-BPEL 2.0 proposal
SAP was one of the proposers of the OASIS WS-BPEL Technical Committee
SAP actively participates in the OASIS WS-BPEL Technical Committee
SAP works together with IBM on two significant BPEL Extensions:How people interacts with BPEL processes (people interaction patterns go beyond simple Webservices calls)Modularization and reuse in WS-BPEL
19© SAP AG 2008
© SAP 2008 / Page 19
1. ccBPM Overview2. New Design Features3. New Runtime Features4. ccBPM in a Nutshell
Agenda
20© SAP AG 2008
© SAP 2008 / Page 20
New Runtime Behavior of the BPE
Delivery ModeDelivery of messages to receive steps to running process instancesAvailable with
SAP NetWeaver 2004 SPS 17SAP NetWeaver 7.0 SPS 8
Queue AssignmentParallelization of process executionAvailable with
SAP NetWeaver 2004 SPS 18 and SAP NetWeaver 7.0 SPS 09 (configurable queue)SAP NetWeaver 2004 SPS 19 and SAP NetWeaver 7.0 SPS 10 (multiple queues)
Flexible Hibernation / Transaction HandlingBlock-oriented handling of persistency within the transactional conceptAvailable with
SAP NetWeaver 2004 SPS 19SAP NetWeaver 7.0 SPS 10
BPE Message BulkingAvailable with
SAP NetWeaver 7.0 SPS 13SAP NetWeaver Process Integration 7.1 SPS 4
The following parameters to configure the BPE runtime behavior have been introduced:Delivery Mode: Governs the delivery of messages to receive steps to running process instancesQueue Assignment: Permits a parallelization of process executionTransaction Handling: Defines the sync-points with the databaseBPE Message Bulking: Provides a mass delivery of messages to receive steps
Those parameters and their impact on the process design and the process runtime (BPE) will discussed indetail.
21© SAP AG 2008
© SAP 2008 / Page 21
Delivery Mode
Defines whether messages are handed over to process instance directly or withintermediate buffering
If instance does not provide an open receive step,the process type specific queue (XBQO$PE_WS...)goes to status “SYSFAIL”
Message might be captured and stored but is neverprocessed (long running processes, erroneousprocesses with active correlations)
Process instance has to provide an open receivestep when message is handed over to BPE
Intermediate message storage if process instancedoes not provide an open receive step
All messages that fit to an active correlation aretaken up by a running process instance
Without BufferingWith Buffering
The parameter Delivery Mode governs the delivery of messages to receive steps to running processinstances
The parameter can take two values “With Buffering” and “Without Buffering”
Setting With BufferingAdditional storage of messages: If message to be delivered to running process cannot be taken up by areceive step, it is bufferedThe following receive step will take up buffered messageDrawback: If no further receive step is available, the message is captured by the process and might getlost
Setting Without BufferingMessage is delivered directly to waiting receive stepDeveloper has to guarantee that for each delivered message there will be an open receive stepDrawback: If instance does not provide an open receive step, the process type specific queue(XBQO$PE_WS...) goes to status “SYSFAIL”
22© SAP AG 2008
© SAP 2008 / Page 22
Queue Assignment
Defines whether messages are handed over to process instance using single ormultiple queues
Might conflict with correlation handlingWorks for all process definitions
Using multiple queues per process typeArbitrary distribution to queues: “Multiple Queues (Random)”Distribution based on correlations: “Multiple Queues
(Content-Specific)”
All messages dedicated to a specific process typeare handled by a single queue
Multiple QueuesSingle Queue
Queue Assignment: Permits a parallelization of process execution
Technically spoken, it defines whether messages are handed over to process instance using single ormultiple queues.
Multiple queues may either useArbitrary distribution to queues (and hence process instances). Mainly used for split processes.
OrContent-based distribution (required for all process types using correlations). Mainly used for collectprocesses.
23© SAP AG 2008
© SAP 2008 / Page 23
Transaction Handling
Adjustable transaction handling
So far:Pessimistic assumption regarding transactional behaviorRequired numerous creation of work items and execution DB actions
Now:Developer decides whether
A step creates new transactionor
The steps are executed synchronouslyConfigurable DB sync points
Developer decides whetherA step creates new transaction
orThe steps are executed synchronously
Configurable DB sync points
24© SAP AG 2008
© SAP 2008 / Page 24
BPE Message Bulking
Delivery of message bulks to BPE inbound processing
AdvantagesDelivery of multiple messages to process instance in a single transactionRaises message throughput (but: latency of single message may increase)Reduces persistence effortReduces occupied DB space
Delivery of message bulks to BPE inbound processing in order to increase message throughput.
25© SAP AG 2008
© SAP 2008 / Page 25
1. ccBPM Overview2. New Design Features3. New Runtime Features4. ccBPM in a Nutshell
Agenda
26© SAP AG 2008
© SAP 2008 / Page 26
Cross-Component BPM in a Nutshell
Design, execute and monitor automatedprocesses across applications
Provides process control in the centraltechnology layerGraphical Process EditorBPM Runtime: BPE
Integral part of Process IntegrationEnterprise Services Repository (Design)Integration Directory (Configuration)Integration Server (Runtime)
Adheres to open modeling standardsBusiness Process Execution Language (BPEL)
Technical Process MonitoringIntegrated with technical Monitoring of PIGraphical Process Monitoring
BusinessSystem
4
BusinessSystem
1
IntegrationServer
BusinessSystem
3
BusinessSystem
21 2 3
Messages
Message
4
BusinessProcessEngine
IntegrationEngine
27© SAP AG 2008
© SAP 2008 / Page 27
Copyright 2008 SAP AG. All Rights Reserved
No part of this publication may be reproduced or transmitted in any form or for any purpose without the express permission of SAP AG. The information contained herein may be changed without priornotice.
Some software products marketed by SAP AG and its distributors contain proprietary software components of other software vendors.
Microsoft, Windows, Excel, Outlook, and PowerPoint are registered trademarks of Microsoft Corporation.
IBM, DB2, DB2 Universal Database, OS/2, Parallel Sysplex, MVS/ESA, AIX, S/390, AS/400, OS/390, OS/400, iSeries, pSeries, xSeries, zSeries, System i, System i5, System p, System p5, System x, System z,System z9, z/OS, AFP, Intelligent Miner, WebSphere, Netfinity, Tivoli, Informix, i5/OS, POWER, POWER5, POWER5+, OpenPower and PowerPC are trademarks or registered trademarks of IBM Corporation.
Adobe, the Adobe logo, Acrobat, PostScript, and Reader are either trademarks or registered trademarks of Adobe Systems Incorporated in the United States and/or other countries.
Oracle is a registered trademark of Oracle Corporation.
UNIX, X/Open, OSF/1, and Motif are registered trademarks of the Open Group.
Citrix, ICA, Program Neighborhood, MetaFrame, WinFrame, VideoFrame, and MultiWin are trademarks or registered trademarks of Citrix Systems, Inc.
HTML, XML, XHTML and W3C are trademarks or registered trademarks of W3C®, World Wide Web Consortium, Massachusetts Institute of Technology.
Java is a registered trademark of Sun Microsystems, Inc.
JavaScript is a registered trademark of Sun Microsystems, Inc., used under license for technology invented and implemented by Netscape.
MaxDB is a trademark of MySQL AB, Sweden.
SAP, R/3, mySAP, mySAP.com, xApps, xApp, SAP NetWeaver, and other SAP products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of SAP AGin Germany and in several other countries all over the world. All other product and service names mentioned are the trademarks of their respective companies. Data contained in this document servesinformational purposes only. National product specifications may vary.
The information in this document is proprietary to SAP. No part of this document may be reproduced, copied, or transmitted in any form or for any purpose without the express prior written permission ofSAP AG.
This document is a preliminary version and not subject to your license agreement or any other agreement with SAP. This document contains only intended strategies, developments, and functionalities ofthe SAP® product and is not intended to be binding upon SAP to any particular course of business, product strategy, and/or development. Please note that this document is subject to change and may bechanged by SAP at any time without notice.
SAP assumes no responsibility for errors or omissions in this document. SAP does not warrant the accuracy or completeness of the information, text, graphics, links, or other items contained within thismaterial. This document is provided without a warranty of any kind, either express or implied, including but not limited to the implied warranties of merchantability, fitness for a particular purpose, or non-infringement.
SAP shall have no liability for damages of any kind including without limitation direct, special, indirect, or consequential damages that may result from the use of these materials. This limitation shall notapply in cases of intent or gross negligence.
The statutory liability for personal injury and defective products is not affected. SAP has no control over the information that you may access through the use of hot links contained in these materials anddoes not endorse your use of third-party Web pages nor provide any warranty whatsoever relating to third-party Web pages.