Technology Industry
Industry: Email Alert RSS FeedObject-oriented network management development
Hewlett-Packard Journal, April, 1997 by Peter E. Mellquist, Thomas Murray
As networks continue to proliferate the need to develop and deploy network management applications has become a critical issue. Two software development tools are described that allow developers to create powerful network management-side applications quickly without necessarily having to be experts on network protocols.
The advantages of using an object-oriented design methodology and its associated productivity tools, such as C++,[1] are well entrenched and accepted in today's software engineering practices. One of the areas where the object-oriented paradigm can bring a great deal of productivity is in the development of network management applications.
Most RecentTechnology Articles
This article describes two management-side* tools for network management development: SNMP++ and SNMPGen. SNMP++ is a set of C++ classes that provide Simple Network Management Protocol (SNMP) services to a network management application developer.[2] SNMP++ brings the object-oriented advantage to network management programming, and in doing so, makes it much easier to develop powerful, portable, and robust network management applications. SNMPGen is a technology that uses SNMP++ to automatically generate C++ code from the SNMP Management Information Base (MIB) definitions. Fig. 1 shows a conceptual view of these two tools. SNMP++ was developed by Hewlett-Packard and is a freely available open specification. Anyone can obtain the specification document on the World-Wide Web at URLhttp://rosegarden.external.hp.com/snmp++.
[Figure 1 ILLUSTRATION OMITTED]
Benefits of SNMP++
Various SNMP application programming interfaces (APIs) exist that allow the creation of network management applications. The majority of these APIs provide a large library of functions that require the programmer to be familiar with the details of SNMP and SNMP resource management. Most of these APIs are platform-specific, resulting in SNMP code that is specific to a particular operating system or network operating system platform, and thus, not portable.
Application development using a standard set of C++ classes for network management provides many benefits including ease of use, safety, portability, and extensibility.
Ease of Use. SNMP++ is designed so that application programmers do not need to be concerned with low-level SNMP mechanisms. An object-oriented approach to SNMP encapsulates and hides the internal mechanisms of SNMR SNMP++ provides the following ease-of-use features:
* It provides an interface in which the user does not have to be an SNMP or C++ expert to use its features. For the most part C pointers do not exist in SNMP++, resulting in a simple and straightforward API.
* It provides easy migration to SNMP version 2.[3,4] One of the major goals of SNMP++ was to develop an API that would be scalable to SNMP version 2 with minimal impact on code.
* It preserves the flexibility of lower-level SNMP programming. A user may want to bypass the object-oriented approach and code directly to low-level SNMP calls.
* It encourages programmers to use the full power of C++.
Programming Safety. Most SNMP APIs require the programmer to manage a variety of resources, such as memory and sockets. Improper allocation or deallocation of these resources can result in corrupted or lost memory. SNMP++ manages these resources automatically. For programming safety SNMP++ addresses the following areas:
* Safe management of SNMP resources. This includes SNMP structures, sessions, and transport layer management. SNMP++ classes are designed as abstract data types providing data hiding and the ability for public member functions to inspect or modify hidden instance variables.
* Built-in error checking and automatic timeout and retry. SNMP++ users do not have to be concerned with providing reliability for an unreliable SNMP transport mechanism. A variety of communications errors can occur, including lost datagrams, duplicated datagrams, and reordered datagrams. SNMP++ addresses each of these possible error conditions and provides the user with transparent reliability.
Portability. Another major goal of SNMP++ was to provide a portable API across a variety of operating systems, network operating systems, and network management platforms (see Fig. 2). Since the internal mechanisms of SNMP++ are hidden, the public interface remains the same across any platform. A programmer who codes to SNMP++ does not have to make changes to move the program to another platform. Another issue in the area of portability is the ability to run across a variety of protocols. SNMP++ currently operates over the Internet Protocol (IP) or Internet Packet Exchange (IPX) protocols.
[Figure 2 ILLUSTRATION OMITTED]
Extensibility. Extensibility is not a binary function, but rather one of degree. Extensions to SNMP++ include supporting new operating systems, network operating systems, network management platforms, protocols, SNMP version 2, and other new features. Through C++ class derivation, SNMP++ users can inherit what they like and overload what they wish to redefine.
CIO SessionsVision Series on ZDNet
Brought to you by CBS MoneyWatch.com
- 10 Best Places to Retire
- Companies with the Best 401(k) Plans
- Most Important Document for Your Heirs? It's Not Your Will
- Video: Should You Expect to Retire Rich?
- Over 50? Here's How to Get (and Keep) a Great Job
Most Recent Technology Articles
- INTERVIEW WITH BEN BUTTERS, DIRECTOR OF EUROPEAN AFFAIRS AT EUROCHAMBRES : "A PERFECT ROAD MAP FOR EU CLUSTERS DOES NOT EXIST".
- AGENDA.(Brief article)(Conference notes)
- FIGHT AGAINST INTERNET PIRACY.
- INTERNET : AUTHORS' SOCIETIES URGE ACTION AGAINST PIRACY.
- TELECOMMUNICATIONS : BUSINESSEUROPE HOSTILE TO FURTHER CONTRACTUAL OBLIGATIONS.(Brief article)
Most Recent Technology Publications
Most Popular Technology Articles
- What is precision air conditioning and why is it necessary?
- Business process re-engineering in the small firm: A case study
- BizRate to monitor in-store customer satisfaction for Office Depot stores - Market Intelligence
- Speed control of separately excited DC motor
- Design and development of sensor based traffic light system


