The development environment for a Management Data Agent is based on NuDesign's automated agent code generation technology, hosted under MS Windows.
For Windows targets, the agent code generator is called Visual xAgentBuilder for C++. It is hosted under Microsoft Visual Studio IDE and generates a complete agent project for Windows, either in standalone executable, or Master Agent / extension DLL format (see also NuDesign's SNMP v1/v2c/v3 /HTTP Master Agent Service for Windows, a multi-protocol, "plug & play" replacement of Microsoft's SNMP v1/v2c Master Agent Service).
For MS Windows CE.NET the agent code generator is hosted under Platform Builder / eMbedded Visual C++ 4.x and it provides equivalent support for standalone agents and SNMP Master Agent Service / extension DLLs.
For Linux, QNX, OSE, VxWorks and other embedded OSs / RTOSs targets, the agent code generator wizard is called Visual Embedded xAgentBuilder for C++. It is hosted under MS Windows Internet Explorer and it generates complete agent projects for these environment's IDEs.
In fact, for non-Windows targets a developer can build and pre-test a fully running agent under MS Windows' Visual Studio (using our Visual xAgentBuilder for C++ code generation wizard).
Once Windows based development is completed a developer can move the agent project into Visual Embedded xAgentBuilder for C++ wizard (hosted under Windows IE), using "Load Settings" option and re-building the agent project for his embedded OS/RTOS IDE environment.
The other option is to start under Visual Embedded xAgent Builder wizard right away, building the agent project from scratch and loading it into specific OS/RTOS IDE for compile and linking.
Figure 1. Microsoft Visual Studio IDE with xAgentBuilder installed
Figure 2. Internet Explorer with Visual Embedded xAgentBuilder for C++ installed
The Visual xAgentBuilder for C++ consists of the following main components:
The agent built with these tools can be simple, monolithic exe running in one thread or Master Agent / Extension Subagent construct supporting multithreading architecture. The SNMP Manager C++ classes are supplied for developers needing to query other SNMP agents from their agent code - Middle Layer Management function (or implementing a companion SNMP management application).
The libraries fully support SNMP Proxy Forwarder Application as per rfc3413. Additionally, the agent can be bound to multiple IP addresses and a function is provided for retrieving a local IP address that the request was sent to. This thread safe function can be called from OnGet / OnSet methods enabling MIB object instance per IP, useful when simulating multiple agents with one box.
The Visual xAgentBuilder for C++ also offers full support for generation of SNMP Traps and Informs from the generated agent.
The code generator libraries that are specific to target OS / RTOS platform and C/C++ tools environment are contained in the specific xAgentBuilder SDK's.
Finally, if you are instrumenting in C (versus full C++ implementation) you can simply call C code (your code) from our C++ framework and link in the libraries without any issues. If you need to call some of our C++ classes (for example Persistent Storage) from your C code then you need to create C callable interface function to wizard generated C++ framework. This code is supplied to you by NuDesign as well.
Development process with Visual xAgentBuilder for C++ is depicted in the following diagram:
Figure 3. Agent Development with Visual xAgentBuilder for C++
For more details please see the online help.
Please read more here: