This thesis summarises the evolution of Enterprise Application Integration and event processing, with
special focus on the Enterprise Service Bus and the SEDA concept, as embodied by the Mule platform. Complex
event processing is described and existing approaches to complex event correlation are presented, leading to
the discussion of Naiad, which implements these concepts on top of the Mule framework.
Naiad allows developers to define the relationships between event types through declarative event correlation
definitions in the form of XML files. Any custom data structure can be incorporated into the framework to be
used as events for correlation. Once events are correlated, developers can use Naiad’s correlation sessions
to collect and store data relevant for a group of events, so the appropriate action can be taken based on
this data once all necessary events have been collected. A standardised interface makes accessing event data
independent from the event format, leading to clearer and easily portable code. This allows application
developers to focus on the business logic of an application instead of having to care about complex tasks
for matching and correlating asynchronous low-level messages in a concurrent fashion. The framework is
designed in a modular way for maximum flexibility and all parts can be extended or substituted for custom
implementations, ensuring that the system can be adapted and incorporated in existing systems. Mule as a
basis further provides a large number of connectors for interaction with many established communication
standards.