business flows within the datacenters of one company.
The business process modeling languages constructs
offered by the current generation of workflow lan-
guages, e.g. Business Process Execution Language
(BPEL) (OASIS, 2007) or Business Process Model
and Notation (BPMN) ((OMG), 2011), are based
highly on a centralized execution model and current
BPMN engines offer no constructs for federation and
decentralized execution.
The different parties involved in a federated work-
flow must be able to inspect the state of the external
workflows, all the while hiding workflow implemen-
tation details. Business Process Modeling (BPM) lan-
guages must thus be extended to support modeling,
monitoring and deployment of decentralized work-
flows in the specification.
The approach described in this paper is to extend
BPMN using its extensibility such that the extensions
are backwards compatible with the existing BPMN
specification. The remainder of this paper is struc-
tured as follows. In Section 2, relevant related work
is discussed. Sections 3 and 4 handle advanced cor-
relation and monitoring extensions in BPMN respec-
tively. Finally, our conclusions are drawn and future
work is discussed in Section 5.
2 RELATED WORK
Previous research (Van Seghbroeck et al., 2007)(Ste-
fanescu et al., 2014)(Barros, 2015)(Dumas and
Kohlborn, 2015) has come to the same result with re-
gard to the different steps in the development cycle of
decentralized workflows or choreographies depicted
in Figure 2. First, a top-down approach describes the
service choreography, which can be validated. When
the choreography is described, and after validation,
all the different participants’ stubs are extracted. As
a result of the stub extraction and the different im-
plementations, it is possible to use common process
engines to execute a choreography.
Figure 2: The complete development cycle for service
choreographies.
The European Project CHOReOS (Large Scale
Choreographies for the Future Internet) (Autili et al.,
2014), which ended in 2013, resulted in a very
interesting implementation of this development cy-
cle. CHOReOS focusses only on BPMN, to de-
scribe its choreography, and to describe and execute
the different participants parts of the choreography.
CHOReOS, unfortunately, only monitors system level
KPIs. In the monitoring model described in this pa-
per, it is also possible to monitor application specific
data.
The JBoss Savara
1
project can be used to cre-
ate service choreographies. It uses Web Ser-
vice Choreography Description Language (WS-CDL)
(Kavantzas et al., 2005) to describe the choreography,
but only some basic tools to monitor and validate the
choreography are available. The Eclipse BPMN Mod-
eler
2
can only be used to design choreographies, it
does not have an execution environment incorporated,
nor are there monitoring tools.
Correlating messages in choreographies comes
with another level of complexity, not only do mes-
sages have to be correlated to each participant’s work-
flow instance, but they also have to correlate these in-
dividual participants to the overall choreography in-
stance. To the authors’ knowledge, there is only one
specification, WS-CDL, which has a very elaborate
definition of and view on correlation. Since BPMN
does not offer this, extensions to BPMN are needed.
Since there are no clear choreography execution
environments yet, there are no ready-to-use moni-
toring environments to monitor choreography work-
flows. Monitoring, using the current tools and frame-
works, would entail consolidating and aggregating the
monitoring info from all the different choreography
participants. It is clear that this is a fairly impos-
sible task since every workflow engine has its own
way to store the monitored data and has their own
APIs to reference this information. The lack of a
standardized monitoring API is a real problem here.
Research has dealt with monitoring choreographies
(Wetzstein et al., 2010; Lazovik et al., 2004; Roder
et al., 2011), but very little research has been per-
formed aimed specifically at BPMN. Another way to
monitor a distributed environment is having a central-
ized system in place (e.g. Business Activity Mon-
itoring) that gathers all necessary information from
the individual partner’s workflow engines, either via
a pull or push method, or via monitoring agents. An-
other problem with regards to monitoring is that most
of the current engines only provide monitoring infor-
mation about system-wide aspects (e.g. number of re-
1
http://savara.jboss.org
2
http://eclipse.org/bpmn2-modeler
BPMNExtensionsforDecentralizedExecutionandMonitoringofBusinessProcesses
305