omniNotify Logo Free High Performance CORBA Notification Service
from AT&T Laboratories
ATT logo omniORB Home
AT&T Research
Home SF Project Features Release
Download Instal-
Patch &
Bug List
Keep in

omniNotify Documentation...

We plan to improve and expand on this documentation.  Feel free to send in suggestions.  Also, be sure to consult the release notes for the release you are using.

As a reference, you should have on hand a copy of the CosNotification specification.   This document is not tutorial in nature, which is why we provide some example client programs and an explanation of how they work.  The specification also does not cover any features of a given implementation that are not standardized, such as configuration details for a server daemon.  This is why we provide a web page describing how to configure omniNotify's daemon.

Finally, there are cases where the specification is underspecified; we document omniNotify behavior for these cases here.

There are three sections below covering Environment Variables,   the Server Daemon, and the Example Programs

Environment Variables

If you are familiar with using omniORB, you can  skip this section.   These instructions apply to omniORB in general, not just to omniNotify.

Support you have installed omniORB 3.0.4 at location <omniorb_top>.  Also, suppose your architecture is <arch> -- this is the platform that is selected in the configuration file <omniorb_top>/config/, where one of the platform = ... lines will not be commented, the rest will have a comment (#) character.   

To run either the daemon or the examples, you need to get <omniorb_top>/lib/<arch> in your dynamic library search path. On most flavors of Unix, this means setting the variable LD_LIBRARY_PATH.  In some cases, the variable SHLIB_PATH is used instead.  For safety, just set both.

For example, suppose you installed omniORB at location /opt/omni/.   And suppose your architecture is i586_linux_2.0_glibc2.2. If you are using csh or tcsh:

    setenv LD_LIBRARY_PATH /usr/common/lib:/opt/omni/lib/i586_linux_2.0_glibc2.2
    setenv SHLIB_PATH /usr/common/lib:/opt/omni/lib/i586_linux_2.0_glibc2.2

If you are using sh/ksh:

    export LD_LIBRARY_PATH=/usr/common/lib:/opt/omni/lib/i586_linux_2.0_glibc2.2
    export SHLIB_PATH=/usr/common/lib:/opt/omni/lib/

You should also put <omniorb_top>/bin/<arch> in your program search path.   For example,

    setenv PATH ${PATH}:/opt/omni/bin/i586_linux_2.0_glibc2.2


    export PATH=${PATH}:/opt/omni/bin/i586_linux_2.0_glibc2.2

The Server Daemon

The server daemon (notifd) is a process that creates one or more notification channels.  You must configure and run at least one notifd process in order to try out the example client applications or write your own clients.  The following page describes hot to configure and run the deamon:

The Example Programs

omniNotify 1.0 and omniNotify 1.x/2.x come with different example applications.    The newer examples are more robust.  They share common code, which means it is easier to make a change across all of the example clients.  They are also written against POA-based stubs and skeletons, whereas the earlier examples were written against BOA-based stubs and skeletons.  We strongly encourage you to write POA-based code.

1.x/2.x Examples:

The following pages use the examples released with omniNotify 1.x/2.x

Developing omniNotify clients:

Running the examples:

1.0 Examples:

The following pages use the examples released with omniNotify 1.0 to describe how to develop omniNotify clients:


For comments, feedback, etc, please see the 'Keep in touch' page.