23 Sep 2009: Version 0.95 released.
PIRATES (Peer-to-peer Implementation of Reconfigurable Architecture for Typed
Event Streams) is a powerful, open source message-oriented middleware. The
PIRATES library lets you easily create distributed applications with the
- Support for RPC's, messages and streams within the same framework
- Decentralised, with peer-to-peer network connections for high
performance and fault-tolerance
- Data sources and sinks don't have to explicitly know about each
other (just as if a centralised event broker was used)
- Publish-subscribe support and message filtering
- Dynamically reconfigurable - all connections between components
can be made, broken or redirected by other programs without stopping
- Connections are automatically recreated when components or network
links fail, or machines are rebooted, for high reliability and
- Designed to support continuous streams of data (e.g. from sensors)
as well as asynchronous events
- Efficient binary transport, with import and export to XML
- Schema language for message formats, with efficient type checking
(type ID's are hashes of the schemas)
- Support for schema evolution, without breaking interfaces
- Resource discovery function, to look up other components
- All components are specification-oriented and self-describing
- Readily portable to other languages (initially only C++ is supported)
- Well documented
- Simple, lightweight API which does not require any threads or other
PIRATES was written by
and is licensed under the GPL.
If you have a bug report, please send it to David.Evans@cl.cam.ac.uk.
The original development name for the software was SBus (Stream Bus).
PIRATES is funded by EPSRC grant EP/C547632/1, TIME-EACM.