omniEvents

NOTE: The main omniEvents CORBA Event Service page has moved to www.omnievents.org

[ download | documentation | doxygen | sourceforge ]

omniEvents enables CORBA applications to communicate through asynchronous broadcast channels rather than direct method calls. The server runs on Windows, and most Unixes. It is a small, efficient implementation of the Object Management Group's Event Service specification designed to work with omniORB.

features

Implements untyped event channels.

Suppliers’ send events to the event channel as a CORBAany’ type. The channel then broadcasts the event to all of the ‘consumers’ that have subscribed to the channel.

Persistent state.

Channels and connections are continuously saved to disk, so that they can be recreated when the server restarts.

Scalable.

Event channels can be federated, which allows multiple servers to share the load of delivering events to many clients across a wide area network.

Fault tolerant.

Implements a sub-set of the Fault-Tolerant CORBA specification. Servers may be configured to operate in pairs - if one fails then clients automatically switch over to the alternate.

Easy to install.

The server runs as a daemon on Unix or a service on Windows. A SysV style init file can be automatically installed on Unix, to get you up and running with minimum fuss.

Events can be filtered by type.

Event channels can be configured to only pass on events of a partcular CORBA type. Combined with channel federation, this allows Consumers to choose which type of events to receive.

Available as a library.

You can create event channels within your own programs by linking to the shared library (on Unix).

roadmap

We use the Linux kernel convention for release numbers. Even minor release numbers indicate stable releases, while odd numbers are unstable development releases, intended only for testing.

The latest stable release is 2.6.0. It offers greatly improved stability and performance, fault-tolerance, federated event channels and event type filtering. It also runs as a daemon/service.

The next testing release will be 2.7.0. Development on this branch will aim to add SNMP support and more advanced fault tolerance features.

Here is a diagram that hopefully explains the situation. Completed work is shown in black, while the future is drawn in grey:

TESTING | STABLE
  ||   
2.5.0||2.4.0  
2.5.1|| 2.4.1 
 2.5.2||   
2.5.3||   
2.5.4||   
  ||2.6.0 current stable release
next testing release 2.7.0 || 2.6.1 bug fixes to stable
2.7.1 || 2.6.2
 2.7.2 || etc.  
 etc. ||   
  ||   
  ||   

You can browse the Autoconf macros for omniORB.

credits

omniEvents was originally written by Paul Nader. Alex Tingle wrote the new 2.5.x and 2.6.x implementation. Bjorn Rohde Jensen created the Sourceforge project and ported it to omniORB4.

omniEvents development is supported by Rubix Information Technologies Inc.
Alex Tingle is an independent CORBA consultant.