Requirements for a Pattern Language for Event

advertisement
Requirements for a Pattern Language for
Event-driven Business Activity Monitoring
Thomas Raffelsieper
viadee Unternehmensberatung GmbH, 48147 Münster, E-Mail:
thomas.raffelsieper@viadee.de
Jörg Becker, Martin Matzner
University of Muenster, European Research Center for Information Systems (ERCIS), 48149
Münster, E-Mail: joerg.becker|martin.matzner@ercis.uni-muenster.de
Christian Janiesch
Karlsruhe Institute of Technology (KIT), Institute of Applied Informatics and Formal
Description Methods (AIFB), 76131 Karlsruhe, E-Mail: christian.janiesch@kit.edu
Abstract
To measure and evaluate the productivity of service processes in near real-time, the fusion
of Complex Event Processing (CEP) and Business Activity Monitoring (BAM) for Business
Process Management (BPM) has been proposed under umbrella terms such as event-driven
BAM or event-driven BPM. However, evaluations of the resulting architectures have shown
that there is a need for structured design methods which allow for the consistent engineering
and management of the respective models. Since we observed repetitive patterns in BAM
queries for service monitoring, we have started the engineering of a pattern language to
increase consistency and generally ease the design process. Based on an evaluation of
related work, we present more than two dozen requirements of general nature as well as
requirements for sourcing, calculation, and evaluation definitions and discuss these.
1 Introduction
The productivity of services and service systems is an often overlooked aspect in the
engineering and management of services. Currently, despite the tight link between service
and technology, there is not only a lack of methodical means to measure and evaluate
services in a standardized way but also a lack of tooling which is adapted to the needs of
service intelligence. Operational intelligence is an area of growing interest which aims at
closing this gap by trying to combine different technologies in a novel way.
Business Process Management Systems (BPMS) allow to design and execute services
orchestrated into a business process. Still, built-in monitoring capabilities possess a lack of
2
Thomas Raffelsieper, Jörg Becker, Martin Matzner, Christian Janiesch
flexibility and usability, as well as timeliness [1] when trying to measure the productivity of
certain processes. Here, Business Activity Monitoring (BAM) is an approach to monitor
business performance and therefore business processes in real-time, by processing events
from multiple service systems to identify critical business performance indicators [2].
However, current BAM solutions suffer from a number of drawbacks, e.g.: There is no clear
definition of the required information, the implementation is time consuming and error-prone,
and often the solution is hard-wired into the system, so that external data sources cannot be
accessed easily. Complex Event Processing (CEP) has proven to be a promising way to
handle these problems. The term CEP enfolds several techniques to derive higher level
knowledge from simple events in a timely and online fashion [3].
We observed that the development of mostly CEP-based monitoring models, which define
the behavior of the BAM system, is based on repeated design actions and reoccurring
modeling decisions, especially because the main event source is the same: a BPMS [1].
Hence, it is possible to identify and categorize patterns of those actions to form a BAM
pattern language [4].
A pattern language in general is a set of patterns, used to solve a specific problem, which in
this case is the complex creation of monitoring models for event-driven BAM. It helps to
standardize the measurement and evaluation of services and decreases the required effort to
set up, analyze, and optimize monitoring models. Thus, it enables timely reaction to changes
in the business environment during design time.
This paper represents a first step towards the development of a pattern language for eventdriven BAM. At this stage, the main focus is to understand the current body of knowledge in
the relevant areas to gather requirements for a BAM pattern language. We have done a
literature review and interviewed experts from a major software vendor who is in the process
of rolling out a monitoring solution for its BPM product. In relation to the overall design
science process, this means that the current work encompasses the early stages of the
process. Due to length restrictions we were not able to include preliminary results for the
latter stages. We will however be able to present and discuss these at the conference.
The paper is structured as follows. First we introduce relevant related work from the areas of
CEP, BAM, and their fusion event-driven BAM. Based on the design process for event-driven
BAM, we derive requirements for a pattern language and summarize and discuss them. We
argue that a pattern language which implements these requirements allows for exploiting
more timely insights and resulting actions in service systems.
2 Related Work
2.1
Patterns as a Means in IS Design Processes
“Each pattern describes a problem which occurs over and over again in our environment,
and then describes the core of the solution to that problem, in such a way that you can use
this solution a million times over.” [5, p. x] Accordingly, a pattern can be understood as an
abstract problem-solution pair, applicable for a specific environmental context. Patterns can
be found in different disciplines [6]. Patterns and pattern languages became particular
popular in computer science with the publication of the design patterns of Gamma et al. [7].
Multikonferenz Wirtschaftsinformatik 2012
3
A pattern usually follows a three-parted scheme [6]:
•
Context: Situation, in which a problem can occur,
•
Problem: A problem often occurs within a context,
•
Solution: Solution to the problem within the context.
The context can be described very detailed, as well as very generic, depending on the
intended application of the pattern. This makes the exact definition of the context for a
specific problem difficult. To make a pattern language comprehensible, the context for similar
problems should address the same level of abstraction.
In the first part of the problem section, a general and concise description is given, followed by
a more detailed explanation, e.g., by a set of forces which influence the context. Three
typical elements of the description are requirements, constraints or desirable properties [5].
The solution gives an explanation of how to solve the described problem, or in other words:
How the related forces can be balanced. It is not mandatory for the balance to be equally
distributed over the forces. Depending on the context, a pattern might want to prefer some
forces or neglect some of them, depending on the desired result [5].
In case of BAM, patterns help designers and developers to create monitoring models faster
and more consistently and, thus, reduce ambiguity. They enable reuse of sub-patterns,
comparability of similar queries and ease the amount of testing by using pre-defined
structures. Ultimately, the patterns must be available in CEP engines to design BAM models.
2.2
Complex Event Processing
Generally speaking, an event is anything that happens at a point in time [8]. When talking
about application systems, an event is a record of an activity in a system, where the event
signifies the activity [3]. Many raised events signify an action raised within other systems
(e.g., a Web service call), information about a certain system state or simply a log of
information to enable subsequent analysis of the system’s behavior. Nowadays, companies
that are engaging in service systems employ different information systems, with diverse
participants and tasks distributed over several networks or locations [3]. All of them traverse
through several states and in doing so raise billions of events during day-to-day business [9].
This broad mass of unstructured data is called event cloud, from which gathering any insight
is hardly possible without structuring first [3]. When trying to analyze the system’s behavior,
the biggest problem is that a specific event within the event cloud usually has hardly any
value without knowledge of its context.
In CEP events are defined on a higher level of abstraction by defining a sequence or group
of events as a new event, a complex event. Complex events can be used to define even
more complex events and so forth. The abstraction rule for a complex event is called event
pattern. The detection of a complex-event often implies action. Therefore, they are evaluated
by a machine or a human user and, if necessary, an action is taken. The set of methods for
detection, calculation, and evaluation of complex events, or simpler, the management of the
events in the cloud, is called CEP [3, 9, 10].
The CEP engine is the center of a CEP application. It is responsible for processing and
evaluating incoming events. So called producers create the events to be evaluated.
4
Thomas Raffelsieper, Jörg Becker, Martin Matzner, Christian Janiesch
Consumers on the other hand react on complex events and trigger actions or provide
calculated data for visualization or analysis purposes. To define the behavior of the CEPengine, so called Event Query Languages (EQL) are used [1].
2.3
Business Activity Monitoring
CEP can be used in several application areas, one of them is BAM. BAM refers to methods
for the timely identification of threads and opportunities of business processes. Furthermore,
it has been discussed as a precondition for so called predictive business, next to Business
Process Management (BPM) and to be a driver for the competitiveness of enterprises in
future [9].
Business Process Monitoring has been part of BPM for a long time. Common methodologies
have been summarized under the term of Business Intelligence (BI). Management concepts
such as the Balanced Scorecard (BSC) require business analysts to switch from traditional
finance-oriented, data-driven and time consuming BI monitoring projects to agile, value
creation oriented projects. The BSC aims at monitoring any activity within a company
permanently [11]. This means that business processes need to be monitored permanently
and in real-time. In other words, BI shifts from the strategic to the operational level. Though
some industries are pioneering (e.g., energy or automotive) in this movement, most
enterprises are not aware of the status of their running process instances as no standardized
way to access the required data has been established yet [9]. However, the Gartner Group
proposed Business Activity Monitoring (BAM) as the ’New Age’ of BI [2]. BAM does not
replace BI, but augments it by methods to give a real-time view on process information [11]:
“BAM is [...] defining how we can provide real-time access to critical business performance
indicators to improve the speed and effectiveness of business operations. Unlike traditional
real-time monitoring, BAM draws its information from multiple application systems and other
internal and external sources.” [12, p. 2]
2.4
Event-driven Business Activity Monitoring
CEP can be used as a technical foundation for BAM, which is then called event-driven BAM.
This idea has been proposed by several authors and currently appears to be a promising
way to realize real-time monitoring of business processes [3, 8]. Instead of querying data
from a database or other systems, the responsibility to provide all necessary information in
time is forwarded to the application itself – by providing events to the event cloud [11]. Then
a monitoring query for BAM (i.e. a BAM model) can be created. A BAM model is written in an
EQL. It has to be executed by the CEP engine. Depending on the application scope of BAM,
one can identify four general targets, which will be outlined in detail below:
•
Monitoring of time-critical performance indicators through visual dashboards or
programmatic rules to adjust tactical or operational decisions timely [13],
•
Monitoring of business-level policies to avoid breaches of Service Level Agreement
(SLA) [14],
•
Extended monitoring of the event cloud to identify business threads and opportunities
in real-time [13],
•
Automated action triggering to call for proactive intervention [1, 15].
Multikonferenz Wirtschaftsinformatik 2012
5
Monitoring of Time-critical Performance Indicators
A measure is a quantifiable value based on one or more events [16]. Measures can be
derived from other measures to form a measurement system. Measures can be interpreted,
either manually or automatically, to give an indication of the business performance. Such
measures are called performance indicators or, if they are vital for the success of the
venture, Key Performance Indicators (KPI) [17]. A KPI usually has a direction in which it shall
develop, or a range in which it has to stay. Besides general purpose KPIs, one can identify a
specific measurement type for processes, which is termed Process Performance Indicator
(PPI). Those indicators have in common that they are directly related to a single process
definition and reflect a measure of success in general or for each instance [18]. Accordingly,
measures and process measures are distinguished. When monitoring explicit business
processes, each event can be traced back to its originating process in a BPMS, which means
in turn that each measure, which is derived from a single event, is by nature a process
measure, even if it can be interpreted differently.
With event-driven BAM, performance indicators can be monitored in real time. If they do not
develop in the desired direction or exceed the specified range, entrepreneurial action can be
taken in a timely fashion. Definitions of measurement systems for CEP are usually
implemented using data stream query languages, whereas the monitoring of direction and
range is realized with composition operators.
Monitoring of business-level policies
It is possible to monitor constraints of a SLA – either with customers or suppliers or internally
with other departments – in the same fashion. An SLA is an agreement between the
provider(s) and the consumer(s) of a service on the provided service’s quality with respect to
its non-functional properties [19]. The SLA can, e.g., define the amount of timed out requests
per day, which would be accepted by the service consumer before the provider is penalized.
Monitoring SLAs thus corresponds to monitoring performance indicators, in terms of the BAM
model. It requires calculating measures, which are evaluated to possibly trigger actions.
Extended Monitoring of the Event Cloud
The core functionality of CEP can be applied on the business level also in order to identify
business threats and opportunities. Composition operators allow defining complex events to
detect activity timeouts, fraud, or other typical event combinations [3]. Usually, this is done by
the composition-operator based part of the BAM model, as it requires dynamic analysis and
matching of event sets, which cannot be done by predefined joins of relational
representations of the stream at a single point in time.
Automated Action Triggering
Also, CEP engines allow triggering automated actions, sending out alerts or directly providing
their calculated information for visualization on dashboards. An action can for example be
triggered through a Web service or a Java bean. The action is usually not invoked within the
EQL itself, but rather uses proprietary interfaces [1]. Therefore it will not be in the focus here.
6
Thomas Raffelsieper, Jörg Becker, Martin Matzner, Christian Janiesch
3 Requirements for a Pattern Language for Event-Driven BAM
Modeling
3.1
Overview
Event-driven BAM either requires only a subset of the CEP functionality, or uses different
methods to solve similar problems. In both cases, a pattern language can decrease the
complexity of the design process for BAM significantly by specifying the set of methods to
use. In the previous sections, we highlighted the different targets of BAM: Monitoring of
performance indicators, monitoring of business-level policies, and extended monitoring of the
event cloud. Obviously, extended monitoring of events is rather company-specific and
diverging in different application domains and, thus, not suitable for a generic pattern
language. But the monitoring of business-level policies, as well as monitoring of performance
indicators, follows a repetitive scheme: First, the required data is gathered from the event
cloud. Second, the target measures are calculated through queries or EQL expressions.
Third, the measures are evaluated. Evaluation might be in form of manual analysis (e.g., on
dashboards) or in an automated manner inside the CEP engine. A CEP-based BAM model
can therefore be divided into sourcing, calculation, and evaluation. The event-driven BAM
model division at the same time reflects the phases of the BAM model design process. A
pattern language will simplify the modeling process itself, by giving advice to the creation of
each part of the model structure. It acts as an abstraction layer between the application
capabilities of CEP and the BAM targets. Figure 1 gives exemplary overview of this process
in a simple example for purchase order processing.
ORDER CREATED
ORDER
ACCEPTED
DURATION CREATED
TO ACCEPTED
OUT OF NORMAL
RANGE
DURATION CREATED TO
COMPLETED
DURATION ACCEPTED
TO COMPLETED
3 TIMES IN A ROW
ORDER
COMPLETED
SOURCING
Figure 1:
CALCULATION
EVALUATION
Exemplary BAM Model Structure
Also, a pattern language can augment the usability and readability of the model itself. In the
following, the requirements for each part of the modeling process are identified, followed by
general requirements for an event-driven BAM modeling pattern language.
3.2
BAM Preparation
Before a BAM system is designed, it is important to define the values which shall be
monitored and especially how they are calculated. Otherwise, developers would not know
which data to source. This comprises the measures as well as their targets or constraints in
case of performance indicators or business-level policies, respectively. Accordingly, Marr et
al. [20] see a direct correlation between the definition of sufficient KPIs and the strategic key
capabilities of organizations. Consequently, companies tend to use industry specific standard
indicators, if available. Such indicators can, e.g., be used by companies in order to compare
Multikonferenz Wirtschaftsinformatik 2012
7
the process performance with competitors [21]. Popular examples for industry-specific KPIs
are given in the IT Infrastructure Library (ITIL) and the Supply Chain Operations Reference
Model (SCOR). Also user-based libraries such as the SAP Business KPI Community or the
KPI-Library can be taken as a reference for the definition of a KPI system. Still, since each
company has its own organizational goals, they will have a set of self-defined indicators,
which are not publicly available. Business-level policies and especially SLAs are commonly
not based on standards, but rather on mutual agreements between providers and consumers
of services.
It can be assumed that such a measurement definition is created by business analysts with
sparse knowledge of the technical system landscape. This suggests that tooling for BAM and
for KPI definitions is separated, so the measurement definition needs to be transferred into
an EQL representation. The output of the BAM preparation therefore is a conceptual
representation of the monitoring model or in the best case a “scaffold model” in the required
EQL. In the worst case, the developer will have to rebuild the model from scratch.
3.3
Sourcing Definition
Assuming that the underlying system landscape can access an event cloud with all required
events, the developer’s first step is to determine how the measures, which have been
specified by the business analysts, can be calculated on the basis of events from the cloud.
Sometimes, the developer will find the exact value as context data of a given process. But
sometimes, it will require a complex calculation of the value, as information might be
distributed over several processes or require the access to external systems. Furthermore,
the developer needs to make sure that the monitored value represents exactly what was
meant by the Business Analyst. Additionally, depending on the available data, the developer
will have to make adjustments to the units. For example if values are available, but are in the
wrong format, e.g., 100¢ instead of $1, he will have to implement the necessary conversion.
However, he would need to know the unit of the measure definition.
Depending on the value to be calculated and the system structure, additional contextual data
needs to be passed to the CEP system. Such data could be a reference identifier to the
respective process or process element. This mapping of attributes needs to be done, too, as
it depends on the applied CEP engine and may differ in syntax and semantics. Output of this
step should be an executable BAM model without any calculated measures or KPIs.
A pattern language has to facilitate the categorization of events from the cloud in order to
further compute them. Thus, it would improve the events’ usability and comprehensibility.
Nevertheless, it is a tradeoff for powerfulness. For that reason, each sourcing construct in the
EQL should have a definite type of event. Furthermore, the language must not drop any BAM
related-data from the cloud, so all data is available to the CEP engine for possible
calculations of the pattern language. At the same time, the language should disallow access
to unnecessary data, e.g., network events, which have no use in the calculation of business
related measures. For the sake of conformity, the access of the event cloud has to be
standardized and reduced to a single set of connectors. A set of basic attributes should be
defined which has to be available in the BAM model. In turn, this set defines which events
from the cloud are BAM related and are required to be accessible for the language to work.
Additionally, in order to increase the information content the unit of the sourced data must be
specified.
8
3.4
Thomas Raffelsieper, Jörg Becker, Martin Matzner, Christian Janiesch
Calculation Definition
The actual calculation definition is the translation from the conceptual model – as created in
the preparation phase – into the EQL. It represents the core of the processing rules for the
CEP engine. There are many different ways to define measures, performance indicators, or
business-level policies, even though the definition is that important. Also, the definition might
contain descriptive parts, giving additional information on when and how to use the measure
which cannot be formalized easily. When using more than one reference to another stream
for the calculation of a new measure, it is necessary to create a join. A join merges related
data from two or more streams (respectively, relations) into a single readable result. In order
to know which data shall be merged one or more conditions are defined which need to be
fulfilled before rows are joined. Usually, each condition requires the column of one event of a
stream to equal another column of another event. Also, composition operator-based
languages have join concepts, even though they follow different comparison paradigms.
Basically, the selection of the join configuration is arbitrary, which means that the developer
has to think about the adequate join each time a new derived stream with more than one
stream reference is created. A pattern language for event-driven BAM with a non-arbitrary
set of stream combinations should suggest adequate joins for specific situations to the
developer.
A pattern language must exactly specify how a calculation of a measure is set up and
whether the pattern might be reused in further calculation steps. Accordingly, each new
measure has to be created in a standardized manner independent of the calculation.
Thereby, the resulting implementations will not contain different calculation approaches if
created by different developers. The models will be easier to maintain and extend, and the
model will exhibit how it might be reused by other patterns. Furthermore, the explication of
the calculation avoids that the business analysts try to use constructs which are not
supported on the technical level, as long as the tooling to specify the indicators or policies is
consistent with the pattern specification. Accordingly, common calculations should not be
done with different calculation approaches. Each calculation needs to be identifiable, and
must not be mixed up with other calculations. Typical calculations for durations of processes
or activities should be directly available, just like common handling definitions for data
measures like literals, XML-Data, etc. Predefined calculations will ease validation. If the
calculation of a specific pattern has been proved to be valid (e.g., by means of tests), all
patterns which apply to that calculation do not require additional validation. Additionally, as
business processes are addressed, it makes sense to have predefined calculations for
common enterprise application statistics to perform a quantitative analysis [22]. Furthermore,
it appears to be promising to cover popular stochastic measures for real-time determination
of distribution functions. Besides the actual calculation, the language has to define which
attributes (i.e., columns in SQL) should be picked from one measure by another, so that as
much information as possible is prevailed but the calculation is still comprehensible.
However, the language must not prevent the usage of composition operators, which are a
powerful feature of CEP. Neither should it hide common SQL functionality like filtering and
unions. A BAM pattern language has to specify how data from different sources is merged, if
multiple values are used for the measure. This means that such a language has to support
the developer in the selection of joins as much as possible. Finally, it should be possible to
track the development of a measure over time.
Multikonferenz Wirtschaftsinformatik 2012
3.5
9
Evaluation Definition
If the calculations of all measures have been implemented in the BAM model, they can be
evaluated. As stated before, it is not mandatory to evaluate measures in the BAM model. The
values can also be sent to a dashboard or external applications. Each evaluation is done as
an additional measure. The rules for automated actions are given by the business analysts in
general. It is important that the evaluation is consistent with the prior definition of
performance indicators and business-level policies. Usually, an evaluation inherits a so
called condition measure. Such measures represent a logical expression, which can be
either true or false. Those expressions are then used to trigger actions, either automated or
initiated by humans.
Again CEP offers a plethora of evaluation possibilities – either through composition operatorbased situation detection or through logical evaluation of metrics. Here, a pattern language
should provide a standardized approach to create evaluations and support the developer
with common evaluation methods such as ranges or value checks. Besides that, a BAM
pattern language should contain some problem related patterns, which have a use in several
modeling situations. The underlying processes from the technical landscape are the base of
the calculations. There should also be patterns to evaluate the process performance.
3.6
General Requirements
Generally, CEP is a technique which allows for processing all kinds of events with different
attributes, different types, and different behavior. BAM in contrast utilizes CEP for its own
purposes, which leaves a large set of CEP features unused. The preceding sections
exemplified requirements to a BAM modeling pattern language referring to the distinctive
parts of the BAM modeling process (as introduced in Figure 1). To interconnect the particular
phases of the design process, it is important to keep the BAM model consistent. The model
shall be easily understandable with as little information loss as possible. This requires the
language to assist the developer in the naming of attributes as well as naming of measures.
A name has to identify the value it represents and therefore must be unique. To keep the
amount of design decisions for the developer low, the patterns have to request as few
parameters as possible and allow for a swift composition of patterns.
4 Discussion and Outlook
The purpose of this study was to identify requirements a BAM pattern language needs to
implement to be able to transfer timely reaction to changes in the business environment to
the design time level of BAM. We addressed this purpose by reviewing related work on CEP,
BAM, and their fusion: event-driven BAM. The review revealed that BAM is an increasingly
important part of process and, thus, service productivity measurement. BAM combined with
or based on CEP technology offers an even wider range of applications such as the
monitoring of time-critical performance indicators through visual dashboards or programmatic
rules, the monitoring of business-level policies to avoid breaches of SLAs, the extended
monitoring of the event cloud to identify business threats and opportunities in real-time as
well as an automated action triggering to call for proactive intervention. Until recently, this
fusion of measurements and analysis concepts and their respective technology has not been
in focus in service management.
10
Thomas Raffelsieper, Jörg Becker, Martin Matzner, Christian Janiesch
As more and more research analyzes CEP-based BAM applications, also more and more
issues of the loose coupling become apparent such as the complexity of designing
interrelated service and event triggers or the complexity of their maintenance. To ease the
effort required to set up, analyze, and optimize monitoring models, we have gathered
requirements for a pattern language to transfer one of the key targets of BAM to the design
time level: Timely reaction to changes in the business environment.
We have gathered more than two dozen requirements of general nature as well as
requirements for sourcing, calculation, and evaluation definitions. They highlight aspects
which range from the necessity of calculation validation to the observation of changes in
measure over time. But mainly they postulate standardized behavior for access, attributes,
calculation rules, event types, evaluations, and naming among others. In the following Table
1, the requirements are summarized. The goal of the pattern language has to be to fulfill as
many of the requirements as possible.
Requirement
Sourcing
Definition
Calculation
Definition
Evaluation
Definition
General
Requirements
Table 1:
Resulting Requirements
Rationale
useful event type categorization
no loss of available context data in the
cloud
standardized access of data
no access of unnecessary events
definition of mandatory attributes
definition of units
standardized calculation rules
calculate process/ activity durations
handling of data measures
patterns for enterprise application
performance
patterns for common statistical measures
calculate aggregations
validated calculations
merge definition (joins)
composition operator applicability
possibility to filter unwanted events
possibility to unite measures
possibility to monitor development of a
measure
standardized evaluation
specification of ranges
specification of data measure value checks
specification of problem identification
patterns
ability to represent business performance
standardized naming of attributes
standardized naming of measures
unique naming of measures
names shall identify the content
as little information loss as possible
easy composition of patterns
structure input data, ease of use (calculations)
keep data rich, avoid reloading data
conformity, reduce amount of adapters
focus on business events
enable similar access to all events
reduce ambiguity of data
improve reusability by developers
reduce design efforts through high-level
process, data, enterprise patterns
reuse of calculations
reduce testing
keep CEP functionality and flexibility
track change, auditability
reduce ambiguity
ease definition of KPI targets
keep relation to event origin
consistency
reduce ambiguity
enable readability by humans
meaningfulness of data
enable involvement of business users
Requirements Overview for an Event-driven BAM Pattern Language
The list reflects today practical challenges in BAM model design and provides a hands-on
overview of these challenges. Recent releases of BPMS provide increased support for
process reporting but fall short in addressing a heterogeneous event cloud. Also, there is at
Multikonferenz Wirtschaftsinformatik 2012
11
best limited support for the interplay between analysts and developers to transfer changes in
design-time into process adaptations in a timely fashion.
Based on these challenges, a BAM pattern language that implements these requirements is
a good candidate to ease the design of event-driven BAM applications. As patterns have
proven to be useful in theory and practice and as there is a clear need for a higher level of
abstraction in event-driven BPM projects to measure the productivity of services, we estimate
this to be a good basis for discussion and subsequent design. However, we acknowledge
that the presented work is subject to various limitations. One might, e.g., argue that a BAM
pattern language necessarily would have to consider the business domain it is applied within.
Further, a pattern-language marks only one approach to cope with the complexity of the
interplay of CEP and BPM. Extending EQL by capabilities to more abstractly describe
process aspects might be another promising approach.
In present research activities, we design a BAM pattern language based on the presented
requirements in cooperation with industry partners. The language will consist of building
blocks, in which patterns on different levels of abstractions are introduced to solve specific
problems of service productivity with event-driven BAM. On the one hand, custom
measurement systems, as well as the evaluation of their values can be created with so called
base patterns. On the other hand, the language will provide patterns to create common
measures at once with respect to different domains (e.g., statistics, enterprise performance,
etc.). This modular design will allow for future extension of the given pattern set by the
composition of existing patterns. The resulting pattern language will be subject to verification
in a productive environment, statistical research on the usability of the language and its
implementation, and the integration with domain specific patterns.
5 References
[1]
Janiesch, C; Matzner, M; Müller, O (2011): A Blueprint for Event-driven Business
Activity Management. In Rinderle, S; Toumani, F; Wolf, K (Eds.), 9th International
Conference on Business Process Management (BPM). Lecture Notes in Computer
Science Vol. 6896. Clermont-Ferrand. 17-28.
[2]
Dresner, H (2002): Business Activity Monitoring: New Age BI. Gartner Research LE15-8377.
[3]
Luckham, D (2002): The Power of Events: An Introduction to Complex Event
Processing in Distributed Enterprise Systems. Addison-Wesley Professional, Boston,
MA.
[4]
Paschke, A (2008): Design Patterns for Complex Event Processing. In 2nd
International Conference on Distributed Event-Based Systems (DEBS). Roma. 1-2.
[5]
Alexander, C; Ishikawa, S; Silverstein, M (1977): A Pattern Language: Towns,
Buildings, Constructions. Oxford University Press, New York, NY.
[6]
Buschmann, F (1998): Pattern-orientierte Software-Architektur: Ein Pattern-System.
2nd Edn. Addison-Wesley, Bonn.
[7]
Gamma, E; Helm, R; Johnson, R; Vlissides, J (1994): Design Patterns: Elements of
Reusable Object-Oriented Software. Addison-Wesley, Reading, MA.
[8]
Chandy, KM (2009): Event Processing: Designing IT Systems for Agile Companies.
McGraw-Hill, New York, NY.
12
Thomas Raffelsieper, Jörg Becker, Martin Matzner, Christian Janiesch
[9]
von Ammon, R; Silberbauer, C; Wolff, C (2007): Domain Specific Reference Models
for Event Patterns for Faster Developing of Business Activity Monitoring Applications.
In VIP Symposia on Internet Related Research with Elements of M+I+T++ (VIPSI).
Bled. 1-9.
[10]
Etzion, O; Niblett, P (2010): Event Processing in Action. Manning Publications,
Cincinnati, OH.
[11]
Heß, H (2005): From Corporate Strategy to Process Intelligence: What Comes after
Business Intelligence? In: Scheer, A-W; Jost, W; Heß, H; Kronz, A (Eds.) Corporate
Performance Management: ARIS in Practise. Springer, Berlin, 7-31.
[12]
McCoy, DW (2002): Business Activity Monitoring: Calm Before the Storm. Gartner
Research Note LE-15-9727. http://www.gartner.com/resources/105500/105562/
105562.pdf. Accessed at 2010-08-23.
[13]
Golfarelli, M; Rizzi, S; Cella, I (2004): Beyond Data Warehousing: What’s Next in
Business Intelligence? In 7th ACM International Workshop on Data Warehousing and
OLAP (DOLAP). Washington, DC. 1-6.
[14]
Luckham, D (2004): The Beginnings of IT Insight: Business Activity Monitoring. ebizQ.
http://www.ebizq.net/topics/cep/features/4689.html. Accessed at 2011-09-20.
[15]
Ly, LT; Rinderle-Ma, S; Knuplesch, D; Dadam, P (2011): Monitoring Business
Process Compliance Using Compliance Rule Graphs. In Meersman, R; Dillon, T;
Herrero, P; Kumar, A; Reichert, M; Qing, L; Ooi, B-C; Darmiani, E; Schmidt, DC;
White, J; Hauswirth, M; Hitzler, P; Mohania, M (Eds.), 19th International Conference
on Cooperative Information Systems (CoopIS). Lecture Notes in Computer Science
Vol. 7044. Hersonissos. 82-99.
[16]
Hubbard, DW (2010): How to Measure Anything: Finding the Value of Intangibles in
Business. 2nd Edn. Wiley, Hoboken, NJ.
[17]
Keller, A; Ludwig, H (2003): The WSLA Framework: Specifying and Monitoring
Service Level Agreements for Web Services. Journal of Network and Systems
Management 11(1):57-81.
[18]
del Río-Ortega, A; Resinas, M; Ruiz-Cortés, A (2010): Defining Process Performance
Indicators: An Ontological Approach. In: On the Move to Meaningful Internet Systems.
In Meersman, R; Dillon, TS; Herrero, P (Eds.), On the Move to Meaningful Internet
Systems (OTM). Lecture Nores in Computer Science Vol. 6426. Hersonissos. 555572.
[19]
Ouelhadj, D; Garibaldi, J; MacLaren, J; Sakellariou, R; Krishnakumar, K; Meisels, A
(2005): A Multi-agent Infrastructure and a Service Level Agreement Negotiation
Protocol for Robust Scheduling in Grid Computing. In Sloot, PMA; Hoekstra, AG;
Priol, T; Reinefeld, A; Bubak, M (Eds.), Advances in Grid Computing (EGC). Lecture
Notes in Computer Science Vol. 3470. Amsterdam. 651-660.
[20]
Marr, B; Schiuma, G; Neely, A (2004): Intellectual Capital-defining Key Performance
Indicators for Organizational Knowledge Assets. Business Process Management
Journal 10(5):551-569.
[21]
Wang, W; Heng, M; Chau, P (2007): Implementing Supply Chain Management in the
New Era: A Replenishment. Idea Group, Hershey, PA.
[22]
Lankhorst, M (2009): Enterprise Architecture at Work: Modelling, Communication and
Analysis. Springer, New York, NY.
Download