Review: iSpheres Halo 4
by Drew Falkman
Summary
If anyone hasn't heard yet, there is a new TLA (Three Letter
Acronym) in the J2EE development world: BAM. BAM is short for
Business Activity Monitoring, and at the core of BAM is a new
breed of Event Servers, essentially application servers whose
sole responsibility is to monitor business activity in real time
and perform functions when triggered by certain events. The key
to this emerging market (iSpheres is only one vendor, albeit a
forerunner in the field, creating BAM management software) is
the growing complexity of the enterprise application space.
Service-oriented applications, complex RDBMS systems and other
activities are increasingly difficult to keep tabs on, and
developing singular event listeners for these complex data
systems is out of the question.
More Information
Introduction
The overall operation of Halo is basically two macro processes:
information is collected from sources, evaluated and stored in
the Halo server, and then this information is evaluated, and if
criteria are met, notifies subscribers or executes application
logic. The business prospect behind Halo is simple: in today's
heterogeneous and connected enterprises all kinds of crucial
events are happening in real-time. As all of this data is shared
and as computing systems and people interact on a daily basis,
certain windows of opportunities arise. Using the event server
model, BAM applications can be developed to monitor events and
trigger reactions, whether that be to notify someone on the
sales team, initiate a work flow or dynamically trigger business
logic. It all seems to make quite a bit of sense. It seems to me
there are virtually unlimited possibilities for BAM
applications.
Introduction to Halo Event Components
In order to understand how Halo works, it is perhaps best to
analyze the types of components that can be implemented within
it. Just as J2EE applications are made up of their components:
servlets, JSPs, EJBs, etc., so are BAM applications made up of a
set of components. There are four types:
- Sensors are what perform the actual
monitoring of external systems by filtering their real-time data
streams.
- Event Processors analyze data retrieved via
sensors in search for "events of interest".
- Responders execute application logic and
perform functions when triggered by event processors.
- Event Router is the transport mechanism for
handling events. This is not a component model, but is worth
mentioning as a core Halo concept.
Sensors
A number of pre-built sensors are included with the Halo server.
These pre-built sensors include database
sensors to monitor JDBC datasources, middleware
sensors to monitor messages queues such as JMS,
text sensors to parse any text-based
information such as e-mails, Web sensors to
monitor HTTP sources such as Web pages or RSS feeds and
feedback sensors that work internally within
the Halo server.
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.