Capítulo de livro Revisado por pares

EventJava: An Extension of Java for Event Correlation

2009; Springer Science+Business Media; Linguagem: Inglês

10.1007/978-3-642-03013-0_26

ISSN

1611-3349

Autores

Patrick Eugster, K. R. Jayaram,

Tópico(s)

Software System Performance and Reliability

Resumo

Event correlation has become the cornerstone of many reactive applications, particularly in distributed systems. However, support for programming with complex events is still rather specific and rudimentary. This paper presents EventJava, an extension of Java with generic support for event-based distributed programming. EventJava seamlessly integrates events with methods, and broadcasting with unicasting of events; it supports reactions to combinations of events, and predicates guarding those reactions. EventJava is implemented as a framework to allow for customization of event semantics, matching, and dispatching. We present its implementation, based on a compiler transforming specific primitives to Java, along with a reference implementation of the framework. We discuss ordering properties of EventJava through a formalization of its core as an extension of Featherweight Java. In a performance evaluation, we show that EventJava compares favorably to a highly tuned database-backed event correlation engine as well as to a comparably lightweight concurrency mechanism.

Referência(s)