[ale] What to use

Chris Fowler cfowler at outpostsentinel.com
Tue Apr 22 18:17:33 EDT 2003


This perl code I've been working on the past 2 days has been a proof of
concept for a much larger project.  I've seem to have gotten it to work
even though I've ran into a few stumbling blocks.  Mostly as a result of
ignorance of the language.  Still, we are looking at a huge project that
will need to following quality features:

1) Web interface for configuration and communications
2) Back-end that runs 24x7
   This backend will be handling many network connections receiving
   and sending data.  It will parse that data and take actions as a
   result of what may be in that data.
3) Logging. 
   We'll log to flat files or a database.  

4) All network connections must remain operational.  If a remote goes   
   down, the backend must keep trying to establish that remote.

We have a similar application that we wrote in Java that uses SWING.  It
is mainly for use in NOC environments.  We are looking to provide a more
automated version.  But if I look at our accomplishments in the Java
piece I see the heavy use of threads to monitor connections.  

Here is what I'm thinking:

Option 1: Perl + PHP.
   All agents can be written in perl and be fully open to the
   user if he/she wishes to mod them.  I've been able to use
   XML::Parser to great effect and we'll use XML for all our
   configuration. PHP will be used to display current stats and
   logs, etc.

Option 2: J2EE.
 
  We can easily port much of our java code over to a J2EE environment.
  The agent will be a java program with many threads.  We'll use Tomcat
  do the same as PHP in option 1. Just like in option 1, agents will 
  remain active 24x7 gathering data


The idea of the project is simple.  We'll going to spend more time
making the software robust vs. providing the customers features that
they need.  So I'm a little confused as to what road I may want to take.
Is Python better than Perl?  Maybe a combination of both?  We'll have
one agent that streams data off out embedded devices.  That agent will
pass the data to another agent that will look for patterns.  If it sees
patterns, then a third agent will be notified.  That agent will then
send notifications via mail, SNPP, SNMP, etc.  If configured, a 4th
agent may execute programs on behalf of the admin. 

Making that robust will be a challenge.  We have to have 99.99% uptime
for the software an 100% accuracy.  This is basically a form of NMS. 
Any pointers would be appreciated.

Thanks,
Chris

_______________________________________________
Ale mailing list
Ale at ale.org
http://www.ale.org/mailman/listinfo/ale





More information about the Ale mailing list