|
Event Processors
Four basic processor types will handle most BAM applications.
Parametric event processors handle database
queries into event-enabled databases. Time-series event
processors tracks statistics from multiple input
streams. Schedule-based event processors are
stored in Halo's repository to enable event execution at
intervals. Finally, on-demand event processors
will generate events based on external triggers.
Responders
Responders often initiate complex, multi-step processes such as
work flows and transactional queries. There are three basic types
that are included with Halo. Notification
responders notify subscribers when a particular event
cue has occurred. Notification can be in the form of: messaging
(e.g. JMS), email, Web, SMS or Excel updates. Execution
responders simply invoke application logic when
triggered. Cascading responders publish
information back to the Halo server for evaluation.
Installing Halo
Halo currently requires Solaris 2.8 and up or Windows 2000 SP3
and up. The Halo database uses Oracle 8.16 and 8.17 (with Phased
Event Detection, see product docs for more information on this,
also note IBM DB2 support may be added in future versions) or
any other JDBC-compliant RDBMS if Phased Event Detection is not
needed. A 1.4.x JDK must be installed (Halo currently also ships
with one) and BEA or a JMS-compliant J2EE server are needed for
application server integration.
Installation on Windows was smooth, double-click the installer
file and follow the wizard. When completed, the Halo server
needs to be started, then you are up and running. Solaris
installation looks to be equally simple using a command line
install.
Using Halo
There are two ways to use Halo: using the console (see Figure 1)
or programmatically using the API. Everything in Halo is
basically a processor or a lookup. A processor simply does
something, whether that is to notify someone or something about
an event occurrence or it is to poll a JMS queue. A lookup is
the consumption of data, from a database or text file or
anything else. To create a BAM application, a developer must
create a series if processors and lookups that monitor the
event, consume and analyze the results and issue a response.
Creating new processors using the console was actually quite
simple, assuming one understands what the different types of
processors are (e.g. Heartbeat, Gobbler, JMSProcessor, etc.).
Once you select the type of processor you wish to add, a new
screen will appear containing the necessary information for the
type of processor you wish to add. For example, the Heartbeat
processor will require an entry as to how frequently it should
execute (seconds, hours, days, etc.). Lookups, such as would be
used to query Web/XML or database information, are equally
simple, select from the three types of lookups and enter the
appropriate information. As simple as this interface is, it
seems to be a somewhat effective way for setting up and
deploying basic pre-built event processors.
Of course for most enterprises and event projects, a greater
amount of customization will be necessary. This is where the API
can be used. Overall, I found the API quite straightforward.
Creating processors and lookups are simply done by creating
instances of the relevant processor or lookup class, then
interacting with their methods and properties. Additionally, the
API allows for the creating of custom processors, to enable
further customization. The developer documentation was
refreshingly good.
New on the Java Boutique:
New Review:
Time Management Made Easy with the Quartz Enterprise Job Scheduler
Why not just use the Java timer API? This open source scheduling
API boasts simplicity, ease-of-integration, a well-rounded feature
set, and it's free!
New Applet:
Reverse Complement
Reverse Complement is a simple applet that converts DNA or RNA
sequences into three useful formats.
Elsewhere on internet.com:
WebDeveloper Java
Lots of Java information on webdeveloper.com
WDVL Java
Thorough Java resource at the Web Developer's Virtual Library.
ScriptSearch Java
Hundreds of free Java code files to download.
jGuru: Your View of the Java Universe
Customizable portal with online training, FAQs, regular news updates, and tutorials.
|