bpm104.pdf
TRANSCRIPT
8/12/2019 BPM104.pdf
http://slidepdf.com/reader/full/bpm104pdf 1/17
1
BPM104
Process Modeling Best Practices
with SAP NetWeaver BPM
Sören Balko, NetWeaver BPM R&D
27/08/2009
© SAP AG 2009. All rights reserved. / Page 2
Disclaimer
The information in this presentation is confidential and proprietary to SAP and may not be
disclosed without the permission of SAP. This presentation is not subject to your license
agreement or any other service or subscription agreement with SAP. SAP has no obligation to
pursue any course of business outlined in this document or any related presentation, or to
develop or release any functionality mentioned therein. This document, or any related
presentation and SAP's strategy and possible future developments, products and or platforms
directions and functionality are all subject to change and may be changed by SAP at any time
for any reason without notice. The information on this document is not a commitment, promise
or legal obligation to deliver any material, code or functionality. 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. This
document is for informational purposes and may not be incorporated into a contract. SAP
assumes no responsibility for errors or omissions in this document, except if such damages
were caused by SAP intentionally or grossly negligent.
All forward-looking statements are subject to various risks and uncertainties that could cause
actual results to differ materially from expectations. Readers are cautioned not to place undue
reliance on these forward-looking statements, which speak only as of their dates, and they
should not be relied upon in making purchasing decisions.
8/12/2019 BPM104.pdf
http://slidepdf.com/reader/full/bpm104pdf 2/172
© SAP AG 2009. All rights reserved. / Page 3
Agenda
1. Introduction
NetWeaver BPM at a Glance
Workflow Pattern Coverage
2. A Modeler’s Guide to the Galaxy Design Time
Basic Project Setup, Build, and Deployment
Layout and Modeling Efficiency
3. Human-to-Human and Human-to-System Processes
Tasks and Roles
The SOA Side of Things
4. Advanced Concepts
Message Correlation
Dynamic Parallel Looping
Transactions and Concurrency
© SAP AG 2009. All rights reserved. / Page 4
Introduction (1)
SAP NetWeaver BPM at a Glance
SAP’s next-gen business process management suite (code-named “Galaxy”)
Focus on service orchestration (aka “composition”) and H2H/H2S processes
Tight integration into SOA platform (“Composition Environment”)
Roadmap information in BPM100 (“SAP NetWeaver BPM Overview and Roadmap”)
BPMN based
Design time notation with “process development” and “process modeling” perspectives
Non block-structured, free-form modeling
Straight ahead model to execution round-tripping (no BPEL mapping)
In a nutshell: NW BPM model comprises shapes, connectors, properties
Where do we differ?
Tight integration into SAP Enterprise Services and BAPIs/RFCs
Process model-based debugging and runtime process visualization
Plays nicely with build, deployment, and transport infrastructure
High performance, multithreaded, cluster aware runtime atop transactional rule engine
8/12/2019 BPM104.pdf
http://slidepdf.com/reader/full/bpm104pdf 3/173
© SAP AG 2009. All rights reserved. / Page 5
Introduction (2)
Workflow Pattern Coverage
Academic classification of recurrent modeling scenarios
Control flow, data flow, resource perspectives
Assess the expressiveness of a BPMS offering
URL: www.workflowpatterns.com
SAP NetWeaver BPM 7.11
Full support for 30/43 patterns (70%)
Partial support for 7/43 patterns (16%)
Limited or no support for 6/43 patterns (14%)
SDN: Workflow Pattern Coverage in NW BPM 7.11
SAP NetWeaver BPM 7.20
Substantial improvements for the “Multiple Instances” patterns (“Parallel -for-Each” loops)
Substantial improvements for the “Transient/Persistent Trigger” patterns (IntermediateMessage Events, Escalation Events)
© SAP AG 2009. All rights reserved. / Page 6
Introduction (3)
Workflow Pattern Coverage (contd.)
Pattern NW BPM 7.11 NW BPM 7.20
Multiple Instances w/ a-priori RT
knowledge (WCP14)
limited support fully supported(native BPMN support)
Multiple Instances w/o a-priori RT support
(WCP15)
limited support fully supported(some modeling effort)
Deferred Choice (WCP16) partially
supported
fully supported
(native BPMN support)
Transient, Persistent Trigger (WCP23,
WCP24)
partially
supported
fully supported(native BPMN support)
Static, Cancelling, Dynamic Partial Join for
Mult. Instances (WCP34, WCP35, WCP36)
partially
supported
fully supported(some modeling effort)
8/12/2019 BPM104.pdf
http://slidepdf.com/reader/full/bpm104pdf 4/174
© SAP AG 2009. All rights reserved. / Page 7
Agenda
1. Introduction
NetWeaver BPM at a Glance
Workflow Pattern Coverage
2. A Modeler’s Guide to the Galaxy Design Time
Basic Project Setup, Build, and Deployment
Layout and Modeling Efficiency
3. Human-to-Human and Human-to-System Processes
Tasks and Roles
The SOA Side of Things
4. Advanced Concepts
Message Correlation
Dynamic Parallel Looping
Transactions and Concurrency
© SAP AG 2009. All rights reserved. / Page 8
Modeler’s Guide to the Galaxy Design Time (1)
Basic Project Setup, Build, and Deployment
Bound to the NetWeaver Development Infrastructure (NWDI)
component model
Process Composer Development Components (DC)
Variety of reusable artifacts (processes, tasks, event
triggers, reporting sources, rule sets, data mapping
functions, XSD data types, and WSDL service interfaces)
Project dependencies to reference content from other
DCs ( DEMO)
Eclipse Perspectives with full roundtripping (
DEMO) Process Development (for technical audience)
Process Modeling (for non-technical audience)
Build and Deployment
Deployment transports the new version to the runtime,
keeping the old versions in place
SDN: Understanding Business Process Lifecycle
Management Features of NW BPM
8/12/2019 BPM104.pdf
http://slidepdf.com/reader/full/bpm104pdf 5/17
8/12/2019 BPM104.pdf
http://slidepdf.com/reader/full/bpm104pdf 6/176
© SAP AG 2009. All rights reserved. / Page 11
H2H and H2S Processes (1)
User Tasks as Reusable Entities
User Interface
Build manually (WebDynpro, Visual Composer, Adobe Forms)
Or have it automatically generated from process context ( DEMO)
Role override semantics
Roles (potential/excluded owners, administrators) may be specified on different levels
Override order in place: Lane > Human Activity > Task ( DEMO)
© SAP AG 2009. All rights reserved. / Page 12
H2H and H2S Processes (2)
Principal propagation
Contributors: start event, intermediate event, human task (actual owner)
Authenticating automated activity calls
Propagated along control flow
8/12/2019 BPM104.pdf
http://slidepdf.com/reader/full/bpm104pdf 7/177
© SAP AG 2009. All rights reserved. / Page 13
H2H and H2S Processes (3)
BPM – SOA interoperability
Supported connectivity bindings
synchronous Web Services (stateless, non reliable)
asynchronous Web Services (stateful, reliable)
synchronous and asynchronous RFCs
Enforce external application synchronization and consistency through various patterns
Asynchronous outbound call, synchronous check (polling)
Asynchronous outbound call, asynchronous inbound call (correlation)
SOA configuration ( DEMO)
Design time: WSDL import and service group creation
Runtime: provider system binding
Name of service groupName of WSDL portTypeName of SCA “Service Reference”
© SAP AG 2009. All rights reserved. / Page 14
H2H and H2S Processes (4)
BPM – SOA Interoperability (contd.)
Design time configuration:
Create “Process Composer” Development Project
Import WSDL into project (Process Modeling Service Interfaces Import WSDL)
Create a new process and add an automated activity
In the activity’s properties, specify the WSDL portType and operation:
8/12/2019 BPM104.pdf
http://slidepdf.com/reader/full/bpm104pdf 8/178
© SAP AG 2009. All rights reserved. / Page 15
H2H and H2S Processes (5)
BPM – SOA Interoperability (contd.)
Runtime configuration:
Open NetWeaverAdministrator under http://<host>:5XY00/nwa(XY=instance number)
Go to SOA Management Technical Configuration System Connections and confirm
that a “provider system” for the service was configured ( DEMO)
Go to SOA Management App. and Scenario Communication App. Communication
and filter for the deployed development component
Under the Consumed Services tab, click on Assign Provider System and select a
Provider System
Click on Save and refresh to confirm that the provider system was successfully assigned
© SAP AG 2009. All rights reserved. / Page 16
Agenda
1. Introduction
NetWeaver BPM at a Glance
Workflow Pattern Coverage
2. A Modeler’s Guide to the Galaxy Design Time
Basic Project Setup, Build, and Deployment
Layout and Modeling Efficiency
3. Human-to-Human and Human-to-System Processes
Tasks and Roles
The SOA Side of Things
4. Advanced Concepts
Message Correlation
Dynamic Parallel Looping
Transactions and Concurrency
8/12/2019 BPM104.pdf
http://slidepdf.com/reader/full/bpm104pdf 9/179
© SAP AG 2009. All rights reserved. / Page 17
Advanced Patterns (1)
Dynamic Parallel Looping
Use-Case
Parallel batch processing/task routing for multiple line items
Dynamic number of line items (not known at design time)
Synchronization upon completion
Variants
Continue outer flow before all line items were completely processed
Cancel remaining line items when certain criterion is met
Number of line items changes at runtime
Relevant Workflow Patterns
Multiple instances without synchronization
Multiple instances with a priori design-time knowledge
Multiple instances with a priori runtime knowledge Multiple instances without a priori runtime knowledge
Static partial join for multiple instances
Cancelling partial join for multiple instances
Dynamic partial join for multiple Instances
© SAP AG 2009. All rights reserved. / Page 18
Advanced Patterns (2)
Dynamic Parallel Looping (contd.)
Multiple instances w/ a priori runtime knowledge
Workaround using a thread split, asynchronous trigger and thread merge pattern
Alternative “Multiple Instance” activity
Thread Merge
Thread Split
8/12/2019 BPM104.pdf
http://slidepdf.com/reader/full/bpm104pdf 10/1710
© SAP AG 2009. All rights reserved. / Page 19
Advanced Patterns (3)
Dynamic Parallel Looping (contd.)
Challenge: have each subflow instance process a unique line item
Referenced subflows cannot “read through” to outer process’ context
Asynchronously notify invoking flow upon successful subflow start
Use non-interrupting “escalation” end events (new!)
Escalation End
© SAP AG 2009. All rights reserved. / Page 20
Advanced Patterns (4)
Dynamic Parallel Looping (contd.)
Acceptable solution, significant modeling effort, though
Thread split/merge pattern implementations
Complex mapping expressions for extracting line items from batch
Extra subflow for spawning the asynchronous escalation event
Most cases can be natively handled using plain “Multiple Instance” activities (BPMN)
8/12/2019 BPM104.pdf
http://slidepdf.com/reader/full/bpm104pdf 11/1711
© SAP AG 2009. All rights reserved. / Page 21
Advanced Patterns (5)
Dynamic Parallel Looping (contd.)
Outer process may need to be continued before all line items are fully processed
Remaining line items still need to be processed
Downstream discriminator synchronizes
Complex mapping expressions for extracting line items from batch
Extra subflow for spawning the asynchronous escalation event
Most cases can be natively handled using plain “Multiple Instance” activities (BPMN)
© SAP AG 2009. All rights reserved. / Page 22
Advanced Patterns (6)
Correlation and Conversations
Use Cases
Asynchronous message receipt from external business partners (or other processes)
Synchronize process with environment
Bi-directional conversations, “exactly once” message collection
Intermediate Message Events
Linked to asynchronous message triggers (=Web Service endpoints)
Correlation condition refers message payload to process context
8/12/2019 BPM104.pdf
http://slidepdf.com/reader/full/bpm104pdf 12/1712
© SAP AG 2009. All rights reserved. / Page 23
Advanced Patterns (7)
Correlation and Conversations (contd.)
Collect scenarios
Correlation scope is process instance
lifetime
Message receipt/matching and
consumption are asynchronously
de-coupled
Conditional start
Start and intermediate events may
share joint trigger
New process instance is only started
if no running instance (of that process
type) receives this message in an
intermediate event (exactly once
message receipt per process type)
© SAP AG 2009. All rights reserved. / Page 24
Advanced Patterns (8)
Correlation and Conversations (contd.)
Extended message collect scenario
Start condition (optional) may differ from correlation condition to allow for message
filtering and classification
Additional time constraint may be in place
Correlation key may change during the course of the process execution
If multiple intermediate message events “match” a message, one is non-deterministically
chosen (exactly once message receipt per process instance)
Correlation semantics
Single message may be received by multiple process instances (broadcast), provided thatthe same message trigger is used
In addition, “exactly once” message receipt (per process type) may be enforced
Correlation conditions may be complex key comparisons between the message payload
and the “living” process context
A single process may receive messages from different triggers and may even contain
multiple intermediate events listening to the same trigger (potentially with different
correlation conditions)
As long as a message is “matched” by a process instance, it cannot start a new process
instance
8/12/2019 BPM104.pdf
http://slidepdf.com/reader/full/bpm104pdf 13/1713
© SAP AG 2009. All rights reserved. / Page 25
Advanced Patterns (9)
Correlation and Conversations (contd.)Correlation scope
(forcefully interrupted
before process
termination)
© SAP AG 2009. All rights reserved. / Page 26
Advanced Patterns (10)
Concurrency, Transactions, and Termination
Concepts
Process steps (activities, events, gateways) running in 0…N transactions
Transactions come w/ full ACID guarantees and run asynchronously
Process context locking granularity is on single data objects, not on sub structures thereof
Multithreaded transaction execution with non-deterministic execution order
Tokens (=threads of control) trigger transactions
Race conditions (examples)
Parallel branches writing to identical data object
Parallel processing of list-valued data object (naïve implementation)
Mitigation
Serialize accesses to identical data objects
Split data objects into multiple separate data objects
Isolate private context in (embedded, referenced) subflows
Make use of “Critical Section” pattern implementation
8/12/2019 BPM104.pdf
http://slidepdf.com/reader/full/bpm104pdf 14/1714
© SAP AG 2009. All rights reserved. / Page 27
Advanced Patterns (11)
Concurrency and Transactions (contd.)
Parallel branches
“Activity 1” and “Activity 2” write to identical data object
The runtime will serialize both activities in a non-deterministic order
How to fix it?
If both activities access different chunks of data, it is best to split up the data object into
two (performance)
If both activities access the same/overlapping data, object activities should be serialized
(deterministic outcome, fewer locking collisions at runtime)
© SAP AG 2009. All rights reserved. / Page 28
Advanced Patterns (12)
Concurrency and Transactions (contd.)
Dynamic parallel looping (naïve implementation)
“Parallel Split” forks new token which triggers subflow while other token loops to next
index
Subflow needs to map line item at given index into local context single indexes may be
skipped or duplicated
How to fix it?
Only loop to next index when subflow was started (asynchronous event)
Use “Multiple Instance” activity
(Use recursion)
8/12/2019 BPM104.pdf
http://slidepdf.com/reader/full/bpm104pdf 15/1715
© SAP AG 2009. All rights reserved. / Page 29
Virtual SAP TechEd :
Extend your SAP TechEd Year Round
Best of SAP TechEd at Your fingertips
View sessions that you missed
Replay and review sessions that you
attended
Quality SAP TechEd Training
Best Practices
Product Roadmaps
Learn at your own pace
Gain Access to sessions recorded in
2006, 2007, 2008 and
2009* (*available December 2009)
24/7 Access online/offline
Flexible Course Syllabus
Volume Licensing
Special Pricing for multiple subscribers
http://www.sdn.sap.com/irj/scn/virtualteched-allsessions
© SAP AG 2009. All rights reserved. / Page 30
Further Information
Related Workshops/Lectures at SAP TechEd 2009BPM162: Debugging, Monitoring, Traceabililty, and Troubleshooting
with SAP NetWeaver BPM (Hands-On Workshop)
BPM100: SAP NetWeaver BPM Overview and Roadmap (Lecture)
Related SAP Education and Certification Opportunities
http://www.sap.com/education/
SAP Public Web:
SAP Developer Network (SDN): www.sdn.sap.com
Business Process Expert (BPX) Community: www.bpx.sap.com
SAP BusinessObjects Community (BOC): www.boc.sap.com
8/12/2019 BPM104.pdf
http://slidepdf.com/reader/full/bpm104pdf 16/1716
DEMO
Thank You!
8/12/2019 BPM104.pdf
http://slidepdf.com/reader/full/bpm104pdf 17/17
ContactFeedback
Please complete your session evaluation.
Be courteous — deposit your trash,and do not take the handouts for the following session.
© SAP AG 2009. All rights reserved. / Page 34
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 hereinmay be changed without prior notice.
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, System i, System i5, System p, System p5, System x, System z, System z10, System z9, z10, z9, iSeries, pSeries, xSeries, zSeries,eServer, z/VM, z/OS, i5/OS, S/390, OS/390, OS/400, AS/400, S/390 Parallel Enterprise Server, PowerVM, Power Architecture, POW ER6+, POWER6, POWER5+,POWER5, POWER, OpenPower, PowerPC, BatchPipes, BladeCenter, System Storage, GPFS, HACMP, RETAIN, DB2 Connect, RACF, Redbooks, OS/2, Parallel Sysplex,MVS/ESA, AIX, Intelligent Miner, WebSphere, Netfinity, Tivoli and Informix are trademarks or registered trademarks of IBM Corporation.
Linux is the registered trademark of Linus Torvalds in the U.S. and other countries.
Adobe, the Adobe logo, Acrobat, PostScript, and Reader are either trademarks or registered trademarks of Adobe Systems Incorporated in the United States and/or othercountries.
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 W 3C®, 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.
SAP, R/3, SAP NetWeaver, Duet, PartnerEdge, ByDesign, SAP Business ByDesign, and other SAP products and services mentioned herein as well as their respectivelogos are trademarks or registered trademarks of SAP AG in Germ any and other countries.
Business Objects and the Business Objects logo, BusinessObjects, Crystal Reports, Crystal Decisions, Web Intelligence, Xcelsius, and other Business Objects products andservices mentioned herein as well as their respective logos a re trademarks or registered trademarks of Business Objects S.A. in the United States and in other countries.Business Objects is an SAP company.
All other product and service names mentioned are the trademarks of their respective companies. Data contained in this document serves informational purposes only.National product specifications may vary.
These materials are subject to change without notice. These m aterials are provided by SAP AG and its affiliated companies ("SAP Group") for informational purposes only,without representation or warranty of any kind, and SAP Group shall not be liable for errors or omissions with respect to the materials. The only warranties for SAP Groupproducts and services are those that are set forth in the express warranty statements accompanying such products and services, if any. Nothing herein should be con struedas constituting an additional warrant.
Copyright 2009 SAP AG
All Rights Reserved