GSoC/GCI Archive
Google Summer of Code 2013


Web Page:

Mailing List:


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).


  • Distribute an instance of OpenNMS across different physical machines to improve availability and scalability. Evaluate the feasibility of turning OpenNMS into a distributed application, allowing it's services to be spread across different nodes and help determine the required core and architectural changes to achieve this.
  • Finish converting OpenNMS to use Hibernate As OpenNMS is an enterprise level network management tool, which relies on underlying database access for many of its functionalities. Which includes use of native sql calls using JDBC. There is a need of an object relational mapper which can remove these native sql calls with sophisticated method calls and mapping with model objects. As of now, many data access object(DAO) classes along with many annotated model objects have been created, residing in org.opennms.netmgt.dao.Hibernate and org.opennms.netmgt.model repectively, which provide a strong foundation for further porting of existing code to Hibernate. Therefore this project is mainly identifying current usage of native sql, and replacing them with proper Hibernate calls, also creating necessary DAOs wherever required.
  • Integrate OpenNMS with Open Computers and Software Inventory Next Generation (OCS) Implenemt an integration between OpenNMS and OCS so the OCS inventory data can be used as a source of nodes including asset infromation for OpenNMS.
  • New REST API for OpenNMS Creating a REST API for OpenNMS using Apache CXF. New REST API will be deployed as OSGi bundles, providing increased maintainability.
  • OpenNMS Android client improvements In this project I am going to continue development of the Android client and make substantial functionality improvements, add new features that will make application more useful and easy to use.
  • Use key-value store for service assurance with pollerd Proposal for enhancing pollerd to generally allow placeholders in the poller configuration. The configuration will be extended to allow overriding parameters based on an interface or a node. Customized configuration should be set with an ReST interface by enhancing the web application.