Elvin is a distributed event routing service using a publish/subscribe event delivery model. Publish/subscribe (or pub/sub is an Asynchronous Messaging Paradigm where senders (publishers of messages are not programmed to send their messages It was originally developed at the Distributed Systems Technology Centre, an Australian Co-operative Research Centre based at the University of Queensland which operated from 1992 until mid 2006. The Distributed Systems Technology Centre (DSTC was a leading research organization in the field of Information Technology in Australia. The University of Queensland (UQ is one of Australia's premier learning and research institutions
Contents |
Elvin is most distinguished from other such systems by its support of a sophisticated content-based subscription system. [1] Elvin clients subscribe to events using a language that resembles C boolean expressions. tags please moot on the talk page first! --> In Computing, C is a general-purpose cross-platform block structured [2] For example:
Department == "IT" && Percent-Disk-Free <= 10
This expression selects messages that have a field named Department with a string value matching "IT" and a Percent-Disk-Free field with an integer value less than or equal to 10. The Elvin subscription language supports a range of operations for matching numeric and string values, including the use of regular expression matching. In Computing, regular expressions provide a concise and flexible means for identifying strings of text of interest such as particular characters words or patterns of characters
Elvin is oriented around providing a fast, flexible event service that can be federated to form wide-area event notification networks. In order to achieve these goals it does not provide persistence, durability or guaranteed delivery. In Database systems durability is the ACID property which guarantees that transactions that have committed will survive permanently [3] Elvin can thought of as providing a middle ground between low-level network multicast and higher-level, and far more complex, event brokers such as JMS. Multicast is a network addressing method for the delivery of Information to a group of destinations simultaneously using the most efficient strategy The Java Message Service ( JMS) API is a Java Message Oriented Middleware (MOM API for sending messages between two or more clients
In 2003, the research group that created Elvin left DSTC to found Mantara software in order to develop commercial applications of Elvin. In November 2006, Mantara announced that it would be ceasing to support Elvin as a standalone commercial product by the end of 2007.
The specifications for the Elvin protocols have been made available at the elvin.org site, and two new implementations of Elvin have subsequently been developed, Avis, an open source (GPL) implementation, and Arriva, a commercial implementation.