An architecture to support storage and retrieval of events [chapter]

M. D. Spiteri, J. Bates
1998 Middleware'98  
Event-driven and messaging infrastructures are emerging as the most flexible and feasible solution to enable rapid and dynamic integration of legacy and monolithic software applications into distributed systems. They also support deployment and enhancement of traditionally difficult-to-build active systems such as large-scale collaborative environments and mobility aware architectures. However, complex systems issues like mobility, scalability, federation and persistence indicate a requirement
more » ... or more advanced services within these infrastructures. The event notification paradigm is also applicable in emerging research areas such as modelling of business information flow within organisations, as well as workplaceempowering through enhanced awareness of work practices relating to communication and interaction between individuals. In these areas, further developments require complex interpretation and correlation of event information, highlighting the need for an event storage and retrieval service that provides the required groundwork. It is the thesis of this dissertation that the lack of a generic model for event representation and notification has restricted evolution within event-driven applications. Furthermore, in order to empower existing applications and enable novel solutions, a crucial, and so-far-missing, service within event-driven systems is capture, persistent storage, and meaningful retrieval of the messaging information driving these systems. In order to address these issues, this dissertation defines a generic event model and presents a powerful event notification infrastructure that, amongst other structural contributions, embeds event storage functionality. An event repository architecture will then be presented that can capture and store events, as well as inject them back into distributed application components to simulate replay of sequences of activity. The general-purpose architecture presented is designed on the thesis that events are temporal indexing points for computing activities. Changes in the state of a distributed system can be captured as events, and replayed or reviewed at a later stage, supporting fault-tolerance, systems management, disconnected operation and mobility. The architecture delivers powerful querying of event histories, enabling extraction of simple and composite event patterns. This addresses the business requirement in several industries (such as finance, travel, news, retail and manufacturing) to locate temporal patterns of activity, as well as support applications like memory prosthesis tools and capture of collaboration. The repository offers a selective store-and-forward functionality that enables messaging environments to scale and provide enhanced brokering and federation services. In addition to enabling novel applications, the general-purpose infrastructure presented provides a more flexible approach to event notification, storage and retrieval, in areas where bespoke solutions had to be provided previously. The theoretical concepts illustrated in this dissertation are demonstrated through a working distributed implementation and deployment in several application scenarios. iii
doi:10.1007/978-1-4471-1283-9_27 fatcat:5ls3rxqahncf5m5iq4efum3dsy