GSoC/GCI Archive
Google Summer of Code 2011


Web Page:

Mailing List:

OpenNMS is the world’s first enterprise grade network management application platform developed under the open source model. Well, what does that mean? World’s First: The OpenNMS Project was started in July of 1999 and registered on SourceForge in March of 2000. It has years of experience on the alternatives. Enterprise Grade: It was designed from “day one” to monitor tens of thousands to ultimately unlimited devices with a single instance. It brings the power, scalability and flexibility that enterprises and carriers demand. Application Platform: While OpenNMS is useful “out of the box,”it is designed to be highly customizable to create an unique and integrated management solution. Open Source: OpenNMS is 100% Free and Open Source software, with no license fees, software subscriptions or special “enterprise” versions.


  • Finish converting OpenNMS to use Hibernate OpenNMS is a powerful Network monitoring and management system. Hibernate transition project was started long time ago. There is a need to finish converting OpenNMS to use Hibernate (with Spring) to read/update data from internal database. By finishing this transition, OpenNMS would be able to work with any underlaying database management system. This project mainly focus on identifying the areas where this transition is needed and change them using DAO design pattern.
  • Finish converting OpenNMS to use Hibernate The project aims to finish the the migration to using Hibernate as the ORM framework that the OpenNMS has started. The project consists of two parts. Firstly it is a necessity to create the VO Java classes accordingly to the specific database and also the Hibernate DAO layer. The second part of the soc project consists of the integration of the newly created dao with the webui and the daemons.
  • Manage OpenNMS Services Daemons :2 OpenNMS is equipped with over 25 numbers of daemons. According to the community, these daemons make the heart of OpenNMS. The possibility of dynamically managing these daemons is a very important functionality. Further, this functionality should be available in both locally and remotely. The Java Management Extensions (JMX) technology can be used to accomplish this task.