requirement to all COM solutions is that they must
be based on open-source technologies that open up
new possibilities.
The specific requirements necessary to evolve
the core banking EA towards an EDA approach are:
the definition of business events; the design of a
reference architecture, which identifies the
integration points with the specific EA, and the
description of the initial governance approach to
manage the new elements.
This paper is organized as follows. First, section
2 covers related work and puts our work in
perspective. Section 3 gives an overview of the
background of the project: EDA and BKS main
concepts. Then, a proposed solution to introduce
EDA in BKS is presented in section 4. Section 5
includes an operational validation though a case
study and a non-functional validation focussing on
performance. Finally, section 6 concludes the paper
and introduces areas of future research.
2 RELATED WORK
Diverse studies have tackled the introduction of
business events in existing architectures of different
domains. Most of them describe general approaches
for EDA and SOA integration such as (Taylor et al.,
2009) or (Malekzadeh, 2010), while others address
only specific issues of the EDA integration like
modelling, simulation, methodologies, performance,
etc. For example, (Clark and Barn, 2012) proposes
an EDA modelling notation and its associated
simulation language; (Weigand, 2011) describes
unified event ontology and a methodology for event-
driven business processes; and (Vidačković et al.,
2010) explains a business-oriented development
methodology for event processing.
The papers reviewed provide the theoretical basis
to evolve EAs. Most of them include a validation
exercise through a case study in the application field.
However, they are usually academic or simplified
examples, not practical experiences for real-world
EAs, since most companies, and banks in particular,
do not usually publish them. Our contributions are
focused on this last point, a real-world EA evolution
and its associated solutions, which we think are of
the utmost interest for engineers and practitioners.
3 BACKGROUND
3.1 Event Driven Architecture
EDA is a software architecture style based on
multiple entities communicating asynchronously via
announcements or notifications, known as events.
Instead of the traditional synchronous, request-
response interaction model, where a requestor asks
for services or messages and waits for an answer
from a replier; in EDA, events are transmitted in a
fire-and-forget mode. In other words, events are
communicated without a previous request and
without being concerned about what happens
afterwards with them.
Basically, an event is a change in a state within a
particular system or domain that merits attention
from other systems (Taylor et al., 2009). The term
has been given other meanings, depending on the
context. It can refer to the actual occurrences (the
things that have happened), which are also known as
instances of a particular type of events. On the other
hand, we can use ‘event’ or ‘notification’ to specify
the particular communication of an event instance.
Generally, the word ‘event’ is used in both cases
without distinction. We will use ‘event instance’ or
‘event notification’ where its distinction is relevant.
We can think about different types of event
taking place in a company, such as events related to
low-level technical information, software activity,
user actions or business data. Furthermore, we may
also consider events happening outside the company
(e.g. stock exchange markets, social networks or any
other data sources). By way of example, low-level
technical events can be information from sensors,
ATM status, network data or activity in many other
devices. Software events can indicate calls to
methods, execution of services or exceptions in the
execution of a program or a process. We may
understand user events as actions or information
generated by both customers and workers of a
company. Finally, this paper focuses on business
events. They are those generated by the core
company activities and represent relevant
information that has impact on its economic
development and management. For instance, in a
financial institution, business events can derive from
the registration of new customers, canceling of
services, money withdrawals, or the contracting of
products such as credits, mortgages, etc.
A generic EDA is made up of three core layers:
producers, channel and consumers (Figure 1). The
process begins at the producer layer, detecting,
creating and sending events through a channel, and
ICEIS2014-16thInternationalConferenceonEnterpriseInformationSystems
182