bpm104.pdf

17
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.

Upload: leandro-nic-vid

Post on 03-Jun-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: BPM104.pdf

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.

Page 2: BPM104.pdf

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

Page 3: BPM104.pdf

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)

Page 4: BPM104.pdf

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

Page 5: BPM104.pdf

8/12/2019 BPM104.pdf

http://slidepdf.com/reader/full/bpm104pdf 5/17

Page 6: BPM104.pdf

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

Page 7: BPM104.pdf

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:

Page 8: BPM104.pdf

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

Page 9: BPM104.pdf

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

Page 10: BPM104.pdf

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)

Page 11: BPM104.pdf

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

Page 12: BPM104.pdf

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

Page 13: BPM104.pdf

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

Page 14: BPM104.pdf

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)

Page 15: BPM104.pdf

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

Page 16: BPM104.pdf

8/12/2019 BPM104.pdf

http://slidepdf.com/reader/full/bpm104pdf 16/1716

DEMO

Thank You!

Page 17: BPM104.pdf

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