A Real NMS
Most Developers out there today are all jacked up about SOA. Its easy to program, uses SSL / HTTPS for security, and its becoming very prolific. When you throw in J2EE and JMS, you now have all your Dev guys drooling.
Some of this stuff just doesn't work in certain cases. For example, lets say you have a process that collects performance data on a device in clumps. Like Netflow data. Data sets are huge. And you want your data keyed correctly so that it is usable and functional. So, you end up encoding Netflow data into XML records. This becomes a huge behemoth across the wire as not only reach record delinited, it is also escaped. For example, you use a field called ACMEVALUE. In XML speak, thats:
So now, you've added alot more data to the dataset for the sake of flexibility. And this really adds up across the wire!
The second thing you do is that you take a long time to process.A SOAP transaction cannot be completed until all of the data is encapsulated in the SOAP envelope. This may take an inordinate amount of time and blocks vital resources dirung the process.
In SOA, when you start using stuff like their publish and subscribe in near real time, it ends up blocking during the IO phases which slows down everything and makes it non-scaleable in large environments.
Additionally, everyone is wrapped up around a CMDB concept as introduced by ITIL. Not to say a CMDB won't work.... In some cases, a CMDB is used... Its only localized. Think about windows registries and you get the jist. Stuff happens too fast on some levels of the data to keep this data in a centralized spot. You ebnd up having to mix data elements and locations dependent upon the volatility and usefullness of the data elements themselves.
SNMP, when you look at it, is a schema for a highly distrubted database where the data access mexchanism is accomplished via SNMP versus somethnig like SQL*Net or ODBC and SQL.
The thought of a Real NMS is evolving very quickly - almost haphazardly. Yet the technology being used to do the next generation NMS systems lacks stability and may not be very scalable. It has been said that Corporate America is spending a huge amount of money to convert all their applications to SOA and JAva only to lose functionality, stability, and scalability. And worse yet, they are offshoring the coding in many cases making it impossible to support in the future with off shoring support as well!
OpenNMS should be added...
OpenNMS is doing very well these days. It should be part of the list.