add license to distribution file
[lwes.git] / README
blob73574b3de3d7cfaf6a4aa1d9fa92ae9dd89a3c4a
1 The LWES Light Weight Event System is a framework for allowing the
2 exchange of information from many machines to many machines in a
3 controlled, platform neutral, language neutral way. The exchange
4 of information is done in a connectless fashion using multicast
5 or unicast UDP, and using self describing data so that any
6 platform or language can translate it to it's local dialect.
8 This leads to a system with the following features
10   * Fire and Forget messaging
11   * Decoupling of senders (emitters) from receivers (listeners, journallers)
12   * Centerless, no single point of failure
13   * Support for many to many communication where nodes can enter
14     and leave the system at any time.
15   * Computer language and hardware platform independent 
17 The system consists of two major components
19   Emitter - a source of events, this is usually a server or process
20             which wants to announce something
22   Listener - a sink of events which deserializes and processes events
23              on the fly as they are received.
25 There is also a custom listener which defers deserialization until some
26 point in the future, and simply captures and writes the events to a log.
27 This is in the lwes-journaller package, and is called a journaller.
29 This library is the C implementation of the LWES.  There are also 
30 wrappers for various scripting languages, and a pure java implementation 
31 packaged separately.
32 All are wire format compatible.
34 For more information on developing with the LWES see
35 http://www.lwes.org