how to redesign ccbpm process

59
Tobias Breyer, Prashant Gautam, Meghna Shishodiya, Volker Stiehl October/November/December, 2013 POP300 How to Redesign ccBPM Processes Using SAP NetWeaver Process Orchestration

Upload: vipul-kapadia

Post on 18-Nov-2015

89 views

Category:

Documents


11 download

DESCRIPTION

How to Redesign Ccbpm Process

TRANSCRIPT

  • Tobias Breyer, Prashant Gautam, Meghna Shishodiya, Volker Stiehl

    October/November/December, 2013

    POP300

    How to Redesign ccBPM Processes Using SAP NetWeaver Process Orchestration

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

  • 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

  • Redesigning ccBPM

    processes:

    challenge and chance

  • 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

    Time for cleaning up

  • 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

    Addresses mainly human interactions

  • Introducing BPMN

  • 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

    Current Version: BPMN 2.0 (released in January 2011)

  • 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

    Throw/catch

  • 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

    Subroutine call

  • 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

    Waiting for all threads to finish

  • 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:

    Stops the process or sub-process immediately

  • 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

    Very powerful means for integration processes

  • 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

    Business Process Model and Notation Data Objects

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

    Explaining BPMN semantics: Tokens traversing the sequence flow

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

    Explaining BPMN semantics: Tokens traversing the sequence flow

  • Model comparison:

    BPEL vs. BPMN

  • 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

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

    Example: flight booking coordination

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

    Direct BPEL to BPMN-translation

  • 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

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

    Example: flight booking coordination

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

    Example: flight booking coordination using SAP NW PO (Variant 1)

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

    Example: flight booking coordination using SAP NW PO (Variant 2)

  • Redesigning use cases

  • 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

    Use Enhanced Receiver Determination / Dynamic Message Router

  • 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

    Sync/Async-Bridges typically create only short-lived stateful process instances (seconds, not days)

  • 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

    Use Operation Mappings with sequences of Mapping Program calls

  • 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

    Process content can remain untouched in case of changes to the messaging configuration

  • 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

    5. In BPM, extract the data from the Message Event into the Process Context

  • 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)

    BPM supports attachments at tasks which can be manipulated through UI

  • 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

  • 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 administrators 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

    Use Notification Activities for business-related errors that require business users for resolution

  • 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)

    ?

    http://scn.sap.com/docs/DOC-3081http://scn.sap.com/docs/DOC-3081http://scn.sap.com/docs/DOC-3081

  • 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

    Maintain Order at Runtime

  • 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

  • How to start processes with

    multiple interfaces

  • 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

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

    Multiple interfaces for starting a process

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

    Multiple interfaces for starting a process Messages to BPM

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

    Multiple interfaces for starting a process Aggregated message from BPM

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

    Multiple interfaces for starting a process

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

    Multiple interfaces for starting a process

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

    Multiple interfaces for starting a process

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

    Multiple interfaces for starting a process

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

    Multiple interfaces for starting a process

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

    Multiple interfaces for starting a process

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

    Multiple interfaces for starting a process

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

    Multiple interfaces for starting a process

  • Demo Multiple interfaces for starting a process

  • 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 doesnt 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.

  • 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

    See SAP Process Orchestration patterns on SCN

    http://www.enterpriseintegrationpatterns.com/http://www.enterpriseintegrationpatterns.com/http://scn.sap.com/community/process-orchestration/blog/2012/09/15/sap-process-orchestration-integration-patterns

  • 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

    Scenarios

  • Key Takeaways

  • 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

  • 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

    http://www.sap.com/platform/netweaver/components/process-orchestration

    https://training.sap.com/v2/course/bit800-sap-netweaver-process-orchestration---introduction-classroom-010-g-en/http://www.sap.com/educationhttp://www.sapteched.com/onlinehttp://scn.sap.com/community/process-orchestrationhttp://scn.sap.com/community/process-orchestrationhttp://scn.sap.com/community/process-orchestrationhttp://www.sap.com/platform/netweaver/components/process-orchestrationhttp://www.sap.com/platform/netweaver/components/process-orchestrationhttp://www.sap.com/platform/netweaver/components/process-orchestration

  • 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

    http://saptechedhandson.sap.com/

    http://sapteched.com/online

    http://saptechedhandson.sap.com/http://sapteched.com/online

  • Feedback Please complete your session evaluation for POP300.

    Thanks for attending this SAP TechEd session.

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

    Please see http://www.sap.com/corporate-en/legal/copyright/index.epx#trademark for additional trademark information and notices.

    http://www.sap.com/corporate-en/legal/copyright/index.epxhttp://www.sap.com/corporate-en/legal/copyright/index.epxhttp://www.sap.com/corporate-en/legal/copyright/index.epx