• No results found

How to Redesign Ccbpm Process

N/A
N/A
Protected

Academic year: 2021

Share "How to Redesign Ccbpm Process"

Copied!
59
0
0

Loading.... (view fulltext now)

Full text

(1)

Tobias Breyer, Prashant Gautam, Meghna Shishodiya, Volker Stiehl

October/November/December, 2013

POP300

How to Redesign ccBPM Processes Using

SAP NetWeaver Process Orchestration

(2)

© 2013 SAP AG or an SAP affiliate company. All rights reserved. 2

Disclaimer

This presentation outlines our general product direction and should not be relied on in making a

purchase decision. This presentation is not subject to your license agreement or any other agreement

with SAP. SAP has no obligation to pursue any course of business outlined in this presentation or to

develop or release any functionality mentioned in this presentation. This presentation and SAP's

strategy and possible future developments are subject to change and may be changed by SAP at any

time for any reason without notice. 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 assumes no responsibility for errors or omissions in this

document, except if such damages were caused by SAP intentionally or grossly negligent.

(3)

© 2013 SAP AG or an SAP affiliate company. All rights reserved. 3

Agenda

Redesigning ccBPM processes: challenge and chance

Introducing BPMN

Model comparison: BPEL vs. BPMN

Redesigning use cases

 Receiver determination

 Providing synchronous interfaces via ccBPM

 Message header access

 Attachment handling

 Alerting

 System error handling

 Outbound “Exactly Once In Order” handling

Demo: How to start processes with multiple interfaces

Key takeaways

(4)

Redesigning ccBPM

processes:

(5)

© 2013 SAP AG or an SAP affiliate company. All rights reserved. 5

Redesigning ccBPM processes is a challenge and a chance

Moving from ccBPM to SAP NetWeaver BPM is a

challenge

 BPEL to BPMN transformation (no automatic translation possible, block concept vs. flow concept)

 Different Feature Sets of the BPM engines

 PI Double Stack to Process Orchestration Java-only transformation

– What about ABAP mappings and local ABAP-based services?

Moving from ccBPM to SAP NetWeaver BPM is a

chance

 Lower TCO of a Java-only solution (simplified administration, integrated monitoring, faster SP updates)

 Lower TCD due to integrated toolset in SAP NetWeaver Developer Studio

 Benefit from advanced BPM/BRM feature set

– Integration of human-centric processes and business rules

– Benefit from process analytics

 High Scalability of SAP NetWeaver BPM

– IBM Whitepaper WP102045: 2,800 concurrent users / 112,000 tasks per hour (peak)/ ~85,000 SAPS system

(6)

© 2013 SAP AG or an SAP affiliate company. All rights reserved. 6

3-layer architecture for process-driven applications

Stateless Integration & Service Layer

Connectivity and message transfer

Data structure adaptations

Infrastructure services

Stateful Integration Layer

Covers stateful integration processes

– Aggregator, Resequencer

– Rosetta Net as an example for well-defined stateful message exchanges

Business Layer

“Gold nugget”, differentiating factor

Covers business processes

(7)
(8)

© 2013 SAP AG or an SAP affiliate company. All rights reserved. 8

Business Process Model and Notation

“The primary goal of BPMN is to provide a notation that is readily understandable by all

business users, from the

business analysts

that create the initial drafts of the processes,

to the

technical developers

responsible for implementing the technology that will perform

those processes, and finally, to the

business people

who will manage and monitor those

processes. Thus, BPMN creates a

standardized bridge

for the gap between the business

process design and process implementation.”

OMG, BPMN 2.0 Specification

First published in 2002

Official standard of the Object Management Group (OMG) since 2006

SAP, Oracle and IBM worked on specification and implementations since 2007

(9)

© 2013 SAP AG or an SAP affiliate company. All rights reserved. 9

Business Process Model and Notation – Key shapes

Gateway

Event

Activity:

 A step in a process

Represents work or action to be performed

 Statement

Gateway:

Controls flow branching, merging and parallel actions

 Pure logic – does not do the decision itself

 Control flow

Event:

 A signal that „something has happened“

 Can start, pause and resume or interrupt and redirect a process or activity

(10)

© 2013 SAP AG or an SAP affiliate company. All rights reserved. 10

Business Process Model and Notation – Activities

User Task:

 Activity that has to be processed by a natural person

 Typically associated with a user interface (JSF, JSP, servlet,…)

Service Task:

 Activity that is processed by a system

 Defined via an interface description (e.g. WSDL)

 Typically calling a web service or an EJB

Sub-Process:

 A compound (decomposable) activity that holds a BPMN modeled sub-process

 Can be shown collapsed or expanded

 Can be embedded (local) or referenced (global)

 Used for structuring processes

 Subroutine

Call Activity:

 Used to call a global sub-process or a global single task

(11)

© 2013 SAP AG or an SAP affiliate company. All rights reserved. 11

Business Process Model and Notation – Gateways

Exclusive Choice (data-based):

 Only one path can be taken

 Each gate has a Boolean data expression

 if-then-else, switch

Parallel Split/Fork (also AND gateway):

 Splits sequence flow in parallel streams

 “Multithreading”

Event-based Exclusive Choice:

 Only one path can be taken

 Decision is based on events, not data condition Exclusive/Uncontrolled Merge:

 Merge exclusive alternative incoming sequence flows to one outgoing sequence flow

Parallel Join:

 Merge parallel alternative incoming sequence flows to one outgoing sequence flow

(12)

© 2013 SAP AG or an SAP affiliate company. All rights reserved. 12

Business Process Model and Notation – Events

Message Start Event:

 Waits for a message and creates a new process instance or indicates start of a sub-process

Intermediate Timer Event:

 Pauses the sequence flow of a process or a sub-process for/until a specific time

Intermediate Message Event:

 Waits for and receives a message Error End Event:

 Stops the process or sub-process immediately and throws an error

Message End Event:

 Ends a sequence flow in a process or a sub-process and sends a message Termination:

(13)

© 2013 SAP AG or an SAP affiliate company. All rights reserved. 13

Business Process Model and Notation – Orchestration and

collaboration

Pool:

 A Pool contains a single „BPMN- Process“

 A sequence flow is constrained in exactly one pool

 A Process diagram may contain several pools

 A pool generally represents a logical collection of roles, organizational units and systems Lane:

 A pool may be divided into lanes

 A lane generally represents a role or an organizational unit Orchestration:

Modeling a process flow of control in a single internal (active) pool

Representation as sequence flow

 Execution Sequence Collaboration:

 Modeling interaction between pools (not flow of control!)

Representation as message flow

(14)

© 2013 SAP AG or an SAP affiliate company. All rights reserved. 14

Data Object:

An artifact that stores data in the process context

 Can be a single object or a list of objects ( )

 XML Schema Definition used to define data objects

 Comparable to Variables in programming languages

Data Object

(15)

© 2013 SAP AG or an SAP affiliate company. All rights reserved. 15

(16)

© 2013 SAP AG or an SAP affiliate company. All rights reserved. 16

(17)

Model comparison:

BPEL vs. BPMN

(18)

© 2013 SAP AG or an SAP affiliate company. All rights reserved. 18

Comparing BPEL with BPMN

Transformations and Container Operations Covered by Mappings Switch Control Block Fork Loop Wait

Superfluous in BPMN

(19)

© 2013 SAP AG or an SAP affiliate company. All rights reserved. 19

(20)

© 2013 SAP AG or an SAP affiliate company. All rights reserved. 20

(21)

© 2013 SAP AG or an SAP affiliate company. All rights reserved. 21

Example: flight booking coordination using BPMN

Multiple Bookings Cancel Booking Booking Booking Confirmation Confirmation Failure

(22)

© 2013 SAP AG or an SAP affiliate company. All rights reserved. 22

(23)

© 2013 SAP AG or an SAP affiliate company. All rights reserved. 23

(24)

© 2013 SAP AG or an SAP affiliate company. All rights reserved. 24

(25)
(26)

© 2013 SAP AG or an SAP affiliate company. All rights reserved. 26

Redesigning usage of “Receiver Determination”

What is problematic about this redesign?

 Process is not really stateful – indicates a stateless integration

 Integration logic buried in modeled processes, instead of configured integration

 Reduced performance inherited from ccBPM design

How can you do better?

• Move “Receiver Determination steps and specified receivers at Send Steps into Integration Flows

• Use Content-Based Routing in Integration Flows

(27)

© 2013 SAP AG or an SAP affiliate company. All rights reserved. 27

Redesigning the provisioning of synchronous interfaces via ccBPM

Why should you be careful with such redesigns?

 This pattern puts a heavy burden on your system

 The short-lived data creates administrative effort, e. g. for archiving and deletion

How can you do better?

• Decide whether you really need the modeled approach, monitoring, and persistence of BPM here

• Other alternatives exist, which usually perform better, with less administrative effort

• Check out the alternatives on next slide

What you need to know

 ccBPM provides synchronous interfaces by means of the Sync-Async-Bridge

 ccBPM and BPM are asynchronous in nature and cannot guarantee response times for such patterns

(28)

© 2013 SAP AG or an SAP affiliate company. All rights reserved. 28

Options for implementing typical scenarios without BPM

Sync/Async & Async/Sync Bridge

• Check out the Sync/Async-Bridge & Async/Sync-Bridge in the JMS Adapter set of Adapter Modules

ResponseOnewayBean, RequestResponseBean, WaitResponseBean, NotifyResponseBean

• Despite the name, the modules can be applied with other adapters as well

Content Enricher Pattern involving RFC, JDBC, SOAP Adapter

• Check out the Lookup Channels supported by Operation Mappings

Content Enricher & Filter Pattern involving RFC, EJB, Enterprise Services

• Check out the Service Composer Perspective in SAP NetWeaver Developer Studio

• Supports Projection, Simplification and Sequential Execution of Services

Message Translator Pattern

• Check out whether Operation Mappings support your use-case

(29)

© 2013 SAP AG or an SAP affiliate company. All rights reserved. 29

Redesigning message header access

Typical use cases when accessing the message header in ccBPM

 MessageId as unique identifier for correlation purposes

 Adapter-specific header fields (e.g. filename for file adapter, JMS correlation id for JMS adapter, business information for B2B adapter) for monitoring purposes and adapter-specific handling

?

How can you achieve the same in a cleaner way with SAP NetWeaver BPM?

• Leave adapter-specifics to SAP NetWeaver PI components, e. g. Operation Mappings, Alert Engine

• Hide adapter- and XI-protocol specifics from BPM, abstract it through the business payload

What are the benefits?

• Separation of concerns

(30)

© 2013 SAP AG or an SAP affiliate company. All rights reserved. 30

Redesigning message header access – detailed procedure

4.

Configure Integration Flow using mapping of step 3 to provide enhanced business data

including the message header to BPM

1.

In Enterprise Services Repository (ESR): define data type for storing relevant header data

2.

Use Mapping API to access header, e. g. encapsulated in a User Defined Function (UDF)

3.

Use the UDF in a Message Mapping

(31)

© 2013 SAP AG or an SAP affiliate company. All rights reserved. 31

Redesigning message attachment handling

?

What options do you have in an SAP NetWeaver Process Orchestration installation?

 Enterprise Content Management Integration (ECMI)

 Operation Mapping APIs allow access to InputAttachments/OutputAttachments to move attachments from/to main payload

What do you need in relation and what should be avoided?

• Use e. g. JPR proxies and Web services to store/read attachments to/from ECM (details next slide)

• Do not send complete attachments to BPM, supply relevant parts or identifiers instead (cf. Claim Check pattern)

What you need to know

 ccBPM can route attachments through a process and manipulate them using Operation Mappings

 ccBPM attachment routing cannot be turned off (transparent feature)

(32)

© 2013 SAP AG or an SAP affiliate company. All rights reserved. 32

Redesigning message attachment handling – detailed procedure

Attachment

Capable Adapter

(HTTP, email)

Integration Flow

JPR Server

Proxy Implemen-

tation (Java)

BPM

Enterprise

Content Mgmt.

Web service

enabled EJB

ECM

Storage

All running on SAP NetWeaver Process Orchestration

1

Java API Java

API

(local) Web service call

(33)

© 2013 SAP AG or an SAP affiliate company. All rights reserved. 33

Redesigning alerting

Why should you be careful with such redesigns?

 Alert consolidation is not possible / only in the administrator„s email inbox.

 Misses technical, adapter-specific details that help in solving the issue

 Integration of issue tracking systems difficult (e. g. SAP Solution Manager)

What you need to know

 ccBPM use case is to notify administrators of technical errors and provide helpful information

 ccBPM supports raising Alerts to the ABAP Alert Management, including data from process context

 BPM supports Notification Activities sending customizable emails to internal and external recipients

How can you do better?

• Evaluate Component-Based Message Alerting for alerting technical errors within PI to administrators

•Possible consumers: Solution Manager, standard batch job for email distribution of alerts, or self-developed consumers accessing alerts via standard web service

(34)

© 2013 SAP AG or an SAP affiliate company. All rights reserved. 34

Redesigning system error handling

Handling System Errors will be possible with SAP NetWeaver Process

Orchestration 7.4 SP5 or 7.31 SP10, scheduled for December 2013

 Using standard boundary event of type “TechnicalError”

 Provides details about the error for use in notification and error handling

What you need to know

 ccBPM supports handling technical errors, but provides no access to further details, such as error message

 BPM supports handling modeled Faults only, providing access to the fault message

How can you implement system error handling before 7.4 SP5 / 7.31 SP10?

• Implement a Web service wrapping the original service and which maps system errors to a Fault

• Refer to SCN document DOC-3081 (http://scn.sap.com/docs/DOC-3081)

(35)

© 2013 SAP AG or an SAP affiliate company. All rights reserved. 35

Redesigning outbound “Exactly Once In Order” sending (EOIO)

What you need to know

 ccBPM supports specifying a Queue Name, so that messages are sent with Quality of Service EOIO

 BPM supports no specification of Quality of Service

What are the prerequisites?

• Ordered delivery possible only within one process instance, not across instances

• Scenario has no requirements concerning queue names, as they cannot be specified

• Implementation of Note 1870107

?

How can you achieve EOIO for common cases in a cleaner way?

1. Send one bulk message containing all messages with EOIO requirements

within one process instance in a single Automated Activity

2. In the associated Integration Flow use Interface Splits / Split Mappings with

(36)

© 2013 SAP AG or an SAP affiliate company. All rights reserved. 36

What are the determining factors of a successful redesign?

Provide business value through new or improved scenarios

Improve scalability and performance of your scenario Improve end user experience

Reduce administrative efforts

Follow software engineering practices in integration architectures

Loose Coupling principle

Separation of Concerns principle Reuse principle

(37)

How to start processes with

multiple interfaces

(38)

© 2013 SAP AG or an SAP affiliate company. All rights reserved. 38

Multiple interfaces for starting a process

Fork…

…followed by RECEIVE steps with “Start Process” semantics

(39)

© 2013 SAP AG or an SAP affiliate company. All rights reserved. 39

(40)

© 2013 SAP AG or an SAP affiliate company. All rights reserved. 40

Multiple interfaces for starting a process

Messages to BPM

(41)

© 2013 SAP AG or an SAP affiliate company. All rights reserved. 41

Multiple interfaces for starting a process

Aggregated message from BPM

(42)

© 2013 SAP AG or an SAP affiliate company. All rights reserved. 42

(43)

© 2013 SAP AG or an SAP affiliate company. All rights reserved. 43

(44)

© 2013 SAP AG or an SAP affiliate company. All rights reserved. 44

(45)

© 2013 SAP AG or an SAP affiliate company. All rights reserved. 45

(46)

© 2013 SAP AG or an SAP affiliate company. All rights reserved. 46

(47)

© 2013 SAP AG or an SAP affiliate company. All rights reserved. 47

(48)

© 2013 SAP AG or an SAP affiliate company. All rights reserved. 48

(49)

© 2013 SAP AG or an SAP affiliate company. All rights reserved. 49

(50)

Demo

(51)

© 2013 SAP AG or an SAP affiliate company. All rights reserved. 51

Good to know…

ccBPM

SAP NetWeaver BPM

Block: in ccBPM the scope of a correlation condition can be limited to the block (a local correlation).

Correlations in SAP NetWeaver BPM are activated as soon as a process instance is running and the variables of the correlation condition contain meaningful values. A scope

change can be realized by modifying the correlation condition, so that new messages will not be consumed anymore.

Block: nested blocks can contain receive steps In SAP NetWeaver BPM receive steps are only allowed in referenced subprocesses

ccBPM allows the usage of one interface within several processes

SAP NetWeaver BPM doesn‟t support the reuse of inbound start interfaces in more than one conditional-start process model

Acknowledgements are supported in both cases (provisioning as well as consumption)

No acknowledgement support Abstract interfaces are being used for the communication

between the integration server and the ccBPM engine

Up to SAP NetWeaver Process Orchestration 7.31 SP 8 no abstract interfaces were supported. Starting with SP 9 you can reuse your existing abstract interfaces as well.

(52)

© 2013 SAP AG or an SAP affiliate company. All rights reserved. 52

SAP NetWeaver Process Orchestration

Enterprise integration patterns speed up the migration

Providing best practices and guidelines on how to

implement common integration and business requirements on SAP NetWeaver Process Orchestration

Enterprise integration patterns

Do help in solving recurring problems faced in the integration of enterprise applications

See Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions

by Gregor Hohpe and Bobby Woolf

Enterprise integration patterns on Process

Orchestration

Blog on SCN describing how to best implement enterprise integration patterns on PI/PO

(53)

© 2013 SAP AG or an SAP affiliate company. All rights reserved. 53

SAP NetWeaver Process Orchestration

Migration of Directory Content

Using the new directory content migration tool, you could considerably reduce the migration effort

Migrate classical PI scenarios

to

integrated configuration objects (ICOs)

 Supporting both Java-only and dual-stack

target systems

 Source PI system as of XI 3.0 and newer

 Tool runs in target system

 Automatic directory objects matching and migration checks

 Renaming of objects via renaming rules

 Mass change support for communication

channels

Check out TechEd hands-on session

POP262: Migration Tool from Double

Stack to Single Stack Integration

(54)
(55)

© 2013 SAP AG or an SAP affiliate company. All rights reserved. 55

Key Takeaways

Migrating to SAP NetWeaver Process Orchestration is

highly attractive for the following reasons:

Lower TCO of a Java-only solution

Lower TCD due to integrated toolset in SAP NetWeaver

Developer Studio

Benefit from advanced BPM/BRM feature set

An automated migration of existing BPEL based

processes to BPMN is not possible due to the

fundamental differences between the notations

SAP supports the migration by providing the content

migration tool, ready-to-use Enterprise Integration

Patterns, and many online articles/blogs

(56)

© 2013 SAP AG or an SAP affiliate company. All rights reserved. 56

Further Information

SAP Education and Certification Opportunities

Course BIT800

www.sap.com/education

and search for BIT800 “SAP NetWeaver Process Orchestration – Introduction”

Watch SAP TechEd Online

www.sapteched.com/online

SAP Public Web

http://scn.sap.com/community/process-orchestration

(57)

© 2013 SAP AG or an SAP affiliate company. All rights reserved. 57

SAP TechEd Virtual Hands-on Workshops and SAP TechEd Online

Continue your SAP TechEd education after the event!

SAP TechEd Virtual Hands-on Workshops  Access hands-on workshops post-event

 Available January – March 2014

 Complementary with your SAP TechEd registration

SAP TechEd Online

 Access replays of keynotes, Demo Jam, SAP TechEd LIVE interviews, select lecture sessions, and more!  View content only available online

(58)

Feedback

Please complete your session evaluation for POP300.

(59)

© 2013 SAP AG or an SAP affiliate company. All rights reserved. 59

© 2013 SAP AG or an SAP affiliate company. 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 prior notice.

Some software products marketed by SAP AG and its distributors contain proprietary software components of other software vendors.

National product specifications may vary.

These materials 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 Group products and services are those that are set forth in the express warranty statements accompanying such products and services, if any. Nothing herein should be construed as constituting an additional warranty.

SAP and other SAP products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of SAP AG in Germany and other countries.

References

Related documents

• To clean the Home Button, just wipe it with a microfiber cloth and this will allow Touch ID to work!. • If you use a silicone case to protect your iPhone, the inside of the case

We could render the verse, “But we know absolutely that whatever things the Law says it says to those within the sphere of the law, in order that every mouth may be

Operational Data Integration Data Consolidated Data Enterprise Data Enterprise Resources Components and Integration Services Business Services Business Processes SOR Semantic

Saturday (hard day, 6-8 hours): dojo class conditioning hard stretching sparring weight training  bag work. running

In Chapter 3, we studied microstructural and mechanical properties of MMNCs processed via two in situ methods, namely, in situ gas-liquid reaction (ISGR) and

The information contained herein was obtained from sources believed reliable; however, McNeff Commercial Real Estate makes no guarantees, warranties or representations as to

thuringiensis PI-PLC (PDB 1PTD) and (right) S. aureus structure was obtained at pH 7.4. There is a structural change at lower pH values where an intramolecular Phe249 π/His258

A new framework for the measurement of information quality is developed and twenty two information quality dimensions are identified for measuring information quality