 There are four main functional areas of OpenNMS.OpenNMS is based around a "publish and subscribe" message bus.Processes within the software can publish events, and other processes can subscribe to them.