bpmn 2.0 support in webmethods bpms - telus. · pdf filebpmn 2.0 support in webmethods bpms...
TRANSCRIPT
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 1 All rights reserved 2000 - 2010
J-Release Hands-on Training -
BPMN 2.0 Support in webMethods BPMS
Olaf Brinkmann
Corporate University
April 2011
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 2 All rights reserved 2000 - 2010
Page 2
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
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 3 All rights reserved 2000 - 2010
Page 3
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
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 4 All rights reserved 2000 - 2010
Demo: Demo TitleIntroducing BPMN
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 5 All rights reserved 2000 - 2010
Page 5
A standard…
A pretty huge tome!
BPMN 2.0
BPMN 2.0BPMN 2.0
A specification…
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.
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 6 All rights reserved 2000 - 2010
Page 6
Prof. Dr. Thomas Allweyer
University of Applied Sciences Kaiserslautern
(former IDS Scheer employee)
“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.”
BPMN = Business Process Model & Notation
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 7 All rights reserved 2000 - 2010
Page 7
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.
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 8 All rights reserved 2000 - 2010
Page 8
Who is behind BPMN 2.0?
Big names are behind of BPMN. For competition and compliance, also webMethods BPMNS now supports BPMN.
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 9 All rights reserved 2000 - 2010
Page 9
BPMN 2.0 is the execution language for webMethods
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 10 All rights reserved 2000 - 2010
Page 10
BPMN Evolution Timeline
WfMCWfMC
BPMI
OMGOMG
WPDLWPDL
XMLXML
BPMN 1.0BPMN 1.0
XPDL 2.0XPDL 2.0 XPDL 2.1XPDL 2.1
1994 . . 1998 . 2000 2001 2008 201020072006 20092004 20052002 2003
XPDL 1.0XPDL 1.0
BPMN 1.0BPMN 1.0 BPMN 1.2
BPMN 1.2
BPMN 1.1
BPMN 1.1
BPMN 2.0
BPMN 2.0
RefModelRef
Model
XPDL 2.2XPDL 2.2
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 11 All rights reserved 2000 - 2010
Page 11
BPMN has own Semantics - And can be Complex!
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 12 All rights reserved 2000 - 2010
Page 12
� 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)
What BPMN 2.0 Standardizes
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).
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 13 All rights reserved 2000 - 2010
Page 13
BPMN 2.0 - THE Poster
It has
to be
at your
wall !
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 14 All rights reserved 2000 - 2010
Page 14
Slicing the Poster
� Drill down to the details…
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 15 All rights reserved 2000 - 2010
Page 15
BPMN Activities
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.
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 16 All rights reserved 2000 - 2010
Page 16
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!
BPMN Task Activities
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
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 17 All rights reserved 2000 - 2010
Page 17
BPMN Activity Markers
� Markers are related to
Activities.
Markers are related to Activities.
They are partially supported by webMethods BPMS.
For example, Ad hoc and MI Marker not implemented yet.
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 18 All rights reserved 2000 - 2010
Page 18
� Sequence Flow = Transition
BPMN Sequence Flows
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
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 19 All rights reserved 2000 - 2010
Page 19
����
����
����
����
x
BPMN Gateways
� Diverging and
converging
Gateways
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.
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 20 All rights reserved 2000 - 2010
Page 20
BPMN Events
Classification
� Event type(None, Message, Signal, Error,
Timer, Terminate,…)
� Event location(Start, Intermediate,
Intermediate Boundary, End)
� Caching/Throwing
� Interrupting/non-interrupting
Don't p
anic h
ere!
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.
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 21 All rights reserved 2000 - 2010
Page 21
Swimlanes, Pools, and Message Flows
� Message Flow describes the information flow between Pools
(Participants)
� Represented by dashed lines with arrows.
Partially supported by webMethods BPMS.
Currently only one internal pool allowed.
Currently no real support for participants (and Message Events).
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 22 All rights reserved 2000 - 2010
Page 22
� No BPMN 2.0
‘Data’ support
in wM 8.2.
� Data is as
before –
proprietary
BPMN Data
Data not supported in webMethods BPMS 8.2.
Business Data are still handled like in webMethods BPMS 8.0 by using the process pipeline.
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 23 All rights reserved 2000 - 2010
Page 23
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
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
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 24 All rights reserved 2000 - 2010
Page 24
BPMN 2.0 Encompasses Four Model Types
CollaborationCollaborationProcessProcess
ChoreographyChoreographyNew in
BPMN 2.0New in
BPMN 2.0
ConversationConversation
New in
BPMN 2.0New in
BPMN 2.0
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 25 All rights reserved 2000 - 2010
Page 25
BPMN Model in webMethods BPMS
CollaborationCollaborationProcessProcess
ChoreographyChoreographyNew in
BPMN 2.0New in
BPMN 2.0
ConversationConversation
New in
BPMN 2.0New in
BPMN 2.0
webMethods
Process
webMethods
Process
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 26 All rights reserved 2000 - 2010
Page 26
BPMN 2.0 Model in webMethods BPMS - Sample
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 27 All rights reserved 2000 - 2010
Page 27
BPMN Reference Material…
4 April 2011 | Software AG - Get There Faster | 27
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 28 All rights reserved 2000 - 2010
Page 28
…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
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 29 All rights reserved 2000 - 2010
Demo: Demo TitleBPMN Support in webMethods BPMS
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 30 All rights reserved 2000 - 2010
Page 30
� 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.
Key Goals for BPMN 2.0 Support in webMethods BPMS 8.2
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.
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 31 All rights reserved 2000 - 2010
Page 31
BPMN Support in webMethods BPMS
BPMN Support in…
� Designer
� Process Engine
� Process Debugger
� Process Monitor
� Optimize
� Process Simulation
� ARIS Interoperability (E-BPM)
Supporting BPMN required a major effort in all areas in and around webMethods BPMS as well as in ARIS.
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 32 All rights reserved 2000 - 2010
Page 32
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
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 33 All rights reserved 2000 - 2010
Page 33
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
New Palette at the right instead of icon bar on top of the design canvas.
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 34 All rights reserved 2000 - 2010
Activities
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 35 All rights reserved 2000 - 2010
Page 35
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
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 36 All rights reserved 2000 - 2010
Page 36
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)
Like former Receive step
Former Publish or Reply step
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.
.
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 37 All rights reserved 2000 - 2010
Page 37
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
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.
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 38 All rights reserved 2000 - 2010
Page 38
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
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.
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 39 All rights reserved 2000 - 2010
Page 39
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.
User Task Activity invokes a CAF Task hosted by MWS. That’s the former Activity step of type Task.
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 40 All rights reserved 2000 - 2010
Page 40
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
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.
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 41 All rights reserved 2000 - 2010
Page 41
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.
Allows to invoke Blaze rule service or to call a new webMethods Business Rule entity (Decision Table or Rule Set).
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 43 All rights reserved 2000 - 2010
Page 43
Rule Task Activity and webMethods Business Rules
Decision Table Action
Service ActionData Action Process Action : Start
Process Action : Join
Process Action : Cancel
Process Action : Suspend
Process Action : Resume
Process Action : Fail
Process Action : Manual
inParms resultParms
publish()…..…()
Input Output
PID[]
changeProcess
Status()…
abc
queueTask()
Task Business Data +Process Start/
Join Data Process Metadata
Task
… …
Task Business Data
Rules
Engine
Task
Engine
Process
Engine
Mapping
Mapping
Investigate PID[]
based on
Logged Fields
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)
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 44 All rights reserved 2000 - 2010
Page 44
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).
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.
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 45 All rights reserved 2000 - 2010
Page 45
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".
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.
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 46 All rights reserved 2000 - 2010
Page 46
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)*
� 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).
Receive/Send)
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.
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 47 All rights reserved 2000 - 2010
Page 47
Don‘t Get Confused – Part I
� Abstract Task Activity
� Service Task ActivityIS
� Service Task ActivityWS
� Rule Task ActivityBlaze
� Rule Task ActivitywM B.Rules
� User Task Activity
� Manual Task Activity
� Receive Task Activity
� Receive Task Activity
using SSP
� Send Task Activity
� 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 8.2 < 8.2 < 8.2
BPMN 2.0 specification offers two possibilities for receiving/catching and sending/throwing documents.
a) Receive/Send task
b) Catching/throwing Message Events
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 48 All rights reserved 2000 - 2010
Page 48
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
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 49 All rights reserved 2000 - 2010
Page 49
Subprocess Activity
� Encapsulates portions of a process
� Can be collapsed and expanded.
� Collapsed subprocess decorated
by "+" Marker:
� Supports Loop property (see later)
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 (non-
interrupting) checked as "Restore starting pipeline" and outgoing transition (see later with Exceptions).
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 50 All rights reserved 2000 - 2010
Page 50
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)
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.
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 51 All rights reserved 2000 - 2010
Page 51
Call Activity of Type "Referenced Process"
� 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
Broker Broker
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.
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 52 All rights reserved 2000 - 2010
Page 52
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
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.
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 53 All rights reserved 2000 - 2010
Page 53
� 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
Call Activity of Type "BPMN Callable Process"
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.
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 54 All rights reserved 2000 - 2010
Page 54
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
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.
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 55 All rights reserved 2000 - 2010
Page 55
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
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.
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 56 All rights reserved 2000 - 2010
Page 56
Don‘t Get Confused – Part II
� Call Activity of type
webMethods
Referenced Process
� Call Activity of type
BPMN Callable Process
� Subprocess Activity
� Activity step of type
Referenced Process
� --
� Subprocess
8.28.2< 8.2< 8.2
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 57 All rights reserved 2000 - 2010
Page 57
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
Same as in 8.0, collapsed Subprocess Activities can not have an image assigned.
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 58 All rights reserved 2000 - 2010
Demo: Demo TitleExercise 1 - BPMN Callable Process
Exercise 2 - Converted Referenced Process
Exercise
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 59 All rights reserved 2000 - 2010
Activity Markers
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 60 All rights reserved 2000 - 2010
Page 60
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
BPMN 2.0 Support in webMethods BPMS – Activity Markers
These show as
small badges
on the step
chosen.
*webMethods BPMS currently does not support all Activity Marker types contained in BPMN specification.
MI Markers and Ad hoc Markers are contained in the BPMN specification, but currently not implemented by webMethods
BPM.
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 61 All rights reserved 2000 - 2010
Page 61
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.
The Call Activity gets only decorated with a + Marker when the Referenced Process or Callable Process has already been
assigned to the Call Activity.
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 62 All rights reserved 2000 - 2010
Page 62
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.
*Exception: Manual Task
Remark
Compensation only indicated by the Marker,
but not implemented yet in webMethods BPMS.
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).
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 63 All rights reserved 2000 - 2010
Page 63
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.
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.
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 64 All rights reserved 2000 - 2010
Page 64
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
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.
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 65 All rights reserved 2000 - 2010
Page 65
Loop Marker at Subprocess
� Loop Marker controls multiple execution of Subprocess
� Available for collapsed and expanded Subprocesses
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 66 All rights reserved 2000 - 2010
Page 66
Loop Marker at Subprocess - Runtime
New Loop
Iteration
Count
New Loop
Iteration
Count
Using the "Step Iterations exceeded" transition is not very useful for subprocesses, but works fine for invoked Activities.
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 67 All rights reserved 2000 - 2010
Page 67
Loop Marker at Call Activity
� Loop Marker controls multiple execution of Call Activity
� Supports BPMN Callable Processes and Referenced Subprocesses
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 68 All rights reserved 2000 - 2010
Page 68
Loop Marker at Call Activity - Runtime
New Loop
Iteration
Count
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 69 All rights reserved 2000 - 2010
Demo: Demo TitleExercise 3 - Loops at Subprocesses
Exercise 4 - Loops at Call Activities
Exercise
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 72 All rights reserved 2000 - 2010
Page 72
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
*webMethods BPMS currently does not support all Activity Marker types contained in BPMN specification.
These show as
small badges
on the step
chosen.
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 73 All rights reserved 2000 - 2010
Page 73
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
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.
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 74 All rights reserved 2000 - 2010
Events
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 75 All rights reserved 2000 - 2010
Page 75
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
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 76 All rights reserved 2000 - 2010
Page 76
� Event Type classifies the kind of event.
� Event Types indicated by the inner icon:
1. None
2. Message
3. Signal
4. Error
5. Timer
6. Terminate
Event Types
non-filled Event icon…
filled Event icon…
*webMethods BPMS currently does not support all Event types contained in BPMN specification.
non-filled Event icon…
filled Event icon…
BPMN specification additionally describes the following Event types, which are currently not implemented by webMethods
BPMS:
•Escalation
•Conditional
•Link
•Cancel
•Compensation
•Multiple
•Parallel Multiple
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 77 All rights reserved 2000 - 2010
Page 77
Event Types - Catching vs. Throwing
� Events can be a…
– Catching Event
• Receiving a Message, Signal, Error,…
• Determines protocol
– Throwing Event
• Sending a Message, Signal, Terminate,…
� Some Events exists in both flavors.
non-filled Event icon
means "catching"
filled Event icon
means "throwing"
filled Event icon
means "throwing"
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).
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 78 All rights reserved 2000 - 2010
Page 78
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.
– 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.
Will be continued…
Solid outer lines
means "interrupting"
dashed outer lines
means "non-interrupting
"
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
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 79 All rights reserved 2000 - 2010
Page 79
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
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 80 All rights reserved 2000 - 2010
Page 80
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
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.
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 81 All rights reserved 2000 - 2010
Page 81
Event Location
� Events can be in a process:
– Independent items in a process model
• With incoming and/or
outgoing transitions
– Attached to an Activity
(Boundary Event)
• With one or multiple
transitions leaving the Event
• Always intermediate and catching!
� Some Events exists in both flavors.
Visual difference between an Event and an
Boundary Event is that the latter is smaller,
and on the boundary of an Activity.
Boundary Events are always intermediate and catching. Which Boundary Event can be used depends an the Activity type
it is used at.
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 82 All rights reserved 2000 - 2010
Page 82
Events - And Now All Together !
Type
Start
interrupting
non-interrupting
Catching
Throwing
Intermediate
Intermediate Boundary
End
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 83 All rights reserved 2000 - 2010
Page 83
Supported BPMN Events in webMethods BPMS
Signal
Timer
Error
Throwing
End
Terminate
Message
None
Catching,
Boundary, non-
interrupting
Catching,
Boundary,
interrupting
Catching
IntermediateStart
Availability depends on related Activity type!
*Boundary non-interrupting Error Event and End Terminate Events with Markers webMethods extension to the specification
*
* *
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.)
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 84 All rights reserved 2000 - 2010
Page 84
Events – And Now in Detail…
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 85 All rights reserved 2000 - 2010
Page 85
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.
BPMN specification also contains non-interrupting Start Events.
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 86 All rights reserved 2000 - 2010
Page 86
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
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.
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 87 All rights reserved 2000 - 2010
Page 87
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
� 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.
Supports
drag & drop
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.
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 88 All rights reserved 2000 - 2010
Page 88
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
� Similar to Start Message Event.
Supports
drag & drop
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.
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 89 All rights reserved 2000 - 2010
Page 89
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.
A participant could be a person, a system, or another process.
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 90 All rights reserved 2000 - 2010
Page 90
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.
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 91 All rights reserved 2000 - 2010
Page 91
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. later
cont. later
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.
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 92 All rights reserved 2000 - 2010
Page 92
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
– Error
– Terminate Terminate Process and
affect process status
Terminate track,
do not affect process status
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.
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 93 All rights reserved 2000 - 2010
Page 93
End Events
� Ends track only
� Ends track and throws (publishes) Signal
� Ends track and throws (publishes) Message
� Ends track and throws Error
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.
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 94 All rights reserved 2000 - 2010
Page 94
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.
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.
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 95 All rights reserved 2000 - 2010
Page 95
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
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.
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 97 All rights reserved 2000 - 2010
Page 97
Implemented by webMethods BPMS:
� Intermediate Events
– catching: Message, Signal
– throwing: None, Message, Signal
� Intermediate Boundary Events (always catching):
– interrupting: Message, Signal, Timer, Error
– non-interrupting: Message, Signal, Timer, Error
Availability
depends on
related Activity
type!
Intermediate and Intermediate Boundary Events
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.
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 98 All rights reserved 2000 - 2010
Page 98
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
Not all existing Intermediate Events are implemented by webMethods BPMS.
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 100 All rights reserved 2000 - 2010
Page 100
Intermediate Signal/Message Event (Catching)…
� Waits for incomingSignal/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.
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.
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 101 All rights reserved 2000 - 2010
Page 101
…Intermediate Signal/Message Event (Catching)
� Allows to
specify
correlation
� May have a specified Join Timeout
� Former Intermediate Receive step not using SSP will be converted to
Intermediate Message Event.
Join Timeout becomes an extension to the BPMN specification.
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 102 All rights reserved 2000 - 2010
Page 102
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
� Use case: Handle ARIS import of Events
that are currently not implemented
Difficult to
distinguish
between
filled and
non-filled
"nothing" ☺ ☺
Difficult to
distinguish
between
filled and
non-filled
"nothing" ☺ ☺
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.
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 103 All rights reserved 2000 - 2010
Page 103
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
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 104 All rights reserved 2000 - 2010
Page 104
Don‘t Get Confused – Part III
� Message Start Event
� Intermediate Message
Eventcatching
� End Terminate Event
� Receive step creating new
process and not using SSP
� Intermediate Receive step
not using SSP
� Terminate step
8.28.2< 8.2< 8.2
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 105 All rights reserved 2000 - 2010
Page 105
Intermediate and Intermediate Boundary Events
Implemented by webMethods BPMS:
� Intermediate Events
– catching: None, Message, Signal
– throwing: Message, Signal
� Intermediate Boundary Events (always catching):
– interrupting: Message, Signal, Timer, Error
– non-interrupting: Message, Signal, Timer, Error
Availability
depends on
related Activity
type!
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 106 All rights reserved 2000 - 2010
Page 106
Boundary Events
Drag
Palette
or
� 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:
*Availability depends on related Activity type
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 107 All rights reserved 2000 - 2010
Page 107
Boundary Signal/Message Events…
* Interrupting Boundary Events of type Signal/Message NOT implemented for Manual Tasks, User Tasks, Subprocesses, Call Activities, Rules Tasks.
� 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)
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.
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 108 All rights reserved 2000 - 2010
Page 108
…Boundary Message/Signal Events
� Requires for Message/Signal document and Receive Protocol
– Optional: Subscription Filters
� Supports Correlation
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.
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 109 All rights reserved 2000 - 2010
Page 109
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
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 110 All rights reserved 2000 - 2010
Page 110
…Message and Signal Events - Implementation
� Different process
subscriptions for
Messages and Signals
� wm.prt.dispatch:Signal
"wraps" doctype
of a Signal
1
2 3
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.
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 111 All rights reserved 2000 - 2010
Page 111
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.
� 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
incomplete
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 112 All rights reserved 2000 - 2010
Demo: Demo TitleExercise 5 - Signal Events
Exercise 6 - Message Events
Exercise 7 - Signal and Message Events
Exercise
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 113 All rights reserved 2000 - 2010
Page 113
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
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 114 All rights reserved 2000 - 2010
Page 114
� 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.
…Boundary Timer Events
* 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
Business Calendars in 8.0 only possible for entire process and join timeouts.
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 115 All rights reserved 2000 - 2010
Page 115
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.
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.
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 116 All rights reserved 2000 - 2010
Page 116
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-interruptingBoundary Error Event forSubprocesses 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.
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.
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 117 All rights reserved 2000 - 2010
Page 117
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
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).
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 118 All rights reserved 2000 - 2010
Demo: Demo TitleExercise 8 - Timer Events
Exercise 9 - Error Events
Exercise
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 119 All rights reserved 2000 - 2010
Page 119
Boundary Events in webMethods BPMS - Summary
� 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
Abstract
(None)
Service User Manual Rule Send,
Receive
Subprocess Call
Activity
Error
Message
Timer
Signal
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.
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 120 All rights reserved 2000 - 2010
Page 120
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.
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.
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 121 All rights reserved 2000 - 2010
Page 121
Events and Correlation
� 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.
Better a
picture
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 124 All rights reserved 2000 - 2010
Page 124
Don‘t Get Confused – Part IV
� interrupting Boundary
Error Event
� Non-interrupting
Boundary Error Event
� Non-interrupting
Boundary Error Event
checked as "Restore
starting pipeline"
� [non-]Interrupting
Boundary Timer Event
� 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
8.2 8.2 < 8.2 < 8.2
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 125 All rights reserved 2000 - 2010
Page 125
� 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
Events and Images
.
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 126 All rights reserved 2000 - 2010
Demo: Demo TitleExercise 10 - Boundary Events at a Service Tasks
Exercise 11 - Boundary Events at a Call Activity
Exercise
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 127 All rights reserved 2000 - 2010
Page 127
� colored = implemented by webMethods BPMS
� grey= defined by BPMN specification
� Pink boundary = webMethods extension to the specification
Summary
Events
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.
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 128 All rights reserved 2000 - 2010
Sequence Flows (Transitions)
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 129 All rights reserved 2000 - 2010
Page 129
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
– Default
– Conditional
unlabeled
Labeled with "Default",
decorated with \
Labeled with condition,
decorated with diamond
Designer Preferences
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 130 All rights reserved 2000 - 2010
Page 130
Configuring Transitions in webMethods BPMS
� Default:
unconditional
� Configuration via
– Transitions' Properties
or
– Source step Properties
� Supports simple or
complex conditional
expressions
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 131 All rights reserved 2000 - 2010
Page 131
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
Former "Error" and "Timeout" transitions removed
and converted into Boundary Events.
Former "Error" and "Timeout" transitions removed
and converted into Boundary Events.
Special labeled conditional
transitions –
webMethods extensions
to the specification
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 132 All rights reserved 2000 - 2010
Page 132
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"
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 133 All rights reserved 2000 - 2010
Page 133
…Conversion of webMethods BPMS Transitions 8.0 -> 8.2…
* non-interrupting if it is a Subprocess Activity
� 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
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 134 All rights reserved 2000 - 2010
Page 134
…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"
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 135 All rights reserved 2000 - 2010
Page 135
Don‘t Get Confused – Part V
� "Join Timeout" transition
� "Unsatisfied Join"
transition
� "Step Iterations Exceeded"
transition
� Joining step with join
timeout and "Timeout"
transition
� Joining step with
"Unsatisfied Join" transition
� Step with "Step Iterations
Exceeded" transition
8.2 8.2 < 8.2 < 8.2
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 136 All rights reserved 2000 - 2010
Gateways
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 137 All rights reserved 2000 - 2010
Page 137
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
convergingGateways Gateways don't
support
Boundary Events.
Gateways don't
support
Boundary Events.
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.
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 138 All rights reserved 2000 - 2010
Page 138
Exclusive Gateway
� Exactly one
transition taken
� Join: XOR
(Unsynchr. OR)
� No Join timeout
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.
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 139 All rights reserved 2000 - 2010
Page 139
Inclusive Gateway
� Zero, one or more
transitions taken
� Join: synchr. OR
� No Join timeout
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.
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 140 All rights reserved 2000 - 2010
Page 140
Parallel Gateway
� All transitions
taken
� Join: synchr. AND
� No Join timeout
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.
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 141 All rights reserved 2000 - 2010
Page 141
Complex Gateway
� For complex merging
and branching behavior
� 8.0 Gateway steps
will be converted
into Complex
Gateways
� Offers Join
timeout for
compatibility
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.
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 142 All rights reserved 2000 - 2010
Page 142
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
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 143 All rights reserved 2000 - 2010
Page 143
Don‘t Get Confused – Part VI
� Complex Gateway
� Corresponding Activity
with Join condition
� Intermediate Message
Event (catching) with Join
� Diverging Activity
� Gateway step
� Joining step
� Joining intermediate
Receive not using SSP
� Diverging step
8.2 8.2 < 8.2 < 8.2
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 144 All rights reserved 2000 - 2010
Demo: Demo TitleExercise 12 - Parallel Gateways
Exercise 13 - Exclusive Gateways
Exercise 14 - Inclusive Gateways
Exercise 15 - Complex Gateways
Exercise
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 145 All rights reserved 2000 - 2010
Pools, Swimlanes, Annotations, and Message Flows
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 146 All rights reserved 2000 - 2010
Page 146
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
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.
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 147 All rights reserved 2000 - 2010
Page 147
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
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 148 All rights reserved 2000 - 2010
Page 148
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
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 149 All rights reserved 2000 - 2010
Miscellaneous Changes and Enhancements
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 150 All rights reserved 2000 - 2010
Page 150
Allow Parallel Execution
� Former "Lock Step" rebranded to "Allow parallel execution"
� Available for all Activities, Events, and Gateways
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 151 All rights reserved 2000 - 2010
Page 151
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
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.
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 152 All rights reserved 2000 - 2010
Page 152
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
Steps Enabled for Resubmission are get automatically populated as you add steps to the canvas.
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 153 All rights reserved 2000 - 2010
Page 153
Edit Data Mapping
� 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
incomplete
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 154 All rights reserved 2000 - 2010
Demo: Demo TitleDebugger
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 155 All rights reserved 2000 - 2010
Page 155
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.
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 156 All rights reserved 2000 - 2010
Page 156
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
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 157 All rights reserved 2000 - 2010
Demo: Demo TitleProcess Monitor
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 158 All rights reserved 2000 - 2010
Page 158
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
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 159 All rights reserved 2000 - 2010
Page 159
Events in Monitor
� 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
Icons
missing
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 163 All rights reserved 2000 - 2010
Page 163
Interchange
Serialization
BPMN 1.1*
XPDL
.Process
BPMN 2.0*
XPDL
.Process
8.0 8.2
BPMN 2.0
BPMN 2.0
BPMN 2.0
Later
In Designer
In Designer
Orchestration Proprietary BPMN 2.0* BPMN 2.0
Process Engine
Process Engine
BPMN 2.0*
BPMN 2.0*
BPMN 2.0*
K
BPMN 2.0*
Choreography No Support No Support No Support BPMN 2.0
* - partial support
Outlook - BPMN 2.0 Roadmap
Notation
BPMN 2.0 support will be an incremental approach in webMethods BPMS.
BPMN 2.0 Support in webMethods BPMS
© Software AG Training Page 165 All rights reserved 2000 - 2010
Thank you