This section provides a complete guide to building and installing omniEvents.
You need to install omniORB before you can start with omniEvents. The latest version of omniORB4 is strongly recommended. You can download it from here: http://omniorb.sourceforge.net/download.html
In order to install omniEvents as a Windows service, you need to be using a modern version of Windows. You need: NT, win2000 or XP. You cannot use: win95, 98 or ME (but you can just run the server manually).
omniEvents is distributed as source for Unix platforms. To install you must unpack the omniEvents-XXX-src.tar.gz file, build the code and then install the executables and init scripts into the correct locations on your system.
Unpack the .tar.gz file: gzip -dc omniEvents-XXX-src.tar.gz | tar xvf -.
Go down into the omniEvents diectory: cd omniEvents-XXX.
Run the configure script. For a full list of available parameters, type ./configure --help. Common parameters are:
|--prefix=PREFIX||install files in PREFIX [/usr/local].|
|--with-omniorb=PATH||set the path to the local omniORB installation [$OMNIORBBASE].|
|-q, --quiet, --silent||do not print “checking...” messages.|
Compile the executables: make.
Get superuser privileges: su root.
Install the executables: make install.
Install the system init script: cd etc; make install.
Set up SysV service omniorb-eventservice...
The procedure for setting up a SysV service differs from platform to platform. You need to create symbolic links from the /etc/rcX.d directories to the /etc/init.d/omniorb-eventservice init script. (The paths to these files may be different on your system.) For example, on a Debian GNU/Linux system, the command update-rc.d omniorb-eventservice defaults would set up omniEvents to start at the default runlevels.
omniEvents is distributed precompiled for Windows. To install you must unpack the omniEvents-XXX-win32.zip file, set up your system path and install the service.
Unpack the .zip file using (for example) WinZip.
We assume that you unpack it into C:\Program Files. If you choose to put it somewhere else, then just adjust the remainder of these instructions accordingly.
Add the omniEvents directory to the system environment variable: Path. It's important to NOT use the “local” path. Only the “system” path is available at boot time when services start.
Menu: Start -> Control Panel. Icon: System. Tab: Advanced. Click: Environment Variables.
Add to System Path: ;C:\Program Files\omniEvents-XXX
Create a data directory: C:\omniEvents. omniEvents will store its persistent state in this directory.
Install the service: Open a command window, and type: omniEvents install -t "C:\omniEvents\trace.out"
The service will start automatically when you next reboot, or you can start it manually now.
It is not usually necessary to compile omniEvents for Windows, since it is available pre-compiled.
Firstly make sure you have everything you need:
Microsoft Visual C++ compiler. (Tested with version 6.0, service pack 3) The environment variables for command-line compiling must be set up. You can test this by trying to compile hello.cc (in the win32 directory) with the command:
> cl -TP -GX -MD hello.cc
omniORB4. Get it from http://omniorb.sourceforge.net/download.html You should set up your PATH environment to include: <omniORB Top-Level Directory>\bin\x86_win32 Test this by checking that this command prints out the omniidl help:
> omniidl -u
A fairly recent version of GNU Make for Windows (3.78.1 or above). Download it from http://unxutils.sourceforge.net/ or Google for “gnu make windows”. The make.exe also needs to be in the PATH. For example, you could copy it into your C:\winnt directory. The following command should show version text:
> make --help
Next make sure that the build files are correctly configured. Don't run the configure command on Windows, hand edit the files instead.
When you unpack the omniEvents-XXX-src.tar.gz file, the Windows config.mk and src/config.h files should already be in the correct places. If not, then you can copy them from the win32/ directory.
Edit config.mk to set the values of these variables:
|OMNIORB_BASE||full path to omniORB top-level directory.|
|OMNIORB_LIBS||libraries provided by omniORB.|
|OMNIEVENTS_BASE||full path to omniEvents top-level directory.|
Compile omniEvents. Open a command window, and cd to the omniEvents top-level directory. The following command builds omniEvents:
This section lists the programs that are bundled with the omniEvents distribution.
Most importantly, the omniEvents daemon implements the EventChannelFactory and hosts the event channels. The daemon is built in the src/ directory. On Unix the daemon is installed into /usr/local/sbin, by default.
These tools enable management of event channels from the command line. They are built in the tools/ directory. On Unix, they are installed into /usr/local/bin, by default.
|eventc||eventc.exe||Command to create a channel.|
|eventf||eventf.exe||Command to federate (link) two channels.|
|events||events.exe||Command to stream events to or from a file.|
|rmeventc||rmeventc.exe||Command to remove a channel.|
Finally, four example clients are provided. These enable you to test whether or not your omniEvents daemon is really working. They are built in the examples/ directory.
|pushsupp||pushsupp.exe||Push Supplier test client|
|pushcons||pushcons.exe||Push Consumer test client|
|pullsupp||pullsupp.exe||Pull Supplier test client|
|pullcons||pullcons.exe||Pull Consumer test client|
omniEvents 2.6 has been tested with omniORB 3.0.5 & omniORB 4.0.4 on the following platforms.
|AIX 5.1 / xlC_r 5.0||no||yes|
|HPUX 11.00 / aCC A.03.37||-||yes|
|Linux x86, Debian 3.1 / g++ 2.95.4||yes||yes|
|Macintosh OS X, 10.3.5||-||yes|
|Solaris 9 x86 / gcc-2.95.3||-||yes|
|Solaris 8 sparc / CC 5.3||yes||yes|
|Tru64 5.1B / cxx 6.5||yes||yes|
|Windows 2000 / Visual C++ 6.0 SP3||-||yes|
Earlier versions of omniEvents have been tested on the following platforms.
|Tru64 4.0F / cxx 6.2||yes||yes|
|HPUX 10.20 / aCC (B3910B A.01.21)||yes||-|
|Windows NT 4.0 / Visual C++ 6.0 SP3||yes||-|
|Solaris 2.5 / gcc-2.8.1||yes||-|
|x86 Redhat linux 4.2 / gcc-2.7.2||yes||-|
|x86 Mandrake 7.2 / gcc-2.95.3||-||yes|
The directory structure of the omniEvents distribution looks as follows.
|auto/||various scripts used by AutoConf|
|doc/doxygen/||source code documentation generated by Doxygen.|
|examples/||source files for examples|
|examples/java/||Java version of examples|
|examples/python/||Python version of examples|
|tools/||command line tools for manipulating the Event Service.|
|win32/||build files for Windows|