From OpenNMS
Contents |
Introduction
What Is OpenNMS
OpenNMS is an enterprise grade network management framework developed under the open source model. It consists of a community supported open-source project sponsored by a commercial services, training and support organization, The OpenNMS Group, Inc.
The goal is for OpenNMS to be a truly distributed, scalable platform supporting all aspects of the FCAPS network management model as well as a framework for implementation of NGOSS components making OpenNMS a platform available to both open source and commercial applications.
All code associated with the project is available under the GNU General Public License (GPL).
Information
General details on SoC are available at the the SoC FAQ.
Contacting Us
If you want to contact the folks involved in mentoring GSoC 2008, you can get ahold of us in a number of ways:
- IRC (the #opennms IRC channel)
- mentors: agalue, brozow, jeffg, johan, RangerRick, Sortova
Further Reading
Projects
Interactive Cell Phone Interface to OpenNMS
- Student: Samuel Louvan
- Mentor: Mathew J Brozowski
Abstract
The goal of this project is to create an interface between mobile device such as cell phones with OpenNMS service. The mobile client is Java based device and will allow the user to perform basic functions such as viewing event and outages, retrieve and acknowledge notifications. The implementation of the mobile client will be done on top of Java Micro Edition platform. With these new features mobile system monitoring using OpenNMS will be possible.
Finalize OpenNMS Hibernate Transition
Code Name: Summer Hibernation
- Student: Shahzada Hatim Mushtaq
- Mentor : Johan Edstrom
Abstract
OpenNMS currently still depends on some PostgreSQL-specific behavior (especially in stored procedures) which keeps it from being database-independent. Although OpenNMS has been slowly transitioning its code to use Hibernate instead of direct JDBC calls, but there is a lot of code still using JDBC. The following is a project proposal for Google Summer of code 2008 to the OpenNMS project. This document gives details of project methodology, time lines, and risks.
Further info and code samples will be available at http://code.hatimonline.com/opennms
Proposal
- The aim is to complete hibernate transition for the entire OpenNMS project. Author's aim is to complete major tasks by Dev-Jam 2008.
- The deliverables are code, test cases and documentation. OpenNMS installation documentation which deals with OpenNMS install with MySQL and perhaps a few other OSS Databses will be part of deliverables.
- Applicant has been a part of OpenNMS user community for a year now and has genuine interest in Java EE software development(due to his present job and future education and career directions)
- Applicant will be sharing code samples before project selection to show mentors that the applicant has sufficient background in Java EE software development.
Approach
The initial thoughts on this are that since capsd is going to be rewritten fairly soon and attempting to complete all of OpenNMS code in this migration is a monumental task, we need to start with something that is tractable. It was decided that we really need to begin with changes to code that is already highly unit tested so that we know if the transition has broken anything in OpenNMS. Also, we decided to being with code in OpenNMS that is mainly query based. This initial criteria drove the decision to being with the Poller.
- Steps:
- Re-factor Poller daemon to be dependency injected with Spring
- Find all references in the Poller code to DataSourceFactory.getInstance().getConnection() as a starting place to replace with HibernateDaos
- Run Unit tests to verify changes
Restricted Access system for OpenNMS
- Student: Min Zhang
- Mentor: Daniel J. Gregor, Jr.
Abstract
According to the requirement of allow restricting parts of the UI to specific users or groups, at a more granular level than the dashboard currently provides.Design and realize a universal, fully functional, high reusable and more granular level Restricted Access system.Use RBAC(Role - Based Access Contro1) model and ACEGI frame.
Web Interface Improvements
- Student: Charles Rory Forbes
- Mentor: Robert Kevin Moore
Abstract
This project would involve focusing on improvements to the front end of OpenNMS allowing for more detailed information to be easily displayed to the user. Currently the web interface is mostly static with little ability to drill down on specific areas in order to get more information without having to go through several pages in order to get the one piece of data that was needed and sometimes not having enough information immediately available when it’s needed in a mission critical situation. My solution would involve looking at the entire Web UI for OpenNMS and then adding in more “Web 2.0” functionality, where appropriate, while still attempting to be functional rather than just a flashy yet shallow addition. These additions would tie into the existing user interface and, importantly, would be linked with java code on the back end to match what OpenNMS has already been developed with without unnecessary re-writing of code. Specific technologies that would be involved include: Direct Web Remoting (DWR) for interacting with the java code already in the project and for any new code that is written as required, and Ext JS which would be implemented for making the user interface using javascript.
Google Maps Integration with OpenNMS
- Student: Chris Corcoran
- Mentor: Jeffrey Allen Gehlbach
Abstract
Integrating Google Maps into OpenNMS will help to make an already powerful tool even more powerful. Google Maps will provide an easier to use interface and will put information in a more intuitive context. The goal is to make the life of network admins just a little bit easier.
Separating GUI from Backend
- Student: Andrew Nelson
- Mentor: David S Hustace
Abstract
Separating the GUI from the backend not only allows for easier maintenance, but makes it easier to keep backend code that often outlives its GUI code. I would like to cleanly separate your GUI from the backend modeling REST or at least MVC. This would allow for extended lifetime of your backend code and for more versatility with your GUI code.
OpenNMS Live CD
- Student: Umair Imam
- Mentor: Benjamin Reed
Abstract
Make a demo live CD which can run openNMS for demonstration purposes.






