Abstract:
OpenNMS is the world's first enterprise grade network management platform developed under the open source model. OpenNMS provides Service pooling (determining service availability), Data Collection (collecting, storing and reporting on network information), Event and Notification Management(receiving events, both internal and external). OpenNMS is written mainly in java so it can run on any system which supports java. OpenNMS support Linux, Solaris, Mac OS X, Windows.
Providing an Interactive Cell Phone interface to OpenNMS is a very nice feature to have. OpenNMS will report the notification, alerts and outages to the desired person on their cell phones. Users can view the notifications, outages and alerts on their cell phone, and can acknowledge them as well. This can be done while sending the alerts and notifications as sms to the user using java/J2ME. Every message send to the user has a unique id and every reply message from the user will also have that unique id, such that openNMS can match the reply. There would also an sms parsing module which parses the sms which are the reply of the users matches them against the database and perform the actions based on the reply message, such as acknowledge the outages.
Detail:
I am Faqeer Ali, doing Masters in Software engineering from Muhammad Ali Jinnah University Islamabad Pakistan. I have also completed my bachelors in software engineering from the same university in September 2006.
I have been working with openNMS since I was doing my Bachelors. I usually come to the OpenNMS channel with the nick "rrrobert" to keep myself updated regarding openNMS.
Previous Work On OpenNMS/ J2ME:
During my educational carrier I have came across to use OpenNMS, and it work quite beautifully. I have worked on customizing OpenNMS GUI and its databas, and also worked on its events management and Notification generations through email, playing audio alerts etc. I have also worked on customizing the service pooling and data collection, also worked on the snmp module and adding snmp support for new OIDs.
Previously I have also worked Java/J2ME, I have developed mobile games using J2ME, and run and tested them on nokia mobiles. If you want I can send you the code of the J2ME applications that I have made.
Providing Interactive Cell Phone interface to OpenNMS is a nice feature to have. As mostly everybody have got the cell phones and every thing is mobiled, you have the mobile banking, mobile tv etc. So interacting with openNMS through cell phones is quite a nice idea.
There needs to be the list of number which are subscribed to opennms, and as soon there is an outage comes openNMS passes the outage information to J2ME module and that sends the message to the subscriber.
For acknowledging there also needs to be an application on the openNMS end which recieves the sms, and perform database queries to acknowledge the things that the user has requested for.
J2mE Application Idea:
The previous idea which i have discussed is a very basic solution of thing. After the discussion on the opennms irc channel we have come up with this new idea that: There should be a j2me application which will be running on the client cell phone, the j2me application would have a
basic UI which will show the user the notifications and alerts as these are shown on the Web UI. And the user can acknowledge the notifications through the j2me GUI. The alerts can still be recieved to the user through sms.
J2mE Application Backend:
For the j2me application to work with the opennms box, the nms box should be globally accessable. J2ME application will connect to the opennms through GPRS and TCP. As like other opennms services the j2me application will also be implemented as a service in the opennms, if the user configures that service then only the j2me cell phone application can talk to that service. The opennms service should also have the user name and password bind to it for security.
OpenNMS attracts me due to its features and the capability to handle very big network efficiently, with this project I have got the chance to participate some work in OpenNMS development.
I am pretty much excited to work on openNMS in accordance with the openNMS mentors, because I have got the base knowledge of OpenNMS and and J2ME, and while working with the mentors closely would result in fine growth in my skills and my work.