J-Release Hands-on Training - BPMN 2.0 Support in webmethods BPMS



Similar documents
Process Modeling using BPMN 2.0

INTRODUCTION TO BUSINESS PROCESS MODELING NOTATION BPMN 1.2 AND BPMN 2.0

BPMN by example. Bizagi Suite. Copyright 2014 Bizagi

Analytics for Performance Optimization of BPMN2.0 Business Processes

Business Process Standards and Modeling

BPMN Business Process Modelling Notation

This document covers version of BPMN2 Modeler, published November 15, 2013.

Process Modeling Notations and Workflow Patterns

Bruce Silver Associates Independent Expertise in BPM

Model Simulation in Rational Software Architect: Business Process Simulation

Quick Guide Business Process Modeling Notation (BPMN)

BPMN Fundamentals. BPMI Meeting #12. London, United Kingdom May 13-14, Stephen A. White, IBM Notation Working Group Chair

A process model is a description of a process. Process models are often associated with business processes.

EVALUATION. WA1844 WebSphere Process Server 7.0 Programming Using WebSphere Integration COPY. Developer

White Paper BPMN 2.0 Task Types Explained

Circles and Diamonds and Squares, Oh My! Demystifying the BPMN Standard

Business Process Modelling Notation A tutorial

SemTalk BPMN Tutorial APRIL Tutorial SemTalk 4.3 BPMN Edition for Business Process Analysis

Modeling Business Processes with BPMN. Andrea Marrella

4.7 Business Process Model and Notation

Business Process Modeling with BPMN. Dr. Darius Šilingas Head of Solutions Department

IBM BPM V8.5 Standard Consistent Document Managment

Modeling Guidelines Manual

Oracle Fusion Middleware

IBM Software Group. Introduction to BPMN. Stephen A. White, BPM Architect, IBM October 16, IBM Corporation

Understanding Business Process Management

IBM Business Monitor. BPEL process monitoring

OMG releases BPMN What's changed?

ORACLE BUSINESS INTELLIGENCE WORKSHOP

IBM Business Process Manager Version 8 Release 5. Hiring Tutorial IBM

IBM Business Process Manager Version 8 Release 5. Hiring Tutorial

The Business Process Model

How to Configure the Workflow Service and Design the Workflow Process Templates

Kaldeera Workflow Designer 2010 User's Guide

The webmethods ESB. The Foundation of your SOA. Jean-Michel Ghyoot, Principal Solution Architect, March 28, 2013

10g versions followed on separate paths due to different approaches, but mainly due to differences in technology that were known to be huge.

WebSphere Business Monitor

Bruce Silver Associates Independent Expertise in BPM

BPMN 2.0 Tutorial. Daniel Brookshier Distinguished Fellow No Magic Inc.

Scribe Online Integration Services (IS) Tutorial

ActiveVOS Fundamentals

WebSphere Business Monitor V6.2 Business space dashboards

Process Modelling Notations

Oracle BPM 11g. Hands-On Workshop Lab Guide

Application. 1.1 About This Tutorial Tutorial Requirements Provided Files

Transactionality and Fault Handling in WebSphere Process Server Web Service Invocations. version Feb 2011

Business Process Modelling with BPMN. Monique Snoeck Management Information Systems Group FEB KU Leuven

Intellect Platform - The Workflow Engine Basic HelpDesk Troubleticket System - A102

Introduction to BPMN

ActiveVOS Server Architecture. March 2009

Oracle Service Bus Examples and Tutorials

Creating a Simple Business Collaboration Scenario With a BPMS

Data Tool Platform SQL Development Tools

Dr. Jana Koehler IBM Zurich Research Laboratory

Software Application Tutorial

Go beyond 95: learn Business Process Management (BPM)! Razvan Radulian, MBA Independent Consultant/Coach Why-What-How Consulting, LLC

Modeling Workflow Patterns

Using UML Part Two Behavioral Modeling Diagrams

SAP BusinessObjects Business Intelligence (BI) platform Document Version: 4.1, Support Package Report Conversion Tool Guide

Reducing or increasing the number of people assigned to an activity. A sudden increase of the number of instances flowing through the process.

WebSphere Business Monitor

vcenter Orchestrator Developer's Guide

How To Write A Cq5 Authoring Manual On An Ubuntu Cq (Windows) (Windows 5) (Mac) (Apple) (Amd) (Powerbook) (Html) (Web) (Font

Rational Team Concert. Quick Start Tutorial

Taleo Enterprise. Taleo Reporting Getting Started with Business Objects XI3.1 - User Guide

Business Process Modelling. CA4 Business Process Modelling 1

WebSphere Business Monitor V7.0 Business space dashboards

Business Process Modeling Information Systems in Industry ( )

Building and Using Web Services With JDeveloper 11g

Visual Paradigm Quick Start

Orchestrating Document and Media Management using CMIS

XPDL 2.0 and BPMN 1.0 Tutorial

Human-Readable BPMN Diagrams

Results CRM 2012 User Manual

BPMN Business Process Modeling Notation

Business Process Modeling Notation. Bruce Silver Principal, BPMessentials

BPMN 2.0 Descriptive Constructs

Alfresco Online Collaboration Tool

Bizagi BPM Suite. Functional Description. Copyright 2014 Bizagi

Instructions for Use. CyAn ADP. High-speed Analyzer. Summit G June Beckman Coulter, Inc N. Harbor Blvd. Fullerton, CA 92835

PowerLogic ION Enterprise 6.0

Tutorial Build a simple IBM Rational Publishing Engine (RPE) template for IBM Rational DOORS

What's New in ActiveVOS 7.0

SIMATIC. WinCC V7.0. Getting started. Getting started. Welcome 2. Icons 3. Creating a project 4. Configure communication 5

M-Files Gantt View. User Guide. App Version: Author: Joel Heinrich

StreamServe Persuasion SP5 Upgrading instructions

Presentation Reporting Quick Start

Custom Reporting Basics for ADP Workforce Now. Automatic Data Processing, LLC ES Canada

Talend Open Studio for MDM. Getting Started Guide 6.0.0

ODEX Enterprise. Introduction to ODEX Enterprise 3 for users of ODEX Enterprise 2

QAD BPM Release Notes

SOA Enabled Workflow Modernization

Citrix EdgeSight for Load Testing User s Guide. Citrix EdgeSight for Load Testing 3.8

IBM Operational Decision Manager Version 8 Release 5. Getting Started with Business Rules

F9 Integration Manager

Business Insight Report Authoring Getting Started Guide

WebSphere Business Monitor

Transcription:

J-Release Hands-on Training - BPMN 2.0 Support in webmethods BPMS Olaf Brinkmann Corporate University April 2011 Software AG Training Page 1 All rights reserved 2000-2010

Welcome to Software AG Training! Housekeeping Items Class hours Refreshments Smoking Restrooms Emergency exits Sign-in sheets So Everyone Benefits, please: Turn off/silence cell phones and pagers Check e-mail only at breaks Refrain from side discussions We all want to hear what you have to say! Feel free to ask questions during the lecture Page 2 Software AG Training Page 2 All rights reserved 2000-2010

Agenda Introducing BPMN BPMN Support in webmethods BPMS Activities Activity Markers Events Sequence Flows (Transitions) Gateways Pools, Swimlanes, and Message Flows Miscellaneous Changes and Enhancements Debugger Process Monitor Simulation Page 3 Software AG Training Page 3 All rights reserved 2000-2010

Introducing BPMN Demo: Demo Title Software AG Training Page 4 All rights reserved 2000-2010

BPMN 2.0 A specification A standard BPMN 2.0 A pretty huge tome! Page 5 webmethods 8.2 starts to tackle BPMN2.0 in phases; it is not attempting to boil the ocean. So with 8.2, there is no full support of BPMN because BPMN 2.0 is a pretty huge specification. Software AG Training Page 5 All rights reserved 2000-2010

BPMN = Business Process Model & Notation BPMN (Business Process Model and Notation) is the new standard for business process modeling. Within a short period, it has gained widespread adoption in practice. Prof. Dr. Thomas Allweyer University of Applied Sciences Kaiserslautern (former IDS Scheer employee) Page 6 Software AG Training Page 6 All rights reserved 2000-2010

What is the purpose of BPMN? Business people are very comfortable with visualizing Business Processes in a flow-chart format. There are thousands of business analysts studying the way companies work and defining Business Processes with simple flow charts. This creates a technical gap between the format of the initial design of Business Processes and the format of the languages that will execute these Business Processes. This gap needs to be bridged with a formal mechanism that maps the appropriate visualization of the Business Processes (a notation) to the appropriate execution format (a BPM execution language) for these Business Processes. Page 7 Software AG Training Page 7 All rights reserved 2000-2010

Who is behind BPMN 2.0? Page 8 Big names are behind of BPMN. For competition and compliance, also webmethods BPMNS now supports BPMN. Software AG Training Page 8 All rights reserved 2000-2010

BPMN 2.0 is the execution language for webmethods Page 9 Software AG Training Page 9 All rights reserved 2000-2010

BPMN Evolution Timeline Ref Model WfMC WPDL XPDL 1.0 XPDL 2.0 XPDL 2.1 XPDL 2.2 BPMI BPMN 1.0 XML OMG BPMN 1.0 BPMN 1.1 BPMN 1.2 BPMN 2.0 1994.. 1998. 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 Page 10 Software AG Training Page 10 All rights reserved 2000-2010

BPMN has own Semantics - And can be Complex! Page 11 Software AG Training Page 11 All rights reserved 2000-2010

What BPMN 2.0 Standardizes Notation Graphical depiction of the model Activities, Flows, Events, Gateways, Orchestration Semantics (Execution) Definition of Process Runtime - i.e., execution behavior of various notational constructs Choreography Semantics Definition of Runtime Interaction between partners and behavioral constraints between them Serialization The XML representation of models BPMN 2.0 file (storage/interchange) Page 12 BPMN 2.0 is more holistic than BPEL, so even former fans of BPEL now join the BPMN bandwagon. BPMN 2.0 Standardizes: Notation: standardized look and feel (icons, ). Partially supported by webmethods BPMS 8.2. Orchestration Semantics: how the process behaves internally. Choreography Semantics: Interaction between different processes and the outside world (e.g. external pools) including behavioral constraints between them. This is currently not supported by webmethods BPMS 8.2. Serialization: How BPMN models can be stored and exchanged, now covered now by BPMN 2.0. Instead of using XPDL (like in previous attempts), BPMN 2.0 now describes BPMN 2.0 files for storage/interchange. This is currently not supported by webmethods BPMS 8.2. (still using XPDL in the background, even with E-BPM and ARIS exchange). Software AG Training Page 12 All rights reserved 2000-2010

BPMN 2.0 - THE Poster It has to be at your wall! Page 13 Software AG Training Page 13 All rights reserved 2000-2010

Slicing the Poster Drill down to the details Page 14 Software AG Training Page 14 All rights reserved 2000-2010

BPMN Activities Page 15 BPMN Task: Unit of work of certain types, includes webmethods (User Tasks) BPMN callable processes are different from webmethods Referenced Processes. Callable processes must start with a None Start Event; Referenced Processes must start with a Start Message Event. All data of a Call Activity are passed to the None start Event without mapping or configuration. A BPMN Callable Process may end with a End Message Event or an End Error Event, which can be caught by appropriate Intermediate Events a the Call Activity. If there isn t any, the Event will throw to the next outmost environment where it is (hopefully) caught. Transactions are not supported by webmethods BPMS yet. Software AG Training Page 15 All rights reserved 2000-2010

BPMN Task Activities Important Note The term "Task" has a different meaning in BPMN compared with webmethods human "Tasks" executed by the Task Engine. They are called "User Tasks" in BPMN. Get used to the BPMN terminology! Page 16 Send Task = like former webmethods BPMS Publish or Reply User Task = like former webmethods BPM Task Manual Task = not available in 8.0, like User Task, but without UI, like shake hand with customer, Business Rule Task = like former webmethods BPMS Rule step, enhanced to support new webmethods Business Rules Receive Task= like former webmethods BPMS Receive step Script task: not implemented with 8.2 Software AG Training Page 16 All rights reserved 2000-2010

BPMN Activity Markers Markers are related to Activities. Page 17 Markers are related to Activities. They are partially supported by webmethods BPMS. For example, Ad hoc and MI Marker not implemented yet. Software AG Training Page 17 All rights reserved 2000-2010

BPMN Sequence Flows Sequence Flow = Transition Page 18 Transitions are called Sequence Flows. They are represented by solid line with a filled arrow at the target. Three types of sequence flows exist with different icons: Unconditional (ordinary) Default (like former webmethods "Else" Transition) Conditional webmethods BPMS extends the specification by having three more conditional transitions: Join Timeout, Unsatisfied Join Step Iterations Exceeded Software AG Training Page 18 All rights reserved 2000-2010

BPMN Gateways x Diverging and converging Gateways Page 19 In webmethods BPMS 8.0 there was only one Gateway step. BPMN is more specific. BPMN 2.0 specifies splitting AND merging behavior (diverging Gateway and converging Gateway). Supported by webmethods BPMS 8.2: Exclusive Gateway Inclusive Gateway Parallel Gateway Complex Gateway Event-based Gateways are NOT supported in webmethods BPMS 8.2. Software AG Training Page 19 All rights reserved 2000-2010

BPMN Events Classification Event type (None, Message, Signal, Error, Timer, Terminate, ) Don't panic here! Event location (Start, Intermediate, Intermediate Boundary, End) Caching/Throwing Interrupting/non-interrupting Page 20 BPMN distinguished Events by type and location. Events are the main difference to former webmethods BPMS 8.0. Supported types: None, Message, Signal, Error, Timer, Terminate Currently unsupported types, but available in specification: Escalation, Conditional, Link, Cancel, Compensation, Multiple, Parallel Multiple Event locations are: Start, Intermediate, Intermediate Boundary, End Events can be catching or throwing. Filled/solid icon means throwing, non-filled/non-solid icons means catching. Intermediate Boundary can be interrupting and non-interrupting. Solid lines means interrupting, dashed lines means non-interrupting. Software AG Training Page 20 All rights reserved 2000-2010

Swimlanes, Pools, and Message Flows Message Flow describes the information flow between Pools (Participants) Represented by dashed lines with arrows. Page 21 Partially supported by webmethods BPMS. Currently only one internal pool allowed. Currently no real support for participants (and Message Events). Software AG Training Page 21 All rights reserved 2000-2010

BPMN Data No BPMN 2.0 Data support in wm 8.2. Data is as before proprietary Page 22 Data not supported in webmethods BPMS 8.2. Business Data are still handled like in webmethods BPMS 8.0 by using the process pipeline. Software AG Training Page 22 All rights reserved 2000-2010

The final BPMN 2.0 Spec will contain Sub-Classes SIMPLE Sequence Flow (unconditional) None Task Sub-process (embed) Exclusive Gateway Parallel Gateway Start None Event End None Event DESCRIPTIVE Pool Swimlane Message Flow User Task Service Task Call Activity Data object Data store Text annotation Association Link Event pair Start Message Event End Message Event Start Timer Event End Terminate Event ANALYTICAL All elements Page 23 Software AG Training Page 23 All rights reserved 2000-2010

BPMN 2.0 Encompasses Four Model Types Process Collaboration Conversation New in in BPMN 2.0 Choreography New in in BPMN 2.0 Page 24 Software AG Training Page 24 All rights reserved 2000-2010

BPMN Model in webmethods BPMS Process webmethods Process Collaboration Conversation New in in BPMN 2.0 Choreography New in in BPMN 2.0 Page 25 Software AG Training Page 25 All rights reserved 2000-2010

BPMN 2.0 Model in webmethods BPMS - Sample Page 26 Software AG Training Page 26 All rights reserved 2000-2010

BPMN Reference Material 4 April 2011 Software AG - Get There Faster Page 27 Software AG Training Page 27 All rights reserved 2000-2010

BPMN Reference Material The Spec at OMG: http://www.bpmn.org/ Definition in Wikipedia: http://en.wikipedia.org/wiki/business_process_modeling_notation Bizagi: http://wiki.bizagi.com/en/index.php?title=bpmn BPMN Poster: http://www.bpmb.de/poster Page 28 Software AG Training Page 28 All rights reserved 2000-2010

BPMN Support in webmethods BPMS Demo: Demo Title Software AG Training Page 29 All rights reserved 2000-2010

Key Goals for BPMN 2.0 Support in webmethods BPMS 8.2 Maintain FULL backward compatibility previous models convert and run seamlessly Support enough BPMN to facilitate ARIS Integration Constructs that go from EPC to BPMN are supported Supported by all affected webmethods components Designer, Monitor, Debugger, etc. Page 30 Full backward compatibility: asking for converting when loading an old model into Designer. BPMN will be the glue between ARIS and webmethods (BPE, E-BPM). Affects entire product stack. Software AG Training Page 30 All rights reserved 2000-2010

BPMN Support in webmethods BPMS BPMN Support in Designer Process Engine Process Debugger Process Monitor Optimize Process Simulation ARIS Interoperability (E-BPM) Page 31 Supporting BPMN required a major effort in all areas in and around webmethods BPMS as well as in ARIS. Software AG Training Page 31 All rights reserved 2000-2010

BPMN Support in Designer Changes to various perspectives, views, canvas, context menus, properties, icons In-place conversion when loading process models from previous versions Downward compatibility for previous version Support for E-BPM (ARIS-process driven BPMN process model exchange between ARIS and webmethods) ARIS Task view Usage of CentraSite as exchange repository/registry Page 32 Software AG Training Page 32 All rights reserved 2000-2010

New Palette in Designer Offers BPMN notation BPMN elements grouped in folders Supports drag & drop as well as click & paste Hide/show Palette Pin/unpin folders Replaces former icon bar on top of design canvas Page 33 New Palette at the right instead of icon bar on top of the design canvas. Software AG Training Page 33 All rights reserved 2000-2010

Activities Software AG Training Page 34 All rights reserved 2000-2010

BPMN 2.0 Support in webmethods BPMS - Activities Activity= Thing that is performed, or done Notation: Blue rectangles with rounded edges. BPMN Activity types: Task Activity (various sub-types) Subprocess Activity Call Activity Page 35 Software AG Training Page 35 All rights reserved 2000-2010

Task Activities - Overview Task Activity sub-types: Abstract Task Service Task User Task Manual Task Rule Task Send Task Receive Task Former Activity step of type Empty Former Activity step of type IS Service or Web Service Former Activity step of type Task That s new Former Activity step of type Rule (Blaze or wm Business Rule new) Former Publish or Reply step Like former Receive step Page 36 New BPMN constructs supported are Receive Task, Send Task, Abstract Task and Manual Task. The invoke types of IS Service and Web Service are folded into a single implementation choice for an Service Task. The referenced process type was removed from the set of choice for invoke type from the invoke step implementation and elevated as a new palette option, the BPMN construct, Call Activity. BPMN also knows Script Tasks not supported here.. Software AG Training Page 36 All rights reserved 2000-2010

Abstract Task Activity Empty activity No wrapping IS service after Build & Upload, but step will be executed by Process Engine and tracked by Monitor Usage: making the model more clear or readable enhance the model later by changing the type from abstract to another type, e.g. service Inputs/Outputs: Allows to define a signature in advance Former Activity step of type Empty will be converted to an Abstract Task Activity Page 37 Somehow like a No Op step was former Activity step of type Empty. Both, the Abstract Task Activity and the Manual Task Activity (see later) are executed by the Process Engine and will have data in the WmProcessStep table. These data will show as step details in Process Monitor. There is no service associated with these types of Task Activities, so no business logic is executed. However, the Process Engine does still execute the step and log a start and end record for them in the process audit schema (WmProcessStep table). Since no service is executed, there is no impact on the pipeline even when specifying Inputs and Outputs. Inputs and Outputs can be used by a user to abstractly enter a signature for the task before actually deciding to later make it a Service/User Task. Abstract Task are also called None Tasks. Software AG Training Page 37 All rights reserved 2000-2010

Service Task Activity Activity to invoke IS Service Web Service Support for Browse and New Replacement for former IS Service activity and Web Service Activity steps Former Activity step of type IS Service and Web service will be converted to an Service Task Activity Page 38 Service can have type IS Service or Web Service. Combines former IS service activity and Web Service activity step. Both must be executed by an IS (no direct access to an external Web service). The Implementation tab contains radio buttons that allow a user to choose the implementation. "Browse" starts to select. Based on the service choice from browsing and choosing a service or on drag & drop from the Package Navigator tree, the radio button should reflect the correct type of service. "New" starts appropriate wizard to create an new IS service or a Web service descriptor. Currently no support for REST services offered. Software AG Training Page 38 All rights reserved 2000-2010

User Task Activity Activity to call a webmethods (User) Task hosted by Task Engine Same as former Task step Former Activity step of type Task will be converted to a User Task Activity. Page 39 User Task Activity invokes a CAF Task hosted by MWS. That s the former Activity step of type Task. Software AG Training Page 39 All rights reserved 2000-2010

Manual Task Activity In a process model, a Manual Task represents any manual activity except an MWS Task Examples: Shake hand with customer Say Bye-Bye to prospect No wrapping IS service after Build & Upload, but step will be executed by Process Engine and tracked by Monitor Page 40 Manual Task is a No Op in PE - that s new. Although there is no wrapping service, the activity is executed by the Process Engine and the step shows up in Monitor. This Task allows users to represent a task of somewhat undefined length or implementation. An example is a task representing a repair person coming to a site to repair something. Software AG Training Page 40 All rights reserved 2000-2010

Rule Task Activity Synchronous invocation of Blaze Rule service in IS wm Business Rules Decision entity (currently Decision Table only) wm Business Rules Rule Set Data Mapping of Task Input/outputs to Blaze Rule service signature Named input/output parameters of Decision table Aggregated named input/out parameters of all decision entities contained in Rule Set Former Activity step of type Rule will be converted to a Rule Task Activity of type Blaze. Page 41 Allows to invoke Blaze rule service or to call a new webmethods Business Rule entity (Decision Table or Rule Set). Software AG Training Page 41 All rights reserved 2000-2010

Rule Task Activity and webmethods Business Rules Input Output Mapping Process Engine Task Business Data inparms resultparms Mapping Decision Table Action Task Engine Task abc Investigate PID[] based on Logged Fields Data Action Service Action Process Action : Start Process Action : Join Process Action : Cancel Process Action : Suspend Process Action : Resume Process Action : Fail Process Action : Manual.. () publish() changeprocess Status() queuetask() Rules Engine Process Start/ Join Data PID[] Task Business Data + Process Metadata Page 43 Rule Tasks in a process can invoke a webmethods Business Rule entity. Supported are Decision Tables and Rule Sets. In both cases, Inputs and Outputs of the Rule Task have to be mapped to the input and result parameters of the invoked rule entity. A Decision table may use actions defined by webmethods Business Rules. An action itself has got parameters of type in, out or both. These have to be mapped when invoking an action from a decision table. Invocations can be: -At the right side of an assignment as part of a condition column of a Decision Table, action return value becomes the assigned value (not possible for Process Actions) -At the right side of an assignment as part of a result column of a Decision Table, action return value becomes the assigned value (not possible for Process Actions) -Direct invocation of an action in a result column of a Decision Table, no action return value is returned by the decision table! Remark: Event Rules can also invoke an action in a result column (with in an assignment or directly). In case of invoking a Manual Process action from a decision table, the DT must have the checked property Process aware. This allows to pass the process metadata from the PE to the RE and from there to the TE. So TE can perform the SOAP callback to the PE waiting at the Business Rule Task. After queueing a new task, RE returns a notification to the PE to wait for a task to be completed, in all other cases PE will continue with the next steps in the process workflow. Return parameters of the Decision table will be mapped to the Output data of the Business Rule Task. In case of using a Manual Process action, Task Business Data must fit to the Decision Table parameters mapped to the action parameters to allow the initialization of the task input Business Data and to pass back output Business data from the completed task to the PE. In case of using a Manual Process Action, the behavior of the calling Rule Task in the process is a little different. It waits similar like a User Task for the completion of the started Task performed by the Task Engine. Internally used IS services: - publish: pub.publish.publish() - changeprocessstatus: pub.prt.admin.changeprocessstatus(), also used: pub.prt.admin.suspendprocesses() and pub.prt.admin.resumeprocesses() - queuetask: pub.task.taskclient.queuetask() Services to return list of process IDs: - Build in - Custom: service has to return output specification; (WmMonitor) pub.monitor.process.actios:customimploutputdoc (contains as string list of PIDs) Software AG Training Page 43 All rights reserved 2000-2010

Send Task Activity A) Publish Scenario No "Send synchr. reply to" Task assigned Publishes chosen document to Broker Former Publish Step converted to Send without " reply to" Former Reply step with unassigned "Reply To" converted to Send without "Send synchronous reply to" Works like new Intermediate Message Event (throwing). Page 44 Send Task essentially publishes a document. It can be used in a former Publish or Reply scenario. Depending on the scenario, Broker Publish or Simple Service Protocol is used. A Send Task is somehow similar to the new throwing Intermediate Message Event (see later). In contrast to SEND, this one also supports JMS. In all cases, the protocol to be used is determined by the corresponding Receive Task. A) Publish scenario: A Send Task without a selected "Send synchronous reply to" Receive Task always uses the "Publish to Broker" protocol to send (publish) the doc. "Publish to Broker" is also used, if the process that contains the Send Task has been kicked of by a Receive Task using SSP, but NO "Send synchronous reply to" has been assigned. Software AG Training Page 44 All rights reserved 2000-2010

Send Task Activity B) Reply Scenario "Send synchronous reply to" assigned to a Receive Task with Simple Service Protocol Uses Simple Service Protocol Allows in conjunction with assigned Receive Task using SSP to provide a process (portion) as a synchronous Web service Receive Task: receives Web service input data Send Task: replies with web service output data Former Reply step with assigned "Reply To" converted to Send with assigned "Send synchronous reply to". Page 45 B) Reply scenario: If the process that contains the Send Task has been kicked of by a Receive Task using SSP and this Receive Task (using SSP) has been assigned as "Send synchronous reply to" at the Send Task, the Send Task will use SSP to send the document as a synchronous reply, so the corresponding is determined by the Receive Task. In this constellation, a (portion of a) process (Receive with SSP downstream to Send with SSP and assigned "Send synchronous reply to") could be invoked in a synchronous fashion via Web service invocation. Software AG Training Page 45 All rights reserved 2000-2010

Receive Task Activity Allows to receive a document/message. Supports all protocols: Subscription (Broker p/s) JMS Simple Service Protocol Can be within a process (intermediate Receive)* Receive/Send) Can be first process task** Can create a new process instance** Supports correlation and subscription filters Former Receive steps using SSP converted to a Receive Task. Former beginning Receive not starting a new process converted to a Receive Task * not recommended for Subscription or JMS protocol; use Intermediate Message Event (catch.) instead (used by automatic conversion) ** not recommended for Subscription or JMS protocol; use Start Message Event instead (used by automatic conversion). Page 46 Receive Task essentially subscribes to a document. allows for Broker, JMS, and Simple Service Protocols. It covers the combined functionality of the new Start Message Event and Intermediate Message Event (catching). Receive Task can be a start or intermediate receive where it receives a document and can start a process (start receive) or join with an already running process (intermediate receive). The properties panel for a Receive Task offers the following possibilities: The General tab allows the user to choose whether the Receive is able to start a process (property "Allow this receive task to start a new process instance") or is an intermediate Receive. The default is that it is an intermediate receive. The Implementation tab includes all of the properties available for the former Receive step -- document subscription, subscription filter, receive protocol, eform properties when an eform is the subscription document. Correlation tab is available in order to handle correlation when the receive is an intermediate receive or Receive that does not start a process instance. If the Receive is a start receive, only outputs for mapping and logging are available. Software AG Training Page 46 All rights reserved 2000-2010

Don t Get Confused Part I Activity step of type Empty Activity step of type Service Activity step of type WS Activity step of type Rule -- Activity step of type Task -- Receive step using SSP or not starting a process Intermediate Receive step using SSP Publish and Reply step < 8.2 Abstract Task Activity Service Task Activity IS Service Task Activity WS Rule Task Activity Blaze Rule Task Activity wm B.Rules User Task Activity Manual Task Activity Receive Task Activity Receive Task Activity using SSP Send Task Activity 8.2 Page 47 BPMN 2.0 specification offers two possibilities for receiving/catching and sending/throwing documents. a) Receive/Send task b) Catching/throwing Message Events Software AG Training Page 47 All rights reserved 2000-2010

BPMN 2.0 Support in webmethods BPMS - Activities Activity = Thing that is performed, or done Notation: Blue rectangles with rounded edges. BPMN Activity types: Task Activity (various sub-types) Subprocess Activity Call Activity Page 48 Software AG Training Page 48 All rights reserved 2000-2010

Subprocess Activity Encapsulates portions of a process Can be collapsed and expanded. Collapsed subprocess decorated by "+" Marker: Supports Loop property (see later) Page 49 The new Subprocess Activity has the same implementation as before in the Process Engine. Because of this, it is not BPMN 2.0 implementation-compliant since it is not really a contained set of steps. Transactionality and compensation are still missing. The webmethods implementation is somehow like a marked container. Transitions internally target the first step(s) and outgoing transitions are leaving from the last step (or implicit Join), which is not the BPMN 2.0 behavior. In BPMN a subprocess has an incoming and outgoing transition stitched to the subprocess. In addition to V8.0, looping functionality has been extended to be more compliant to the standard (see later with Markers). Former outgoing Error transitions checked as "compensating" converted into Intermediate Boundary Error Event (noninterrupting) checked as "Restore starting pipeline" and outgoing transition (see later with Exceptions). Software AG Training Page 49 All rights reserved 2000-2010

Call Activity Call Activity can be used to invoke another process. Supports invocation of: Referenced Processes like in 8.0 BPMN Callable processes New Call Activity always has got bold borders; "+" Marker only visible when child process assigned Supports Loop property (see later) Page 50 Call Activity can be used to invoke a Referenced Process (choose type "webmethods Referenced Process") or that's new it is a BPMN 2.0 style Call Activity that calls another child process in a BPMN 2.0 compliant way (choose type "BPMN Callable Process"). So, the first becomes a webmethods proprietary extension to a Call Activity. In contrast to an ordinary Activity, a Call Activity always has got bold borders. Call Activities can now loop (see later with Markers). The Call Activity gets only decorated with a + Marker when the Referenced Process or Callable Process has already been assigned to the Call Activity. Software AG Training Page 50 All rights reserved 2000-2010

Call Activity of Type "Referenced Process" Broker Broker Former Activity step of type Referenced Process will be converted to a Call Activity of type Referenced Process (webmethods proprietary): Receive step -> Start Message Event Publish step -> Send Task Page 51 Using drag and drop or Browse to define the process to be invoked, a child processes that does not contain a None Start Event will be defaulted to the type "webmethods Referenced Process" when creating a Call Activity. In contrast, child processes containing a None Start Event (optionally the process may contain a Start Message Event also) will be defaulted to the type "BPMN Callable Process" when creating a Call Activity (see later slides). A Call Activity of Type "Referenced Process" works like the former Activity Step of type Referenced Process. The Call Activity still has got Start/Return documents properties like in V8.0 in addition to the Inputs/Outputs. The Referenced Process receives the start document via the Broker and has to start with a Message Start Event checked to allow a new process instance. Optionally, the invoked process may return a document to the waiting Call Activity (synchronous behavior) by using a Publish Task. This technology also supports the invocation of Dynamic Referenced Processes as added with version 8.0. For conversion, any Publish steps are converted to Send Tasks. The Send Task will be created and upgraded with the original publish document from the former Publish step. Software AG Training Page 51 All rights reserved 2000-2010

Call Activity of Type "Referenced Process" Data Exchange Only configured documents are exchanged Child cannot access parent's pipeline Support for Dynamic Referenced Processes like in 8.0 Page 52 Process to be invoked is labeled as Referenced Process. Parameter are passed via the Broker to the referenced process. For return from the child process, the child would have a publish step which would publish a chosen document to the parent who in turn was subscribed to the document for continuation of the parent. Returned parameter are also published using the Broker and added to the pipeline of the calling process. In this scenario there is no way to remove fields from the parent pipeline. Start/Return documents for Referenced Processes type Call Activities and Input/Output should be populated for BPMN Call Activities from the global process specification on the child. Software AG Training Page 52 All rights reserved 2000-2010

Call Activity of Type "BPMN Callable Process" BPMN way of calling another process Prerequisite: Callable Process MUST start with Start None Event: Signature of a callable process specified by new process property "Global Process Specification" available for all BPM processes. Signature propagated to own Start None Event and invoking Call Activity Page 53 A child process called by a Call Activity of type "BPMN Callable Process" must start with at least one None Start Event. In addition, a process can possess more than one None Start Event. Moreover, for any process, now a global process specification can be defined. This is not required for all processes, but it is mandatory for process to be called by a Call Activity of type "BPMN Callable Process". That defines the child process signature used as the process input/output when calling the process via a Call Activity. When you drag a process with a leading Start None Event and a Global Process specification onto another process, it creates a Call Activity of type "BPMN Callable Process". That Call Activity have the Inputs/Outputs set that correspond to the Global Process Specification set on the dragged child process. Child processes containing at least one None Start Event (optionally the process may contain multiple None Start Events and a Start Message Event also) will be defaulted to the type "BPMN Callable Process" when creating a Call Activity. When converting 8.0 processes in Designer 8.2, all processes are enhanced by an empty Global Process Specification. Software AG Training Page 53 All rights reserved 2000-2010

Call Activity of Type "BPMN Callable Process" Data Exchange Signature of child process propagated to Call Activity (Inputs/Outputs) Child process receives entire pipeline and passes back (modified) pipeline No Receive/Send Page 54 Process to be invoked is labeled as Callable Process. In BPMN, the pipeline itself is the payload to and from the child process and there is no longer the notion of publishing to the child and publishing back to the parent. So, BPMN Call Activities pass their entire pipeline to the callable child process as this is defined by the BPMN specification. Conversely, the callable child passes its entire pipeline back to the Call Activity with any modifications the child process may have made. If the child process contains a Send Task (probably converted form a former Publish step), the Send Task will its publish document, but the entire pipeline will still be handed back to the parent on completion of the child of type "BPMN Callable Process". Hint: The pipeline returned to the waiting Call Activity is the pipeline wherever the child process "ends". The process designer should take care to join all paths of execution accordingly to construct the appropriate pipeline. With respect to the Global Process Specification describing the inputs and outputs to the child process, this specification is to simplify the mapping. If there was no specification, the designer of the child process would have to have knowledge of the pipeline in order to map to and from it. By including this specification, it is much simpler to map these pipeline values. Software AG Training Page 54 All rights reserved 2000-2010

Call Activity Drag & Drop / Browse Drag & Drop from Palette defaults to BPMN Callable Process. When configuring a Call Activity and using assigning a child process using "Drag & Drop" from Solutions view onto Call activity or process whitespace "Browse" button within Call Activity properties the Call Activity makes an "intelligent decision": A child process containing at least one None Start Event will be defaulted to "BPMN Callable Process". A child process that does not contain a None Start Event will be defaulted to the type "webmethods Referenced Process". "Hybrid" child processes possible Page 55 Child processes containing at least one None Start Event (optionally the process may contain multiple None Start Events and a Start Message Event also) will be defaulted to the type "BPMN Callable Process" when creating a Call Activity. In contrast, child processes that do not contain a None Start Event will be defaulted to the type "webmethods Referenced Process" when creating a Call Activity. "Hybrid" child processes are possible if you provide a Message Start and a None Start Event within one model. If a child process has got multiple None Start Events, the sequence they are fired is non-predictable (BPMN-conform). So, this is possible, but somehow useless. Software AG Training Page 55 All rights reserved 2000-2010

Don t Get Confused Part II Activity step of type Referenced Process -- Subprocess Call Activity of type webmethods Referenced Process Call Activity of type BPMN Callable Process Subprocess Activity < 8.2 8.2 Page 56 Software AG Training Page 56 All rights reserved 2000-2010

Activities and Images All Activities (except for Subprocess) may be decorated by an Image Extended Image library and support for custom images (Designer preferences) Restore Defaults removes chosen image Images assigned to former activity steps will be converted Page 57 Same as in 8.0, collapsed Subprocess Activities can not have an image assigned. Software AG Training Page 57 All rights reserved 2000-2010

Exercise 1 - BPMN Callable Process Demo: Demo Title Exercise 2 - Converted Referenced Process Exercise Software AG Training Page 58 All rights reserved 2000-2010

Activity Markers Software AG Training Page 59 All rights reserved 2000-2010

BPMN 2.0 Support in webmethods BPMS Activity Markers Activity Marker = Symbol attached to an Activity to help identify what it is designed to do Activity Marker types: Subprocess Marker Compensation Marker Loop Marker Parallel Multi-instance (MI) Marker* Sequential Multi-instance (MI) Marker* Ad Hoc marker* webmethods-proprietary Activity Markers: Process-level handlers for Error, Timeout, Cancel These show as small badges on the step chosen. *webmethods BPMS currently does not support all Activity Marker types contained in BPMN specification. Page 60 MI Markers and Ad hoc Markers are contained in the BPMN specification, but currently not implemented by webmethods BPM. Software AG Training Page 60 All rights reserved 2000-2010

Subprocess Marker Subprocess Activities and Call Activities can have Subprocess Markers ("+"). Subprocesses always have Subprocess Markers. Clicking the "+" Marker expands the subprocess in the same editor pane. Contrary "-" collapses. Call Activities only have Subprocess Markers if they contain a reference to another referenced or callable process. Clicking the "+" Marker opens the referenced/called child process in another editor pane. Page 61 The Call Activity gets only decorated with a + Marker when the Referenced Process or Callable Process has already been assigned to the Call Activity. Software AG Training Page 61 All rights reserved 2000-2010

Compensation Marker All Activities* (Tasks, Subprocesses, Call Activities) can be checked as "Compensating". To configure activity compensation: Select the Compensating check in the Properties view of an Activity Checked Compensation is shown as a "Rewind" icon at the Activity. Remark Compensation only indicated by the Marker, but not implemented yet in webmethods BPMS. *Exception: Manual Task Page 62 Compensation Markers (displayed as "Rewind" decorator at the Activity) are added to all Activities which are checked as "Compensating". This is possible for all Task Activities (with the exception of a Manual Task), Subprocess an Call Activities. The intended behavior as described by the BPMN specification is: The pipeline flowing into the Activity is preserved in case of a later error in the activity execution. Under normal circumstances, the pipeline is passed to the Activity (Subprocess, or Call Activity, or Task Activity) and after successful execution the resulting pipeline is passed to the next Activity or Event in the (parent) process. In a compensation situation, the preserved pipeline is used to compensate for the Subprocess, Call Activity, or Task Activity error, allowing the (parent) process to continue. Implemented behavior: Because of the possible obstacles when implementing a "real" compensation - think about rollback, transactions, Two-Phase-Commit, distributed runtime environments, clustering, undo of User Tasks, - webmethods currently only shows Compensation markers, but does not implement them! Remark: Don t mix up Compensation Markers with an Intermediate Boundary Error Event (non-interrupting) checked as "Restore starting pipeline" and an outgoing transition at a subprocess (see later with Exceptions). Software AG Training Page 62 All rights reserved 2000-2010

Loop Marker Activities can have Loop markers. Loop markers indicate a loop (repeat) of the Activity. webmethods BPMS currently supports Loop Markers for Call Activities Subprocess Activities Loop configuration using new Loop Properties. Loops are supported by Debugger and Process Monitor. Page 63 Loop markers not fully supported in 8.2 only available for Subprocess and Call Activities. BPMN 2.0 specifcation also contains Loop Markers for other Activity types. Software AG Training Page 63 All rights reserved 2000-2010

Loop Properties Loop Expression based on Process/Business data field New LoopCounter in ProcessData, automatically incremented from 0. Test before (while <true> do ) or Test after (Repeat...While <true>) Optional maximum loop count - (default: 0 no limit) extension to BPMN specification *webmethods BPM: currently Subprocesses and Call Activities only Page 64 For a Loop Marker, user must set a loop condition within the Loop properties. Setting u a loop expression becomes quite easy, because you can access the ProcessData which has a scoped LoopCounter variable that can be used in the loop condition. There is no need for maintaining an own counter anymore. The Loop expression can be evaluated before or after entry to the loop. A bunch of operators are available to setup more complex expressions. If set to test before and the condition fails the first time the activity is reached, it will not run even once and move on to the outbound transition(s). Optionally, a loop max count can beset to an integer or a field value. 0 (default) means no limit. The LoopCounter is contained in the process metadata, and will be saved in nested constructs. Software AG Training Page 64 All rights reserved 2000-2010

Loop Marker at Subprocess Loop Marker controls multiple execution of Subprocess Available for collapsed and expanded Subprocesses Page 65 Software AG Training Page 65 All rights reserved 2000-2010

Loop Marker at Subprocess - Runtime New Loop Iteration Count Page 66 Using the "Step Iterations exceeded" transition is not very useful for subprocesses, but works fine for invoked Activities. Software AG Training Page 66 All rights reserved 2000-2010

Loop Marker at Call Activity Loop Marker controls multiple execution of Call Activity Supports BPMN Callable Processes and Referenced Subprocesses Page 67 Software AG Training Page 67 All rights reserved 2000-2010

Loop Marker at Call Activity - Runtime New Loop Iteration Count Page 68 Software AG Training Page 68 All rights reserved 2000-2010

Exercise 3 - Loops at Subprocesses Demo: Demo Title Exercise 4 - Loops at Call Activities Exercise Software AG Training Page 69 All rights reserved 2000-2010

BPMN 2.0 Support in webmethods BPMS Activity Markers Activity Marker = Symbol attached to an activity to help identify what it is designed to do Activity Marker types: Subprocess Marker Compensation Marker Loop Marker Parallel Multi-instance (MI) Marker* Sequential Multi-instance (MI) Marker* Ad Hoc marker* webmethods-proprietary Activity Markers: Process-level handlers for Error, Timeout, Cancel These show as small badges on the step chosen. *webmethods BPMS currently does not support all Activity Marker types contained in BPMN specification. Page 72 Software AG Training Page 72 All rights reserved 2000-2010

webmethods-proprietary Markers Still supporting process-wide Handlers (Error, Cancel, Timeout ) Become Task Activities decorated with webmethods-proprietary Markers Extension to the specification ensures compatibility with previous versions Page 73 Process-wide Error, Cancel, and Timeout handler are still supported in 8.2. Since Error and Cancel handler are not contained in the BPMN specification, they become webmethods proprietary extensions. webmethods BPMS adds additional Markers as extension to the BPMN specification to indicate process-level handlers. These decorate Tasks Activities acting as process-wide handlers for: Process Error Process Timeout Process Cancel These Markers show as small badges on the step chosen. When loading a process model from a previous version into Designer, Markers are added during conversion. Process Wide Timeout. In contrast to a the lacking process-wide Error and Cancel handlers, BPMN supports a timer that shows as a step in the process. This construct accepts input control flow. The webmethods process-wide timeout handler is a similar mechanism, but is an activity without input control flow. Software AG Training Page 73 All rights reserved 2000-2010

Events Software AG Training Page 74 All rights reserved 2000-2010

BPMN 2.0 Support in webmethods BPMS - Events Event = Events happen to activities Notation: Circles with/without a inner icon. Events can be classified by a Type Location Page 75 Software AG Training Page 75 All rights reserved 2000-2010

Event Types Event Type classifies the kind of event. Event Types indicated by the inner icon: 1. None 2. Message non-filled Event icon 3. Signal 4. Error 5. Timer filled Event icon 6. Terminate *webmethods BPMS currently does not support all Event types contained in BPMN specification. Page 76 BPMN specification additionally describes the following Event types, which are currently not implemented by webmethods BPMS: Escalation Conditional Link Cancel Compensation Multiple Parallel Multiple Software AG Training Page 76 All rights reserved 2000-2010

Event Types - Catching vs. Throwing Events can be a non-filled Event icon means "catching" Catching Event Receiving a Message, Signal, Error, Determines protocol Throwing Event Sending a Message, Signal, Terminate, Some Events exists in both flavors. filled Event icon means "throwing" Page 77 At a catching (Message or Signal) Event (as well as at a Receive Task Activity), you can choose the protocol (Broker publish or JMS) to be used (Receive additionally supports SSP). This protocol chosen on the catching/receiving dictates the protocol used for the rest of the model (throwing, sending.). You cannot mix protocols (receive with broker, publish with JMS). Software AG Training Page 77 All rights reserved 2000-2010

Event Types - Interrupting vs. non-interrupting Events can be.. Interrupting: In case of an interrupting event, all other activities are stopped. Only outgoing transitions leaving the Event are taken. Solid outer lines means "interrupting" Non-interrupting: In case of an non-interrupting event, all transitions leaving the event are taken. In addition other process activities continue. Some Events exists in both flavors. dashed outer lines means "non-interrupting " Will be continued Page 78 By definition, an interrupting event does the following: Interrupts the actual activity the event borders Sends a live path down each outbound sequence flow from the boundary event No outbound sequence flows from the activity occur By definition, a non-interrupting event does these things: Allows the actual activity to continue Sends a live path down each outbound sequence flow from the boundary event Outbound sequence flows from the activity are taken as normal Software AG Training Page 78 All rights reserved 2000-2010

BPMN 2.0 Support in webmethods BPMS - Events Event = Events happen to activities Notation: Circles with/without a inner icon. Events can be classified by a Type Location Page 79 Software AG Training Page 79 All rights reserved 2000-2010

Event Locations Event Location describes where the event happens. BPMN specifications defines Event Location by icon's outline webmethods additionally indicates Event Location by the icon color 1. Start Event: thin (non-bold) solid outline, only outgoing transitions 2. Intermediate and Intermediate Boundary Event: a) Interrupting: solid double outer line, incoming and outgoing transitions b) Non-interrupting: dashed double outline, incoming and outgoing transitions 3. End Event: bold solid outer line; only incoming transitions Examples Page 80 Start Events must not have in incoming transition. Intermediate Events must have incoming and outgoing transitions. End Events must not have an outgoing transition. Visual difference between an Intermediate Event and an Intermediate Boundary Event is that the latter is smaller, and on the boundary of an Activity. Software AG Training Page 80 All rights reserved 2000-2010

Event Location Events can be in a process: Independent items in a process model With incoming and/or outgoing transitions Visual difference between an Event and an Boundary Event is that the latter is smaller, and on the boundary of an Activity. Attached to an Activity (Boundary Event) With one or multiple transitions leaving the Event Always intermediate and catching! Some Events exists in both flavors. Page 81 Boundary Events are always intermediate and catching. Which Boundary Event can be used depends an the Activity type it is used at. Software AG Training Page 81 All rights reserved 2000-2010

Events - And Now All Together! Intermediate End Type Throwing interrupting Start non-interrupting Catching Intermediate Boundary Page 82 Software AG Training Page 82 All rights reserved 2000-2010

Supported BPMN Events in webmethods BPMS Start Intermediate End Catching Catching, Boundary, interrupting Catching, Boundary, noninterrupting Throwing None Message Signal * Error Timer Terminate * * Availability depends on related Activity type! *Boundary non-interrupting Error Event and End Terminate Events with Markers webmethods extension to the specification Page 83 Interrupting boundary events are NOT available at User Task Activities, Rule Task Activities, Subprocess Activity, and Call Activities. Reason: Process Engine cannot interrupt a Task Engine, Rule Engine, or own parallel activities yet. A non-interrupting Boundary Error Event is only available at a Subprocess Activity and is an extension to the BPMN specification (BPMN specification does not contain Interrupting Boundary Error Events.) Software AG Training Page 83 All rights reserved 2000-2010

Events And Now in Detail Page 84 Software AG Training Page 84 All rights reserved 2000-2010

Start Events webmethods BPMN currently supports only Start Events which are catching and interrupting: None Message Signal Start Events always start a new process instance. BPMN specification also knows non-interrupting Start Events. Page 85 BPMN specification also contains non-interrupting Start Events. Software AG Training Page 85 All rights reserved 2000-2010

Start None Event Mainly used to start a BPMN Callable Processes No own receive document or signal Output data defaulted to existing Global Process Specification (Input) Process may have one or multiple None Start Events, but behavior not determined by the BPMN specification Page 86 None Events are available as a construct on the palette and can be dragged and dropped to the canvas. A leading None Start Event is required by any BPMN Callable Process. Start Event itself has got no data to receive. The Output data should fit to the Global Process Specification of the process containing the Start None Event. If Input parameter on the Global Process Specification are available to the process, they will be automatically added to the outputs of a new None Start Events as a convenience feature. None Start Event added after defining the global input parameter will not get the benefit of auto assignment of the global input parameters as outputs but user can easily add them manually. A Child Process may have one or multiple None Start Events. In this case it is not determined by the specification which track will be used; so its possible, but somehow nonsensical. There is no need to provide the "Allow this.. to start a new process instance" property since Start None Events start a process by definition. Software AG Training Page 86 All rights reserved 2000-2010

Start Message Event Used to start a new process instance when a receiving a document via Publish JMS Supports Correlation Filters E-forms webmethods CSP documents Supports drag & drop Former Receive step creating an new process instance will be converted to Message Start Event* *NOT for an intermediate Receive, NOT when using with SSP. Page 87 The Start Message Event is analogous to the previous Receive step which receives a published document via Broker or JMS to create a process instance. Start Message Event also support receiving E-forms and webmethods CSP documents. The Process Engine runtime underlying model has changed. In contrast to the former Receive step, a Start Message Event does not support the Simple Service Request protocol. Using this protocol requires to use the Receive Task instead. There is no need to provide the "Allow this.. to start a new process instance" property since Start Message Events start a process by definition. Software AG Training Page 87 All rights reserved 2000-2010

Start Signal Event Used to start a new process instance when a receiving a Signal via Publish JMS Supports Correlation Filters E-forms webmethods CSP documents Supports drag & drop Similar to Start Message Event. Page 88 The Start Signal Event is a in webmethods BPMN. It allows start a new process instance when receiving a Signal via Broker Publish or JMS. From design time UI, configuring a Start Signal Event is pretty much the same as configuring a Start Message Event. Also here, there is support for Correlation, you can setup Subscription Filters and may receive Signals related to E-forms or webmethods CSP documents There is no need to provide the "Allow this.. to start a new process instance" property since Start Signal Events start a process by definition. Software AG Training Page 88 All rights reserved 2000-2010

Signal - Definition from BPMN Specification Used for sending and receiving signals. A signal is a generic, simple form of communication. Within Pools (same participant) Across Pools (different participants) Across Diagrams Has no specific recipient, meaning it could be received by any participant that is listening. The signal has a name. Has attributes that further describe the signal. Does not have a message body but in webmethods we have one. Page 89 A participant could be a person, a system, or another process. Software AG Training Page 89 All rights reserved 2000-2010

Message - Definition form BPMN Specification A Message represents the content of a communication between two Participants. A Message is passed within a directed form of communication. Across Pools (from one participant to another participant) Across Diagrams Communication needs a specific recipient, meaning it could be received only by a designated participant that is listening. The Message has a name. The Message has a message body. Page 90 Software AG Training Page 90 All rights reserved 2000-2010

Message and Signal Events in webmethods BPMS Design time: No difference between Message and Signal except for icons webmethods BPMS Signal fits to BPMN specification webmethods BPMS Message is somehow different to specification because of lacking participants be assigned will be closer to specification in future Both are passed like a message (internal or via Broker) "ProcessData" is not embedded in a Message/Signal event, its added to the pipeline prior to an Activity execution. But: Process Engine has to distinguish between Messages and Events: This is to avoid catching a Message by a Signal Event and vice versa, if same doctype is used Catching Message Event: Trigger listens for the publishable document Catching Signal Events: Triggers listens for a container document containing publishable document cont. cont. later later Page 91 Signal Events and Message Events behave very similarly in the webmethods BPMS implementation. Signal is thought to be more of a "broadcast" whereas message events seem to be more directed between sender and receiver. Software AG Training Page 91 All rights reserved 2000-2010

End Events End Events are always throwing and interrupting. Must not have an outgoing transition. No generated IS service for any End Event after Build &Upload None Message Signal Terminate track, do not affect process status Error Terminate Terminate Process and affect process status Page 92 End Error/Message/Signal/Error have a different behavior compared to End Terminate. The first ones are pure BPMN Events without affecting the status of the running process. They only ends the track they belong to, but do NOT terminate the entire process like the End Terminate Event. They also do NOT influence the process status. In general, BPMN attempts to keep a process running. End Error Events (and all other End Events beside End Terminate) do not terminate a process and infect their status. All End Event do not have a generated IS service (wrapper service) after build and upload. Software AG Training Page 92 All rights reserved 2000-2010

End Events Ends track only Ends track and throws (publishes) Signal Ends track and throws (publishes) Message Ends track and throws Error Page 93 An End None Event just indicates the end of a track with a final state, but does not throw any item. An End Message/Signal Event indicates the end of the track and throws a configured final document as a message resp. Signal. This can be caught somewhere else. An End Error Event indicates the faulty end of the track and throws an error. This can be caught somewhere else. End None/Signal/Message/Error Events do not terminate a process instance and do not infect the process status. Software AG Training Page 93 All rights reserved 2000-2010

End Events Message and Signal End Message Event Setup document to be throw as Message End Signal Event Setup document to be throw as Signal Because of lacking IS service, Data Mapping for document to be send as message or Signal has to be performed in an upstream Activity. Page 94 End Signal and End Message Event are essentially a publish of a signal (wrapped document type) or message (document type). Both do not allow outbound transitions -- only inbound transitions. For an End Signal/Message Event there is only a document type to "publish" as a property in the Implementation tab unlike Start or Intermediate Catch which have receive protocols and other properties because they are listening for signals/messages from within or outside the process. Software AG Training Page 94 All rights reserved 2000-2010

End Events - Terminate Used to end a running process All parallel tracks stops also webmethods extension to set process status at a End Terminate Event. "Canceled" and "Failed" Status additionally indicated by webmethods-proprietary Event Markers. Default: "Completed"* User could still could set Terminate status logged by Process Engine and shown in Monitor. Former Terminate step including status will be converted to an End Terminate Event. * changed with 8.2 Page 95 An End Terminate Event corresponds to the former webmethods BPM terminate step and has the same behavior. To be compliant with former versions, the Terminate offers the possibility to set three different status values: a) Completed (no decorator) b) Canceled (with appropriate decorator) c) Failed (with appropriate decorator) A former Terminate step will be converted to an End Event with status set accordingly. Decorators and status extend the BPMN notation. Only a Terminate Event can be used to terminate the entire process. End Error (and all other End Events beside End Terminate) have a different behavior. They are pure BPMN Events without affecting the status of the running process. An End Error Event (and others) only ends the track it is on, but do NOT end the entire process like the End Terminate Event. Software AG Training Page 95 All rights reserved 2000-2010

Intermediate and Intermediate Boundary Events Implemented by webmethods BPMS: Intermediate Events catching: Message, Signal throwing: None, Message, Signal Intermediate Boundary Events (always catching): Availability depends on related Activity type! interrupting: Message, Signal, Timer, Error non-interrupting: Message, Signal, Timer, Error Page 97 The amount of Intermediate and Intermediate Boundary Events is subset of the Intermediate Events and Intermediate Boundary Events described in the BPMN specification. Boundary Events are always intermediate and catching. So they could be called Boundary Events for short. Software AG Training Page 97 All rights reserved 2000-2010

Intermediate Events Catching: Similar like corresponding Start Event but in middle of a workflow does not start a new process instance has an IS service Implies a synchronous wait Throwing: Similar like corresponding End Event but in the middle of a workflow doesn't have an IS service Page 98 Not all existing Intermediate Events are implemented by webmethods BPMS. Software AG Training Page 98 All rights reserved 2000-2010

Intermediate Signal/Message Event (Catching) Waits for incoming Signal/Message of specified doctype and protocol Optional Subscription Filters Implies an AND Join of the inbound transition and the receipt of the Signal/ Message document Supports correlation May have an outgoing "Unsatisfied Join" transition. May have a Join Timeout specified with an outgoing "Join Timeout" transition. Page 100 The Intermediate Catching Signal/Message Event needs to know the document type to subscribe to. Additionally Subscriptions filters can be specified. The specified doctypes are added to process subscriptions of its generated subscription trigger. The Intermediate Catching Signal/Message Event (ICSE/ICME) has an implied AND join of the inbound transition and the receipt of the Signal/Message (document). The ICSE/ICME works the same way that an intermediate Receive step worked in the prior release. Once the inbound transition and the Signal/Message document are received, the ICSE/ICME will be executed. According to the BPMN spec, the inbound transition must be received prior to the Signal/Message. In the webmethods implementation, this restriction does not exist. The Signal/Message document can arrive prior to the inbound transition (in this case the document is persisted in Step Queue of the Process Engine). Because there is the implied AND join on the ICSE/ICME, a join timeout transition can be drawn as output of the ICSE/ICME and a join timeout specified. The join behavior (timeout properties and timeout transition) existed on the intermediate receive step in the prior release as well. Software AG Training Page 100 All rights reserved 2000-2010

Intermediate Signal/Message Event (Catching) May have a specified Join Timeout Allows to specify correlation Former Intermediate Receive step not using SSP will be converted to Intermediate Message Event. Page 101 Join Timeout becomes an extension to the BPMN specification. Software AG Training Page 101 All rights reserved 2000-2010

Intermediate None Event (Throwing) Available in BPMS spec and available in webmethods BPMS Intermediate None Event (Throwing ) available from Palette It is throwing even if icon looks like catching Event is technically a no op with no IS service generated and no Process Engine implementation Difficult to distinguish between filled and non-filled "nothing" Use case: Handle ARIS import of Events that are currently not implemented Page 102 Intermediate None Events (Throwing) have been implemented to better handle ARIS import of Events that are currently nor implemented by webmethods BPMS, but are part of BPMN modeling in ARIS. The Event is essentially a no op with no IS wrapper service generated and no Process Engine implementation. Also the ProcessData is not embedded in the event. Although there is no specific trigger for this Event, it is defined as throw Event. It is used for modeling methodologies that use Events to indicate some change of state in the Process. Software AG Training Page 102 All rights reserved 2000-2010

Intermediate Signal/Message Event (Throwing) Used to throw a Signal or Message Intermediate Message Event (Throwing): Similar like a Send Activity Protocol determined by corresponding catching Event Page 103 Software AG Training Page 103 All rights reserved 2000-2010

Don t Get Confused Part III Receive step creating new process and not using SSP Message Start Event Intermediate Receive step not using SSP Terminate step Intermediate Message Event catching End Terminate Event < 8.2 8.2 Page 104 Software AG Training Page 104 All rights reserved 2000-2010

Intermediate and Intermediate Boundary Events Implemented by webmethods BPMS: Intermediate Events catching: None, Message, Signal throwing: Message, Signal Intermediate Boundary Events (always catching): Availability depends on related Activity type! interrupting: Message, Signal, Timer, Error non-interrupting: Message, Signal, Timer, Error Page 105 Software AG Training Page 105 All rights reserved 2000-2010

Boundary Events webmethods supports Boundary Events (always intermediate and catching) of type: Interrupting* non interrupting* To create a Boundary Event, drag Event type from Palette onto an Activity or use context menu of an Activity: Drag or Palette *Availability depends on related Activity type Page 106 Software AG Training Page 106 All rights reserved 2000-2010

Boundary Signal/Message Events Catch Signal/Message - interrupting* or non-interrupting Boundary Signal/Message Event has an own label Becomes active when the Activity to which it is attached is executing In case of Signal/Message received: Outgoing Event transition used Normal Activity transition used (non-interrupting) * Interrupting Boundary Events of type Signal/Message NOT implemented for Manual Tasks, User Tasks, Subprocesses, Call Activities, Rules Tasks. Page 107 The Boundary Signal/Message Event (BSE/BME) becomes active when the Activity to which it is attached is executing. If the Signal/Message document for the BSE/BME arrives while the activity to which it is attached is NOT executing, then an error message is generated and the BSE/BME is not executed, so the transitions out of the BSE/BME are not taken also. Example error message: "Boundary event ignored because activity is not running [PID=xxxxxxxxxxxxxxx, ACTIVITY_SID=yy, BOUNDARY_SID=zzz]" In contrast to the ICSE/ICME, there are no join timeout properties and no join timeout transition for a BSE/BME. Software AG Training Page 107 All rights reserved 2000-2010

Boundary Message/Signal Events Requires for Message/Signal document and Receive Protocol Optional: Subscription Filters Supports Correlation Page 108 Similar to ICSE/ICME, the catching Event needs to know the document type to subscribe to. Additionally Subscriptions filters can be specified. The specified doctypes are added to process subscriptions of its generated subscription trigger. Software AG Training Page 108 All rights reserved 2000-2010

Message and Signal Events Implementation Since 8.0 generated wrapper services are suppressed in Designer by default To make them visible: Change Filter Settings in Package Navigator view: OR: Change Package Navigator Preferences in Designer Page 109 Software AG Training Page 109 All rights reserved 2000-2010

Message and Signal Events - Implementation 1 2 3 Different process subscriptions for Messages and Signals wm.prt.dispatch:signal "wraps" doctype of a Signal Page 110 Generated process has got subscriptions for all doctypes used in a Start Message, catching Intermediate or Boundary Intermediate Message Event. Similar, subscriptions for all Signals belonging to a Start Signal, catching Intermediate or Boundary Signal Event are created. These subscriptions all belong to the doctype wm.prt.dispatch:signal and have a filter specifying the wrapped "real" doctype. Software AG Training Page 110 All rights reserved 2000-2010

Changed Runtime Behavior for Messages (and Signals) In 8.0: Publishing a document, at most one step in one process instance can receive the document of that type, of course one document can be published to many process instances. incomplete In 8.2 and with Messages and Signals: Multiple Message/Signal Start and Intermediate catching Events may now catch a copy of one message/signal thrown somewhere In 8.0, only one of the Receives in one process would receive a document. Bild Beispiel Process Page 111 Software AG Training Page 111 All rights reserved 2000-2010

Exercise 5 - Signal Events Demo: Demo Title Exercise 6 - Message Events Exercise 7 - Signal and Message Events Exercise Software AG Training Page 112 All rights reserved 2000-2010

Boundary Timer Events Catch timeout interrupting or non-interrupting* Boundary Timer Event has an own label In case of timeout event: Outgoing Event transition used Normal Activity transition used (non-interrupting) * interrupting: Service Task, Abstract Task, Send/Receive Task; ** non-interrupting: Subprocesses, Call Activities, Rules Tasks. Exception User Task : Timeout transition without timeout value leaving former Task step converted to Join Timeout transition Page 113 Software AG Training Page 113 All rights reserved 2000-2010

Boundary Timer Events Timeout defined in Timer Condition based on: Fixed value Value derived from Process or Business Data Business Calendar value (New) Former Step with outgoing transition of type "Timeout" replaced by an Interrupting* or non-interrupting** Boundary Timer Event with outgoing labeled transition at the corresponding Activity. * interrupting: Service Task, Abstract Task, Send/Receive Task; ** non-interrupting: Subprocesses, Call Activities, Rules Tasks. Exception User Task : Timeout transition without timeout value leaving former Task step converted to Join Timeout transition Page 114 Business Calendars in 8.0 only possible for entire process and join timeouts. Software AG Training Page 114 All rights reserved 2000-2010

Boundary Error Events Catch Errors Interrupting* Boundary Error Event has an own label In case of Error Event: Outgoing Event transition used Normal Activity transition used (non-interrupting) Former Step with outgoing transition of type "Error" replaced by an interrupting* Boundary Error Event with outgoing unlabeled transition at the corresponding Activity. * Interrupting boundary events of type Error NOT implemented for Manual Tasks and Subprocesses; exceptional behavior for Subprocesses. Page 115 In BPMN, a user can define an error code on an error end event and define the same error code on an error boundary event. The Boundary Error Event will then only catch the error that matches the error code. If there are no error codes defined on the boundary event, the event will behave as an error catch all. In webmethods BPMS all Boundary Error Events will be catch all and there is currently no implementation of error codes on Boundary Error or End Error events. Software AG Training Page 115 All rights reserved 2000-2010

Non-Interrupting Boundary Error Events at Subprocesses Subprocess behavior when an Boundary Error Event is triggered: 1. Track in the Subprocess that caused the error is terminated 2. All other tracks in the sub-process continue as normal 3. Sends a live path down each outbound sequence flow from the boundary event 4. Outbound sequence flows from the sub-process are taken as normal Event behavior is somehow "hybrid", like the Subprocess error transition in 8.0. Introducing non-interrupting Boundary Error Event for Subprocesses only Error transition of a subprocess is converted into a non-interrupting Boundary Error Event*. * non-interrupting Boundary Error Event at a Subprocess Activity extends the BPMN specification. Page 116 What happens when an error event is triggered on our sub-process: 1. The track in the sub-process that caused the error is terminated 2. All other tracks in the sub-process continue as normal 3. Sends a live path down each outbound sequence flow from the boundary event 4. Outbound sequence flows from the sub-process are taken as normal This is the same behavior how it worked in the Process Engine for error transitions leaving a subprocess in 8.0. So, due to an architectural limitation of the webmethods Subprocess implementation, webmethods BPMS has extended BPMN with the concept of the non-interrupting boundary error event. Software AG Training Page 116 All rights reserved 2000-2010

Boundary Error Event checked as "Restore starting Pipeline" Non-interrupting Boundary Error at Subprocess may be checked as "Restore starting pipeline" In case of Error, preserved pipeline data is passed on the transition Don't mix up with compensation Same as former "compensating" check on error transition in 8.0 Can't be seen graphically same data Page 117 Subprocesses only: The pipeline flowing into a Subprocess is preserved in case of an error in the Subprocess Activity. Under normal circumstances, the pipeline is passed to the Subprocess and then out to the next downstream activity. If an uncaught error happens in the subprocess, the error can be caught by an Intermediate Boundary Error Event (non-interrupting) defined at the Subprocess Activity. If this event is checked as "Restore starting pipeline", the outgoing transition(s) leaving the event will pass over the preserved pipeline. This can be used to switch back to the incoming pipeline and to retry the subprocess after some error handling. Remark: Don t mix up Intermediate Boundary Error Event (non-interrupting) checked as "Restore starting pipeline" and an outgoing transition at a Subprocess Activity with a Subprocess Activity checked for Compensation (see above). Software AG Training Page 117 All rights reserved 2000-2010

Exercise 8 - Timer Events Demo: Demo Title Exercise 9 - Error Events Exercise Software AG Training Page 118 All rights reserved 2000-2010

Boundary Events in webmethods BPMS - Summary Abstract (None) Service User Manual Rule Send, Receive Subprocess Call Activity Error Message Timer Signal orange = defined by BPMN specification and implemented by webmethods BPMS grey= defined by BPMN specification, but currently NOT implemented by webmethods BPMS pink boundary = webmethods extension to the specification Page 119 The BPMN specification allows interrupting and non-interrupting Boundary Events at each Activity. Exception: Error Boundary Events are always interrupting. The following restrictions exist for Boundary Events at a certain Activity in webmethods BPMS: User Task Activity: Only non-interrupting Boundary Message Event, non-interrupting Boundary Signal Event, and interrupting Boundary Error Event available. Manual Task: No Boundary Events available. Rule Task Activity: Only non-interrupting Boundary Events and interrupting Boundary Error Event available. Subprocess Activity: Only non-interrupting Boundary Events and non-interrupting Boundary Error Event available. Call Activity: Only non-interrupting Boundary Events and interrupting Boundary Error Event available. Software AG Training Page 119 All rights reserved 2000-2010

Interrupting vs. non-interrupting continued Events can be.. Interrupting: All other activities are stopped. Only outgoing transitions leaving the Event are taken. webmethods: In case of an Interrupting Boundary Event the corresponding Activity is flagged as interrupted (new Status in Monitor). Non-interrupting: All transitions leaving the event are taken. In addition other process activities continue. The corresponding Activity is not interrupted and may fire all its outgoing transitions additionally. Non-interrupting Boundary events may fire multiple times if the event occurs multiple times while its activity is processed. Interrupting boundary events of type Message, Signal, Timer NOT implemented for Manual Tasks, User Tasks, Subprocesses, Call Activities, Rules Tasks. Page 120 Interrupting boundary events of type Message, Signal, Timer are NOT implemented for User Tasks, Subprocesses, Call Activities, and Rules Tasks. Reason: Process Engine cannot interrupt a Task Engine, Rule Engine, or own parallel activities. Software AG Training Page 120 All rights reserved 2000-2010

Events and Correlation Better a picture For Message/Signal Boundary Events, correlation is NOT necessary if the event is thrown from WITHIN the scope of the activity that contains the Boundary Event. Examples: If you have a subprocess that throws a signal event, a Boundary Signal Event on that subprocess does NOT require correlation. This is because the event is being thrown within the subprocess itself and the runtime directly passes the event to the boundary event without publishing it. I an Activity throws an Event and contains a corresponding Boundary Event, correlation is NOT necessary. In all other cases, correlation is necessary. Example: If a subprocess has Boundary Message Event and a Message Event is thrown from OUTSIDE the subprocess then correlation is necessary since the message is arriving from OUTSIDE the scope of the activity. Page 121 Software AG Training Page 121 All rights reserved 2000-2010

Don t Get Confused Part IV Step (not subprocess) with outgoing "Error" transition Subprocess with outgoing "Error" transition Subprocess with outgoing "Error" transition checked as "compensating" Step with outgoing ordinary "Timeout" transition interrupting Boundary Error Event Non-interrupting Boundary Error Event Non-interrupting Boundary Error Event checked as "Restore starting pipeline" [non-]interrupting Boundary Timer Event < 8.2 8.2 Page 124 Software AG Training Page 124 All rights reserved 2000-2010

Events and Images All Events (except for Boundary Events) may be decorated by an Image Extended Image library and support for custom images (Designer preferences) Restore Defaults removes chosen image Images assigned to former corresponding activity steps will be converted Page 125. Software AG Training Page 125 All rights reserved 2000-2010

Exercise 10 - Boundary Events at a Service Tasks Demo: Demo Title Exercise 11 - Boundary Events at a Call Activity Exercise Software AG Training Page 126 All rights reserved 2000-2010

Summary Events colored = implemented by webmethods BPMS grey= defined by BPMN specification Pink boundary = webmethods extension to the specification Page 127 Events remarks: -None: Start, End -Error: End, Boundary Interrupting on all Activities (except Subprocess), Boundary Non-interrupting on Subprocess -Message: Start, Intermediate (Throw or Catch), End; Boundary Interrupting on Service, Send, Receive and Abstract Tasks, Boundary non-interrupting on all Activities except Manual Task -Timer Boundary Interrupting on Service, Send, Receive, and Abstract Tasks, Boundary non-interrupting on all Activities except Manual Task -Signal same as Message, Start, Intermediate (Throw or Catch), End, Boundary Interrupting on Service, Send, Receive, and Abstract Tasks, Boundary non-interrupting on all Activities except Manual Task -Terminate End with extensions for Completed, Canceled, Failed No events available on Manual Task. Black/solid icon means throwing or ending. Dashed lines means catching. Events are the main difference to former BPMS. Error or messages thrown by an appropriate Event within a subprocess can by caught by an appropriate Boundary event at the subprocess. Software AG Training Page 127 All rights reserved 2000-2010

Sequence Flows (Transitions) Software AG Training Page 128 All rights reserved 2000-2010

BPMN 2.0 Support in webmethods BPMS Sequence Flow Sequence Flow = Defines the execution order within a BPMN process Notation: solid arrows with filled arrowheads Sequence Flow types (also called Transition types): Unconditional unlabeled Default Labeled with "Default", decorated with \ Conditional Labeled with condition, decorated with diamond Designer Preferences Page 129 Software AG Training Page 129 All rights reserved 2000-2010

Configuring Transitions in webmethods BPMS Default: unconditional Configuration via Transitions' Properties or Source step Properties Supports simple or complex conditional expressions Page 130 Software AG Training Page 130 All rights reserved 2000-2010

Transition Types in webmethods BPMS "If Condition": like in webmethods 8.0 "Default": Former "Else" silently converted to "Default" "Join Timeout": Special transition for specified Join Timeouts "Step Iterations Exceeded": like in webmethods 8.0 "Unsatisfied Join": special transition for synchronized Joins Special labeled conditional transitions webmethods extensions to the specification Former "Error" and "Timeout" transitions removed and converted into Boundary Events. Page 131 Software AG Training Page 131 All rights reserved 2000-2010

Conversion of webmethods BPMS Transitions 8.0 -> 8.2 Timeout not related to a Join condition -> interrupting Boundary Timer Event + labeled transition without any decorator, label shows "Execution time > xxx" Timeout related to a Join condition -> labeled conditional transition without any decorator (webmethods extension), label shows "Join wait time > xxx" Page 132 Software AG Training Page 132 All rights reserved 2000-2010

Conversion of webmethods BPMS Transitions 8.0 -> 8.2 Error -> interrupting/non-interrupting* Boundary Error Event + unlabeled transition without any decorator Error leaving subprocess with "compensating" property -> non-interrupting* Boundary Error Event check as "Restore starting pipeline" + unlabeled transition without any decorator * non-interrupting if it is a Subprocess Activity Page 133 Software AG Training Page 133 All rights reserved 2000-2010

Conversion of webmethods BPMS Transitions 8.0 -> 8.2 Step Iterations Exceeded -> labeled conditional transition without any decorator (webmethods extension), label shows "Iterations > nn" Unsatisfied Join -> labeled conditional transition without any decorator (webmethods extension), label shows "Unsatisfied Join" Page 134 Software AG Training Page 134 All rights reserved 2000-2010

Don t Get Confused Part V Joining step with join timeout and "Timeout" transition Joining step with "Unsatisfied Join" transition Step with "Step Iterations Exceeded" transition "Join Timeout" transition "Unsatisfied Join" transition "Step Iterations Exceeded" transition < 8.2 8.2 Page 135 Software AG Training Page 135 All rights reserved 2000-2010

Gateways Software AG Training Page 136 All rights reserved 2000-2010

BPMN 2.0 Support in webmethods BPMS Gateways Gateway = Used to model decisions, merges, forks, and joins in a BPMN process Notation: diamond Types supported by webmethods BPMS: Inclusive Exclusive Parallel Complex Available as diverging and converging Gateways Gateways don't support Boundary Events. Page 137 In webmethods BPMS 8.0 there was only one Gateway step. BPMN is more specific. BPMN specifies splitting AND merging behavior (diverging Gateway and converging Gateway). Supported Gateways by webmethods BPMS 8.2: Exclusive Gateway Inclusive Gateway Parallel Gateway Complex Gateway Event-based Gateways (contained in specificatoin) are not supported in webmethods BPMS 8.2. Inclusive Gateway is OR, Exclusive Gateway is XOR, Parallel is AND, and Complex is just a WM defined Gateway from previous versions of Designer. All Gateways in BPMN can be converging or diverging. Gateways do not support in BPMN a single input/output transition. Software AG Training Page 137 All rights reserved 2000-2010

Exclusive Gateway Exactly one transition taken Join: XOR (Unsynchr. OR) No Join timeout Page 138 Exclusive Gateway: Exactly one transition will be used depending on the condition. The joining Gateway uses an unsynchronized OR (like XOR). There is no Join timeout anymore. Specify a Default condition to catch all cases (former Else). If more than one condition fits at the diversion, only one track will be used, which one is unpredictable, it s a modeling issue. So, if more than one fits, use another gateway type, e.g. inclusive Gateway. It is recommended (but optional) for an Exclusive Gateway to specify a Default transition. Software AG Training Page 138 All rights reserved 2000-2010

Inclusive Gateway Zero, one or more transitions taken Join: synchr. OR No Join timeout Page 139 Inclusive Gateway: Depending on the conditions one up to all transitions will be used and later joined. This is the same behavior like the former synchronized Join. There is no Join timeout anymore. As for the default type on Inclusive Gateway, the BPMN spec allows for an optional default output transition. An Inclusive Gateway could have 0 or more paths taken, i.e. there could be no path that evaluates to true. The spec recommends that Inclusive gateway should be designed to have at least one path taken, but this is not a requirement nor is it enforced in any way. Software AG Training Page 139 All rights reserved 2000-2010

Parallel Gateway All transitions taken Join: synchr. AND No Join timeout Page 140 Parallel Gateway is a modeling issue to determine that all tracks should be executed in parallel unconditionally. The joining Gateway always uses a synchronized AND. You can not specify a Default transition here. There is no Join timeout anymore. Software AG Training Page 140 All rights reserved 2000-2010

Complex Gateway For complex merging and branching behavior 8.0 Gateway steps will be converted into Complex Gateways Offers Join timeout for compatibility Page 141 BPMN specification just defines Complex Gateways for complex merging and branching behavior which is not captured by other Gateway types. This definition is pretty "weak". So in webmethods BPMS, this Gateway type will be used as the result of converting former (8.0) Gateway steps. Software AG Training Page 141 All rights reserved 2000-2010

Gateways and Conversion 8.0 -> 8.2 Every 8.0 Gateway will be converted to a Complex Gateway Every joining non-gateway step will NOT be converted into a Gateway Join Timeout transition: Only available at Complex Gateways, (converted) joining Activity Tasks, and (converted) Intermediate Message Events (catching) NOT available anymore for other new Gateway types (Exclusive, Inclusive, Parallel) Use BPMN-compliant handling by using a Boundary Timer Event instead webmethods BPMS: Joining and diverging still possible at any Activity Ensures backward compatibility Usage of Gateways recommended, but not required Page 142 Software AG Training Page 142 All rights reserved 2000-2010

Don t Get Confused Part VI Gateway step Joining step Joining intermediate Receive not using SSP Diverging step Complex Gateway Corresponding Activity with Join condition Intermediate Message Event (catching) with Join Diverging Activity < 8.2 8.2 Page 143 Software AG Training Page 143 All rights reserved 2000-2010

Exercise 12 - Parallel Gateways Demo: Demo Title Exercise 13 - Exclusive Gateways Exercise 14 - Inclusive Gateways Exercise 15 - Complex Gateways Exercise Software AG Training Page 144 All rights reserved 2000-2010

Pools, Swimlanes, Annotations, and Message Flows Software AG Training Page 145 All rights reserved 2000-2010

Pools and Swimlanes Pools: Like in 8.0. Restrictions in webmethods BPMS: Only support for one internal pool No support for Participants Swimlanes: Like in 8.0 Page 146 There is currently only support for one internal pool because each pool kind of represents a separate process within a separate entity. webmethods BPMS currently support generation of multiple processes from a single diagram. So only the one internal pool can be generated, and the other pools are seen as external important for visualization and for message flow, but not for implementation by our runtime. Currently also no real support for participant. Software AG Training Page 146 All rights reserved 2000-2010

Annotation and Notes Annotations: Like in 8.0, supporting rich text, can be moved around Can be added to Activities, Events, Gateways, indicated by dashed lines Notes: webmethods proprietary extension Page 147 Software AG Training Page 147 All rights reserved 2000-2010

Message Flows Message Flow: "Indicates information flow across organizational boundaries. Flow can be attached to Pools (internal, external), Activities Message Events Indicated by dashed lines with filled arrows Page 148 Software AG Training Page 148 All rights reserved 2000-2010

Miscellaneous Changes and Enhancements Software AG Training Page 149 All rights reserved 2000-2010

Allow Parallel Execution Former "Lock Step" rebranded to "Allow parallel execution" Available for all Activities, Events, and Gateways Page 150 Software AG Training Page 150 All rights reserved 2000-2010

Process Logging Level Logging Level 4 now contains Start Events Logging Level 5 now contains all Events New Logging Level 6 contains Looping information Affects Process Monitor Page 151 Two additional Process Audit tables were added to extend the existing tables WMPROCESSSTEP and WMCUSTOMPROCESSDATA that will also log the loop iteration in addition to step iteration. Designer offers to set an additional logging level for logging loop data. Software AG Training Page 151 All rights reserved 2000-2010

Process Property "Default Deployment Properties" New tab containing Process Properties only used for deployment Specify values as default settings for deployed process Possibility to override these values after/during deployment Page 152 Steps Enabled for Resubmission are get automatically populated as you add steps to the canvas. Software AG Training Page 152 All rights reserved 2000-2010

Edit Data Mapping incomplete Edit Data Mapping split into Input and Output Mapping Only for Task Activities with incoming and outgoing transitions??? Available from Activities' context menu or Properties Inputs/Outputs tab Page 153 Software AG Training Page 153 All rights reserved 2000-2010

Debugger Demo: Demo Title Software AG Training Page 154 All rights reserved 2000-2010

Debugger Enhancements and Changes Support for BPMN nodes New loop support at subprocess at and call activity Step Data view renamed to Pipeline Data view. Pipeline data view data can be modified now. Possible to copy data to clipboard (copy, copy all), e.g. allowing to send this via email Trace view enhanced: if step status is errorneous, hover mouse over that row, hovering will pop up stack, F2 gives focus for copying, etc Designer Preferences for Task Timeout will be checked dynamically now, allowing you to reset the value from 0 (indefinite) to a finite value. Page 155 Software AG Training Page 155 All rights reserved 2000-2010

Debugger - Restrictions If a BPMN Callable Process has a Start None Event only (no Message Start Event), the BPMN Callable Process can t be debugged standalone. Requires for debugging the corresponding parent process. Boundary Event requires for an active Task it is defined at. When debugging subprocesses, no Boundary Timer Events are activated. No support for parallelism deadlocks with catching/throwing events on parallel tracks possible Page 156 Software AG Training Page 156 All rights reserved 2000-2010

Process Monitor Demo: Demo Title Software AG Training Page 157 All rights reserved 2000-2010

Process Monitor Full support for BPMN notation Icons shown in Monitor for a process instance depend on version used by build and upload. So Monitor may show old icons when running a process still build & uploaded in V8.0 Monitor additionally shows loop iterations for each executed step in corresponding list in process monitoring; Support for process logging level 6 Page 158 Software AG Training Page 158 All rights reserved 2000-2010

Events in Monitor Icons missing Transition for an Event as source to the Events target will be logged by Process Engine. Process Engine log Event status "started" if the Event is activated but did not fire yet "completed" if the event is fired and is a non-interrupting event "interrupted" if the event is fired and is an interrupting event Page 159 Software AG Training Page 159 All rights reserved 2000-2010

Outlook - BPMN 2.0 Roadmap 8.0 8.2 K Later Notation BPMN 1.1* BPMN 2.0* BPMN 2.0* BPMN 2.0 In Designer Interchange XPDL XPDL BPMN 2.0* BPMN 2.0 Serialization.Process.Process BPMN 2.0* BPMN 2.0 Process Engine Orchestration Proprietary BPMN 2.0* BPMN 2.0* BPMN 2.0 Choreography No Support No Support No Support BPMN 2.0 * - partial support Page 163 BPMN 2.0 support will be an incremental approach in webmethods BPMS. Software AG Training Page 163 All rights reserved 2000-2010

Thank you Software AG Training Page 165 All rights reserved 2000-2010