AdventNet WebNMS 5 :: eBON TutorialAdventNet WebNMS 5 :: eBON Tutorial AdventNet, Inc. 3eBON EMS...

117

Transcript of AdventNet WebNMS 5 :: eBON TutorialAdventNet WebNMS 5 :: eBON Tutorial AdventNet, Inc. 3eBON EMS...

Page 1: AdventNet WebNMS 5 :: eBON TutorialAdventNet WebNMS 5 :: eBON Tutorial AdventNet, Inc. 3eBON EMS Tutorial eBON Element Management System AdventNet Web NMS Tutorial Version 1.0 A simple
Page 2: AdventNet WebNMS 5 :: eBON TutorialAdventNet WebNMS 5 :: eBON Tutorial AdventNet, Inc. 3eBON EMS Tutorial eBON Element Management System AdventNet Web NMS Tutorial Version 1.0 A simple

AdventNet WebNMS 5 :: eBON Tutorial

AdventNet, Inc. 1

Table Of Contents

EBON EMS TUTORIAL ............................................................................................. 3

1.1 Foreword........................................................................................................................ 4 1.2 Introduction .................................................................................................................... 8 1.3 Application Overview ................................................................................................... 10

2 APPLICATION DESIGN ....................................................................................... 13

3 MODELING THE MANAGED RESOURCES........................................................ 16

3.1 Detailed Resource Modeling........................................................................................ 19

4 IMPLEMENTATION.............................................................................................. 22

4.1 Creating eBON Project ................................................................................................ 24 4.2 Modeling the DSLAM Device and its Components...................................................... 25

4.2.1 Managed Resource Modeling .............................................................................................26 4.3 Discovering DSLAM Devices....................................................................................... 29

4.3.1 Discovering DSLAM Devices Using Filter ...........................................................................30 4.4 Creating Maps to Display DSLAM Devices ................................................................. 43

4.4.1 Creating Maps .....................................................................................................................44 4.4.2 Creating Chassis View ........................................................................................................47

4.5 Filtering Traps and Status Polling the Cards ............................................................... 48 4.5.1 Filtering Traps from DSLAM Device....................................................................................49 4.5.2 Status Polling the Cards in DSLAM Device ........................................................................53

4.6 Configuring DSLAM Device ......................................................................................... 58 4.6.1 Configuring DSLAM Device Parameters.............................................................................59

4.7 Provisioning DSLAM Device........................................................................................ 60 4.7.1 Customizing Provisioning ....................................................................................................61

4.8 Configuring Polling for DSLAM Device ........................................................................ 66 4.8.1 Creating Filter to Poll ATM Card Objects ............................................................................67

4.9 Packaging the Project.................................................................................................. 69 4.10 Security Configuration for DSLAM Device................................................................. 70

4.10.1 Using Authorization Service ..............................................................................................71 4.11 Rebranding Application as Your EMS ....................................................................... 73

4.11.1 Rebranding........................................................................................................................74

5 FAST TRACK IMPLEMENTATION ...................................................................... 76

Page 3: AdventNet WebNMS 5 :: eBON TutorialAdventNet WebNMS 5 :: eBON Tutorial AdventNet, Inc. 3eBON EMS Tutorial eBON Element Management System AdventNet Web NMS Tutorial Version 1.0 A simple

AdventNet WebNMS 5 :: eBON Tutorial

AdventNet, Inc. 2

6. INSTALLATION AND TESTING......................................................................... 77

6.1 Installing eBON Application ......................................................................................... 78 6.2 Testing the Final Application........................................................................................ 79

7 KNOWN ISSUES .................................................................................................. 85

8 GLOSSARY ......................................................................................................... 86

9. APPENDIX........................................................................................................... 87

9.1 About AdventNet Web NMS ........................................................................................ 87 9.2 Building Chassis .......................................................................................................... 88

9.2.1 Designing Main Screen .......................................................................................................92 9.2.2 Designing Shelf Screen.......................................................................................................94 9.2.3 Designing CPU Card ...........................................................................................................95 9.2.4 Designing ATM Card ...........................................................................................................97 9.2.5 Chassis Configuration .........................................................................................................99 9.2.6 Compiling and Packaging the Application.........................................................................101

9.3 Building Configuration Application ............................................................................. 103 9.3.1 Designing Panels for Main Screen....................................................................................105 9.3.2 Designing Main Screen .....................................................................................................111 9.3.3 Packaging the Application .................................................................................................113

10. TROUBLE SHOOTING TIPS........................................................................... 114

11 OTHER TUTORIALS ........................................................................................ 116

Page 4: AdventNet WebNMS 5 :: eBON TutorialAdventNet WebNMS 5 :: eBON Tutorial AdventNet, Inc. 3eBON EMS Tutorial eBON Element Management System AdventNet Web NMS Tutorial Version 1.0 A simple

AdventNet WebNMS 5 :: eBON Tutorial

AdventNet, Inc. 3

eBON EMS Tutorial

eBON Element Management System AdventNet Web NMS Tutorial

Version 1.0 A simple guide to developers on how to build an Element Management System on AdventNet Web NMS 5 using the AdventNet Web NMS Eclipse Plugin. AdventNet, Inc. 4900 Hopyard Rd., Suite 310 Pleasanton, CA 94588, USA Phone: +1-925-924-9500 Fax : +1-925-924-9600 http://www.adventnet.com [email protected]

Page 5: AdventNet WebNMS 5 :: eBON TutorialAdventNet WebNMS 5 :: eBON Tutorial AdventNet, Inc. 3eBON EMS Tutorial eBON Element Management System AdventNet Web NMS Tutorial Version 1.0 A simple

AdventNet WebNMS 5 :: eBON Tutorial

AdventNet, Inc. 4

1.1 Foreword AdventNet Web NMS aims at providing real world network management solutions to telecom and enterprise markets. It meets the demand of the market for advanced network management features. It fulfills the need of the market for shortest possible deployment time. EBon tutorial will demonstrate how the above market expectations are met by AdventNet Web NMS.

• Why AdventNet Web NMS

• Application Life Cycle

Why AdventNet Web NMS

AdventNet Web NMS fulfills your specific network management needs. It comes with the most sought after features in the market. They are

• Massive scalability

• High availability

• Customization o Modeling managed systems o Extending management services o Supporting variety of management protocols o Various deployment options

It can be customized and extended to suit your needs. The extensibility makes the design of the application more organized. The customization addresses the specific needs of the application to manage your custom equipment. Eclipse, Integrated Development Environment is a widely used open source development environment. AdventNet now provides WebNMS Eclipse Plugin which will seamlessly plug into the Eclipse IDE and provide you with a powerful suite of Wizards and Tools that help you to develop your management application very fast. This in turn brings host of benefits:

• The time taken to deploy the application is lesser compared to the conventional development and deployment techniques.

• It supports user from the level of novice to professional. The webnms plugin has wizards that auto generate the required stub code as well as place entries in respective configuration files making the development easier.

• It liberates the user to concentrate on the business logic or the domain specific requirements rather than learning the configurations for the WebNMS framework.

All these benefits put together will make AdventNet Web NMS a wise choice for your network management solution.

Application Life Cycle

AdventNet Web NMS offers a comprehensive development environment for building your management solution. This section explains how the complete product life cycle needs of your management solution are realizable using AdventNet Web NMS.

Page 6: AdventNet WebNMS 5 :: eBON TutorialAdventNet WebNMS 5 :: eBON Tutorial AdventNet, Inc. 3eBON EMS Tutorial eBON Element Management System AdventNet Web NMS Tutorial Version 1.0 A simple

AdventNet WebNMS 5 :: eBON Tutorial

AdventNet, Inc. 5

They are captured in five easy steps that you can follow to build your management solution, as given below:

Step 1: Modeling the Managed Elements Step 2: Customizing Managed Object Services Step 3: Packaging Step 4: Deploying Step 5: Rebranding Step 6: Testing

The following diagram gives an overview of the experience of building management solutions with the AdventNet Web NMS

Page 7: AdventNet WebNMS 5 :: eBON TutorialAdventNet WebNMS 5 :: eBON Tutorial AdventNet, Inc. 3eBON EMS Tutorial eBON Element Management System AdventNet Web NMS Tutorial Version 1.0 A simple

AdventNet WebNMS 5 :: eBON Tutorial

AdventNet, Inc. 6

Step 1: Modeling the Managed Elements

Each managed system comprises many inter-related elements that need to be individually managed. You start with modeling your elements, so that you can capture the data, operations and state of the elements, and the relationships between the elements. The Web NMS provides a comprehensive, simple, and easy-to-learn information model, using which the various elements and hence the managed system can be modelled. The basic element of the Web NMS information model is the ManagedObject. The Web NMS also has models for various common IP network components such as Network, Node, SNMP Node, TL1 Node, etc. These form the core objects of the Web NMS information model. You have to extend any of the core objects of Web NMS to model your managed element. The core objects can be extended, by adding attributes, operations, and state to those objects (modeling the data, operations, and state of your element in addition to capturing the relationship). This task can be easily accomplished by using the Model Managed Object Wizard of AdventNet WebNMS EclipsePlugin. It helps you walk through the steps in terms of the object that needs to be extended, the new attributes of your network element, adding properties for the MO and it also configures hibernate mapping properties for the MO. The Generate Java Source Wizard, will take the mapping file generated earlier as input and auto-generate the Bean/POJO code for the Modeled ManagedObject. Step 2: Customizing Managed Object Services

AdventNet Web NMS offers a number of management services to the managed objects. The southbound services that populate the database with information from the elements such as data collection, status polling, etc. are classified as the mediation services. The services that enable the user to perform network planning, error management, and service deployment tasks are classified as the management services. Management services include event correlation, element configuration, service provisioning, access control, etc. Using the module management services available as part of the Web NMS framework, you could also build other management application modules. Step 3: Packaging

You can package your application resources alone as a NAR (NMS Archive file) that can be installed over the AdventNet Web NMS. Step 4: Deploying

The nar for Project created using the Package Properties Wizard in the Eclipse Plugin has to be installed over Web NMS. This task can be performed using the Nar Installer present in the Deployment Wizard. The Installer wizard with an easy- to- use interface helps you walk through the process of installing the nar. You can invoke the Deployment Wizard by using the WebNMS > Tools > Deployment Wizard menu.

Step 5: Rebranding the Management Solution

You can rebrand the application to display the name of your company, the name of your product, and your logos. Rebranding cannot be done within the EMS project created in Eclipse. It has to be done directly in the Web NMS Installation. To do Rebranding, invoke <Web NMS Home>\bin\developertools>startRebrandingTool.bat.

Page 8: AdventNet WebNMS 5 :: eBON TutorialAdventNet WebNMS 5 :: eBON Tutorial AdventNet, Inc. 3eBON EMS Tutorial eBON Element Management System AdventNet Web NMS Tutorial Version 1.0 A simple

AdventNet WebNMS 5 :: eBON Tutorial

AdventNet, Inc. 7

Step 6: Testing

Before testing your management solution, make sure all the third-party packages are installed correctly and you have the required privileges to use them for your testing. Once you start your application, look at the Web NMS server log files to make sure all the services are started successfully and are running. Having deployed your application at a customer's site, you will be required to support the product and provide upgrades as part of support. The EMS Project created using the WebNMS Eclipse Plugin makes it easy to handle upgrades.

Page 9: AdventNet WebNMS 5 :: eBON TutorialAdventNet WebNMS 5 :: eBON Tutorial AdventNet, Inc. 3eBON EMS Tutorial eBON Element Management System AdventNet Web NMS Tutorial Version 1.0 A simple

AdventNet WebNMS 5 :: eBON Tutorial

AdventNet, Inc. 8

1.2 Introduction The purpose of this tutorial is to guide you through designing an EMS and provide illustrative examples to help you understand the choices to be made during development. This describes how AdventNet Web NMS EclipsePlugin can be used to simplify the development of an EMS. The Tutorial

Consider a real life scenario wherein you need to manage DSLAM devices which support SNMP. This tutorial will help you achieve the same by using AdventNet Web NMS by building an EMS (Element Management System) to manage the DSLAM devices. The tutorial will walk through a series of steps, which will help you understand how a unique EMS solution can be built using AdventNet Web NMS EclipsePlugin to suit your needs. Using AdventNet Web NMS EclipsePlugin the EMS application is just a few clicks away requiring you to incorporate only your network specific business logic. This makes the development faster. This tutorial helps you to build only a sample application. In which, it adopts a generic network device (i.e., a DSLAM Device, which supports SNMP) as an example. This limited scope example will serve only to illustrate what can be built on AdventNet Web NMS and it is only a subset of the custom capabilities of AdventNet Web NMS. However, for many EMS applications of specific needs, this basic example can be extended.

This topic covers the following details of the tutorial:

• The Intended User

• Prerequisites

• Related Information

• Tutorial Conventions

• At the End of the Tutorial

The Intended User This tutorial is intended for those, who are interested in developing an Element Management System using the AdventNet Web NMS. Prerequisites

To develop this tutorial application, you will need a good knowledge of Network Management System and basic Java Programming. Knowledge of SQL, and relational database concepts will be an added advantage, but it is not essential. Related Information This tutorial provides concise information about AdventNet Web NMS EclipsePlugin and AdventNet Web NMS. For detailed information about these, refer to the Web sites listed below:

1. AdventNet WebNMS Eclipse Plugin Guide - from the following location under Web NMS Home : <Web NMS Home>\StudioTools\Studio\help\index.html

Page 10: AdventNet WebNMS 5 :: eBON TutorialAdventNet WebNMS 5 :: eBON Tutorial AdventNet, Inc. 3eBON EMS Tutorial eBON Element Management System AdventNet Web NMS Tutorial Version 1.0 A simple

AdventNet WebNMS 5 :: eBON Tutorial

AdventNet, Inc. 9

2. AdventNet Web NMS documentation - from the following URL:

http://www.adventnet.com/products/webnms/help.html Tutorial Conventions

The following table lists the typographic conventions followed in this tutorial:

Font Style Uses Arial Bold File name Arial Italic Directory Arial Bold Italic Methods / Interfaces / Classes Courier New Code snippet Courier New Bold Italic Highlighting important code snippets

At the End of the Tutorial

From this tutorial you will learn how to

• Build an EMS by customizing AdventNet Web NMS with the help of AdventNet Web NMS EclipsePlugin.

• Model Objects.

• Achieve Fault, Configuration, Performance, Map, Provisioning, Security management, and Discovery of network elements.

Page 11: AdventNet WebNMS 5 :: eBON TutorialAdventNet WebNMS 5 :: eBON Tutorial AdventNet, Inc. 3eBON EMS Tutorial eBON Element Management System AdventNet Web NMS Tutorial Version 1.0 A simple

AdventNet WebNMS 5 :: eBON Tutorial

AdventNet, Inc. 10

1.3 Application Overview In this section, an overview of the Tutorial Application is provided. The tutorial application provides information on how to develop an EMS to manage the DSLAM devices. The tutorial application is built exploring the various modules of AdventNet Web NMS.

• Application Specification

• Estimate of Effort Required to Build the Application

• Description of System Used in the Application

• Implementation in a Nutshell

Application Specification

Name of the Application : eBON Element Management System

Version of Web NMS used : Web NMS Release 5

Compatibility with other Versions

: Not compatible with previous versions of Web NMS

Tools used and their Versions

: Eclipse 3.3 along with the AdventNet WebNMSEclipse Plugin

Platform specific requirements

: No special requirements

Estimate of Effort Required to Build the Application

This tutorial task can take 7 person days.

Description of System Used in the Application

The device considered for developing EMS is a DSLAM System. DSLAM stands for Digital Subscriber Line Access Multiplexer. This system is primarily used to concentrate/multiplex various DSLs (from the subscriber end) onto a ATM carrier of a much higher bandwidth, in the backbone network and vice versa. The system also has the capability to switch the DSL channels into appropriate backbone networks. For example, the voice channels are switched to the PSTN backbone and the data channels are switched to the ATM backbone. In the EMS discussed in this document, only the ATM interface part is addressed. The DSLAM system comprises CPU and ATM interface cards. The CPU card controls the whole device and monitors the status of all the ATM interface cards. The ATM interface card consists of several ports, each of which provides an ATM interface, and the device has multiple interface cards, identified by the slot in which they are plugged in. The device has a SNMP agent running in the CPU card, which provides the complete and latest information about the state of the device and all its components. The device provides an ethernet interface through which the SNMP agent can be contacted using the UDP or TCP/IP protocol.

Page 12: AdventNet WebNMS 5 :: eBON TutorialAdventNet WebNMS 5 :: eBON Tutorial AdventNet, Inc. 3eBON EMS Tutorial eBON Element Management System AdventNet Web NMS Tutorial Version 1.0 A simple

AdventNet WebNMS 5 :: eBON Tutorial

AdventNet, Inc. 11

Implementation in a Nutshell

The tutorial application covers various aspects of network management. Various modules of AdventNet Web NMS are used to achieve the network management objectives as listed below:

• Modeling the DSLAM Device and Component Objects

• Discovering DSLAM Devices

• Customizing Maps to Display the DSLAM Devices

• Managing Alerts of DSLAM device and It's Components

• Configuring the DSLAM Device

• Provisioning the DSLAM Device

• Implementing Security Management

• Rebranding AdventNet Web NMS as Your EMS

Modeling the DSLAM Device and Component Objects In AdventNet Web NMS, the managed device data are stored in the database for persistency. For storing the managed devices' data into a database, you need to model the managed device and its components. The tutorial explains how the first five SNMP Nodes discovered are modeled as DSLAM device objects. In order to simulate a real time DSLAM device, the related components objects such as slots, cards and ports are modeled. The Object Modeling topic, illustrates how the existing AdventNet Web NMS Managed Object model is extended to emulate a real SNMP DSLAM device and its subcomponents. Discovering DSLAM Devices The Discovery process of AdventNet Web NMS discovers all the elements available in the managed network. The tutorial explains how the Discovery process is customized to filter out the first five SNMP Nodes. The discovered nodes are modeled as explained above and stored in the topology database for effective management. The Discovery topic illustrates how to customize discovery and store the discovered information in the Topology database. Customizing Maps to Display the DSLAM Devices AdventNet Web NMS provides default maps to display various networks and element groups. The tutorial explains how the custom maps are created using Map Filter of Eclipse Plugin. The various components of the DSLAM device such as Slot, Card and Port are shown in the Chassis view. Managing Alerts of DSLAM Device and Its Components AdventNet Web NMS implements Fault Management to identify failures in the managed network elements. The tutorial explains how to customize the Fault management for Trap handling.

Page 13: AdventNet WebNMS 5 :: eBON TutorialAdventNet WebNMS 5 :: eBON Tutorial AdventNet, Inc. 3eBON EMS Tutorial eBON Element Management System AdventNet Web NMS Tutorial Version 1.0 A simple

AdventNet WebNMS 5 :: eBON Tutorial

AdventNet, Inc. 12

Configuring the DSLAM Device AdventNet Web NMS provides Configuration Wizard to create configuration screens. In this tutorial, we configure the scalar and columnar attributes of the Cards in the DSLAM device. Provisioning the DSLAM Device Using Provisioning, one can apply a set of configuration tasks on device as well as on database. In this tutorial, you will be creating a provisioning template where values of DSLAM device attributes as specified in the template will be updated in database and device. Implementing Security Management AdventNet Web NMS implements Security management using the Authorization Service. The tutorial implements Security management using the Authorization Service of Web NMS. Rebranding AdventNet Web NMS as Your EMS The tutorial rebrands AdventNet Web NMS into eBON EMS. The logo, images, etc. can be replaced as you desire using Rebranding Tool. You have the I18N Editor for internationalization of various UI references of AdventNet and Web NMS. With these the EMS developed can easily be rebranded.

Page 14: AdventNet WebNMS 5 :: eBON TutorialAdventNet WebNMS 5 :: eBON Tutorial AdventNet, Inc. 3eBON EMS Tutorial eBON Element Management System AdventNet Web NMS Tutorial Version 1.0 A simple

AdventNet WebNMS 5 :: eBON Tutorial

AdventNet, Inc. 13

2 Application Design

AdventNet Web NMS Eclipse Plugin is equipped with a rich suite of tools to support the entire development cycle of an EMS from modeling your network elements as objects to service customization, packaging, and in the end installing it in Web NMS. This significantly reduces the time taken to build an EMS. Thus, you are able to build the eBON EMS in 7 days.

Aim

To come up with the design on customizing the AdventNet Web NMS platform features in order to provide various functions to the EMS, as specified in the requirements.

EMS Management Requirements

• Modeling the DSLAM device as Managed Resource

• Discovering the DSLAM devices in the network

• Representing the DSLAM Device and Its Components in the Map

• Fault Management of the DSLAM Device

• Configuring the DSLAM Device

• Performance Management through periodic Data Collection

• Rebranding the eBON EMS

Managed Resource Modeling

Objective Modeling a device enables you to represent the various attributes and the behavior of the corresponding physical device and its components in a convenient way so as to reflect their current state at any time. The EMS stores these persistent data in the database. Tasks Define the resources to be managed by the EMS. The properties of the Device and its Components that will be used for modeling the resources are given below: Managed Resource

Name Attributes in Managed Resource

DslamDevice nodeVersion, deviceAddress, serialNumber, location. DslamSlot slotIndex, slotAdminStatus, deviceAddress DslamCard cardIndex, cardType, cardNumber, cardDesc,

cardVersion,cardAdminStatus, cardOperationStatus, deviceAddress, devicePort.

CPUCard cpuCardPowerStatus, cpuCardContact, cpuCardInOctets, cpuCardOutOctets, cpuCardNumPorts

ATMCard atmCardPowerStatus, atmCardContact, atmCardInOctets, atmCardOutOctets, atmCardNumPorts

Port portIndex, portStatus, deviceAddress DslamConnection source, destination, bandwidth

Page 15: AdventNet WebNMS 5 :: eBON TutorialAdventNet WebNMS 5 :: eBON Tutorial AdventNet, Inc. 3eBON EMS Tutorial eBON Element Management System AdventNet Web NMS Tutorial Version 1.0 A simple

AdventNet WebNMS 5 :: eBON Tutorial

AdventNet, Inc. 14

The Role of Eclipse Plugin Using the Model Managed Object Wizard, all the above resources can be modeled easily.

Discovering DSLAM Devices Objective To automatically discover and add the DSLAM devices and their components into the topology database of Web NMS. This will necessitate identifying the component hierarchy of the DSLAM devices. Tasks Create a Discovery Filter defining the containment hierarchy of the device and its components. The Role of Eclipse Plugin The DiscoveryFilter Creation Wizard will help you define the discovery filter. During discovery, Web NMS will discover the device and its components and store them in the database according to the containment hierarchy that has been defined in the discovery filter.

Representing the DSLAM Device and Its Components in the Map Objective To graphically represent the DSLAM Devices and its components, illustrating the Containment hierarchy, in the map view of Web NMS Client. Tasks

• Create a custom map for the DSLAM Device and its components

• Create a Chassis View to represent the DSLAM device and its components such as Slot, Card, and Port.

The Role of Eclipse Plugin Using the MapFilter Creation Wizard and Chassis Wizard ,all the above tasks can be completed.

Fault Management of the DSLAM Device Objective To monitor and manage the failures in the system effectively including, polling the DSLAM Device and its components periodically for their status and thereby take preventive action where necessary. Tasks

• Convert the failure notifications (Traps) into meaningful Events.

• Create a Status Poller using which you can poll the necessary devices for their current state on demand.

The Role of Eclipse Plugin Using the TrapFilter Creation Wizard, it is easy to create a Trap Filter that filters the traps and converts them into meaningful Events which can be managed.

Page 16: AdventNet WebNMS 5 :: eBON TutorialAdventNet WebNMS 5 :: eBON Tutorial AdventNet, Inc. 3eBON EMS Tutorial eBON Element Management System AdventNet Web NMS Tutorial Version 1.0 A simple

AdventNet WebNMS 5 :: eBON Tutorial

AdventNet, Inc. 15

Using the Status Poller Wizard in the Eclipse Plugin, you can create the Status Poller that helps you poll the status of devices on demand.

Configuring the DSLAM Device Objective The EMS Application should be capable of controlling and configuring the device. It should be able to switch the status of the card from active state to inactive state. Tasks A UI-based Configuration screen to activate and deactivate the DSLAM The Role of Eclipse Plugin Configuration Wizard of Client Builder can be used to build configuration management application. The configuration management application configures device parameters.

Performance Management Objective The performance of every ATM connection has to be monitored, because it determines the quality of service offered by the switch. The eBON application is expected to collect data from the ATM ports to check the InOctets and OutOctets. The Application should also generate events on the occurrence of collected data value being more than the threshold. Tasks Configure the Threshold Parameters and OIDs for data collection. The Role of Eclipse Plugin Using the PollFilter Creation Wizard,a Poll Filter can be written for the necessary OIDs which have to be polled. Threshold values can be set, for these OIDs, that determine the performance of the device.

Rebranding the EMS Objective The EMS has to be renamed according to your requirements. All the relevant images and icons will have be changed to reflect its new name (eBON EMS). Tasks

• Replace the existing AdventNet and Web NMS images and logo to eBON. Internationalize the text and buttons that appear in the Client of the EMS.

The Role of Eclipse Plugin Using the I18N Editor, the EnglishToNative properties file will be changed to internationalize the text that appears in the Client. The images and logo of AdventNet will also be replaced with that of eBON using this Rebranding Tool.

Page 17: AdventNet WebNMS 5 :: eBON TutorialAdventNet WebNMS 5 :: eBON Tutorial AdventNet, Inc. 3eBON EMS Tutorial eBON Element Management System AdventNet Web NMS Tutorial Version 1.0 A simple

AdventNet WebNMS 5 :: eBON Tutorial

AdventNet, Inc. 16

3 Modeling the Managed Resources

This topic concentrates on various aspects involved in the design of Managed Object. The various aspects covered are as listed below:

• What Are the Different Methods Available to Design Managed Resources?

• How Is Web NMS Core Object Resource Is Modeled?

• An Example Modeling of Object Resources for This Application

• Class Diagram of Managed Resources of EMS application

• Naming Convention Used in Modeling the Managed Resources

What Are the Different Methods Available to Design Managed Resources?

We have two choices for our design of managed elements.

• Using the dynamic properties of Web NMS Managed Objects.

• Extending the existing Managed Objects. The former is a quick solution requiring less design effort but a cumbersome design. The later is a cleaner design. The second choice will serve our application needs better, because it provides a neat design. This approach also results in a better table structure for storing our objects in an RDBMS. Hence, the second approach is adopted in this tutorial.

How Is Web NMS Core Object Resource Is Modeled?

The core Object model of AdventNet Web NMS is simple and easy to learn and extend for each application. The elements of the core model are designed for IP networks and are sufficient to represent common IP networks. However, for most specific applications, e.g., the management of a cable modem system, the model will be extended. The topology database has the following base elements:

ManagedObject : The base class of all objects in the Topology database.

TopoObject : The base class of all IP objects in the Topology database.

Network : This object represents an IP network.

Node : This object represents an IP network node.

SNMP Node : This object represents an IP network node with an SNMP Agent.

IP Address : This object represents an IP interface.

SNMP Interface : This object represents an IP interface with an SNMP Agent in its parent node.

An Example Modeling of Object Resources for This Application

Let us look at an example of modeling a complex network device, consisting of slots, cards, and ports. This generic example will illustrate the modeling procedure. The EMS tutorial application models a DSLAM device with components slots, cards, and ports. The following relationships are assumed between the Managed Objects:

Page 18: AdventNet WebNMS 5 :: eBON TutorialAdventNet WebNMS 5 :: eBON Tutorial AdventNet, Inc. 3eBON EMS Tutorial eBON Element Management System AdventNet Web NMS Tutorial Version 1.0 A simple

AdventNet WebNMS 5 :: eBON Tutorial

AdventNet, Inc. 17

• DslamDevice This represents a DSLAM device that is initially discovered via SNMP, i.e., Web NMS finds it as an SNMP Node in the network.

• Slot Each device consists of 6 slots, which are numbered 0-6.

• DslamCard Each slot consists of a card, which can be of different types. In this example, there are two card types CPU Card and ATM Card. The card object has a field called type to specify the card type.

• CPUCard This models a CPUCard for CPU Card type present in DSLAM device.

• ATMCard This models a ATMCard for ATM Card type present in DSLAM device.

• Port Each card has two ports. This models port components in CPUCard and ATMCard.

• DslamConnection Represents the logical connection between DSLAM devices

These components are modeled in the Web NMS topology database and these definitions are used to build an EMS functionality into our application. Class Diagram of Managed Resources of EMS application The following class diagram gives an overview of Managed Object subclasses in this application.

Page 19: AdventNet WebNMS 5 :: eBON TutorialAdventNet WebNMS 5 :: eBON Tutorial AdventNet, Inc. 3eBON EMS Tutorial eBON Element Management System AdventNet Web NMS Tutorial Version 1.0 A simple

AdventNet WebNMS 5 :: eBON Tutorial

AdventNet, Inc. 18

Naming Convention Used in Modeling the Managed Resources Although a naming convention is not essential, it provides some benefits. It supports the requirement of providing unique keys for all managed objects. It also allows us to easily identify some useful object properties, without having to explicitly store these properties in the object. We will use a naming convention for these objects that will make it easy to tell which object we are dealing with. This will also help with filtering, etc. if we wish to use them. The naming convention will be of the form: <DSLAMDeviceName>_Slot<N1>_Card<N2>_Port<N3> where <DSLAMDeviceName> will be the name of the DSLAM device and <N1>, <N2> and <N3> are numbers to identify the ManagedObject within a container. Managed Object Parent-Child Containment Relationship The Discovery Filter created in Eclipse Plugin takes care of parent-child relationship between the components in DSLAM device. In DSLAM device, we have the hierarchy of the DSLAM device in Discovery filter as given below:

• DslamDevice

• Slot

• Card

• Port Each of the above is set with container() as true and the parent key for Slot component is DslamDevice.

Note: Another benefit of this ManagedObject property namely ParentKey is, it allows for quick look up of the component object hierarchy.

Refer the Detailed Resource Modeling topic for details on Resource Modeling.

Page 20: AdventNet WebNMS 5 :: eBON TutorialAdventNet WebNMS 5 :: eBON Tutorial AdventNet, Inc. 3eBON EMS Tutorial eBON Element Management System AdventNet Web NMS Tutorial Version 1.0 A simple

AdventNet WebNMS 5 :: eBON Tutorial

AdventNet, Inc. 19

3.1 Detailed Resource Modeling

For each of the components of the network device, we have created a ManagedObject subclass. The following list captures the properties we have provided in each component we modeled, i.e., the ManagedObject subclasses.

DslamDevice nodeVersion, deviceAddress, serialNumber

location. DslamSlot slotIndex, slotAdminStatus, deviceAddress DslamCard cardIndex, cardType, cardNumber, cardDesc,

cardVersion,cardAdminStatus, cardOperationStatus, deviceAddress, devicePort.

CPUCard cpuCardPowerStatus, cpuCardContact, cpuCardInOctets, cpuCardOutOctets, cpuCardNumPorts

ATMCard atmCardPowerStatus, atmCardContact, atmCardInOctets, atmCardOutOctets, atmCardNumPorts

Port portIndex, portStatus, deviceAddress DslamConnection source, destination, bandwidth

DSLAM Device The DSLAM device object will extend an SNMP Node object instead of ManagedObject directly. This is because our example assumes the switch supports SNMP and will be discovered as an SNMP Node. In our case, if the switch does not support SNMP we may extend node or ManagedObject directly as appropriate. We will provide the following additional properties in the DSLAM device, in addition to what is available in an SNMP Node class:

• Node Version : The version of the Device

• Device Address

: The Address of the Device

• Location : The physical location of the switch.

• Serial number : The Serial Number of the Device.

DSLAM Slot We will create a ManagedObject subclass to model the Slot. We will provide the following additional properties in the slot object, in addition to what is available in a ManagedObject class:

• Slot Index : The slot number is the identification of position on theshelf.

• Slot Admin Status

: An indication of the state of the slot, whether the slot is empty or the card type it contains.

• Device Address

: The Address of the Device

Page 21: AdventNet WebNMS 5 :: eBON TutorialAdventNet WebNMS 5 :: eBON Tutorial AdventNet, Inc. 3eBON EMS Tutorial eBON Element Management System AdventNet Web NMS Tutorial Version 1.0 A simple

AdventNet WebNMS 5 :: eBON Tutorial

AdventNet, Inc. 20

DSLAM Card The Card object is modeled using a ManagedObject subclass. We will provide the following additional properties in the card object, in addition to what is available in a ManagedObject class:

• Card Index : The index of the card in the device

• Card Type : Identifies the type card in the device

• Card Number : The number of the card.

• Card Description

: The card description

• Card Version : The version of the card

• Card Admin Status

: Defines the Admin status of the card

• Card Operation Status

: Defines the Operation status of the card

• Device Address

: Address of the Device

• Device Port : The port number in which the agent is running in the DslamDevice

CPU Card The CPU Card object is modeled using DslamCard subclass, because it requires all the properties in DslamCard. We will provide the following additional properties in the card object, in addition to what is available in a DslamCard class:

• CPU Card

Power Status : Column Description Defines the Power status of the

CPU Card

• CPU Card Contact

: Contact Person for the CPU Card

• CPU Card In Octets

: No of packets flowing into this card

• CPU Card Out Octets

: No of packets flowing out of this card

• CPU Card Number of Ports

: No of ports in the card

ATM Card The ATM Card object is modeled using DslamCard subclass, because it requires all the properties in DslamCard. We will provide the following additional properties in the card object, in addition to what is available in a DslamCard class:

• ATM Card

Power Status : Column Description Defines the Power status of the

ATM Card

• ATM Card Contact

: Contact Person for the ATM Card

• ATM Card In Octets

: No of packets flowing into this card

Page 22: AdventNet WebNMS 5 :: eBON TutorialAdventNet WebNMS 5 :: eBON Tutorial AdventNet, Inc. 3eBON EMS Tutorial eBON Element Management System AdventNet Web NMS Tutorial Version 1.0 A simple

AdventNet WebNMS 5 :: eBON Tutorial

AdventNet, Inc. 21

• ATM Card Out Octets

: No of packets flowing out of this card

• ATM Card Number of Ports

: No of ports in the card

Port The Port object is also directly subclassed from ManagedObject. To capture the containment of ports in switches, we will add a property to capture this relationship. We do not keep a reference to the switch, but rather store the key that identifies the switch that we can query from the database. We will provide the following additional properties in the port object, in addition to what is available in a ManagedObject class.

• Port Index : Index to uniquely identify the port.

• Port Status : Status of the Port

• Device Address

: Address of the Device

DSLAM Connection The DSLAM Connection is directly subclassed from ManagedObject class. We will provide the following additional properties in the card object, in addition to what is available in a DslamCard class:

• Source : The source of the Connection

• Destination : The destination of the Connection

• Bandwidth : The bandwidth of the Connection

Page 23: AdventNet WebNMS 5 :: eBON TutorialAdventNet WebNMS 5 :: eBON Tutorial AdventNet, Inc. 3eBON EMS Tutorial eBON Element Management System AdventNet Web NMS Tutorial Version 1.0 A simple

AdventNet WebNMS 5 :: eBON Tutorial

AdventNet, Inc. 22

4 Implementation This tutorial application has been created using AdventNet Web NMS Eclipse Plugin. This topic gives an overview of implementation of the application using Web NMS Eclipse Plugin. Using AdventNet Web NMS Eclipse Plugin The AdventNet Web NMS Eclipse Plugin can be deployed in your Eclipse IDE installation, then a new type of project "EMS Development project" will be added to the Eclipse IDE. For this tutorial you can now create a new EMS Development project in Eclipse and customise the WebNMS services in this project. When the project is complete, compile it and package it into a NAR file. For deploying the application in the AdventNet Web NMS, you will have to deploy the NAR into the AdventNet Web NMS using the Deployment Wizard tool. Various features available in the Eclipse Plugin allow you in creating the Application. However, you need to write certain amount of custom code in order to suit the need of the tutorial application. Implementation overview To start with, you will have to create a new EMS project. In the Project, build the application using the following Service Wizards:

Model the Managed Resource Model your DSLAM device and its components into Managed Resources of AdventNet Web NMS Topology database. You will be filling up the Managed Resource's Name, Parent Resource, and its attributes in the Model Managed Object Wizard. In the end, you will get the Managed Resource's class and the corresponding Hibernate mapping file. For the steps involved to model Managed Resource, refer to Managed Resource Modeling. Build Discovery-Related Files Using Discovery Service Create a Discovery filter to discover the DSLAM device and its component objects you have modeled in the previous task. Invoke the DiscoveryFilter Creation Wizard and enter the Package Name and Filter ClassName. In the end, you will get the discovery filter. Add the Custom code specific to this application. Build Maps Using Maps Service and Chassis View Using Chassis Wizard Modify maps.conf file to add Custom Map. Create a Map filter to display the discovered DSLAM devices. Configure mapIcon.data file to specify map iconName, its corresponding device type and the menuName. Create a Chassis view and other related screens for the DSLAM device using Chassis Wizard. Refer Creating Maps for detailed explanation. Build Fault Management-Related Files Using Fault Service Create a Trap filter to process the traps. Add Custom code to handle Addition of Card and Deletion of Card. Model the managed object to check the device status (a method in the Managed Object class to check the status; here, it is the checkStatus() method) . Create a Status Poller class to get the status of the discovered devices. Refer to the Managing the Alerts of DSLAM device and its Components section for creating the Trap Filter and Status Pollers. Build Configuration-Related Screens Using Configuration Wizard Create Configuration-related screens for configuring the DSLAM device using Configuration Wizard. Refer to Building Configuration Application for detailed explanation.

Page 24: AdventNet WebNMS 5 :: eBON TutorialAdventNet WebNMS 5 :: eBON Tutorial AdventNet, Inc. 3eBON EMS Tutorial eBON Element Management System AdventNet Web NMS Tutorial Version 1.0 A simple

AdventNet WebNMS 5 :: eBON Tutorial

AdventNet, Inc. 23

Configure Authorization to Various Users Using Security Administrator tool Create a group "DslamOperator" and add a user in the User Group root and guest. Add one user in the Admin Group root. Configure authorization for the user to carry out various operations using the Security Administrator Tool. Refer to Using Authorization Service for detailed explanation on using Security Administrator tool to add group and user for this example. Rebrand the Application Using the Rebranding and I18N Editor Tools Change the splash image, logo, and frame icons etc. in the Rebranding tool and Company Name, Product, and Version in the I18N Editor tool. Refer to Rebranding Application as your EMS section for detailed explanation.

Page 25: AdventNet WebNMS 5 :: eBON TutorialAdventNet WebNMS 5 :: eBON Tutorial AdventNet, Inc. 3eBON EMS Tutorial eBON Element Management System AdventNet Web NMS Tutorial Version 1.0 A simple

AdventNet WebNMS 5 :: eBON Tutorial

AdventNet, Inc. 24

4.1 Creating eBON Project The first step toward any customization with the AdventNet Web NMS Eclipse Plugin is to create a EMS Development Project. The project stores all the information that are essential for customizing the application. Follow the steps given below to create the project. Refer to Creating Project topic for how to create a project. Effort Estimate This task can be accomplished in less than an hour. Starting Eclipse IDE Install the Eclipse version 3.3 in your machine. Get the latest Web NMS - Eclipse plugin (WebNMSEclipsePlugin.jar file) from <Web NMS Home>/StudioTools/Studio/jars directory and unzip this jar file in the <Eclipse Installed directory.> and then Start Eclipse IDE. Please note that you will need to run eclipse using JDK 1.5 or above. You can use the command mentioned below to start eclipse after deploying the plugin: eclipse -vm <jdk1.5 home>\bin\java Instructions

Follow the steps given below to create the project.

Step 1: Invoke the Project Wizard

Select File > New > Create EMS Project menu to invoke the EMS Development Project Wizard.

Step 2: Add Project Details

In the "EMS Development Project Wizard" , provide the following details: Enter the Project Name and Web NMS Home to create a new EMS Development Project. Here the "Enable Web- Client Support" can be left unchecked as in this tutorial, it is not necessary to incorporate any web-client related changes.

Project Name eBON_User Web NMS Home select the location where the product is

installed Enable Web-Client Support

Leave it unchecked

Click Finish to create the Project Workspace.

You will find the created project under the Package Explorer tree. Result

The Workspace for the Project is now created. Using the Model Managed Object Wizard, we will see how to model the DSLAM Device and its components in the next section. You can proceed with modeling the device. You can also invoke the wizard by clicking WebNMS > Modeling > Model Managed Object menu.

Page 26: AdventNet WebNMS 5 :: eBON TutorialAdventNet WebNMS 5 :: eBON Tutorial AdventNet, Inc. 3eBON EMS Tutorial eBON Element Management System AdventNet Web NMS Tutorial Version 1.0 A simple

AdventNet WebNMS 5 :: eBON Tutorial

AdventNet, Inc. 25

4.2 Modeling the DSLAM Device and its Components To manage a physical device and its components, you have to model them as manage objects in database. The status and behavior of the physical device and subcomponents are modeled as attributes of the objects. By controlling/monitoring the attributes of the objects, the physical device can be managed by the Element Management Application. By storing the details of the Modeled Resource in the database, the data are made persistent and this helps the Element Management. You are converting the real life device, its components, status, and behavior into a network management application manageable form. This is achieved by modeling them as Managed Resources. In this example application, we have taken a DSLAM device. The DSLAM device has six slots and holding two different types of card. The types of card are CPU Card and ATM Card. Each card has two ports and these ports are used to connect the devices. The following table lists the Real life device/components, which are required to be modeled as Managed Resources, the core Web NMS Resources which are extended in order to model these Resources, and the Properties are mapped with the status/behavior of the physical device/subcomponents.

Managed Resource Parent Resource Properties to Be

Managed

DslamDevice com.adventnet.nms.topodb.SnmpNode

nodeVersion, deviceAddress, serialNumber, location.

DslamSlot com.adventnet.nms.topodb.ManagedObject slotIndex, slotAdminStatus, deviceAddress

DslamCard com.adventnet.nms.topodb.ManagedObject

cardIndex, cardType, cardNumber, cardDesc, cardVersion,cardAdminStatus, cardOperationStatus, deviceAddress, devicePort.

CPUCard com.adventnet.ebon.DslamCard

cpuCardPowerStatus, cpuCardContact, cpuCardInOctets, cpuCardOutOctets, cpuCardNumPorts

ATMCard com.adventnet.ebon.DslamCard

atmCardPowerStatus, atmCardContact, atmCardInOctets, atmCardOutOctets, atmCardNumPorts

Port com.adventnet.nms.topodb.ManagedObject portIndex, portStatus, deviceAddress

DslamConnection com.adventnet.nms.topodb.ManagedObject source, destination, bandwidth

This chapter explains the procedure to model the Managed Resources of EMS, using AdventNet Web NMS EclipsePlugin. The Managed Resource Modeling topic explains the steps to create managed resource.

Page 27: AdventNet WebNMS 5 :: eBON TutorialAdventNet WebNMS 5 :: eBON Tutorial AdventNet, Inc. 3eBON EMS Tutorial eBON Element Management System AdventNet Web NMS Tutorial Version 1.0 A simple

AdventNet WebNMS 5 :: eBON Tutorial

AdventNet, Inc. 26

4.2.1 Managed Resource Modeling

Aim The DSLAM Device and its components have to be represented as Managed Resources. During the discovery process, Web NMS discovers these managed resources and stores them in the database to manage them. Refer to Creating Managing Resource topic for using Model Managed Object Wizard. Effort Estimate This task can be accomplished in half man day. Instructions

Steps to model DSlamDevice

Step 1: Invoke Model Managed Object Wizard

You can invoke the Wizard by clicking the WebNMS > Modeling > Model Managed Object menu. Specify the Package Name and Extended Object Name details in Step1 of the Model Managed Object Wizard.

Package Name : com.adventnet.ebon.ems Extended Object Name : DslamDevice

Click Next to proceed.

Step 2 : Component MO Table Details

In the Component MO Table Details screen, select Topo for the Select Module option, select com.adventnet.nms.topodb.SnmpNode from the drop down list for the Parent MO/Extended Object Name option. Fill the Discriminator Value as DslamDevice. For this project, leave the following entries "Is dynamic update required", "Is select before update required", "Enable lazy fetching", "Is dynamic insert required", "Mark superclass as abstract" unchecked. Click Next to proceed.

Step 3: Managed Resource Attributes Preview

In the MO Property Details screen, click Add button to add properties for the MO. The columns name, type, column, length will become editable. Enter the nodeVersion ( integer), deviceAddress (string), serialNumber (integer), and location (string). Select the row of the property and click Delete button to delete the property. Alternatively, the properties of the managed object can also be selected from a MIB file. Click Attribute Selection button, to select attributes for MO from a MIB.

o In the Attribute Selection screen, to load the Dslam-MIB.mib, click Load MIB button. Open the MIB tree and select the Dslam-MIB.mib from <WebNMS Home>/StudioTools/ClientBuilder/mibs. Once the node is selected, Add button in the center of the screen will be enabled and the description about the Dslam-MIB will be displayed in the Description text box. Now Click Add Button and then click on Save Button. The Dslam-

Page 28: AdventNet WebNMS 5 :: eBON TutorialAdventNet WebNMS 5 :: eBON Tutorial AdventNet, Inc. 3eBON EMS Tutorial eBON Element Management System AdventNet Web NMS Tutorial Version 1.0 A simple

AdventNet WebNMS 5 :: eBON Tutorial

AdventNet, Inc. 27

MIB will appear in the Selected Attributes text box. To remove the attributes from the Selected Attributes list, select the attribute(s) in Selected Attributes list and click Delete button.

Step 4: Adding custom codes

Click Finish to complete MO Modeling. You will find the Hibernate mapping file for this modeled MO under <Your Project>/Referenced Libraries/resources/classes/hbnlib/<Package of MO>/ <Modeled MO>.hbm.xml in the Project Explorer window. After this, the Java source (i.e. the Pojo class) can be auto-generated using this mapping file by the Generate Java Source Wizard. You can add the custom code or modify the auto-generated pojo code using the editor directly as per your requirement. Follow the above steps to model the DslamSlot, DslamCard, ATMCard, Port, CPUCard, and DslamConnection as per the table given below.

Properties to Be Entered Manually in

Attributes of the Managed Resource

Screen Managed Resource Parent Resource

Properties to Be Selected in Attributes Selection

Screen Attribute Name

Attribute Type

DslamSlot com.adventnet.nms.topodb.ManagedObject slotIndex(integer) slotAdminStatus(integer) deviceAddress(string)

DslamCard com.adventnet.nms.topodb.ManagedObject

cardType(integer) cardNumber(integer) cardDesc(string) cardVersion(integer) cardAdminStatus(integer) cardOperationStatus(integer) deviceAddress(string)

cardIndex devicePort

String String

CPUCard com.adventnet.ebon.ems.DslamCard

cpuCardPowerStatus(integer) cpuCardContact(string) cpuCardInOctets(integer) cpuCardOutOctets(integer) cpuCardNumPorts(integer)

ATMCard com.adventnet.ebon.ems.DslamCard

atmCardPowerStatus(integer) atmCardContact(string) atmCardInOctets(integer) atmCardOutOctets(integer) atmCardNumPorts(integer)

Port com.adventnet.nms.topodb.ManagedObject portIndex(integer) portStatus.(integer) deviceAddress(string)

DslamConnection com.adventnet.nms.topodb.ManagedObject source destination bandwidth

String String String

Note: For DslamCard and DslamConnection managed resource, you must provide attributes in Attributes of Managed Resource screen as given in the fourth column in the above table. You can find the description for these attributes in Detailed Managed Resource Modeling topic.

Page 29: AdventNet WebNMS 5 :: eBON TutorialAdventNet WebNMS 5 :: eBON Tutorial AdventNet, Inc. 3eBON EMS Tutorial eBON Element Management System AdventNet Web NMS Tutorial Version 1.0 A simple

AdventNet WebNMS 5 :: eBON Tutorial

AdventNet, Inc. 28

Java Source Generator

Generate Java Source is to create the source code for the Modeled MO from the Xml file. Select the project or source folder in the Package Explorer, you can notice Generate Java Source menu and icon get enabled.

• Select WebNMS > Modeling > Generate Java Source menu. Java Source Generator screen pops up.

• In Java Source Generator screen , select the Xml file (multiple Xml files can also be selected) for Generating Java Source and click >> button.

• Select the source folder to generate the Java source.

• Click OK. Compile the DslamSlot, DslamCard, ATMCard, Port, CPUCard, and DslamConnection.

Result

This completes the creation of Managed Resource for the eBON project. The next step is customizing Web NMS Services. The first task is to define a Discovery Filter to discover the DSLAM components.

Page 30: AdventNet WebNMS 5 :: eBON TutorialAdventNet WebNMS 5 :: eBON Tutorial AdventNet, Inc. 3eBON EMS Tutorial eBON Element Management System AdventNet Web NMS Tutorial Version 1.0 A simple

AdventNet WebNMS 5 :: eBON Tutorial

AdventNet, Inc. 29

4.3 Discovering DSLAM Devices After modeling the Managed Resource, you need to make the EMS to discover the DSLAM devices and add them to the Topology database. To achieve this, you need to customize the existing AdventNet Web NMS Discovery process. This is done by writing a Discovery filter. This filter will identify the DSLAM devices available or simulated in the network and retrieve the properties, subcomponents such as Slot, Card, Port details etc. and add into the topology database. The Discovery filter gets called when any new object is discovered by Web NMS and decides whether the discovered object is DSLAM device. The filter first checks whether the discovered object is an SNMP Node and then query for the DSLAM device SysOID. If any discovered object does not meet the above conditions will be dropped from the filter. This chapter will explain the procedure to customize the discovery for the modeled Managed Resources and to populate the database with the network elements' details, using the AdventNet Web NMS Eclipse Plugin. Refer to the Discovering DSLAM Devices using Filter topic explaining the procedure to create filter using AdventNet Web NMS Eclipse Plugin.

Page 31: AdventNet WebNMS 5 :: eBON TutorialAdventNet WebNMS 5 :: eBON Tutorial AdventNet, Inc. 3eBON EMS Tutorial eBON Element Management System AdventNet Web NMS Tutorial Version 1.0 A simple

AdventNet WebNMS 5 :: eBON Tutorial

AdventNet, Inc. 30

4.3.1 Discovering DSLAM Devices Using Filter

Aim To create a discovery filter to discover the DSLAM Device and its components and to set the properties for the discovered Managed Resources. The components of the DSLAM device are discovered by querying the Agent. Refer to Creating Discovery Filter topic for using Discovery Filter. Effort Estimate This task can be accomplished in half man day. Instructions

Step 1: Invoke the DiscoveryFilter Creation Wizard Select WebNMS > Filters > Discovery > Create Basic Discovery Filter menu. Step 2: Enter the Discovery Filter Details

Provide the following details about the discovery filter.

Package Name com.adventnet.ebon.ems Filter ClassName DslamDiscFilter

Click Finish.

You will find the <Discovery Filter class> under <Your Project>/source folder in the Project Explorer window. You can add the custom code or modify the existing code of the source using the editor directly as per your requirement. The corresponding entry for this Discovery Filter implementation class will be inserted in the discovery.filters file present in <Your Project>/resources/conf directory. You can rearrange the order of the discover filter entry in this file as per your requirement as each Managed Object discovered in WebNMS will be passed through all the discovery filters listed in the discovery.filters conf file. Variable Declaration: Add the following variable declaration above the filterObject method: // In case if we need to do an update on any object,we need to have a lock timeout set for locking that object. private int lock_timeout = 5; private int trans_timeout = 20000; static boolean firstTime = true;

Provide the following user code to describe the Hashtable to maintain the dslam slots, cards and ports. This part of the code should follow the above code.

Page 32: AdventNet WebNMS 5 :: eBON TutorialAdventNet WebNMS 5 :: eBON Tutorial AdventNet, Inc. 3eBON EMS Tutorial eBON Element Management System AdventNet Web NMS Tutorial Version 1.0 A simple

AdventNet WebNMS 5 :: eBON Tutorial

AdventNet, Inc. 31

// Hashtable to maintain the dslam slots, cards and ports. Hashtable<String, DslamSlot> slots = new Hashtable<String, DslamSlot>(); Hashtable<String, CPUCard> cpuCards = new Hashtable<String, CPUCard>(); Hashtable<String, ATMCard> atmCards = new Hashtable<String, ATMCard>(); Hashtable<String, Vector<Port>> ports = new Hashtable<String, Vector<Port>>(); Once you create an instance of your modeled object, Set the properties of the new object.

//TODO Third Step: Set the properties of the new object Properties moProps = mo.getProperties(); moProps.remove("name"); moProps.remove("classname"); moProps.remove("type"); extMoObj.setProperties(moProps); extMoObj.setName(mo.getName()); extMoObj.setType("DslamDevice"); extMoObj.setClassname("DslamDevice"); extMoObj.setIsContainer(true); extMoObj.setDeviceAddress(mo.getName()); setDslamDevicePropertiesFromMib(extMoObj); getDslamSubComponents(mo, extMoObj, topoApi);

Add the following code to add the subcomponents below the topoApi.addObject(extMoObj) method. The object should be added to the database before adding the sub-components. //adding the subcomponents: addSlots(topoApi); addCards(topoApi); addPorts(topoApi); Sets the Dslam device properties to the object by fetching the details using snmpGet from the device.

public void setDslamDevicePropertiesFromMib(DslamDevice dslamObj) { String oid = ".1.3.6.1.4.1.2162.1.1.1";// TODO oid of the value to be // queried. note we need to // append the index to this oid // as it is a columnar value oid=oid+".0";//we are appending 0 to the oid because it is not a columnar value and hence its index is default 0. String result = this.doSnmpGet(oid, (ManagedObject)dslamObj); if (result == null) { System.err .println("Error retrieving a Dslam Device node Version property from the Mib"+dslamObj.getName()); } else { int nodeVersion = Integer.valueOf(result); dslamObj.setNodeVersion(nodeVersion); } oid = ".1.3.6.1.4.1.2162.1.1.3";

Page 33: AdventNet WebNMS 5 :: eBON TutorialAdventNet WebNMS 5 :: eBON Tutorial AdventNet, Inc. 3eBON EMS Tutorial eBON Element Management System AdventNet Web NMS Tutorial Version 1.0 A simple

AdventNet WebNMS 5 :: eBON Tutorial

AdventNet, Inc. 32

oid=oid+".0"; result = this.doSnmpGet(oid, (ManagedObject)dslamObj); if (result == null) { System.err .println("Error retrieving a Dslam Device serial Number property from the Mib"+dslamObj.getName()); } else { int serialNumber = Integer.valueOf(result); dslamObj.setSerialNumber(serialNumber); } oid = ".1.3.6.1.4.1.2162.1.1.4"; oid=oid+".0"; result = this.doSnmpGet(oid,(ManagedObject)dslamObj); if (result == null) { System.err .println("Error retrieving a Dslam Device location property from the Mib"+dslamObj.getName()); return; } else { dslamObj.setLocation(result); } } public void getDslamSubComponents(ManagedObject discoveredObj, DslamDevice parentObj, TopoAPI tApi) { String slotIndexOid = ".1.3.6.1.4.1.2162.1.1.5.1.1";// TODO need to add // the oid for the // slotIndex //Get the slot information of the Dslam device using a SNMP query. String DslamSlotIndices[] = getColumnarValues(slotIndexOid, discoveredObj); if (DslamSlotIndices == null) { System.err.println("Slot Indices are returned Null for " + discoveredObj.getName()); return; } int length = DslamSlotIndices.length; //Create the DslamSlot object, set its properties and add it to the database. for (int i = 1; i <= length; i++) { DslamSlot DslamSlot_Obj = new DslamSlot(); DslamSlot_Obj.setName(parentObj.getName() + "_Slot" + String.valueOf(i)); //the below properties (isContainer and parentKey) define the parent-child relationship DslamSlot_Obj.setIsContainer(true); DslamSlot_Obj.setParentKey(parentObj.getName()); DslamSlot_Obj.setClassname("DslamSlot"); DslamSlot_Obj.setType("DslamSlot"); DslamSlot_Obj.setTester("max"); setDslamSlotPropertiesFromMib(discoveredObj, parentObj, DslamSlot_Obj, i); slots.put("slot" + i, DslamSlot_Obj); //Next add the DslamCard object corresponding to this card. //Note: Here the parent object, i.e. the corresponding DslamSlot must be added to //the database before the sub-component DslamCard can be added to the database. addDslamCard(discoveredObj, DslamSlot_Obj, tApi, i); } }

Page 34: AdventNet WebNMS 5 :: eBON TutorialAdventNet WebNMS 5 :: eBON Tutorial AdventNet, Inc. 3eBON EMS Tutorial eBON Element Management System AdventNet Web NMS Tutorial Version 1.0 A simple

AdventNet WebNMS 5 :: eBON Tutorial

AdventNet, Inc. 33

Add the following code to create and to add the Dslam Card (ATM or CPU) based on its type. Sets the required properties and adds the object to the cache which will later be added to the database. This part of the code should follow the above code. public void addDslamCard(ManagedObject discoveredObj, DslamSlot parentObj, TopoAPI tApi, int slotIndex) { String dslamCardIndex = null; String dslamCardType = null; String oid = ".1.3.6.1.4.1.2162.1.1.6.3.1.1";// TODO oid(cardNumber) // of the value to be // queried. oid = oid + "." + slotIndex;// appending the slotIndex in order to get // all the cardIndices for this slotIndex // though ideally there will be only one // card //query the DslamDevice for card details. String DslamCardIndices[] = getColumnarValues(oid, discoveredObj); if (DslamCardIndices == null) { System.err.println("Dslam Card Indices is Null:" + discoveredObj.getName()); return; } String cardTypeOid = ".1.3.6.1.4.1.2162.1.1.6.3.1.2";// TODO // oid(cardType) // of the value // to be // queried. //System.err.println("CARD INDEX LENGTH:"+DslamCardIndices.length); // Ideally there can be only one cardNumber /index for a card. This loop // is unnecessary but still. for (int i = 0; i < DslamCardIndices.length; i++) { cardTypeOid = cardTypeOid + "." + slotIndex + "." + DslamCardIndices[i];// appending the slotIndex in order // to get all the cardType for this // slotIndex though ideally there // will be only one card dslamCardIndex = DslamCardIndices[i]; //System.err.println(slotIndex+"SLOT & CARD INDEX:"+dslamCardIndex); String DslamCardTypes[] = getColumnarValues(cardTypeOid, discoveredObj); // Ideally there can be only one cardType either CPU or ATM if (DslamCardTypes != null) { dslamCardType = DslamCardTypes[0]; System.err.println("CARD TYPE:"+dslamCardType);; } else { System.err.println(oid+"Dslam Card Type is null for :" + discoveredObj.getName()); return; } } if (dslamCardType.equals("1")) { int CPUCardCount = slotIndex;// for now we are setting the // slotIndex to make it unique CPUCard DslamCard_Obj = new CPUCard(); DslamCard_Obj.setName(parentObj.getName() + "_CPUCard" + CPUCardCount); DslamCard_Obj.setIsContainer(true);

Page 35: AdventNet WebNMS 5 :: eBON TutorialAdventNet WebNMS 5 :: eBON Tutorial AdventNet, Inc. 3eBON EMS Tutorial eBON Element Management System AdventNet Web NMS Tutorial Version 1.0 A simple

AdventNet WebNMS 5 :: eBON Tutorial

AdventNet, Inc. 34

//setting the corresponding slot object as the parent for this card object. DslamCard_Obj.setParentKey(parentObj.getName()); DslamCard_Obj.setClassname("CPUCard"); setDslamCardPropertiesFromMib(discoveredObj, DslamCard_Obj, slotIndex + "", dslamCardIndex, dslamCardType); setCPUCardPropertiesFromMib(discoveredObj,DslamCard_Obj, slotIndex + "", dslamCardIndex, dslamCardType);// TODO cpuCards.put(dslamCardIndex, DslamCard_Obj); //discover and add the port object contained in this card. addDslamPort(discoveredObj, DslamCard_Obj, tApi, slotIndex + "", dslamCardIndex, dslamCardType); } else if (dslamCardType.equals("2")) { int ATMCardCount = slotIndex; ATMCard DslamCard_Obj = new ATMCard(); DslamCard_Obj.setName(parentObj.getName() + "_ATMCard" + ATMCardCount); DslamCard_Obj.setIsContainer(true); DslamCard_Obj.setParentKey(parentObj.getName()); DslamCard_Obj.setClassname("ATMCard"); setDslamCardPropertiesFromMib(discoveredObj, DslamCard_Obj, slotIndex + "", dslamCardIndex, dslamCardType); setATMCardPropertiesFromMib(discoveredObj,DslamCard_Obj, slotIndex + "", dslamCardIndex, dslamCardType);// TODO atmCards.put(dslamCardIndex, DslamCard_Obj); //discover and add the port object contained in this card. addDslamPort(discoveredObj, DslamCard_Obj, tApi, slotIndex + "", dslamCardIndex, dslamCardType); } } The following custom code has been added to Create and to add the Dslam Port. Sets the required properties and adds the object to the cache which will later be added to the database. This part of the code should follow the above code. public void addDslamPort(ManagedObject discoveredObj, DslamCard parentObj, TopoAPI tApi, String slotIndex, String cardIndex, String cardType) { String oid = ".1.3.6.1.4.1.2162.1.1.7.1.1"; oid = oid + "." + slotIndex + "." + cardIndex + "." + cardType; String DslamPortIndices[] = getColumnarValues(oid, discoveredObj);// to get // the // number of // ports in // the card. if(DslamPortIndices==null) { System.err.println(oid +"Error retrieving Ports for object :"+discoveredObj.getName()); return; } int length = DslamPortIndices.length; Vector<Port> local_ports = new Vector<Port>(); for (int i = 0; i < length; i++) { String portIndex = DslamPortIndices[i]; Port DslamPort_Obj = new Port(); DslamPort_Obj.setName(parentObj.getName() + "_Port" + portIndex); DslamPort_Obj.setIsContainer(false); DslamPort_Obj.setParentKey(parentObj.getName());

Page 36: AdventNet WebNMS 5 :: eBON TutorialAdventNet WebNMS 5 :: eBON Tutorial AdventNet, Inc. 3eBON EMS Tutorial eBON Element Management System AdventNet Web NMS Tutorial Version 1.0 A simple

AdventNet WebNMS 5 :: eBON Tutorial

AdventNet, Inc. 35

DslamPort_Obj.setClassname("Port"); DslamPort_Obj.setPortIndex(Integer.valueOf(portIndex)); setDslamPortProperties(discoveredObj, DslamPort_Obj, slotIndex, cardIndex, cardType, portIndex);// TODO local_ports.add(DslamPort_Obj); } ports.put(cardIndex, local_ports); } The following code sets the dslam port properties by fetching the details using snmpGet from the device. public void setDslamPortProperties(ManagedObject mObj, Port portObj, String slotIndex, String cardIndex, String cardType, String portIndex) { String appendToOid = "." + slotIndex + "." + cardIndex + "." + cardType + "." + portIndex;// this is appended to get the columnar // values from the table. portObj.setDeviceAddress(mObj.getName()); portObj.setTester("max"); portObj.setType("Port"); // portStatus String oid = ".1.3.6.1.4.1.2162.1.1.7.1.2" + appendToOid;// TODO oid // of the value to // be // queried. // note we // need to // append // the index // to this // oid as it // is a // columnar // value String result = doSnmpGet(oid,mObj); if (result == null) { System.err.println("Error retrieving portStatus value"+portObj.getName()); } else { int portAdminStatus = 0; if (result.equals("active(1)")) portAdminStatus =1; portObj.setPortStatus(portAdminStatus); } } Add the following code to set the Dslam Slot properties by fetching the details using snmpGet from the device. public void setDslamSlotPropertiesFromMib(ManagedObject mObj, ManagedObject parentObj, DslamSlot currentObj, int index) { currentObj.setSlotIndex(index); currentObj.setDeviceAddress(mObj.getName()); String oid = ".1.3.6.1.4.1.2162.1.1.5.1.2";// TODO oid of the value to // be queried. note we need

Page 37: AdventNet WebNMS 5 :: eBON TutorialAdventNet WebNMS 5 :: eBON Tutorial AdventNet, Inc. 3eBON EMS Tutorial eBON Element Management System AdventNet Web NMS Tutorial Version 1.0 A simple

AdventNet WebNMS 5 :: eBON Tutorial

AdventNet, Inc. 36

// to append the index to // this oid as it is a // columnar value oid=oid + "." + index; String result = doSnmpGet(oid,mObj); if (result == null) { System.err.println("Error retrieving SlotAdminStatus value" + currentObj.getName()); return; } else { int slotAdminStatus = 0; if (result.equals("active(1)")) slotAdminStatus =1; currentObj.setSlotAdminStatus(slotAdminStatus); } } The following code sets the CPU card and ATM card properties by fetching the details using snmpGet from the device. This part of the code should follow the above code. public void setCPUCardPropertiesFromMib(ManagedObject mObj,CPUCard cpuCard, String slotIndex, String cardIndex, String cardType) { String appendToOid = "." + slotIndex + "." + cardIndex + "." + cardType;// this // is appended to get the columnar values from the table. cpuCard.setType("CPUCard"); // user-defined status poller. cpuCard.setTester("usertest"); String uClass="com.adventnet.ebon.ems.CPUCardStatusPoller"; cpuCard.setUClass(uClass); cpuCard.setStatusPollEnabled(true); cpuCard.setCardIndex(cardIndex); // cpuCardContact String oid = ".1.3.6.1.4.1.2162.1.1.6.5.1.2" + appendToOid;// TODO oid // of the value to be queried. // note we need to append the index to this oid as it is a columnar value String result = doSnmpGet(oid, mObj); if (result == null) { System.err.println("Error retrieving cpucardContact value"+cpuCard.getName()); } else { cpuCard.setCpuCardContact(result); } // cpuCardInOctets oid = ".1.3.6.1.4.1.2162.1.1.6.5.1.3" + appendToOid;// TODO oid of the // value to be // queried. note we // need to append // the index to this // oid as it is a // columnar value result = doSnmpGet(oid, mObj); if (result == null) { System.err.println("Error retrieving cpuCardInOctets value"+cpuCard.getName()); } else { cpuCard.setCpuCardInOctets(Integer.valueOf(result)); }

Page 38: AdventNet WebNMS 5 :: eBON TutorialAdventNet WebNMS 5 :: eBON Tutorial AdventNet, Inc. 3eBON EMS Tutorial eBON Element Management System AdventNet Web NMS Tutorial Version 1.0 A simple

AdventNet WebNMS 5 :: eBON Tutorial

AdventNet, Inc. 37

// cpuCardOutOctets oid = ".1.3.6.1.4.1.2162.1.1.6.5.1.4" + appendToOid;// TODO oid of the // value to be // queried. note we // need to append // the index to this // oid as it is a // columnar value result = doSnmpGet(oid,mObj); if (result == null) { System.err.println("Error retrieving cpuCardOutOctets value"+cpuCard.getName()); } else { cpuCard.setCpuCardOutOctets(Integer.valueOf(result)); } // cpuCardNumOfPorts oid = ".1.3.6.1.4.1.2162.1.1.6.5.1.5" + appendToOid;// TODO oid of the // value to be // queried. note we // need to append // the index to this // oid as it is a // columnar value result = doSnmpGet(oid, mObj); if (result == null) { System.err.println("Error retrieving cpuCardNumOfPorts value"+cpuCard.getName()); } else { cpuCard.setCpuCardNumPorts(Integer.valueOf(result)); } // cpuCardPowerStatus oid = ".1.3.6.1.4.1.2162.1.1.6.5.1.1" + appendToOid;// TODO oid of the // value to be // queried. note we // need to append // the index to this // oid as it is a // columnar value result = doSnmpGet(oid, mObj); if (result == null) { System.err.println("Error retrieving cpuCardPowerStatus value"+cpuCard.getName()); } else { cpuCard.setCpuCardPowerStatus(Integer.valueOf(result)); } } public void setATMCardPropertiesFromMib(ManagedObject mObj,ATMCard atmCard, String slotIndex, String cardIndex, String cardType) { String appendToOid = "." + slotIndex + "." + cardIndex + "." + cardType;// this // is appended to get the columnar values from the table. atmCard.setType("ATMCard"); // user-defined Status poller. atmCard.setTester("usertest"); String uClass="com.adventnet.ebon.ems.ATMCardStatusPoller"; atmCard.setUClass(uClass); atmCard.setStatusPollEnabled(true); atmCard.setCardIndex(cardIndex); // atmCardContact String oid = ".1.3.6.1.4.1.2162.1.1.6.4.1.2" + appendToOid;// TODO oid

Page 39: AdventNet WebNMS 5 :: eBON TutorialAdventNet WebNMS 5 :: eBON Tutorial AdventNet, Inc. 3eBON EMS Tutorial eBON Element Management System AdventNet Web NMS Tutorial Version 1.0 A simple

AdventNet WebNMS 5 :: eBON Tutorial

AdventNet, Inc. 38

// of the // value to // be // queried. // note we // need to // append // the index // to this // oid as it // is a // columnar // value String result = doSnmpGet(oid, mObj); if (result == null) { System.err.println("Error retrieving atmcardContact value"+atmCard.getName()); } else { atmCard.setAtmCardContact(result); } // atmCardInOctets oid = ".1.3.6.1.4.1.2162.1.1.6.4.1.3" + appendToOid;// TODO oid of the // value to be // queried. note we // need to append // the index to this // oid as it is a // columnar value result = doSnmpGet(oid, mObj); if (result == null) { System.err.println("Error retrieving atmCardInOctets value"+atmCard.getName()); } else { atmCard.setAtmCardInOctets(Integer.valueOf(result)); } // atmCardOutOctets oid = ".1.3.6.1.4.1.2162.1.1.6.4.1.4" + appendToOid;// TODO oid of the // value to be // queried. note we // need to append // the index to this // oid as it is a // columnar value result = doSnmpGet(oid, mObj); if (result == null) { System.err.println("Error retrieving cpuCardOutOctets value"+atmCard.getName()); } else { atmCard.setAtmCardOutOctets(Integer.valueOf(result)); } // atmCardNumOfPorts oid = ".1.3.6.1.4.1.2162.1.1.6.4.1.5" + appendToOid;// TODO oid of the // value to be // queried. note we // need to append // the index to this // oid as it is a // columnar value result = doSnmpGet(oid, mObj); if (result == null) { System.err.println("Error retrieving atmCardNumOfPorts value"+atmCard.getName()); } else {

Page 40: AdventNet WebNMS 5 :: eBON TutorialAdventNet WebNMS 5 :: eBON Tutorial AdventNet, Inc. 3eBON EMS Tutorial eBON Element Management System AdventNet Web NMS Tutorial Version 1.0 A simple

AdventNet WebNMS 5 :: eBON Tutorial

AdventNet, Inc. 39

atmCard.setAtmCardNumPorts(Integer.valueOf(result)); } // atmCardPowerStatus oid = ".1.3.6.1.4.1.2162.1.1.6.4.1.1" + appendToOid;// TODO oid of the // value to be // queried. note we // need to append // the index to this // oid as it is a // columnar value result = doSnmpGet(oid, mObj); if (result == null) { System.err.println("Error retrieving atmCardPowerStatus value"+atmCard.getName()); } else { atmCard.setAtmCardPowerStatus(Integer.valueOf(result)); } } Add the following code to set the Dslam card properties by fetching the details using snmpGet from the device. public void setDslamCardPropertiesFromMib(ManagedObject mObj, DslamCard currentObj, String slotIndex, String cardIndex, String cardType) { currentObj.setType("DslamCard"); currentObj.setTester("max"); currentObj.setDevicePort("" + ((TopoObject) mObj).getSnmpport()); currentObj.setDeviceAddress(mObj.getName()); currentObj.setCardType(Integer.valueOf(cardType)); currentObj.setCardNumber(Integer.valueOf(cardIndex)); // cardDesc String oid = ".1.3.6.1.4.1.2162.1.1.6.2";// TODO oid of the value to // be queried. note we need // to append the index to // this oid as it is a // columnar value oid=oid+".0";//we are appending 0 to the oid because it is not a columnar value and hence its index is default 0. String result = doSnmpGet(oid, mObj); if (result == null) { System.err.println("Error retrieving card Description value"+currentObj.getName()); } else { currentObj.setCardDesc(result); } // cardVersion oid = ".1.3.6.1.4.1.2162.1.1.6.1"; oid=oid+".0";//we are appending 0 to the oid because it is not a columnar value and hence its index is default 0. result = doSnmpGet(oid, mObj); if (result == null) { System.err.println("Error retrieving card Version value"+currentObj.getName()); } else { currentObj.setCardVersion(Integer.valueOf(result)); } // cardAdminStatus oid = ".1.3.6.1.4.1.2162.1.1.6.3.1.3" + "." + slotIndex + "." + cardIndex + "." + cardType; result = doSnmpGet(oid, mObj);

Page 41: AdventNet WebNMS 5 :: eBON TutorialAdventNet WebNMS 5 :: eBON Tutorial AdventNet, Inc. 3eBON EMS Tutorial eBON Element Management System AdventNet Web NMS Tutorial Version 1.0 A simple

AdventNet WebNMS 5 :: eBON Tutorial

AdventNet, Inc. 40

if (result == null) { System.err.println("Error retrieving card Admin Status value"+currentObj.getName()); } else { int cardAdminStatus = 0; if(result.equalsIgnoreCase("active(1)")) cardAdminStatus=1; currentObj.setCardAdminStatus(cardAdminStatus); } // cardOperationStatus oid = ".1.3.6.1.4.1.2162.1.1.6.3.1.4" + "." + slotIndex + "." + cardIndex + "." + cardType; result = doSnmpGet(oid,mObj); if (result == null) { System.err.println("Error retrieving card Operation Status value"+currentObj.getName()); } else { int cardOperStatus = 0; if(result.equalsIgnoreCase("active(1)")) cardOperStatus=1; currentObj.setCardOperationStatus(cardOperStatus); } } Add the User code as given below at the end before the last "}": /** * This method is used to add the Slot objects to the database from the cache. * @param topo * @throws RemoteException * @throws NmsStorageException * @throws UserTransactionException * @throws TimeoutException * @throws AccessDeniedException */ public void addSlots(TopoAPI topo) throws RemoteException, NmsStorageException, UserTransactionException, TimeoutException, AccessDeniedException { for (DslamSlot dslamSlot : slots.values()) { if (topo.isManagedObjectPresent(dslamSlot.getName())) { dslamSlot = (DslamSlot) topo.lock(dslamSlot, LockableObject.WRITE_LOCK, lock_timeout); topo.updateObject(dslamSlot, true, true); NmsLogMgr.TOPOUSER.log("MO " + dslamSlot + " has been updated to the database ", Log.DEBUG); } else { topo.addObject(dslamSlot); NmsLogMgr.TOPOUSER.log("MO " + dslamSlot + " has been added to the database ", Log.DEBUG); } } } /** * This method is used to add the card objects to the database from the cache. * @param topo * @throws RemoteException * @throws NmsStorageException * @throws UserTransactionException * @throws TimeoutException * @throws AccessDeniedException

Page 42: AdventNet WebNMS 5 :: eBON TutorialAdventNet WebNMS 5 :: eBON Tutorial AdventNet, Inc. 3eBON EMS Tutorial eBON Element Management System AdventNet Web NMS Tutorial Version 1.0 A simple

AdventNet WebNMS 5 :: eBON Tutorial

AdventNet, Inc. 41

*/ public void addCards(TopoAPI topo) throws RemoteException, NmsStorageException, UserTransactionException, TimeoutException, AccessDeniedException { // adding the cpucards //Note: Here the parent object, i.e. the corresponding DslamSlot must be added to //the database before the sub-component DslamCard can be added to the database. for (CPUCard cpucard : cpuCards.values()) { topo.addObject(cpucard); } // adding the atmCards for (ATMCard atmcard : atmCards.values()) { topo.addObject(atmcard); } } /** * This method is used to store the Port objects to the database from the cache. * @param topo * @throws RemoteException * @throws NmsStorageException * @throws UserTransactionException * @throws TimeoutException * @throws AccessDeniedException */ public void addPorts(TopoAPI topo) throws RemoteException, NmsStorageException, UserTransactionException, TimeoutException, AccessDeniedException { for (Vector<Port> vec : ports.values()) { for (Enumeration<Port> en = vec.elements(); en.hasMoreElements();) { topo.addObject(en.nextElement()); } } } String doSnmpGet(String oid,ManagedObject mObj) { SnmpTarget target = new SnmpTarget(); target.setTargetHost(((TopoObject) mObj).getName()); // set host, target.setTargetPort(((TopoObject) mObj).getSnmpport()); target.setObjectID(oid); //target.setDebug(true); String result = target.snmpGet(); if (result == null) { System.err.println("Error retrieving snmpGet() value for " + oid); System.err.println("Error Code:"+target.getErrorCode()); System.err.println("Error String:"+target.getErrorString()); } return result; } // Mib Related Operations String[] getColumnarValues(String oid, ManagedObject mObj) { SnmpTarget target = new SnmpTarget(); target.setTargetHost(((TopoObject) mObj).getName()); // set host, target.setTargetPort(((TopoObject) mObj).getSnmpport()); target.setObjectID(oid); //target.setDebug(true); String[][] results = target.snmpGetAllList(); if (results == null) { String errorMessage = target.getErrorString();

Page 43: AdventNet WebNMS 5 :: eBON TutorialAdventNet WebNMS 5 :: eBON Tutorial AdventNet, Inc. 3eBON EMS Tutorial eBON Element Management System AdventNet Web NMS Tutorial Version 1.0 A simple

AdventNet WebNMS 5 :: eBON Tutorial

AdventNet, Inc. 42

System.out.println("Error in getting Columnar values :" + errorMessage); System.err.println("Error Code:"+target.getErrorCode()); System.err.println("Error String:"+target.getErrorString()); return null; } else { String[] colValues = new String[(results.length)]; for (int i = 0; i < results.length; i++) { colValues[i] = results[i][0]; } return colValues; } }

Note: If the necessary import statements have not imported then Eclipse prompt for the error message. so it is necessary to import the statements such as import java.rmi.RemoteException, import java.util.Enumeration,import java.util.Hashtable, import java.util.Properties, import java.util.Vector. Include the corresponding import statements for all the java files in this project.

Result

Now you are ready with the device and its components needed to manage the DSLAM device. You can now proceed to the next phase, that is, Creating custom map and map containers for the DSLAM device and its components.

Page 44: AdventNet WebNMS 5 :: eBON TutorialAdventNet WebNMS 5 :: eBON Tutorial AdventNet, Inc. 3eBON EMS Tutorial eBON Element Management System AdventNet Web NMS Tutorial Version 1.0 A simple

AdventNet WebNMS 5 :: eBON Tutorial

AdventNet, Inc. 43

4.4 Creating Maps to Display DSLAM Devices The DSLAM devices discovered are represented by images/icons. These representations are laid out and displayed in a map. The map also displays the links, representing the physical connections between the DSLAM devices. Also, DSLAM devices are represented with Chassis View . In Chassis view, the DSLAM device are represented with Slots, Cards, and Ports. This chapter explains the procedure to achieve the following tasks using AdventNet Web NMS Eclipse Plugin:

• Creating Maps to represent DSLAM Device

• Building Chassis View for each DSLAM Device

Page 45: AdventNet WebNMS 5 :: eBON TutorialAdventNet WebNMS 5 :: eBON Tutorial AdventNet, Inc. 3eBON EMS Tutorial eBON Element Management System AdventNet Web NMS Tutorial Version 1.0 A simple

AdventNet WebNMS 5 :: eBON Tutorial

AdventNet, Inc. 44

4.4.1 Creating Maps

Aim To create a custom map for the DSLAM devices, which will display all discovered DSLAM devices representing the physical link between devices. Refer to Creating Map Filter topic for how to use Map Filter. Effort Estimate This task can be accomplished in two man days. Instructions Follow the steps given below to define a Map filter.

Step 1 : Invoking the MapFilter Creation Wizard Select WebNMS > Filters > Map > Create Map Filter menu. Step 2 : Map Filter Details

Provide the following details about the Map Filter:

Package Name com.adventnet.ebon.ems Filter ClassName DslamMapFilter

Click Finish.

You will find the <Map Filter class> under <Your Project>/source folder in the Project Explorer window. You can add the custom code or modify the existing code of the source using the editor directly as per your requirement. The entry for this MapFilter implementation class will be appended to the map.filters configuration file present in <Your Project>/resources/conf directory. You can rearrange the entries as per your requirement as the filters will be invoked based on the order in which they are listed in this file. Variable Declaration: Add the following variable declaration above the filterMapSymbols method: private boolean firstTime =true;

Add the following User code in the filterMapSymbols method to create new symbols or to create new maps.

NmsLogMgr.MAPUSER.log("MO "+mo.getName() + " has entered the Mapfilter: DslamMapFilter " ,Log.DEBUG); NmsLogMgr.MAPUSER.log("Received symbolVec representing the MO "+mo.getName() + " in

Page 46: AdventNet WebNMS 5 :: eBON TutorialAdventNet WebNMS 5 :: eBON Tutorial AdventNet, Inc. 3eBON EMS Tutorial eBON Element Management System AdventNet Web NMS Tutorial Version 1.0 A simple

AdventNet WebNMS 5 :: eBON Tutorial

AdventNet, Inc. 45

DslamMapFilter are ",Log.DEBUG); for(Enumeration elements = symbolVec.elements();elements.hasMoreElements();) { NmsLogMgr.MAPUSER.log(elements.nextElement().toString(),Log.DEBUG); } String managedObjectName = mo.getName(); String mapName = "DslamDeviceMap.netmap"; //If the received MO notification is for type Dslam Device create a map symbol with the specified icon and other mapsymbol properties and add it to the mapsymbols //vector. //The Dslam Map is created on receiving the notification for the first Dslam device. if((mo instanceof DslamDevice)) { if((firstTime )) //This check is to avoid creating a new map for every DslamDevice. { firstTime=false;//as we don't want to create a new map for each dslam device. //setting the map properties Properties mapProps = new Properties(); mapProps.put("mapName",mapName); mapProps.put("mapLinkRenderer","com.adventnet.nms.mapui.MapLinkRendererImpl"); mapProps.put("autoplacement","true"); mapProps.put("imageName","eBonBg.png"); mapProps.put("topology","star,grid,ring"); mapProps.put("mapSymbolRenderer","com.adventnet.nms.mapui.MapSymbolRendererImpl"); mapProps.put("currentTopology","ring"); mapProps.put("label","Dslam Device MAP"); try { //adding the new map for Dslam Devices. mapi.addMap(mapName,mapProps); } catch(java.rmi.RemoteException ex) { NmsLogMgr.MAPERR.fail( " RemoteException while creating map : "+mapName,ex); } catch(com.adventnet.nms.store.NmsStorageException ex) { NmsLogMgr.MAPERR.fail( " NmsStorageException while adding the Map object : "+ mapName, ex); } catch( com.adventnet.management.transaction.UserTransactionException ex) { NmsLogMgr.MAPERR.fail( " UserTransactionException while adding/updating the object : "+ mapName, ex ); } } //Dslam symbol creation and symbol properties. In addition to creating new maps or new symbols for the maps, the //properties of the symbolVec present in the vector can also be modified here if required. MapSymbol mapSymbol = new MapSymbol(); mapSymbol.setIconName("switch.png"); mapSymbol.setLabel(managedObjectName); mapSymbol.setMapName(mapName); mapSymbol.setMenuName("snmpmenu"); //Name of the menu that should appear while rightclicking this symbol in the map mapSymbol.setObjName(managedObjectName); //this property maps the mapsymbol to the corresponging ManagedObject. This property is very important for proper status propogation in the map.

Page 47: AdventNet WebNMS 5 :: eBON TutorialAdventNet WebNMS 5 :: eBON Tutorial AdventNet, Inc. 3eBON EMS Tutorial eBON Element Management System AdventNet Web NMS Tutorial Version 1.0 A simple

AdventNet WebNMS 5 :: eBON Tutorial

AdventNet, Inc. 46

mapSymbol.setName(managedObjectName); //adding it to the vector of symbols that will be added to the DB by the MapServer. symbolVec.add(mapSymbol); } //creation of MapLinks for the DslamConnection and setting its properties. if((mo instanceof DslamConnection)) { com.adventnet.nms.mapdb.MapLink mapLink = new com.adventnet.nms.mapdb.MapLink(); mapLink.setMapName("DslamDeviceMap.netmap"); mapLink.setMenuName("linkmenu"); mapLink.setName(mo.getName()); mapLink.setObjName(mo.getName()); mapLink.setSource(((DslamConnection)mo).getSource() ); mapLink.setDest(((DslamConnection)mo).getDestination()); //adding the links to the vector. symbolVec.add(mapLink); } NmsLogMgr.MAPUSER.log("Returned MapSymbols representing the MO "+mo.getName() + " in DslamMapFilter are ",Log.DEBUG); for(Enumeration elements = symbolVec.elements();elements.hasMoreElements();) { NmsLogMgr.MAPUSER.log(elements.nextElement().toString(),Log.DEBUG); }

Result The map to display the DSLAM devices and physical link between the devices is ready. You can now proceed to create a Chassis View to represent the components of DSLAM Device.

Page 48: AdventNet WebNMS 5 :: eBON TutorialAdventNet WebNMS 5 :: eBON Tutorial AdventNet, Inc. 3eBON EMS Tutorial eBON Element Management System AdventNet Web NMS Tutorial Version 1.0 A simple

AdventNet WebNMS 5 :: eBON Tutorial

AdventNet, Inc. 47

4.4.2 Creating Chassis View In this section, you will learn to build chassis application to represent DSLAM device along with its subcomponents such as Shelf, Slot, etc.. This representation is known as Chassis View. For detailed explanation on building chassis application using Chassis Wizard, refer Building Chassis section of this tutorial. Creating Chassis View Using the Chassis Wizard Involves Following Steps

• Creating Chassis Project and Configuring Web NMS Host

• Designing Main Screen

• Designing Shelf Screen o Designing CPU Card Screen o Designing ATM Card Screen

• Chassis Configuration

• Compiling and Packaging the Application

The Final Output The Chassis View is dynamic, i.e., the application updates based on the status of the components in Web NMS Database. Once eBON EMS is deployed in Web NMS,this application can be invoked from the device node by right-clicking the node and select View Chassis.

Page 49: AdventNet WebNMS 5 :: eBON TutorialAdventNet WebNMS 5 :: eBON Tutorial AdventNet, Inc. 3eBON EMS Tutorial eBON Element Management System AdventNet Web NMS Tutorial Version 1.0 A simple

AdventNet WebNMS 5 :: eBON Tutorial

AdventNet, Inc. 48

4.5 Filtering Traps and Status Polling the Cards To receive, process the failures in the managed network element (i.e., DSLAM Device) and present them in a meaningful form, you have to implement Fault management service of AdventNet Web NMS. The DSLAM device notifies any abnormality in the operations, parameters, and failures to the EMS application in the form of traps. Processing Alerts and Events of DSLAM device You have to process the events of the DSLAM device received through the traps to convert them into meaningful alerts. For processing the traps, you have to write a trap filter. In the application, you will be creating a filter called DslamTrapFilter. Add Custom code to handle Addition of Card and Deletion of Card. Model the managed object to check the device status (a method in the Managed Object class to check the status; here, it is the checkStatus() method) .

Page 50: AdventNet WebNMS 5 :: eBON TutorialAdventNet WebNMS 5 :: eBON Tutorial AdventNet, Inc. 3eBON EMS Tutorial eBON Element Management System AdventNet Web NMS Tutorial Version 1.0 A simple

AdventNet WebNMS 5 :: eBON Tutorial

AdventNet, Inc. 49

4.5.1 Filtering Traps from DSLAM Device

Aim To provide a complete DSLAM management capability to the EMS with effective Trap handling. For details on Creating Trap Filter, refer to the Web NMS EclipsePlugin Guide. Effort Estimate This task can be accomplished in a man day. Instructions

Step 1: Invoking the TrapFilter Creation Wizard

Select WebNMS > Filters > Fault > Create Trap Filter menu

Step 2 : Trap Filter Details Provide the following details about the Trap Filter

Package Name com.adventnet.ebon.ems Filter ClassName DslamTrapFilter

Enter the Match Criteria for filtering the trap. It includes V1 Trap, V2 Trap. For V1 Trap , enter the Enterprise OID , Generic Trap Type and Specific Trap Type. For V2C Trap , enter the Trap OID.

Enterprise OID * Generic Trap Type 6 Specific Trap Type 100

Click Finish. In order to capture handle the V1 Traps for the card addition also you need to edit the trap.filters file to provide a similar entry as the one auto-generated using the above input for card deletion. Copy and paste the entry as below in the trap.filter file:

<FILTER name="Dslam_CardAddition" classname="com.adventnet.Ebon.ems.DslamDevice.DslamTrapFilter" enable="true" GT="6" ST="200" enterprise="*" />

You will find the <Trap Filter class> under <Your Project>/ source folder in the Project Explorer window. You can add the custom code or modify the existing code of the source using the editor directly as per your requirement.

Page 51: AdventNet WebNMS 5 :: eBON TutorialAdventNet WebNMS 5 :: eBON Tutorial AdventNet, Inc. 3eBON EMS Tutorial eBON Element Management System AdventNet Web NMS Tutorial Version 1.0 A simple

AdventNet WebNMS 5 :: eBON Tutorial

AdventNet, Inc. 50

The appropriate entry for this trap filter will be appended in the trap.filters file in the <Your Project>/resources/conf folder. You can rearrange the entries in this file as per your requirement to change the order in which the trap.filters are invoked. Add the following code above the applyTrapFilter method: TopoAPI api; Add the following code in the applyTrapFilter method: //creating an event object and setting the properties based on the pdu type. Event event = new Event( ); System.out.println("INSIDE device trap filter :"+pdu.getAgentAddr()); NmsLogMgr.EVENTUSER.log("Trap properties in TrapFilter DslamTrapFilter are :",Log.DEBUG); NmsLogMgr.EVENTUSER.log("Trap AgentIPAddress is :"+pdu.getAgentAddress(),Log.DEBUG); Vector varbinds=pdu.getVariableBindings(); for(Enumeration elements=varbinds.elements();elements.hasMoreElements();) { NmsLogMgr.EVENTUSER.log("Trap Varbinds are :"+elements.nextElement(),Log.DEBUG); } //debug statements if(pdu.getVersion() == SnmpAPI.SNMP_VERSION_1 ) { NmsLogMgr.EVENTUSER.log("Trap version is V1 ",Log.DEBUG); NmsLogMgr.EVENTUSER.log("Trap EnterpriseOID is :"+pdu.getEnterprise().toString(),Log.DEBUG); NmsLogMgr.EVENTUSER.log("Trap Generic type is :"+pdu.getTrapType(),Log.DEBUG); NmsLogMgr.EVENTUSER.log("Trap Specific type is :"+pdu.getSpecificType(),Log.DEBUG); } else { if(pdu.getVersion() == SnmpAPI.SNMP_VERSION_3 ) { NmsLogMgr.EVENTUSER.log("Trap version is V3 ",Log.DEBUG); } else { NmsLogMgr.EVENTUSER.log("Trap version is V2C ",Log.DEBUG); } NmsLogMgr.EVENTUSER.log("Trap TrapOID is : "+ pdu.getVariable(1),Log.DEBUG ); }//end //checking for the Enterprise Id and trap type and based on the same the event properties are set. if((pdu.getEnterprise() != null && pdu.getEnterprise().toString().equals(".1.3.6.1.4.1.2162.1") ) && ( pdu.getTrapType() == 6)) { String ip=pdu.getAgentAddr(); if (ip == null) { return pdu; } if(ip.trim().equalsIgnoreCase("127.0.0.1")) { try { ip = java.net.InetAddress.getLocalHost().getHostAddress();//pdu.getAgentAddress().getLocalHost().getHostAddress();

Page 52: AdventNet WebNMS 5 :: eBON TutorialAdventNet WebNMS 5 :: eBON Tutorial AdventNet, Inc. 3eBON EMS Tutorial eBON Element Management System AdventNet Web NMS Tutorial Version 1.0 A simple

AdventNet WebNMS 5 :: eBON Tutorial

AdventNet, Inc. 51

} catch(java.net.UnknownHostException unknowne) { System.err.println("Trap from unknown host : " + unknowne); } }// end if String hostName=ip; if(api == null) api = getTopoAPI(); if (api != null) { try { /* The following call gets the name of the object given the IP Address. */ hostName = getObjectName(ip); } catch (Exception ee) { NmsLogMgr.EVENTERR.fail( NmsUtil.GetString("From LinkUpDownTrapFilter .. Failed to get interface object key : ")+ee, ee); return pdu; } } String source = hostName+"_Slot1_Card11_Port1"; System.err.println(pdu.getSpecificType()+"SOURCE:"+source); if((pdu.getSpecificType() == 200 ) || ( pdu.getSpecificType() == 300)) { //setting the properties of the event from the trap PDU. event.setCategory( pdu.getCommunity( ) ); //The source property of an event denotes the Managedobject for which this event is raised. //Note: It is based on this property that status propagation occurs. event.setSource(source); event.setNode(hostName);//TODO //Entity denotes the Managedobject or one of its sub-component for which this event has been generated. //Note: This property is used for correlation of alerts. All Events with the same Entity will result in only one Alert event.setEntity(hostName);//TODO event.setTime(pdu.getUpTime()); if((pdu.getSpecificType() == 200)) { event.setText("The Dslam Port has gone down"); event.setSeverity(1); } if((pdu.getSpecificType() == 300)) { event.setText("The Dslam Port is clear now"); event.setSeverity(5); } NmsLogMgr.EVENTUSER.log("Returned Event properties in DslamTrapFilter are : "+event.getProperties().toString(),Log.DEBUG); //Here are are returning the event. This event will now be passed through event parsers and event filters and then be added to the database. return event;

Page 53: AdventNet WebNMS 5 :: eBON TutorialAdventNet WebNMS 5 :: eBON Tutorial AdventNet, Inc. 3eBON EMS Tutorial eBON Element Management System AdventNet Web NMS Tutorial Version 1.0 A simple

AdventNet WebNMS 5 :: eBON Tutorial

AdventNet, Inc. 52

} } //When the PDU is returned it will be passed through other trap filters defined in the trap.filters file. Even after passing through all the filters, if the PDU is still not converted to an Event, it will be passed to trap parsers. System.err.println("OUTSIDE:"+pdu.getTrapType()); Add the User code as given below at the end before the last "}": /** * This method is used to get the name of the object given the ip-address. * @param address * @return */ private String getObjectName(String address){ try{ Properties pObjectName=new Properties(); pObjectName.put("isInterface","false"); pObjectName.put("ipAddress",address); Vector objNames=api.getObjectNamesWithProps(pObjectName); if(objNames!=null && objNames.size() != 0){ return (String)objNames.elementAt(0);//vecONames.elementAt(0);//api.getInterfaceObjectKey(failedInterfaceIP); } } catch (RemoteException ex) { NmsLogMgr.EVENTERR.fail( NmsUtil.GetString("From LinkUpDownTrapFilter .. Failed to get interface object key : ")+ex, ex); }catch(Exception exe){ exe.printStackTrace(); } return address; } /** This gets the TopoAPI. **/ private TopoAPI getTopoAPI() { try { api =(TopoAPI)NmsUtil.getAPI("TopoAPI"); } catch ( Exception e) { e.printStackTrace(); } return api; } // end getTopoAPI() Result The trap handling and processing the trap to meaningful event from DSLAM device is ready. You can now move to the next step to Create Status Poller for cards in DSLAM device.

Page 54: AdventNet WebNMS 5 :: eBON TutorialAdventNet WebNMS 5 :: eBON Tutorial AdventNet, Inc. 3eBON EMS Tutorial eBON Element Management System AdventNet Web NMS Tutorial Version 1.0 A simple

AdventNet WebNMS 5 :: eBON Tutorial

AdventNet, Inc. 53

4.5.2 Status Polling the Cards in DSLAM Device The status polling is essential for CPU Card and ATM Card objects present in DSLAM device,because their status is subject to change when they are removed or replaced. In this topic, we will create the Status Poller for these cards. Instructions

Creating Status Poller

Follow the steps given below to Create a Status Poller. For details on Creating the Status Poller,refer to the Web NMS EclipsePlugin Guide.

Status Poller for CPU Card

Step 1 : Invoking the StatusPoller Creation Wizard

Select WebNMS > Filters > Fault > Create Status Poller menu.

Step 2 : Status Poller Details Provide the following details about the Status Poller:

Package Name com.adventnet.ebon.ems Filter ClassName CPUCardStatusPoller

Click Finish..

You will find the <Status Poller class> under <Your Project>/source folder in the Project Explorer window. Add the following line in the declaration section. private SeverityInfo severity = SeverityInfo.getInstance(); Add the following code in the test method of CPUCardStatusPoller class. By default it will return the severity in the auto-generated code. //<Begin_test_ManagedObject_TopoAPI> //<UserCode_Begin_StatusPoll_test_MO_LogMsg_Open> //<UserCode_End_StatusPoll_test_MO_LogMsg_Open> NmsLogMgr.TOPOUSER.log("MO "+moname + "has entered the StatusPolling class : CpuCardStatusPoller " ,Log.DEBUG); NmsLogMgr.TOPOUSER.log("Executing Thread is "+Thread.currentThread(),Log.DEBUG); ManagedObject mObj=getObject(moname,api); SnmpTarget target=new SnmpTarget(); if(mObj instanceof com.adventnet.ebon.ems.CPUCard) { com.adventnet.ebon.ems.CPUCard CPUCard = ((com.adventnet.ebon.ems.CPUCard)mObj); String targetHost = CPUCard.getDeviceAddress();

Page 55: AdventNet WebNMS 5 :: eBON TutorialAdventNet WebNMS 5 :: eBON Tutorial AdventNet, Inc. 3eBON EMS Tutorial eBON Element Management System AdventNet Web NMS Tutorial Version 1.0 A simple

AdventNet WebNMS 5 :: eBON Tutorial

AdventNet, Inc. 54

target.setTargetHost(targetHost); if((CPUCard.getCardIndex() != null)) { target.setTargetPort(Integer.valueOf(CPUCard.getDevicePort())); String cardIndex = CPUCard.getCardIndex(); //Since the slot and the card Index will be the same slotIndex == cardIndex String appendToOid = "." + cardIndex + "." + cardIndex + "." + CPUCard.getCardType(); String oid = oid = ".1.3.6.1.4.1.2162.1.1.6.5.1.1" + appendToOid; target.setObjectID(oid); String result= target.snmpGet(); if(result!=null) { int cardStatus=Integer.valueOf(result); if((cardStatus == 1)) { return severity.getValue("clear"); } if((cardStatus == 0)) { return severity.getValue("Major"); } } else { System.err.println("POLL: Problem in retrieving card status for :"+CPUCard.getName()); } } //<UserCode_Begin_CheckIndex_IF_END> //<UserCode_End_CheckIndex_IF_END> //<UserCode_Begin_METHOD_FINISH> //<UserCode_End_METHOD_FINISH> } NmsLogMgr.TOPOUSER.log("Returned severity type in CpuCardStatusPoller is "+severity.getSpecialPurposeSeverity(),Log.DEBUG); //Returning special purpose severity -1 as no changes in status is required. return SeverityInfo.getInstance().getSpecialPurposeSeverity(); } ManagedObject getObject(String name,TopoAPI tApi) { ManagedObject mObj=null; try { mObj=tApi.getByName(name); } catch(RemoteException re) { System.err.println("POLL: Remote Exception occured while getting the object "+name); } catch(NmsStorageException ne) {

Page 56: AdventNet WebNMS 5 :: eBON TutorialAdventNet WebNMS 5 :: eBON Tutorial AdventNet, Inc. 3eBON EMS Tutorial eBON Element Management System AdventNet Web NMS Tutorial Version 1.0 A simple

AdventNet WebNMS 5 :: eBON Tutorial

AdventNet, Inc. 55

System.err.println("POLL: NmsStorageException occured while getting the object "+name); } catch(UserTransactionException e) { System.err.println("POLL: UserTransactionException occured while getting the object "+name); } return mObj;

Status Poller for ATM Card

Step 1 : Invoking the StatusPoller Creation Wizard Select WebNMS > Filters > Fault > Create Status Poller menu. Step 2 : Status Poller Details Provide the following details about the Status Poller:

Package Name com.adventnet.ebon.ems Filter ClassName AtmCardStatusPoller

Click Finish..

You will find the <Status Poller class> under <Your Project>/source folder in the Project Explorer window.

This completes the creation of Status Poller for CPU Card and ATM Card. Add the following line in the declaration section. private SeverityInfo severity = SeverityInfo.getInstance();

Add the following code in the test method of AtmCardStatusPoller class. By default it will return the severity in the auto-generated code. NmsLogMgr.TOPOUSER.log("MO "+moname + "has entered the StatusPolling class : AtmCardStatusPoller " ,Log.DEBUG); NmsLogMgr.TOPOUSER.log("Executing Thread is "+Thread.currentThread(),Log.DEBUG); ManagedObject mObj=getObject(moname,api); SnmpTarget target=new SnmpTarget(); if(mObj instanceof com.adventnet.ebon.ems.ATMCard) { com.adventnet.ebon.ems.ATMCard ATMCard = ((com.adventnet.ebon.ems.ATMCard)mObj); String targetHost = ATMCard.getDeviceAddress(); target.setTargetHost(targetHost); if((ATMCard.getCardIndex() != null)) { target.setTargetPort(Integer.valueOf(ATMCard.getDevicePort()));

Page 57: AdventNet WebNMS 5 :: eBON TutorialAdventNet WebNMS 5 :: eBON Tutorial AdventNet, Inc. 3eBON EMS Tutorial eBON Element Management System AdventNet Web NMS Tutorial Version 1.0 A simple

AdventNet WebNMS 5 :: eBON Tutorial

AdventNet, Inc. 56

String cardIndex = ATMCard.getCardIndex(); //Since the slot and the card Index will be the same slotIndex == cardIndex String appendToOid = "." + cardIndex + "." + cardIndex + "." + ATMCard.getCardType(); String oid = oid = ".1.3.6.1.4.1.2162.1.1.6.4.1.1"+ appendToOid; target.setObjectID(oid); String result= target.snmpGet(); if(result!=null) { int cardStatus=Integer.valueOf(result); if((cardStatus == 1)) { return severity.getValue("clear"); } if((cardStatus == 0)) { return severity.getValue("Major"); } } else { System.err.println("POLL: Problem in retrieving card status for :"+ATMCard.getName()); } } } NmsLogMgr.TOPOUSER.log("Returned severity type in AtmCardStatusPoller is "+severity.getSpecialPurposeSeverity(),Log.DEBUG); //Returning special purpose severity -1 as no changes in status is required. return SeverityInfo.getInstance().getSpecialPurposeSeverity(); } ManagedObject getObject(String name,TopoAPI tApi) { ManagedObject mObj=null; try { mObj=tApi.getByName(name); } catch(RemoteException re) { System.err.println("POLL: Remote Exception occured while getting the object "+name); } catch(NmsStorageException ne) { System.err.println("POLL: NmsStorageException occured while getting the object "+name); } catch(UserTransactionException e) { System.err.println("POLL: UserTransactionException occured while getting the object "+name); } return mObj;

Page 58: AdventNet WebNMS 5 :: eBON TutorialAdventNet WebNMS 5 :: eBON Tutorial AdventNet, Inc. 3eBON EMS Tutorial eBON Element Management System AdventNet Web NMS Tutorial Version 1.0 A simple

AdventNet WebNMS 5 :: eBON Tutorial

AdventNet, Inc. 57

Result The status polling device for CPU Card and ATM Card objects present in DSLAM device is ready. You can now move to the next step to Configure the DSLAM Device.

Page 59: AdventNet WebNMS 5 :: eBON TutorialAdventNet WebNMS 5 :: eBON Tutorial AdventNet, Inc. 3eBON EMS Tutorial eBON Element Management System AdventNet Web NMS Tutorial Version 1.0 A simple

AdventNet WebNMS 5 :: eBON Tutorial

AdventNet, Inc. 58

4.6 Configuring DSLAM Device Configuration Management is one of the functional areas of network management, concerned with setting or modifying values for managed element attributes. This section explains various steps involved in building configuration application using Configuration Wizard. The working of configuration application built in this example involves following steps:

• The configuration screen accepts the values from the application user.

• The Configurator Bean collects the values to be configured from the beans in the screen using the getConfigValueFor().

• The Configurator Bean sends the values with the protocol information of nodes, device location,etc. to be configured to the Config Server.

• Config Server contacts the respective Protocol Provider and sends the device OID, values to be configured, etc.

• The Protocol Provider configures the value in the device and acknowledges the Config Server whether Configuration is successful or Configuration is failed.

• Config Server receives and sends the acknowledgment to the Configurator bean in the screen.

• Configurator fires the acknowledgment as EventFire. This acknowledgement is shown in OptionDialog Informer whether the configuration is successful or failed.

Refer to Building Configuration Application for steps to build the configuration application.

Page 60: AdventNet WebNMS 5 :: eBON TutorialAdventNet WebNMS 5 :: eBON Tutorial AdventNet, Inc. 3eBON EMS Tutorial eBON Element Management System AdventNet Web NMS Tutorial Version 1.0 A simple

AdventNet WebNMS 5 :: eBON Tutorial

AdventNet, Inc. 59

4.6.1 Configuring DSLAM Device Parameters In this section, you will be building the configuration screens with the help of Configuration Wizard to configure DSLAM device parameters. The following parameters configured in DSLAM device: Scalar Parameters of Card

• cardVersion : Version of the Card

• cardDescription : Description of the Card

Columnar Parameters of Card • cardNo : Card Number

• cardType : Type of Card

• slotIndex : Slot Index of Card

• cardAdminStatus : Administrative Status of the Card

• cardOpStatus : Operation Status of the Card For the details on building configuration management application using Configuration Wizard of AdventNet Management Builder, refer to Building Configuration Application section of this tutorial.

Page 61: AdventNet WebNMS 5 :: eBON TutorialAdventNet WebNMS 5 :: eBON Tutorial AdventNet, Inc. 3eBON EMS Tutorial eBON Element Management System AdventNet Web NMS Tutorial Version 1.0 A simple

AdventNet WebNMS 5 :: eBON Tutorial

AdventNet, Inc. 60

4.7 Provisioning DSLAM Device Provisioning is the process where we can apply a set of configuration tasks. In this tutorial, you will customize the provisioning service to configure the device with the values given by user and also update the respective field in database. To perform customization on provisioning, following tasks need to be performed

• A template needs to be written which takes care of all the inputs required for the provisioning operation.

• Associate the template with a menu so that it can be invoked from the client. Refer to Customizing Provisioning for steps to configure provisioning module of Web NMS.

Page 62: AdventNet WebNMS 5 :: eBON TutorialAdventNet WebNMS 5 :: eBON Tutorial AdventNet, Inc. 3eBON EMS Tutorial eBON Element Management System AdventNet Web NMS Tutorial Version 1.0 A simple

AdventNet WebNMS 5 :: eBON Tutorial

AdventNet, Inc. 61

4.7.1 Customizing Provisioning

Aim In this topic, you will create a simple provisioning template that configures an SNMP Device. This template configures the device with the values given by user and also updates the respective field in database. To give a brief introduction about this provisioning template, this template will aim at configuring the sysName and sysLocation OIDs from the SystemGroup of RFC1213 mib. Before executing this SNMP set operation, it will first retrieve values of the systemGroup OIDs from the database for the managed object that we are trying to provision. The current system Group values fetched from the database are rendered in a form (or screens) where the user view the values for the OIDs got from the topology database. The second form / screen will show these OID values as fetched from the Network element or the device by doing a SNMP query to the device. The user can change the value for sysName and sysLocation parameter in the second screen which will be set to the device through a configuration task. Once the configuration is completed successfully, the sysName property is updated in the database so that the value set in the Network Element and the values in the database are synchronized. Effort Estimate This task can be accomplished in less than two hours. Instructions

Creating the Provisioning Template

• In the Package Explorer window, Right Click and select New->Folder to Create a new folder named provisioningtemplates under <ProjectName>\resources.

• Right Click and select New->File, to Create a new file named eBon_template.xml under the folder provisioningtemplates. As a result the empty file will be created. Now copy and paste the following TAGS into eBon_template.xml file.

• Create the RootNode for the Xml file by giving the below entry. Here we will specify the name of the template and the owner for this template.

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE Template SYSTEM "Template.dtd"> <Template name="eBon_template" owner="root">

• Every provisioning template should have atleast one Stage TAG as shown below.

<Stage label="1#">

• Configure the InventoryInput tag to get the input from the DataBase. Inventory Input means fetching the input from DataBase.

Page 63: AdventNet WebNMS 5 :: eBON TutorialAdventNet WebNMS 5 :: eBON Tutorial AdventNet, Inc. 3eBON EMS Tutorial eBON Element Management System AdventNet Web NMS Tutorial Version 1.0 A simple

AdventNet WebNMS 5 :: eBON Tutorial

AdventNet, Inc. 62

<InventoryInput id="1" MOName="$TemplateParam$HOST" MOField="sysDescr" default="Unknown"/> <InventoryInput id="2" MOName="$TemplateParam$HOST" MOField="sysName" default="Unknown"/> <InventoryInput id="3" MOName="$TemplateParam$HOST" MOField="sysOID" default="Unknown"/> <InventoryInput id="4" MOName="$TemplateParam$HOST" MOField="community" default="Unknown"/> <InventoryInput id="5" MOName="$TemplateParam$HOST" MOField="snmpport" default="Unknown"/>

• Once the input is fetched from DB, fetch the input from the device. As our device is snmp based, we are setting the snmp protocol related properties and OIDs to fetch the input from the Network Element or device.

<NEInput> <ProtocolMap name="snmp"> <Device community="$InventoryInput$4" host="$TemplateParam$HOST" port="$TemplateParam$PORT" retries="3" timeout="5000" version="v1"/> </ProtocolMap> <Attribute identifier="1.1.0" label="sysDescr" default="Unknown"/> <Attribute identifier="1.4.0" label="sysContact" default="Unknown"/> <Attribute identifier="1.5.0" label="sysName" default="Unknown"/> <Attribute identifier="1.6.0" label="sysLocation" default="Unknown"/> </NEInput>

• Design two forms for user input inorder to to get the user/administrator inputs for the provisioning. The entries for the two forms are shown below.

First form entry: This form displays all the values retrieved from the topology database. All fields in the form, except the community string are non-editable. The user can change the community string here for the device that we are going to configure, the community string provided by the user in this form will be user for the configuration task while provisioning the device.

<Form id="1#" title="SNMP Node Provisioning Form - Database" description="Simple template for configuring an SNMP node. Inputs that queried from the database for the managed object name $TemplateParam$HOST are shown as default values."> <UserInput id="1" label="Snmp Node Name" default="$TemplateParam$HOST" editable="false"/> <UserInput id="2" label="System Description" default="$InventoryInput$1" editable="false"/> <UserInput id="3" label="System Name" default="$InventoryInput$2" editable="false"/> <UserInput id="4" label="System Object Identifier" default="$InventoryInput$3" editable="false"/> <UserInput id="5" label="Community" default="$InventoryInput$4"/> <UserInput id="6" label="Snmp Port" default="$TemplateParam$PORT"

Page 64: AdventNet WebNMS 5 :: eBON TutorialAdventNet WebNMS 5 :: eBON Tutorial AdventNet, Inc. 3eBON EMS Tutorial eBON Element Management System AdventNet Web NMS Tutorial Version 1.0 A simple

AdventNet WebNMS 5 :: eBON Tutorial

AdventNet, Inc. 63

editable="false"/> </Form>

Second form entry: This form displays the values retrieved by querying the device. Here the user can change the System Name and the System Location values. The new values will be configured/set in the device.

<Form id="2#" title="SNMP Node Provisioning Form - Device" description="Simple template for configuring an SNMP node. Inputs that queried from the device $TemplateParam$HOST are shown as default values."> <UserInput id="7" label="SNMP Agent Hostname" default="$TemplateParam$HOST" editable="false"/> <UserInput id="8" label="System Description" default="$NEInput$sysDescr" editable="false"/> <UserInput id="9" label="System Contact" default="$NEInput$sysContact" editable="false"/> <UserInput id="10" label="System Name" default="$NEInput$sysName"/> <UserInput id="11" label="System Location" default="$NEInput$sysLocation" editable="false"> <Qualifier type="choice"> <Enum name="$NEInput$sysLocation" value="$NEInput$sysLocation"/> <Enum name="Office A" value="Office A"/> <Enum name="Office B" value="Office B"/> <Enum name="Office C" value="Office C"/> </Qualifier> </UserInput> </Form>

• Configure the task to perform Provisioning and the entry should be as follows. This XML tag is responsible for configuring the device by doing an SNMP set for the OIDs 1.5.0 and 1.6.0. Here the protocol related parameters need to be set for performing SNMP set on the device.

<ConfigTask taskName="SnmpTask" isNewTask="true" isOverwrite="true" isSequential="false"> <ProtocolMap name="snmp"> <Device community="$UserInput$5" host="$TemplateParam$HOST" port="$TemplateParam$PORT" retries="1" timeout="5000" version="v1"/> </ProtocolMap> <Attribute identifier="1.5.0" type="4" label="sysName" value="$UserInput$10"/> <Attribute identifier="1.6.0" type="4" label="sysLocation" value="$UserInput$11"/> </ConfigTask>

• In the final step , Update the DataBase with the lastest values that have been provisioned. This is done by using InventoryUpdate tag. Any ManagedObject property can be updated in

Page 65: AdventNet WebNMS 5 :: eBON TutorialAdventNet WebNMS 5 :: eBON Tutorial AdventNet, Inc. 3eBON EMS Tutorial eBON Element Management System AdventNet Web NMS Tutorial Version 1.0 A simple

AdventNet WebNMS 5 :: eBON Tutorial

AdventNet, Inc. 64

the database using the InventoryUpdate tag, here the property being updated is sysName of SnmpNode.

<InventoryUpdate> <MOUpdate MOName="$TemplateParam$HOST" MOClass="com.adventnet.nms.topodb.SnmpNode" isNew="false" when="onSuccess"> <Property name="sysName" value="$UserInput$10"/> <Property name="displayName" value="$UserInput$10.success"/> </MOUpdate> <MOUpdate MOName="$TemplateParam$HOST" MOClass="com.adventnet.nms.topodb.SnmpNode" isNew="false" when="onFailure"> <Property name="displayName" value="$UserInput$10.failure"/> </MOUpdate> </InventoryUpdate>

• Finish the xml with the closing tag shown below.

</Stage> </Template>

• Save the eBon_template.xml file, once these entries were made.

Integrating with the EMS • Copy the snmpmenu.xml located under <WebNMS Home>\mapdata\menus to

<ProjectName>\resources\mapdata\menus.

• Add the entries with the below details.

Attribute Name

Attribute Value

name eBon Provisioning Example action_type openframe action_value test.provisioning.TemplateNmsFrame?HOST=${name}&

PORT=8001&TemplateName=eBon_Template

The entries will be as shown below.

<MENU-ITEM name="eBon Provisioning Example"> <JAVA-UI action_value="test.provisioning.TemplateNmsFrame?HOST=${name}&PORT= 8001&TemplateName=eBon_Template" action_type="openframe"/> </MENU-ITEM>

• Save the snmpmenu.xml file.

Note: The eBon_template.xml will be deployed under <Web NMS Home>/proviosioningtemplates directory and snmpmenu.xml under <Web NMS Home>/mapdata/menus. This will be handled while packaging the project and deploying the Nar.

Page 66: AdventNet WebNMS 5 :: eBON TutorialAdventNet WebNMS 5 :: eBON Tutorial AdventNet, Inc. 3eBON EMS Tutorial eBON Element Management System AdventNet Web NMS Tutorial Version 1.0 A simple

AdventNet WebNMS 5 :: eBON Tutorial

AdventNet, Inc. 65

Result This completes the customization of Provisioning service of Web NMS.

Page 67: AdventNet WebNMS 5 :: eBON TutorialAdventNet WebNMS 5 :: eBON Tutorial AdventNet, Inc. 3eBON EMS Tutorial eBON Element Management System AdventNet Web NMS Tutorial Version 1.0 A simple

AdventNet WebNMS 5 :: eBON Tutorial

AdventNet, Inc. 66

4.8 Configuring Polling for DSLAM Device Performance Management is essential to monitor the health of the device. This section deals with creating a Poll Filter to monitor performance and data collection of ATM Card variables (atmCardInOctets and atmCardOutOctets) in DSLAM device. Refer to the Creating Filter to Poll ATM Card Objects topic for detailed explanation.

Page 68: AdventNet WebNMS 5 :: eBON TutorialAdventNet WebNMS 5 :: eBON Tutorial AdventNet, Inc. 3eBON EMS Tutorial eBON Element Management System AdventNet Web NMS Tutorial Version 1.0 A simple

AdventNet WebNMS 5 :: eBON Tutorial

AdventNet, Inc. 67

4.8.1 Creating Filter to Poll ATM Card Objects

Aim To monitor the performance and data collection of ATM Card variables (atmCardInOctets and atmCardOutOctets). Refer to Creating Poll Filter topic to learn how to use Creating Poll Filter. Effort Estimate This task can be accomplished in half man day. Instructions

Follow the steps given below to define a Poll filter.

Step 1 : Invoking the PollFilter Creation Wizard Select WebNMS > Filters > Performance > Create Poll Filter menu. Step 2 : Poll Filter Details

Provide the following details about the Poll Filter:

Package Name com.adventnet.ebon.ems Filter ClassName DslamPollFilter

Click Finish to complete the creation of Poll Filter.

You will find the <Poll Filter class> under <Your Project>/source folder in the Project Explorer window. This generated class is just the stub code implementing the PollFilter interface. The applyPollFilter method needs to be overwritten to manipulate the polled data as per your requirement. Also the appropriate entry for invoking this filter class is appended to the poll.filters file placed in <Your Project>/resources/conf directory. Add the following code in the applyPollFilter method. NmsLogMgr.POLLUSER.log("MO "+managedObject.getName() + "has entered the Pollfilter: DslamPollFilter " ,Log.DEBUG); NmsLogMgr.POLLUSER.log("Executing Thread is "+Thread.currentThread(),Log.DEBUG); NmsLogMgr.POLLUSER.log("Properties received in PolledDataVector are ",Log.DEBUG); for(Enumeration elements = polledDataVector.elements();elements.hasMoreElements();) { NmsLogMgr.POLLUSER.log(elements.nextElement().toString(),Log.DEBUG); } if((managedObject instanceof ATMCard)) { com.adventnet.nms.poll.PolledData polledData1 = new com.adventnet.nms.poll.PolledData(); com.adventnet.nms.poll.PolledData polledData0 = new

Page 69: AdventNet WebNMS 5 :: eBON TutorialAdventNet WebNMS 5 :: eBON Tutorial AdventNet, Inc. 3eBON EMS Tutorial eBON Element Management System AdventNet Web NMS Tutorial Version 1.0 A simple

AdventNet WebNMS 5 :: eBON Tutorial

AdventNet, Inc. 68

com.adventnet.nms.poll.PolledData(); polledData0.setName("InOctets"); polledData0.setAgent(managedObject.getName()); polledData0.setOid(".1.3.6.1.4.1.2162.1.1.6.4.1.3"); polledData0.setIsMultiplePolledData(true); polledData1.setName("OutOctets"); polledData1.setAgent(managedObject.getName()); polledData1.setOid(".1.3.6.1.4.1.2162.1.1.6.4.1.4"); polledData1.setIsMultiplePolledData(true); polledData0.setDnsName(((ATMCard)managedObject).getDeviceAddress()); polledData0.setPeriod(5); polledData0.setSnmpVersion("v2"); polledData0.setPort(8002); polledData1.setDnsName(((ATMCard)managedObject).getDeviceAddress()); polledData1.setPeriod(5); polledData1.setSnmpVersion("v2"); polledData1.setPort(8002); polledDataVector.add(polledData1); polledDataVector.add(polledData0); } NmsLogMgr.POLLUSER.log("Returned PolledDataVector properties in DslamPollFilter are ",Log.DEBUG); for(Enumeration elements = polledDataVector.elements();elements.hasMoreElements();) { NmsLogMgr.POLLUSER.log(elements.nextElement().toString(),Log.DEBUG); }

Result A Poll Filter for collecting InOctets and OutOctets for the ATMCard is ready. The next task is Packaging the Project.

Page 70: AdventNet WebNMS 5 :: eBON TutorialAdventNet WebNMS 5 :: eBON Tutorial AdventNet, Inc. 3eBON EMS Tutorial eBON Element Management System AdventNet Web NMS Tutorial Version 1.0 A simple

AdventNet WebNMS 5 :: eBON Tutorial

AdventNet, Inc. 69

4.9 Packaging the Project

Aim To integrate and package the developed eBON EMS Application.

For details of Packaging the Project, refer to the Web NMS EclipsePlugin Guide. Instructions

Step 1 : Invoking the Package Properties Wizard.

Select WebNMS > Package Project menu

Step 2 : Package Properties Details

Provide the following details for packaging:

NAR File Name eBON_User Output Directory C:\AdventNet\WebNMS\projects NAR File Version 1.0 Readme Path C:\eclipse\workspace\eBON_Tutorial\README.html

Click Finish.

The Packager Wizard successfully creates the eBON_User1.0.nar file at the specified location.

Page 71: AdventNet WebNMS 5 :: eBON TutorialAdventNet WebNMS 5 :: eBON Tutorial AdventNet, Inc. 3eBON EMS Tutorial eBON Element Management System AdventNet Web NMS Tutorial Version 1.0 A simple

AdventNet WebNMS 5 :: eBON Tutorial

AdventNet, Inc. 70

4.10 Security Configuration for DSLAM Device In this tutorial application, the security feature is implemented by using the Authorization service provided by Web NMS. This service supports authorization of application-specific tasks or operations. The architecture also supports user and group-based authorization as well as view-based authorization. By using this authorization service, you can limit the users access to a specific area or subset of objects or instances. For instance, you can limit the access for a particular user to a certain kind of device. It also provides group-based authorization, where users can be assigned to groups, which have configured levels of authorization, in addition to authorizing specific users. Based on the group that the user belongs to, the components in the Configuration Screen is enabled or disabled. To use the security feature with this tutorial application, views and operations need to be added to the database tables. Using Eclipse Plugin to Configure Security features Security configuration used in this application was achieved using the Security Administration tool bundled in the AdventNet Web NMS. You can add or edit the operations node or modify the existing node as per your requirement using the Security Administration screen, which is invoked from the menu bar. Also, you can assign permission to operations for various users. Compile the project successfully then it is necessary to bundle all the modified application and files of your project into a single file called a NAR. This can be done by Packing the Project. To Package the Project , refer to the section Packaging the Project in Eclipse Guide for more details. To view the changes in Web NMS, the NAR should be installed over Web NMS. This task can be performed using the Nar Installer present in the Deployment Wizard. You can invoke the Deployment Wizard by using the WebNMS > Tools > Deployment Wizard menu. For more details , refer to Installing Eclipse Project in Web NMS section in the Eclipse Guide.

Before Deploying the NAR , Invoke the Security Administration Tool from Web NMS Installation. For details of working with Security Administration tool of AdventNet Web NMS, refer to the WebNMS Developer Guide. Refer to Using Authorization Service topic in this tutorial for steps to configure authorization service.

Page 72: AdventNet WebNMS 5 :: eBON TutorialAdventNet WebNMS 5 :: eBON Tutorial AdventNet, Inc. 3eBON EMS Tutorial eBON Element Management System AdventNet Web NMS Tutorial Version 1.0 A simple

AdventNet WebNMS 5 :: eBON Tutorial

AdventNet, Inc. 71

4.10.1 Using Authorization Service

Aim Every EMS application should have Authorization Services enabled to distinguish among users. This section enables you to understand how to create Groups and Users to enable authorization and to authenticate permission levels for the users in Security Administration Tool. Refer to Security Administration section to learn how to use Security Administration tool. Effort Estimate This task can be accomplished in less than an hour. Instructions

Step 1: Invoking the Security Administration Tool

Security Administration features have to be configured using Security Administrator Tool bundled in WebNMS installation. Before deploying the application NAR file in the WebNMS installation, Start the server using WebNMS > Launch > Start WebNMS Server menu. and Start the client using WebNMS > Launch > Start WebNMS Client menu.

In the Client Screen , Click Tools-> Security Administration. Security Administration Dialog Box is opened.

Step 2: Creating the Group and assigning Permissions

• Right-click Groups node in the Security tree and select 'Add Group'.

• Enter the Group Name as 'DslamOperator' and click Next to proceed to next screen.

• Check the 'Configuration' node under the 'Operations Tree' node to include the operations beneath it.

• Check the 'Topology' node under the 'Operations Tree' node to include all the operations beneath it. Uncheck 'Manage and Unmanage Objects' operations under Topology-->Modify Object node.

• Click Finish to create the group.

Step 3: Creating the User and associating to the Group • Right-click Users node in the Security tree and select 'Add User'.

• Enter the User Name as 'DslamUser'.

• Enter the password as 'dslam' in the Enter the password field.

• Re-enter the same password in the Confirm Password field to confirm and click Next to proceed to next screen.

Page 73: AdventNet WebNMS 5 :: eBON TutorialAdventNet WebNMS 5 :: eBON Tutorial AdventNet, Inc. 3eBON EMS Tutorial eBON Element Management System AdventNet Web NMS Tutorial Version 1.0 A simple

AdventNet WebNMS 5 :: eBON Tutorial

AdventNet, Inc. 72

• Retain the expiry details with default values and click Next to proceed to next screen.

• Check 'DslamOperator' from the list of group names. By doing this, the user is given the permissions that are associated with the 'DslamOperator' group.

• Click Finish to create the user.

Result This completes the security configuration service. The next phase is the final step that is rebranding the application as your EMS.

Page 74: AdventNet WebNMS 5 :: eBON TutorialAdventNet WebNMS 5 :: eBON Tutorial AdventNet, Inc. 3eBON EMS Tutorial eBON Element Management System AdventNet Web NMS Tutorial Version 1.0 A simple

AdventNet WebNMS 5 :: eBON Tutorial

AdventNet, Inc. 73

4.11 Rebranding Application as Your EMS You have completed the development of the project using Web NMS Eclipse Plugin. The last step is to rebrand the project as eBON. You have the i18N tool for internationalisation of various UI reference of AdventNet and Web NMS. Rebranding cannot be done within the project created in Eclipse. It has to be done directly in the Web NMS Installation. To do Rebranding, invoke <Web NMS Home>\bin\developertools>startRebrandingTool.bat. Refer to the Rebranding topic for step-by-step procedure to rebrand the project.

Page 75: AdventNet WebNMS 5 :: eBON TutorialAdventNet WebNMS 5 :: eBON Tutorial AdventNet, Inc. 3eBON EMS Tutorial eBON Element Management System AdventNet Web NMS Tutorial Version 1.0 A simple

AdventNet WebNMS 5 :: eBON Tutorial

AdventNet, Inc. 74

4.11.1 Rebranding

Aim This section deals with re-branding the application built to suit the customers requirements. Rebranding includes changing the name of the product and its version, splash images, logo images, etc. Rebranding can be achieved using the I18N Editor and Rebranding tool. Effort Estimate This task can be accomplished in less than an hour. Instructions

Step 1: Modifying Entities using I18N Editor

• Select the node eBON and provide the menu command Tools > I18N Editor to invoke the I18N Editor window.

• Select EnglishToNative.properties file from <project folder>/WebNMS/html directory. Right-click on the nodes to be modified and then enter the new value for it. The details of the change are explained below.

In the EnglishToNative.properties file, change the value of the following Property Keys AdventNet = eBON Product Name = eBON WebNMS = EMS Version x.x = Release 1.0 vendorURL = http://www.eboncentral.net

• Closing the i18N Editor Select File > Save menu item. Select File > Exit menu item.

Step 2 : Invoke the Rebranding tool

Changing the Company details, Product details, Icons, and Images

• To do Rebranding, invoke <Web NMS Home>\bin\developertools>startRebrandingTool.bat

• Change the values of the rebrandable entities as given in the table below:

Entity Name Values

Company Name eBON Product Name EMS Version 1.1

Company URL www.eboncentral.net

Motto eBON : Excellence Matters Copyright 2003 - 2004

Page 76: AdventNet WebNMS 5 :: eBON TutorialAdventNet WebNMS 5 :: eBON Tutorial AdventNet, Inc. 3eBON EMS Tutorial eBON Element Management System AdventNet Web NMS Tutorial Version 1.0 A simple

AdventNet WebNMS 5 :: eBON Tutorial

AdventNet, Inc. 75

Entity Name Values

Splash Image Select the image file for Splash Image as per your choice. Frame Icon Select the image file for Frame Icon as per your choice. Product Logo Select the image file for Product Logo as per your choice About Dialog Image Select the image file of your choice

Contact Address Enter the contact address of your company Language en Country US

o Click on Rebrand button to carryout Rebranding and the Close button to close the

screen. The re-branded entities are shown in the following table.

Re-branded Entities

Entity Name Existing Values To Be Changed as Name of the company AdventNet eBON

Product Web NMS EMS

Version of the product 2.3 1.0

Logo

The Logo image that you have selected will be

displayed

Frame icon

The Frame image that you have selected will be

displayed Company URL www.adventnet.com www.eboncentral.net

Result The AdventNet Web NMS is re-branded as eBON EMS.

Page 77: AdventNet WebNMS 5 :: eBON TutorialAdventNet WebNMS 5 :: eBON Tutorial AdventNet, Inc. 3eBON EMS Tutorial eBON Element Management System AdventNet Web NMS Tutorial Version 1.0 A simple

AdventNet WebNMS 5 :: eBON Tutorial

AdventNet, Inc. 76

5 Fast Track Implementation

After the building of application is complete, compile the project and package it as a NAR file. If you are unable to complete the EclipsePlugin project and Project built using Chassis Wizard and Configuration Wizard successfully on your own efforts, then you can use the projects of this application which are bundled in AdventNet Web NMS installation. You can open the project, carry out the changes in the project, compile and package it. For packaging the created project, refer to Packaging the Project topic of this tutorial. The project created in the Eclipse plugin is available in Web NMS Home in the following URL : eBON Project : <Web NMS Home>/StudioTools/Studio/projects/eBON Project built using Chassis Wizard: <Web NMS Home>/StudioTools/ClientBuilder/projects/eBonChassis Project built using Configuration Wizard: <Web NMS Home>/StudioTools/ClientBuilder/projects/eBonConfig

Note: It is mandatory to change the WebNMS Home with respect to your Web NMS Installation using the WebNMS ->Project Properties menu in Eclipse IDE before proceeding with development in this eBon project.

How to open Ebon project in Eclipse and work with it ?

• Open Eclipse IDE, please use File->Import menu. In the wizard, select General->Existing Projects into Workspace and click Next.

• Click "Browse" button and Select root directory as <NMS Home>/StudioTools/Studio/projects/eBon. Now select eBon project that is listed in the text area.

• Click Finish button. This opens the eBon project in the workspace. Next, Select WebNMS ->Project Properties menu item and Change the WebNMS Home with respect to your Web NMS Installation. Click OK. Now it is possible to work with the eBon project.

Page 78: AdventNet WebNMS 5 :: eBON TutorialAdventNet WebNMS 5 :: eBON Tutorial AdventNet, Inc. 3eBON EMS Tutorial eBON Element Management System AdventNet Web NMS Tutorial Version 1.0 A simple

AdventNet WebNMS 5 :: eBON Tutorial

AdventNet, Inc. 77

6. Installation and Testing

After development and packaging of the eBON_user project, you must install the packaged project in Web NMS work space to test the final application. This section explains how to install the packaged application and test the final application. Installing eBON Application The installation of packaged eBON_user project is done using Deployment Wizard. The Deployment wizard will take care of installing the files in the packaged project. The steps to install the packaged eBON_user project is in Installation of eBON Application topic. Testing the Final Application After install the project, you must set up the agent for testing the installed agent. After setting up the environment for testing, the final step is testing the function of the application. The steps to set up agent and test the application installed is explained in Testing the Final Application topic.

Page 79: AdventNet WebNMS 5 :: eBON TutorialAdventNet WebNMS 5 :: eBON Tutorial AdventNet, Inc. 3eBON EMS Tutorial eBON Element Management System AdventNet Web NMS Tutorial Version 1.0 A simple

AdventNet WebNMS 5 :: eBON Tutorial

AdventNet, Inc. 78

6.1 Installing eBON Application

Aim

To install the packaged NAR in Web NMS using Deployment Wizard and test the output in the Web NMS. Effort Estimate This task can be accomplished in half a man day. Instructions

Step 1: Creating User and Group The Security related configurations have to be done before deploying the Nar. That is User/Group should be created before installing the NAR. The steps for configuring the Dslam User is given in the section Using Authorization Service. Step 2: Invoking Deployment Wizard Start the Deployment wizard by invoking DeploymentWizard.sh/bat file from <Web NMS Home>/bin/ directory. The Deployment Wizard appears.

Step 3: Selecting the NAR

• Switch to NarInstall/Unistall tab.

• Click Install to invoke the NAR INSTALLER window. • Click Browse to invoke the file chooser and select the eBON_user1.0.nar from the

location where you have packaged and click Select. • Click OK to close the NAR INSTALLER window. This invokes NmsPwsNarInstaller

Wizard.

Step 4: Installing the NAR • Read the README provided with the eBON_user1.0.nar. • Click Next button.

• Select Install to install eBON_user1.0.nar. After the NAR is installed click Close.

• Close the Deployment tool using Exit.

Result Hence the NAR is installed in Web NMS and the next step is to test the output in the Web NMS.

Page 80: AdventNet WebNMS 5 :: eBON TutorialAdventNet WebNMS 5 :: eBON Tutorial AdventNet, Inc. 3eBON EMS Tutorial eBON Element Management System AdventNet Web NMS Tutorial Version 1.0 A simple

AdventNet WebNMS 5 :: eBON Tutorial

AdventNet, Inc. 79

6.2 Testing the Final Application After installing eBON_user project NAR in Web NMS, set the testing environment as mentioned below. Once discovery process completes, you will be able to see the DSLAM device discovered under the DslamDeviceMap of Client. Thus, you have completed the eBON EMS in 7 days. Setting Up Environment for Testing Follow the steps given below for test setup for testing the eBON EMS application

Starting Agent Configuration files for the eBon Agent Simulator is bundled in the Client Builder under <Web NMS Home>/StudioTools/ClientBuilder/projects/eBonConfig/Agent directory. To get the connection or link between two DSLAM devices, at least start DSLAM Agent in two PCs/nodes (in the network where Web NMS Server Running). To start the DSLAM Agent, follow the steps below.

• Invoke SNMP Agent Simulator using startSNMPAgentSimulator.bat/sh present under <Web NMS Home>/StudioTools/ClientBuilder/bin or using Web NMS Launcher.

• Load the agent configuration file eBonAgent_main.xml present under <Web NMS Home>/StudioTools/ClientBuilder/projects/eBonConfig/Agent directory.

• Change the Port in which agent to be started using Agent Settings dialog. Invoke the Agent Settings dialog using menu command Settings-->Agent Settings. Change Port to "8002" and click OK.

• Start the agent using menu command Operations-->Start Agent.

Sending Traps

• Invoke Trap Configurations dialog using menu command Configure-->Traps.

• Select the row present in the dialog and click Send.

Configure the seed.file To discover the DSLAM devices, which is simulated at the port defined in Agent Simulator, Web NMS provides seed.file in <Web NMS Home>/conf directory which allows you to configure the devices and network to be discovered at different ports.

• Use the Discovery Configurator tool to configure SNMP devices in the seed.file.

• Invoke the tool by running the DiscoveryConfigurator.bat/sh file present in the <Web NMS Home>/bin directory. Select the SNMP Devices.

• Enter the IP Address and Port of the Agent. For using the Discovery Configurator tool, refer to the Configuring Discovery of SNMP Devices topic in Administrator Guide.

• Reinitialize and start the Web NMS Server. This tutorial discovers all the SNMP Devices configured in the seed.file first and also discovers the various cards and slots installed in those devices. Alternate Configuration of seed.file.

• Copy the following into the seed.file.

Page 81: AdventNet WebNMS 5 :: eBON TutorialAdventNet WebNMS 5 :: eBON Tutorial AdventNet, Inc. 3eBON EMS Tutorial eBON Element Management System AdventNet Web NMS Tutorial Version 1.0 A simple

AdventNet WebNMS 5 :: eBON Tutorial

AdventNet, Inc. 80

<TO_DISCOVERIP> <ip NODE_ID="192.168.9.50" NETMASK="255.255.255.0" COMMUNITY="public" SNMPAGENTPORT="8002"/> <ip NODE_ID="192.168.9.14" NETMASK="255.255.255.0" COMMUNITY="public" SNMPAGENTPORT="8002"/> </TO_DISCOVERIP>

• Before the </SEED> tag.

• Modify the NODE_ID values as the IP Address of the machines in which the eBon Agents are running and set the NETMASK values accordingly.

• Leave the rest of the values as it is.

• Save the seed.file.

Testing Output in Web NMS

Start NMS

Before starting the Web NMS server, you have to set the agent. Refer to Setting up Environment for Testing for details. Prior to installing the NAR, if the server was running, Stop the server then Reinitialize the WebNMS server and Now start the server.

To Reinitialize WebNMS Server, Run reinitialize_nms.bat under <WebNMS Home>/bin directory. (or) To reinitialize the Server from the launcher, it is essential to add EMS_Tutorial_Server.jar in the classpath. Follow the below steps to add EMS_Tutorial_Server.jar in the classpath.

• Start the Web NMS Launcher, by invoking WebNMSLauncher.bat/sh file in the <Web NMSHOME> directory. In the WebNMS Launcher, Select Options->Settings menu. Settings dialog screen is opened. In this dialog, select "Reinitialize Web NMS" in the left side tree. "ClassPath" details will be seen in the Right-side panel.

• Click on the Add button, a line will be added in the ClassPath text area, Now click on the button "...", this will allow you to browse and select the EMS_Tutorial_Server.jar from the <WebNMS Home>/NetMonitor/build directory. Now, This jar will get added in the classpath.

• Next click OK to Save the settings.

• Now, Invoke the "Reinitialize Web NMS" icon in the Web NMS Launcher to reinitialize the server. Start the WebNMS Server by running startnms.sh/bat under <WebNMS Home>/bin directory. Alternatively you can also start the server from Web NMS Launcher. To start the Web NMS Server from the launcher, it is essential to add EMS_Tutorial_Server.jar in the classpath. Follow the below steps to add EMS_Tutorial_Server.jar in the classpath.

• Start the Web NMS Launcher, by invoking WebNMSLauncher.bat/sh file in the <Web NMSHOME> directory. In the WebNMS Launcher, Select Options->Settings menu. Settings dialog screen is opened. In this dialog, select "Start Web NMS Server" in the left side tree. "ClassPath" details will be seen in the Right-side panel.

• Click on the Add button, a line will be added in the ClassPath text area, Now click on the button "...", this will allow you to browse and select the EMS_Tutorial_Server.jar from the <WebNMS Home>/NetMonitor/build directory. Now, This jar will get added in the classpath.

• Next click OK to Save the settings.

• Now, Invoke the "Start Web NMS Server" icon in the Web NMS Launcher to Start the server.

Page 82: AdventNet WebNMS 5 :: eBON TutorialAdventNet WebNMS 5 :: eBON Tutorial AdventNet, Inc. 3eBON EMS Tutorial eBON Element Management System AdventNet Web NMS Tutorial Version 1.0 A simple

AdventNet WebNMS 5 :: eBON Tutorial

AdventNet, Inc. 81

Viewing the result Connect a Browser or Application client to the Web NMS Server in port 9090 as follows: Browser Client : Enter http://<host-name or IP>:9090 in the address bar Application Client : Double-click Application Client icon from the Web NMS Launcher. Alternatively you can also start the client by running startApplicationClient.bat under <WebNMS Home>/bin directory. Log in 'root' against user and 'public' against password. The splash screen that comes up with the progress bar at the bottom will now show "eBON EMS" instead of the default splash screen. ( Note: In the below screenshot, the rebranded image is displayed. Refer the Rebranding section for more details. If Rebranding is done, then the image that is rebranded will be displayed. Else the default WebNMS 5 Splash Image, Logo will be displayed.)

In the left-side frame, you will see the map tree. Select “Dslam Device Map” node from the tree.

Displaying DSLAM Devices in a Map The "DSLAM Device Map" is a default map when you open the client. The following image is a snapshot taken from the application, which shows the DSLAM device map, where all the DSLAM devices are laid out in the map with their interconnections.

Page 83: AdventNet WebNMS 5 :: eBON TutorialAdventNet WebNMS 5 :: eBON Tutorial AdventNet, Inc. 3eBON EMS Tutorial eBON Element Management System AdventNet Web NMS Tutorial Version 1.0 A simple

AdventNet WebNMS 5 :: eBON Tutorial

AdventNet, Inc. 82

Right-click the DSLAM device nodes and select View Chassis. You can see the Chassis view of the individual DSLAM device. Chassis View of DSLAM Device The Chassis view of DSLAM device shows the various components of a DSLAM device. The screen shot for the same is given below. The chassis view shows a shelf with six slots. Each slot has a card associated with it. You can find two types of cards, namely CPU Card and ATM Card. Each card contains two ports and status icon.

If there is any problem in viewing the Chassis View, kindly refer the section TroubleShooting Tips

Page 84: AdventNet WebNMS 5 :: eBON TutorialAdventNet WebNMS 5 :: eBON Tutorial AdventNet, Inc. 3eBON EMS Tutorial eBON Element Management System AdventNet Web NMS Tutorial Version 1.0 A simple

AdventNet WebNMS 5 :: eBON Tutorial

AdventNet, Inc. 83

Configuring DSLAM Device Parameters The configuration application is used to configure DSLAM devices. Right-click a DSLAM device node in map and select Configure Device. Following screen pops up.

Page 85: AdventNet WebNMS 5 :: eBON TutorialAdventNet WebNMS 5 :: eBON Tutorial AdventNet, Inc. 3eBON EMS Tutorial eBON Element Management System AdventNet Web NMS Tutorial Version 1.0 A simple

AdventNet WebNMS 5 :: eBON Tutorial

AdventNet, Inc. 84

Alerts from the DSLAM Device and Sub-components and Its Propagation Try sending Traps from the SNMP Agent Simulator and check whether they are received under Fault Management and events are propagated. Select the Network Events node under Fault Management node in the tree. You can find events displayed in the right-side frame.

Page 86: AdventNet WebNMS 5 :: eBON TutorialAdventNet WebNMS 5 :: eBON Tutorial AdventNet, Inc. 3eBON EMS Tutorial eBON Element Management System AdventNet Web NMS Tutorial Version 1.0 A simple

AdventNet WebNMS 5 :: eBON Tutorial

AdventNet, Inc. 85

7 Known Issues

• When this application is installed, it replaces some of the existing conf files with the new ones needed for this tutorial. If the user has made any changes in the already existing filters, then the changes will not take effect during the tutorial session. Though all the original conf files will be restored once the tutorial is uninstalled.

Page 87: AdventNet WebNMS 5 :: eBON TutorialAdventNet WebNMS 5 :: eBON Tutorial AdventNet, Inc. 3eBON EMS Tutorial eBON Element Management System AdventNet Web NMS Tutorial Version 1.0 A simple

AdventNet WebNMS 5 :: eBON Tutorial

AdventNet, Inc. 86

8 Glossary

This glossary list contains some of the definitions for the terms that are used in this tutorial. Click here to see the complete AdventNet Web NMS Glossary List. DSLAM DSL Access Multiplexor. A central office (CO) device for ADSL service that intermixes voice traffic and DSL traffic onto a customer's DSL line. It also separates incoming phone and data signals and directs them onto the appropriate carrier's network. SWITCH In networks, a device that filters and forwards packets between LAN segments. Switches operate at the data link layer (Layer 2) of the OSI Reference Model and therefore support any packet protocol. SLOT An opening in a switch where you can insert printed cards. CARD A printed circuit board that you can insert into a slot to give it added capabilities. InventoryInput Values collected from the database. NEInput Values collected from the Network Element. UserInput Values specified by the user from the UI. TemplateParam A parameter passed to the template when the template is loaded. ConfigTask Provides configuration information to be applied on the device. InventoryUpdate Provides information to be updated to the database.

Page 88: AdventNet WebNMS 5 :: eBON TutorialAdventNet WebNMS 5 :: eBON Tutorial AdventNet, Inc. 3eBON EMS Tutorial eBON Element Management System AdventNet Web NMS Tutorial Version 1.0 A simple

AdventNet WebNMS 5 :: eBON Tutorial

AdventNet, Inc. 87

9. Appendix

9.1 About AdventNet Web NMS AdventNet Web NMS is a proven, highly extensible framework with a strong set of applications for delivering EMS and NMS solutions. It includes comprehensive mediation to network elements, a broad set of northbound OSS interfaces, and a powerful set of development tools. With a mature, widely-used product as a base, you can deliver better management solutions with lower effort, time, cost and risk For more details on Web NMS read the section "About Web NMS."

Page 89: AdventNet WebNMS 5 :: eBON TutorialAdventNet WebNMS 5 :: eBON Tutorial AdventNet, Inc. 3eBON EMS Tutorial eBON Element Management System AdventNet Web NMS Tutorial Version 1.0 A simple

AdventNet WebNMS 5 :: eBON Tutorial

AdventNet, Inc. 88

9.2 Building Chassis This chapter explains the step-by-step procedure for building the chassis using Chassis Wizard. To learn the basics on using Chassis Wizard and chassis-related terms and definitions, refer the following topics available under the Chassis Wizard Help. Also refer the Working with Client Builder topic to learn working with various options in Client Builder.

• Building Chassis Management Applications

• Working with Chassis Wizard o Working with Chassis Project

• Getting Chassis Data from Web NMS Database o Building Chassis with Slot Modeled Parameters

• Terms and Definitions for Chassis

Final Output

Page 90: AdventNet WebNMS 5 :: eBON TutorialAdventNet WebNMS 5 :: eBON Tutorial AdventNet, Inc. 3eBON EMS Tutorial eBON Element Management System AdventNet Web NMS Tutorial Version 1.0 A simple

AdventNet WebNMS 5 :: eBON Tutorial

AdventNet, Inc. 89

Managed Object Description The application is built for a device, which has been populated as a ManagedObject in Web NMS Database with the following Properties.

• ManagedObject Name: DSlam1

• No. of Slots in theDevice: 6. The names of the Slots follow the pattern Dslam1_Slot<n>, where “n” takes the value from 1 to 6.

• No. of Card Types in the Device: 2 (CPUCard and ATMCard) Before creating the chassis application, you must know how the MOs are populated in the Web NMS database. Therfore, make a SQL query from the Web NMS database using the mysql commands given below: mysql>select name,parentkey, type from ManagedObject where name like "%DSlam1%"; where the DSlam1 is the MO name of the chassis device you have populated. You shall get the query result similar to the table given below

name parentkey name

IF-DSlam1 DSlam1 DSlam1_Slot1 DSlam1_Slot2 DSlam1_Slot3 DSlam1_Slot4 DSlam1_Slot5 DSlam1_Slot6 DSlam1_Slot1_Card11 DSlam1_Slot2_Card21 DSlam1_Slot3_Card32 DSlam1_Slot4_Card42 DSlam1_Slot5_Card51 DSlam1_Slot6_Card62 DSlam1_Slot1_Card11_Port1 DSlam1_Slot1_Card11_Port2 DSlam1_Slot2_Card21_Port1 DSlam1_Slot2_Card21_Port2 DSlam1_Slot3_Card32_Port1 DSlam1_Slot3_Card32_Port2 DSlam1_Slot4_Card42_Port1 DSlam1_Slot4_Card42_Port2 DSlam1_Slot5_Card51_Port1 DSlam1_Slot5_Card51_Port2 DSlam1_Slot6_Card62_Port1 DSlam1_Slot6_Card62_Port2 DslamConnection_DSlam1_Dslam2 DslamConnection_DSlam3_Dslam1 DslamConnection_DSlam4_Dslam1

NULL NULL DSlam1 DSlam1 DSlam1 DSlam1 DSlam1 DSlam1 DSlam1_Slot1 DSlam1_Slot2 DSlam1_Slot3 DSlam1_Slot4 DSlam1_Slot5 DSlam1_Slot6 DSlam1_Slot1_Card11 DSlam1_Slot1_Card11 DSlam1_Slot2_Card21 DSlam1_Slot2_Card21 DSlam1_Slot3_Card32 DSlam1_Slot3_Card32 DSlam1_Slot4_Card42 DSlam1_Slot4_Card42 DSlam1_Slot5_Card51 DSlam1_Slot5_Card51 DSlam1_Slot6_Card62 DSlam1_Slot6_Card62 NULL NULL NULL

Interface DslamDevice DslamSlot DslamSlot DslamSlot DslamSlot DslamSlot DslamSlot CPUcard CPUcard ATMCard ATMCard CPUcard ATMCard Port Port Port Port Port Port Port Port Port Port Port Port DslamConnection DslamConnection DslamConnection

Device Description To build the dynamic chassis application for the device DSlam1, you have to build the chassis project with the following parameters:

Page 91: AdventNet WebNMS 5 :: eBON TutorialAdventNet WebNMS 5 :: eBON Tutorial AdventNet, Inc. 3eBON EMS Tutorial eBON Element Management System AdventNet Web NMS Tutorial Version 1.0 A simple

AdventNet WebNMS 5 :: eBON Tutorial

AdventNet, Inc. 90

• Number of Shelves: 1

• Number of Slots: 6

• Number of Card Types: 3 Since, the position of cards in the slots is subject to change, the project is built as Dynamic chassis.

Note: The Managed Objects in Web NMS Database are populated by discovery of the devices based on the criterion in Discovery Filter. The Chassis Application created for these Managed Objects is Dynamic Chassis, because the card screen panels are fitted in slot holder panels based on the Managed Objects in the Web NMS Database.

Opening the Chassis Wizard Open the AdventNet Chassis Wizard using the file startChassisWizard.bat/sh present in the <Client Builder Home>/bin directory. The <Client Builder Home> is the ClientBuilder directory present under <Web NMS Home>/StudioTools directory. Creating the Chassis Project

• Select File-->New-->Project to invoke the New Project Details dialog to create a new chassis project.

• Provide the Project Name field with the value eBonChassis if it does not exist.

• Provide the Package Name field with the value com.adventnet.ebon.chassis.

• Ensure the Dynamic radio button is selected for the Chassis Type, since you are constructing chassis project for Managed Objects in Web NMS Database.

• Select the MO radio button for the Chassis Construct From field.

• Click OK button to create the project in the projects directory under the <Client Builder Home> directory. You can find a project named ebonChassis in the chassis project tree.

Note: The eBonChassis project built using the steps mentioned in this tutorial exists by default (under <Client Builder Home>/projects). You can open the existing eBonChassis project and package it as a NAR and proceed. Otherwise, you must back up the existing eBonChassis project into some other directory and create a new eBonChassis project following the steps given above. Or you may create a project with different name and follow the steps given to create the project.

Configuring the Web NMS Host in Servers UI

• Invoke the Server Tool with the Tools-->Servers or using the Launcher.

• Select the Management Server from the list and click Properties button on the right-hand side to invoke the Servers Properties List Dialog.

• Select the first option WebNMS_Server_HOST and assign it with the host name in which the Web NMS is running. By default it is None and so the entry is WebNMS_Server_HOST = None. For Example, WebNMS_Server_HOST = test2 means the Web NMS is running in host machine test2.

• Click OK button to close the Servers Properties list dialog.

• Restart the Management Server using the Stop and Start buttons. Get back to Chassis Wizard and follow the steps given below.

Page 92: AdventNet WebNMS 5 :: eBON TutorialAdventNet WebNMS 5 :: eBON Tutorial AdventNet, Inc. 3eBON EMS Tutorial eBON Element Management System AdventNet Web NMS Tutorial Version 1.0 A simple

AdventNet WebNMS 5 :: eBON Tutorial

AdventNet, Inc. 91

Steps Involved in Building the Chassis Project

The following steps are involved in building the chassis project, packaging the chassis project as NAR and importing the NAR in Web NMS Eclipse Plugin eBON_user project as Client NAR. (Click the links to proceed to the respective topics).

• Designing Main Screen

• Designing Shelf Screen o Designing CPU Card Screen o Designing ATM Card Screen

• Chassis Configuration

• Compiling and Packaging the Application

Page 93: AdventNet WebNMS 5 :: eBON TutorialAdventNet WebNMS 5 :: eBON Tutorial AdventNet, Inc. 3eBON EMS Tutorial eBON Element Management System AdventNet Web NMS Tutorial Version 1.0 A simple

AdventNet WebNMS 5 :: eBON Tutorial

AdventNet, Inc. 92

9.2.1 Designing Main Screen The main screen of the chassis application holds the shelf panels. The shelf panels contains the slot holder panels and each slot holder panel holds a card screen panel. The designing of main screen is done in the chassis main screen of the chassis project tree, which is invoked on the right-side, on clicking the "Main Screen" node in chassis project tree. In this screen, you should provide the information whether the Shelf and Slot are modeled in the Web NMS Database. You should also provide the "Card Type Property Name" with which the chassis application recognize the card types for each card populated in Web NMS Database. Follow the steps given below to design the main screen. Initial Settings

• Click the Main Screen Node of the "eBonChassis" Project Tree. Change the build type of the Main Screen to "NMS Frame" using the menu command Built-->Type-->NMS Frame.

Providing Shelf Parameters 1. In the right-hand side, you can find the Main Screen Parameter Panel, Provide the values

"Number of Shelves"=1 and "Number of Distinct Shelf Types"=1 respectively in the Main Screen Parameter Panel.

2. Configure the Screen Size with Width=500 and Height=600 using the respective fields under "Screen Size". Follow the topic Main Screen Parameter Panel in Chassis Wizard help for explanation and usage.

Providing Managed Object Details

1. Invoke the "Managed Object Properties" dialog using the 'Settings' button next to the Protocol Properties field which invokes the Managed Object Properties Wizard.

2. Check the "Is Slot Modeled" check box and uncheck "Is Shelf Modeled" check box in the first screen of MO Properties Wizard. Because the Slot is modeled in the Database, Shelf is not modeled.

3. Retain the value 'type' for the Card type Property Name field, because type column is queried from WebNMSDB table of Web NMS Database.

4. Click Next to proceed to the final screen of the ChassisMOWizard. Here you can select extra properties, if required. For this project, extra properties are not required.

5. Click Finish to close the MO Properties Wizard.

Designing and Laying out the Components

1. Provide the background image for chassis main screen ('eBonChassis' screen) with 'eBonChassis.png' in the images folder under the <Client Builder Home>. Follow the steps given below to set the background image:

• Double-click the main screen’s Draw area to invoke the Property Form.

• Select the backgroundImage property, click the 'Click to edit..' button adjacent to the property to invoke a dialog with the message 'Specify the Image File Name'.

• Click browse button to invoke the file chooser, select the 'All Files (*.*)' from the 'Files of type:' combo box.

• Select 'eBonChassis.png' from the list and click Open.

• Click OK to close the dialog invoked from Property Form.

• Close the Property Form using Close.

Page 94: AdventNet WebNMS 5 :: eBON TutorialAdventNet WebNMS 5 :: eBON Tutorial AdventNet, Inc. 3eBON EMS Tutorial eBON Element Management System AdventNet Web NMS Tutorial Version 1.0 A simple

AdventNet WebNMS 5 :: eBON Tutorial

AdventNet, Inc. 93

2. Change the layout of the Main Screen to 'GridBag Layout' by right clicking the draw area to invoke the screen popup menu and select Layouts-->GridBag Layout, so that you can size the 'Shelf1' panel in which the slot holders are present.

3. To resize the "Shelf1" panel, invoke the GridBag Layout Customizer by right clicking the draw area to invoke the screen popup menu and select Layout Properties menu item.

4. In the GridBag Layout Customizer, provide the values for each field as given below:

• GridX = 0

• GridY = 0

• GridWidth=1

• GridHeight=1

• Fill = BOTH (from combo box)

• Anchor = CENTER (from combo box)

• IPadX = 0

• IPadY = 0

• WeightX = 0.1

• WeightY = 0.1

• Insets = 100, 20, 70, 20. The design of Main Screen for the "eBonChassis" project is complete.

Page 95: AdventNet WebNMS 5 :: eBON TutorialAdventNet WebNMS 5 :: eBON Tutorial AdventNet, Inc. 3eBON EMS Tutorial eBON Element Management System AdventNet Web NMS Tutorial Version 1.0 A simple

AdventNet WebNMS 5 :: eBON Tutorial

AdventNet, Inc. 94

9.2.2 Designing Shelf Screen The Shelf Screen in Chassis Wizard is to design and arrange the slot holder panels as required. The slot holder panels hold the card screens at run time. In the Main Screen, you have created a shelf type(ShelfType_1) and a shelf ("Shelf1" panel in the Main Screen). So the Shelf1 is of the type ShelfType_1 . In this topic, you shall design the shelf screen "ShelfType_1" that contains 6 slots arranged Vertically in "Grid Layout" and the three card type screens. Follow the steps given below to design the Shelf Screen.

1. Switch to Shelf Screen Parameter Panel by clicking the "ShelfType_1" node in the chassis tree.

2. Provide No. of Slots=6 and No. of Card Types=3 respectively in the Shelf Screen Parameter panel.

3. Configure the Screen Size with Width=508 and Height=410 using the respective fields under "Screen Size".

4. Change the layout of the Draw Area to "Grid Layout" by right clicking the draw area to invoke the screen pop-up menu and select Layouts-->Grid Layout. This is to arrange the slot holder panels in uniform width with appropriate spacing.

5. You can find the slots holder panels numbered from 1 to 6 are placed in the Shelf Screen, Ensure that they are in the ascending order by drag and dropping the cards in respective positions. Thus, you have designed the "ShelfType_1" Screen for the "eBonChassis" project.

6. Save the Project using the menu command File-->Save-->Project.

Designing Card Screens You can find the three card type screens under the Shelf_Type1 screen, namely Card_1, Card_2, and Card_3. Rename these cards as CPUCard, ATMCard and BlankCard respectively. To rename a card screen, double-click the screen node so that the node will be editable. Provide the new name and press "Enter" key. The description for each card type screen is given below. CPUCard Screen: The "CPUCard" screen is to represent the CPUCard present in the DSLAM device. This card contains port components and a Status Icon bean component. Follow the topic Designing CPU Card for steps to design the "CPU" Card for explanation. ATMCard Screen: The "ATMCard" screen is to represent the ATMCard present in the DSLAM device. This card contains port components and a Status Icon bean component. Follow the topic Designing ATM Card for steps to design the "ATM" Card for explanation. BlankCard Screen: The "BlankCard" screen is to represent the blank slots at run time. Because, it is blank card there is no need to design the screen. You must ensure that the size of the “BlankCard” screen is with the Width=75 and Height=400 which is card size of other card screens. The design of "ShelfType_1" screen of the "eBonChassis" project is complete.

Page 96: AdventNet WebNMS 5 :: eBON TutorialAdventNet WebNMS 5 :: eBON Tutorial AdventNet, Inc. 3eBON EMS Tutorial eBON Element Management System AdventNet Web NMS Tutorial Version 1.0 A simple

AdventNet WebNMS 5 :: eBON Tutorial

AdventNet, Inc. 95

9.2.3 Designing CPU Card You have learnt the purpose of "CPUCard" screen in the Designing Shelf Screen topic. This card will be held by the Slot Holder panels present in the Shelf Screen at run time if the Web NMS Database has the card MO of the type property "CPUCard". In this topic, you will learn to design the "CPUCard" screen with port components and a Status Icon bean components. Follow the steps given below to design the "CPUCard" screen.

Providing Port and Card Parameters

• Provide the "Number of Distinct Port Types"=1 and "Number. of Ports"=2 in the Card Screen Parameter Panel of the "CPUCard" screen . For explanation on usage, follow the topic Using Card Screen Parameter Panel in Chassis Wizard Documentation.

• Configure the screen size with the value "Width"=75 and "Height"=400 (in pixels).

• Provide the background image by double-clicking 'CPUCard' screen draw area to invoke the Property Form. In the "backgroundImage" property, select the " eboncpucard.png" in the images folder under the <Client Builder Home>.

Providing Protocol Intelligence for Port Type 1. Expand the "CPUCard" node to find a port node named "Port_0". 2. Right-click the Port_0 node to get the Port Pop-up menu. Select the Modify menu item from

the Pop-up to invoke Port Configuration dialog. 3. Browse and select the "eboncpuport.png" for the property "Image File" in the "Component

Properties". The image file can be found in images directory under <Client Builder Home> directory.

4. Switch to "Protocol Properties" tab and change the "Polling Type" to Periodic. 5. Load the com.adventnet.ebon.chassis.Port .xml device information file available in the

<Client Builder Home>/mibs directory with following steps.

o Click the load XML/MIB button to invoke the Load XML/MIB dialog. o Select the file type 'Managed Object (*.class)' from the 'File Type' combo box. o Select the com.adventnet.ebon.chassis.Port .xml from the <Client Builder

Home>/mibs directory using the Browse button. o Click OK button to close the dialog.

6. Select "status" node of the com.adventnet.ebon.chassis.Port .xml under the "properties" node.

7. Click the show button to select the result method. From 'Result Method' list, select 'setIconResult' with the 'Prototype' 'public void setIconResult( String)'

8. Click OK to close the Port Configuration dialog. In the Card Screen's Draw Area, you can find the Port components 'Port1' and 'Port2'.

9. Right-click the "Port1" port component to get the Bean Pop-up menu. Select the Protocol Property Form-->Client_Port11 (the client property instance) from the Pop-up to invoke Client Property dialog. In the Client Property dialog all the field are inaccessible except the Index/Key field.

10. Provide the value "currentManagedObjectName + "_Port1" in the Index/Key field, because the Port's MO name is suffixed with the Card name. Click OK to close the Client Property dialog.

11. Repeat the above steps 9 and 10 for the “Port2” to provide the index value "currentManagedObjectName + "_Port2".

Page 97: AdventNet WebNMS 5 :: eBON TutorialAdventNet WebNMS 5 :: eBON Tutorial AdventNet, Inc. 3eBON EMS Tutorial eBON Element Management System AdventNet Web NMS Tutorial Version 1.0 A simple

AdventNet WebNMS 5 :: eBON Tutorial

AdventNet, Inc. 96

Dropping Status Icon Bean and Configuring Protocol Intelligence • Click and drop a StatusIcon bean from AdventNetUI.jar tab of Beans Palette in the Draw

Area.

• Right-click the StatusIcon bean to get the Bean Pop-up menu. Select the Protocol Property Form --> New Client Property from the Pop-up to invoke Client Property dialog.

• Load the com.adventnet.ebon.chassis.CPUCard.xml using the load XML/MIB button .

• Expand the tree and move the "status" node of the com.adventnet.ebon.chassis.CPUCard.xml under the "properties" node to Selected nodes list. This is to display the status of the Card.

• Select the "User Code" radio button and insert the following code in the Code Area.

StatusIcon1.setIconResult(status); StatusIcon1.setToolTipText(status);

• Click OK to close the Client Property dialog.

• Double-click the StatusIcon bean to invoke the Property Form.

• Select the Image Icon property and select the 'ebonstatus.png' from the images directory

under <Client Builder Home> directory using the browse button . Close the Property Form using Close.

• Arrange the components in 'CPUCard' screen by providing the bounds property in the Property Form of each bean component as given in the table below

Bean Component Bounds

StatusIcon1 15,45,35,20 Port1 20,120,25,30 Port2 20,215,25,30

The design of "CPUCard" screen is complete.

Page 98: AdventNet WebNMS 5 :: eBON TutorialAdventNet WebNMS 5 :: eBON Tutorial AdventNet, Inc. 3eBON EMS Tutorial eBON Element Management System AdventNet Web NMS Tutorial Version 1.0 A simple

AdventNet WebNMS 5 :: eBON Tutorial

AdventNet, Inc. 97

9.2.4 Designing ATM Card You have learnt the purpose of "ATMCard" screen in the Designing Shelf Screen topic. This card will be held by the Slot Holder panels present in the Shelf Screen at run time if the Web NMS Database has the card MO of the type property "ATMCard". In this topic, you will learn to design the "ATMCard" screen with port components and a Status Icon bean components. Follow the steps given below to design the "ATMCard" screen.

Providing Port and Card Parameters

1. Provide the "Number of Distinct Port Types"=1 and "Number. of Ports"=2 in the Card Screen Parameter Panel of the "ATMCard" screen . For explanation on usage, follow the topic Using Card Screen Parameter Panel in Chassis Wizard Help.

2. Configure the screen size with the value "Width"=75 and "Height"=400 (in pixels). 3. Provide the background image by double-clicking 'ATMCard' screen draw area to invoke the

Property Form. In the "backgroundImage" property, select the " ebonatmcard.png" in the images folder under the <Client Builder Home>.

Providing Protocol Intelligence for Port Type 1. Expand the "ATMCard" node to find a port node named "Port_0". 2. Right-click the Port_0 node to get the Port Pop-up menu. Select the Modify menu item from

the Pop-up to invoke Port Configuration dialog. 3. Browse and select the "ebonatmport.png" for the property "Image File" in the "Component

Properties". The image file can be found in images directory under <Client Builder Home> directory.

4. Switch to "Protocol Properties" tab and change the "Polling Type" to Periodic. 5. Load the com.adventnet.ebon.chassis.Port .xml device information file available in the

<Client Builder Home>/mibs directory with following steps.

o Click the load XML/MIB button to invoke the Load XML/MIB dialog. o Select the file type 'Managed Object (*.class)' from the 'File Type' combo box. o Select the com.adventnet.ebon.chassis.Port .xml from the <Client Builder

Home>/mibs directory using the Browse button. o Click OK button to close the dialog.

6. Select "status" node of the com.adventnet.ebon.chassis.Port .xml under the "properties" node.

7. Click the show button to select the result method. From 'Result Method' list select 'setIconResult' with the 'Prototype' 'public void setIconResult( String)'.

8. Click OK to close the Port Configuration dialog. In the Card Screen's Draw Area, you can find the Port components 'Port1' and 'Port2'.

9. Right-click the 'Port1' port component to get the Bean pop-up menu. Select the Protocol Property Form-->Client_Port11 (the client property instance) from the Pop-up to invoke Client Property dialog. In the Client Property dialog, all the fields are inaccessible except the Index/Key field.

10. Provide the value currentManagedObjectName + "_Port1" in the Index/Key field, because the Port's MO name is suffixed with the Card name. Click OK to close the Client Property dialog.

11. Repeat the above steps 9 and 10 for the “Port2” to provide the index value currentManagedObjectName + "_Port2".

Page 99: AdventNet WebNMS 5 :: eBON TutorialAdventNet WebNMS 5 :: eBON Tutorial AdventNet, Inc. 3eBON EMS Tutorial eBON Element Management System AdventNet Web NMS Tutorial Version 1.0 A simple

AdventNet WebNMS 5 :: eBON Tutorial

AdventNet, Inc. 98

Dropping Status Icon Bean and Configuring Protocol Intelligence 1. Click and drop a StatusIcon bean from AdventNetUI.jar tab of Beans Palette in the Draw

Area. 2. Right-click the StatusIcon bean to get the Bean Pop-up menu. Select the Protocol Property

Form --> New Client Property from the pop-up menu to invoke Client Property dialog. 3. Load the com.adventnet.ebon.chassis.ATMCard.xml using the load XML/MIB button . 4. Expand the tree and move the "status" node of the

com.adventnet.ebon.chassis.ATMCard.xml under the "properties" node to Selected nodes list. This is to display the status of the Card.

5. Select the "User Code" radio button and insert the following code in the Code Area.

StatusIcon1.setIconResult(status); StatusIcon1.setToolTipText(status);

6. Click OK to close the Client Property dialog. 7. Double-click the StatusIcon bean to invoke the Property Form. 8. Select the Image Icon property and select the 'ebonstatus.png' from the images under

<Client Builder Home> using the browse button . Close the Property Form using Close. 9. Arrange the components in 'ATMCard' screen by providing the bounds property in the

Property Form of each bean component as given in the table below

Bean Component Bounds StatusIcon1 15,45,35,20 Port1 20,120,25,30 Port2 20,215,25,30

The design of "ATMCard" screen is complete.

Page 100: AdventNet WebNMS 5 :: eBON TutorialAdventNet WebNMS 5 :: eBON Tutorial AdventNet, Inc. 3eBON EMS Tutorial eBON Element Management System AdventNet Web NMS Tutorial Version 1.0 A simple

AdventNet WebNMS 5 :: eBON Tutorial

AdventNet, Inc. 99

9.2.5 Chassis Configuration In the Chassis Configuration Screen, you have to provide the details for the 'Shelf_Type1' and 'Shelf Identification Name' in Chassis Configuration table, 'Slot Identification Name' in the Shelf Configuration table, and 'Card Value' in the Card Configuration table. You can also configure the default card type for each slot using the "Default Type" column in Shelf Configuration table and set the default type as "BlankCard".

Chassis Configuration Table Ensure cell under the Shelf Identification Name for "Shelf1" and the value is set to currentManagedObjectName (by default as in the above figure). Since the shelf name in the Web NMS database is referred with its respective Parent MO. Shelf Configuration Table Ensure following parameters are set for the respective slots in the Shelf Configuration Table as listed in the table below (refer to the above figure)

Slot Default Type Slot Identification Name

Slot1 currentManagedObjectName + "_Slot1"

Slot2

BlankCard

currentManagedObjectName + "_Slot2"

Page 101: AdventNet WebNMS 5 :: eBON TutorialAdventNet WebNMS 5 :: eBON Tutorial AdventNet, Inc. 3eBON EMS Tutorial eBON Element Management System AdventNet Web NMS Tutorial Version 1.0 A simple

AdventNet WebNMS 5 :: eBON Tutorial

AdventNet, Inc. 100

Slot Default Type Slot Identification Name

Slot3 currentManagedObjectName + "_Slot3"

Slot4 currentManagedObjectName + "_Slot4"

Slot5 currentManagedObjectName + "_Slot5"

Slot6

currentManagedObjectName + "_Slot6"

Card Configuration Table

In Card Configuration Table, provide the values for each card type screen as given in the table below (also refer to the above figure). This is done by double-clicking the editable combo box against each card and entering the respective card value.

Card Type Screen Name Card Value

CPUCard CPUCard ATMCard ATMCard BlankCard 0

Note: The correct card values should be provided as in the Web NMS Database, because the incorrect card values will not poll the cards in slots.

Save the Project using the menu command File-->Save-->Project.

Page 102: AdventNet WebNMS 5 :: eBON TutorialAdventNet WebNMS 5 :: eBON Tutorial AdventNet, Inc. 3eBON EMS Tutorial eBON Element Management System AdventNet Web NMS Tutorial Version 1.0 A simple

AdventNet WebNMS 5 :: eBON Tutorial

AdventNet, Inc. 101

9.2.6 Compiling and Packaging the Application

The Packaging of applications built using Client Builder to NAR (NMS ARchive) is done using the Package Wizard. After NAR is created, NAR is imported into Eclipse Plugin (using Client Application Import Wizard). Before packaging the chassis application to NAR, you must compile the project. Follow the steps given below to compile the project:

Compiling the Project

• Ensure that the "NmsClientClasses.jar" is in the CLASSPATH for proper compilation. You can verify this in the "Required Jars" combo box present in the Classpath Settings tab of Project Properties dialog (invoked using menu command Properties --> Project Properties)

• Regenerate the Project using the menu command Project-->Regenerate Project.

• Compile the Project using the menu command Project-->Compile Project. You will get the message "Compilation succeeded for eBonChassis" in status bar.

Packaging the Project Using Package Wizard • Invoke the Package Wizard for creating the Device Specific NAR using the menu command

Tools-->Package for Web NMS-->Device Specific.

• Select the value "com.adventnet.ebon.chassis.eBonChassis" from the Classes list and click "Next" to proceed to next screen.

• Choose the required destination directory where the NAR has to be created using the browse

button . Click Next to proceed to next screen.

• Provide the corresponding device type that of the device host such as "DslamDevice" in the "Device Type" field. Click Next to proceed to next screen.

• Ensure the required resources (images, XML files, etc.) are listed in the "DESTINATION DIRECTORY".

• Select the ebonatmport.png, eboncpuport.png, and ebonstatus.png from <Client Builder Home>/images and add them to the List with destination directory as "./images" (default value).

• Click "Next" to proceed to final screen of the Package Wizard.

• Select the "ManagedObjectName" value from the Parameter list and provide the value "${name}" in the "Value" text field. Click Modify to change the values in the list. This is to provide the Manage Object Name that dynamically changes depending on the Map node (the application is invoked from the Map node) in Web NMS Client.

• Click Finish to close the Package Wizard to get the confirmation dialog with the message "ebonChassis.nar" created successfully at <specified location>.

Integrating the Chassis NAR into Eclipse Plugin • Select the project in the Package Explorer.

• Select WebNMS > Import Client Nar menu. Client Application Import Wizard" screen pops up.

Page 103: AdventNet WebNMS 5 :: eBON TutorialAdventNet WebNMS 5 :: eBON Tutorial AdventNet, Inc. 3eBON EMS Tutorial eBON Element Management System AdventNet Web NMS Tutorial Version 1.0 A simple

AdventNet WebNMS 5 :: eBON Tutorial

AdventNet, Inc. 102

• In the Client Application Import Wizard screen, Select the eBonChassis.nar from <Web NMS Home>/StudioTools/ClientBuilder/projects/EMS_Configuration directory using the Browse button

• Click Next button to view the Users Information page.

• In the " Users Information" page , select the users for whom the Nar has to be installed.

• Click Next button to view the Menu Details page.

• In the "Menu Details" screen configure the Map Menu details. Enter Map Menu File , Menu Item name and the name of the Map Icon File. Provide Menu Name as 'snmpmenu', Menu Item Name as 'View Chassis', and Image for the Map as 'switch.png'.

• In the "Menu Details" screen configure the Map Menu details. Enter Map Menu File , Menu Item name and the name of the Map Icon File. Enter Menu Name as DslamMenu (this is the new DslamMenu.xml menu file that we will create as part of this application. This menu should be placed in the <Ebon EMS Project>/resources/mapdata/menus directory) and Menu Item Name as ChassisView

• Similarly configure the List Menu Informations.

• Click Finish button.

The <Nar File and Xml File (which contains the details that were entered in the wizard) > will be found under <Your Project>/ resources/NetMonitor/build in the Project Explorer window The Image Files will be copied to the <your project>/ resources/images directory in the Project Explorer window.

Page 104: AdventNet WebNMS 5 :: eBON TutorialAdventNet WebNMS 5 :: eBON Tutorial AdventNet, Inc. 3eBON EMS Tutorial eBON Element Management System AdventNet Web NMS Tutorial Version 1.0 A simple

AdventNet WebNMS 5 :: eBON Tutorial

AdventNet, Inc. 103

9.3 Building Configuration Application The Configuration Management of the Network Elements is an integral part of the Element Management Application. In this section, you learn to build Configuration Application for configuring the card details using Configuration Wizard. The Application built using Configuration Wizard is packaged as NAR (NMS ARchive) and imported in Web NMS EclipsePlugin. The Configuration Application is invoked from the Web NMS Client by right-clicking DSLAM Device map node and selecting the menu item Configure Device. The application invoked from the DSLAM Device map node is shown in the figure given below.

Final Output

To learn the basics on using Configuration Wizard, refer to the following topic available.

• Building Configuration Management Applications

Opening Configuration Wizard

Open the AdventNet Configuration Wizard using the file startConfigurationWizard.bat/sh present in the <Client Builder Home>/bin directory. The <Client Builder Home> is the ClientBuilder directory present under <Web NMS Home>/StudioTools directory.

Creating the Project and Loading Device Information

• Select File-->New-->Project to invoke the "Project Details" dialog to create a new configuration project.

• Provide the "Project Name" field with the value "ebonConfig" if it does not exist.

Page 105: AdventNet WebNMS 5 :: eBON TutorialAdventNet WebNMS 5 :: eBON Tutorial AdventNet, Inc. 3eBON EMS Tutorial eBON Element Management System AdventNet Web NMS Tutorial Version 1.0 A simple

AdventNet WebNMS 5 :: eBON Tutorial

AdventNet, Inc. 104

• Provide the "Package Name" field with the value "com.adventnet.ebon.ems". • Click OK to create the project in the projects folder under the <Client Builder Home>. You can

find the project named "ebonConfig" in the project tree.

• Load the Dslam-MIB under the <Client Builder Home>/mibs directory using the load XML/MIB button . Similarly load the RFC1213-MIB.

Note: The eBonConfig project built using the steps mentioned in this tutorial exists by default (under <Client Builder Home>/projects). You can open the existing eBonConfig project and package it as a NAR and proceed. Otherwise, you must back up the existing eBonConfig project into some other directory and create a new eBonConfig project following the steps given above. Or you may create a project with different name and follow the steps given to create the project.

Steps Involved in Building Project and Packaging the Application

The steps involved in building the Configuration Management Application, Packaging the Application as NAR, and importing the NAR into Web NMS Eclipse Plugin are given below.

• Designing Panels for Main Screen o Scalar Set Refresh Screen o Columnar Set Refresh Screen

• Designing Main Screen

• Packaging the Application

Page 106: AdventNet WebNMS 5 :: eBON TutorialAdventNet WebNMS 5 :: eBON Tutorial AdventNet, Inc. 3eBON EMS Tutorial eBON Element Management System AdventNet Web NMS Tutorial Version 1.0 A simple

AdventNet WebNMS 5 :: eBON Tutorial

AdventNet, Inc. 105

9.3.1 Designing Panels for Main Screen The main screen contains a split pane with Scalar Set Refresh Screen in the left side and Columnar Set Refresh Screen in the right side. In this topic, you will learn to design the Scalar Set Refresh Screen and Columnar Set Refresh Screen. These panels will be integrated in the main screen later.

Creating the SaveLoadScreen

• Create a new screen using the menu command File-->New-->Screen. This invokes the Screen Builder wizard.

• Select the 'Build Type' as Dialog and click Next to proceed to next screen.

• Select the 'Screen Template' as Blank Screen and click Next to proceed to the next screen.

• Provide the name as SaveLoadScreen and the appropriate title in the respective text boxes and click the Finish button.

• Select the SwingBeans.list tab from the available list.

• Drop a JLabel bean in the draw area.

• Double click the JLabel. In the property form that is displayed enter the text value as Enter the File Name.

• Drop a JTextField bean in the draw area below the Jlabel.

• Double click the JTextField. In the property form that is displayed enter the text value as ConfigTask and the instance name as destFile.

• Drop two JButtons adjacent to the Label and Textbox.

• Double click the first JButton. In the property form that is displayed enter the label value as OK and the instance name as okBtn.

• Double click the second JButton. In the property form that is displayed enter the label value as Cancel and the instance name as cancel.

• Right-click on the screen's draw area and select Layout -> Grid Bag Layout • Right-click on the screen's draw area and select Layout Properties

• GridBagLayout Customizer dialog will be displayed.

• Click on Jlabel1 in the 'GridBagLayout Customizer' and set the following properties. GridX : 0, GridY : 0, Fill : BOTH, Anchor : SOUTH, Insets : 5, 5, 5, 5

• Click on destFile in the 'GridBagLayout Customizer' and set the following properties. GridX : 0, GridY : 1, Fill : BOTH, Anchor : WEST, WeightX : 0.1, Insets : 5, 5, 5, 5

• Click on okBtn in the 'GridBagLayout Customizer' and set the following properties. GridX : 1, GridY : 0, Fill : NONE, Anchor : CENTER, Insets : 5, 5, 5, 5

• Click on cancel in the 'GridBagLayout Customizer' and set the following properties. GridX : 1, GridY : 1, Fill : NONE, Anchor : CENTER, Insets : 5, 5, 5, 5

• Click on Apply button and then on OK button

• Resize the screen to the desired length and width.

• Right click the Cancel button. Select Interaction Wizard from the popup menu. Select action > actionPerformed. And drop the line in the Cancel button itself. The interaction wizard for cancel_cancel_conn is displayed.

• Click Next in this screen and the subsequent two screens.

• In the Listener method : actionPerformed user code area add the following code : o public void actionPerformed( java.awt.event.ActionEvent arg0)

Page 107: AdventNet WebNMS 5 :: eBON TutorialAdventNet WebNMS 5 :: eBON Tutorial AdventNet, Inc. 3eBON EMS Tutorial eBON Element Management System AdventNet Web NMS Tutorial Version 1.0 A simple

AdventNet WebNMS 5 :: eBON Tutorial

AdventNet, Inc. 106

{ SaveLoadScreen.this.cancelCalled = true; SaveLoadScreen.this.setVisible(false); }

• Click the Finish button to complete the wizard.

• Right click the OK button. Select Interaction Wizard from the popup menu. Select action > actionPerformed. And drop the line in the OK button itself. The interaction wizard for okBtn_okBtn_conn is displayed.

• Click Next in this screen and the subsequent two screens.

• In the Listener method : actionPerformed user code area add the following code : o public void actionPerformed( java.awt.event.ActionEvent arg0)

{ if(destFile.getText().trim().equals("")) { javax.swing.JOptionPane.showMessageDialog(null,"Please Enter the Task File Name","Alert",javax.swing.JOptionPane.ERROR_MESSAGE); return; } if(mode != null && mode.trim().equals("load")) { java.io.File f = new java.io.File("." + File.separator + "configtasks" +File.separator + "User" + File.separator + destFile.getText() + ".xml"); if(!f.exists()) { javax.swing.JOptionPane.showMessageDialog(null,"Cannot Load informations, The Task file " + f.toString() + " does not exist","Alert",javax.swing.JOptionPane.ERROR_MESSAGE); return; } } setTaskFile(destFile.getText()); SaveLoadScreen.this.setVisible(false); }

Note: If required, you can view the code in the SaveLoadScreen in the sample eBon project. In the "Project Tree" pane, select "SaveLoadScreen". Select the "Component" tab. Expand the "Connections" node and double-click on each of the connections to view the code area for the cancel button and the ok button.

• Click on the Source tab present at the bottom of the screen. Source code of the screen will be displayed. Paste the code given below in bold letters. Paste the code below the global declaration as done below.

Page 108: AdventNet WebNMS 5 :: eBON TutorialAdventNet WebNMS 5 :: eBON Tutorial AdventNet, Inc. 3eBON EMS Tutorial eBON Element Management System AdventNet Web NMS Tutorial Version 1.0 A simple

AdventNet WebNMS 5 :: eBON Tutorial

AdventNet, Inc. 107

public class SaveLoadScreen extends JDialog implements com.adventnet.apiutils.ParameterChangeListener { //<Begin_Variable_Declarations> private boolean initialized = false; private java.applet.Applet applet = null; ... //<End_Variable_Declarations> boolean cancelCalled = false; private String taskFile = null; private String mode = null; public SaveLoadScreen(String mode) { this.mode = mode; pack(); } public String getTaskFile() { return taskFile; } public void setTaskFile(String str) { taskFile = str; }

...

• Save the screen and compile the screen using the menu command Build-->Compile.

Creating the Scalar Set Refresh • Create a new screen using the menu command File-->New-->Screen. This invokes the

Screen Builder wizard.

• Select the 'Build Type' as 'Panel' and click Next to proceed to next screen.

• Select the 'Screen Template' as 'Scalar Set Refresh' and click Next to proceed to next screen.

• Select the scalar attributes, namely 'cardDesc' and 'cardVersion' found under the following node in the XML tree and click Next.

DSLAMModule-->org-->dod->internet-->private->enterprises-->adventnet-->switch-->dslamsystem-->dslamCardInfo

• Provide the 'Screen Title' as 'Scalar Set Screen' and 'Screen Name' as 'ScalarSetScreen'. Change the display name of the selected node 'cardDesc' as 'cardDescription' and click Next.

• Click Finish to create the screen. A new node named 'ScalarSetScreen' is created in the project tree.

• Delete the Refresh button.

• Click and drop JButton bean in JPanel2 from SwingBeans.list tab of Beans Palette.

• Change the following properties of the JButton using the Property Form.

Property Value InstanceName saveBtn

horizontalAlignment CENTER icon save.png under <Client Builder

Home>/images text Save

Page 109: AdventNet WebNMS 5 :: eBON TutorialAdventNet WebNMS 5 :: eBON Tutorial AdventNet, Inc. 3eBON EMS Tutorial eBON Element Management System AdventNet Web NMS Tutorial Version 1.0 A simple

AdventNet WebNMS 5 :: eBON Tutorial

AdventNet, Inc. 108

• Right-click Save button. Select InteractionWizard-->action-->actionPerformed from the menu displayed. Drop the rubber band line in the Save button itself to invoke the Interaction Wizard.

• Select the 'Create New Connection class' radio button. Click Next button.

• Click on 'Save Configuration Task/Profile' radio button. Click Next button twice. There will be a TextField with File Name as label.

• Type 'ConfigSave' in the File Name text field. Click 'Next' button three times.

• Delete the below code present inside the actionPerformed method. //Begin_SaveConfigurationProfile try { addGroupsToSave(null); saveConfigurationInformation(); } catch(java.lang.Exception ex) { ex.printStackTrace(); } //End_SaveConfigurationProfile

• Provide the following user code under actionPerformed() method and click Finish to close the wizard.

String taskName = null; SaveLoadScreen scr = new SaveLoadScreen(); scr.setModal(true); Dimension dim = Toolkit.getDefaultToolkit().getScreenSize(); scr.setLocation(new Point((dim.width/2-scr.getSize().width/2),(dim.height/2-scr.getSize().height/2 ))); scr.setVisible(true); if(scr.cancelCalled) { return; } else { taskName = scr.getTaskFile(); } //Begin_SaveConfigurationProfile try { ConfigCache1.saveConfigInfo("this_group1", "group1", ScalarSetScreen.this, null); ConfigCache1.SaveIntoXMLAtServer(taskName, true); addGroupsToSave(null); saveConfigurationInformation(); }catch(java.lang.Exception ex) { ex.printStackTrace(); } //End_SaveConfigurationProfile

• Click and drop JButton bean in JPanel2 from SwingBeans.list tab of Beans Palette.

Page 110: AdventNet WebNMS 5 :: eBON TutorialAdventNet WebNMS 5 :: eBON Tutorial AdventNet, Inc. 3eBON EMS Tutorial eBON Element Management System AdventNet Web NMS Tutorial Version 1.0 A simple

AdventNet WebNMS 5 :: eBON Tutorial

AdventNet, Inc. 109

• Change the following properties of the JButton using the Property Form.

Property Value InstanceName loadBtn

horizontalAlignment CENTER icon load.png under <Client Builder Home>/images text Load

• Right-click Load button. Select InteractionWizard-->action-->actionPerformed from the menu displayed. Drop the rubber band line in the Load button itself to invoke the Interaction Wizard.

• Click on Create New Connection class radio button. Click Next button.

• Click on Load Configuraion Task/Profile radio button. Click Next button twice.

• There will be a text field with a label "File Name". Type SaveConfig in the File Name textfield. Click Next button three thrice.

• Delete the below code present inside the actionPerformed method //Begin_LoadConfigurationProfile try { loadXmlAtServer(); } catch(java.lang.Exception ex) { ex.printStackTrace(); } //End_LoadConfigurationProfile

• Provide the following user code under actionPerformed() method and click Finish to close the wizard.

String taskName = null; SaveLoadScreen scr = new SaveLoadScreen(); scr.setModal(true); Dimension dim = Toolkit.getDefaultToolkit().getScreenSize(); scr.setLocation(new Point((dim.width/2-scr.getSize().width/2),(dim.height/2-scr.getSize().height/2 ))); scr.setVisible(true); if(scr.cancelCalled) { return; } else{ taskName = scr.getTaskFile(); } //Begin_LoadConfigurationProfile try { ConfigCache1.loadCacheValueFromXMLAtServer(taskName, true); loadXmlAtServer(); }catch(java.lang.Exception ex) { ex.printStackTrace(); } //End_LoadConfigurationProfile

• Save the screen and compile the screen using the menu command Build-->Compile.

Page 111: AdventNet WebNMS 5 :: eBON TutorialAdventNet WebNMS 5 :: eBON Tutorial AdventNet, Inc. 3eBON EMS Tutorial eBON Element Management System AdventNet Web NMS Tutorial Version 1.0 A simple

AdventNet WebNMS 5 :: eBON Tutorial

AdventNet, Inc. 110

Creating the Columnar Set Refresh • Create a new screen using the menu command File-->New-->Screen. This invokes the

Screen Builder wizard.

• Select the 'Build Type' as 'Panel' and click Next to proceed to next screen.

• Select the 'Screen Template' as 'Columnar Set Refresh' and click Next to proceed to next screen.

• Select the columnar attributes, namely 'slotIndex', 'cardNo', 'cardType','cardAdminStatus', and 'cardOperationStatus' found under the following node in the XML tree and click Next.

DSLAMModule-->org-->dod->internet-->private->enterprises-->adventnet-->switch-->dslamsystem-->dslamCardInfo-->cardTable

• Type Columnar Set Screen in the Screen Title textfield. Type ColumnarSetScreen in the Screen Name textfield.

• Change the display names of the selected nodes 'cardNumber' as 'cardNo' and 'cardOperationStatus' as 'cardOpStatus', and click Next.

• Click Finish to create the screen. A new node named 'ColumnarSetScreen' is created in the project tree.

• Delete the Refresh button.

• Save the screen and compile the screen using the menu command Build-->Compile.

• This completes the Designing Panel for Main Screen. This completes the Designing Panel for Main Screen.

Page 112: AdventNet WebNMS 5 :: eBON TutorialAdventNet WebNMS 5 :: eBON Tutorial AdventNet, Inc. 3eBON EMS Tutorial eBON Element Management System AdventNet Web NMS Tutorial Version 1.0 A simple

AdventNet WebNMS 5 :: eBON Tutorial

AdventNet, Inc. 111

9.3.2 Designing Main Screen The main screen is invoked from the Map at run time. It contains a split pane with Scalar Set Refresh Screen on the left-side and Columnar Set Refresh Screen on the right-side. It also contains a ImageLabel at the top and a JPanel holding the Close button at the bottom. Follow the steps given below to design the Main Screen.

Creating Main Screen

• Create a new screen using the menu command File-->New-->Screen. This invokes the Screen Builder wizard.

• Select the 'Build Type' as 'NMSFrame' and click Next to proceed to next screen.

• Select the 'Screen Template' as 'Blank Screen' and click Next to proceed to next screen.

• Provide the screen name as 'eBonConfigScreen' and title as 'e-Bon Configuration Screen'. • Click Finish to create the screen. A new node called 'eBonConfigScreen' is created in the

project tree.

Integrating the Screens into Main Screen • Click on the eBonConfigScreen node. Right-click on the screen's draw area and select

Layout -> Border Layout. • Click and drop ImageLabel bean on the draw area from AdventNetUI.jar tab of Beans

Palette.

• Change the image icon property by replacing the image 'ebon_config.jpg' from <Client Builder Home> /images directory using the Property Form.

• Click and drop JSplitPane bean on the draw area from SwingBeans.list tab of Beans Palette.

• Click and drop JPanel bean on the draw area from SwingBeans.list tab of Beans Palette.

• Arrange the components in the screen using the Layout Properties dialog invoked by right-clicking the draw area and select Layout Properties. Provide the following values for each component in the dialog as given in the table below.

Component Position ImageLabel1 North

JPanel1 South JSplitPane1 Center

• Right-click the draw area and choose Cascade -> Lock All Components.

• Switch to "Project Classes" of Bean Palette and select com.adventnet.ebon.ems.ScalarSetScreen from the "Enter the Class Name" editable combo box. Click and drop the bean on the left side of the JSplitPane bean. Similarly, select com.adventnet.ebon.ems.ColumnarSetScreen from the "Enter the Class Name" field and drop it on the right side of the JSplitPane bean.

• Click and drop JButton bean in the JPanel1 bean from SwingBeans.list tab of Beans Palette.

• Change the following properties of the JButton using the Property Form.

Property Value InstanceName Refreshbtn

horizontalAlignment CENTER icon refresh.png under <Client Builder Home>/images

mnemonic 67 text Refresh

Page 113: AdventNet WebNMS 5 :: eBON TutorialAdventNet WebNMS 5 :: eBON Tutorial AdventNet, Inc. 3eBON EMS Tutorial eBON Element Management System AdventNet Web NMS Tutorial Version 1.0 A simple

AdventNet WebNMS 5 :: eBON Tutorial

AdventNet, Inc. 112

• Right-click Refresh button. Select InteractionWizard-->action-->actionPerformed from the menu displayed. Drop the rubber band line in the Refresh button itself to invoke the Interaction Wizard.

• Click Next thrice to proceed to last screen of the wizard.

• Provide the following user code under actionPerformed() method and click Finish to close the wizard.

• ColumnarSetScreen1.VirtualTableModel11.refresh();

• ScalarSetScreen1.refresh();

• Click and drop JButton bean in the JPanel1 bean from SwingBeans.list tab of Beans Palette.

• Change the following properties of the JButton using the Property Form.

Property Value InstanceName Closebtn

horizontalAlignment CENTER icon close.png under <Client Builder

Home>/images mnemonic 67

text Close

• Right-click Close button. Select InteractionWizard-->action-->actionPerformed from the menu displayed. Drop the rubber band line in the Close button itself to invoke the Interaction Wizard.

• Click Next thrice to proceed to last screen of the wizard.

• Provide the following user code under actionPerformed() method and click Finish to close the wizard. setVisible(false);

• Compile the screen using the menu command Build-->Compile. This completes the designing of Main Screen.

This completes the designing of Main Screen.

Page 114: AdventNet WebNMS 5 :: eBON TutorialAdventNet WebNMS 5 :: eBON Tutorial AdventNet, Inc. 3eBON EMS Tutorial eBON Element Management System AdventNet Web NMS Tutorial Version 1.0 A simple

AdventNet WebNMS 5 :: eBON Tutorial

AdventNet, Inc. 113

9.3.3 Packaging the Application The packaging of projects built using Configuration Wizard to NAR (NMS ARchive) is done using the Package Wizard. After NAR is created, NAR is imported into Eclipse Plugin (using Client Application Import Wizard). Follow the steps given below to package and importing the NAR into Eclipse Plugin.

Packaging the Project

• Select Tools --> Package for Web NMS --> Device Specific.

• Select com.adventnet.ebon.ems.eBonConfigScreen from the MainClass Information screen. Click Next to proceed to next screen.

• In the 'General Information', without doing anything, Click Next to proceed to next screen.

• Specify the device type as DslamDevice.

• In the 'Resources to Install' screen, add the image ebon_config.jpg under <Client Builder Home>/images. Click Next to proceed to next screen.

• Select the "HOST" value from the Parameter list and provide the value "${name}" in the "Value" text field. Click Modify to change the values in the list.

• Similarly, select the "PORT" parameter from the Parameter list. Change the value to "${snmpport}".

• Click Finish to close the Packager Wizard.

Integrating the Configuration NAR into Eclipse Plugin • Select the project in the Package Explorer.

• Select WebNMS > Import Client Nar menu. Client Application Import Wizard" screen pops up.

• In the Client Application Import Wizard screen, Select the eBonConfigScreen.nar from <Web NMS Home>/StudioTools/ClientBuilder/projects/EMS_Configuration directory using the Browse button

• Click Next button to view the Users Information page.

• In the " Users Information" page , select the users for whom the Nar has to be installed.

• Click Next button to view the Menu Details page.

• In the "Menu Details" screen configure the Map Menu details. Enter Map Menu File , Menu Item name and the name of the Map Icon File. Provide Menu Name as 'snmpmenu', Menu Item Name as 'Configure Device' and Image for the Map as 'switch.png'.

• In the "Menu Details" screen configure the Map Menu details. Enter Map Menu File , Menu Item name and the name of the Map Icon File. Enter Menu Name as DslamMenu (this is the new DslamMenu.xml menu file that we will create as part of this application. This menu should be placed in the <Ebon EMS Project>/resources/mapdata/menus directory) and Menu Item Name as Configuration

• Similarly configure the List Menu Informations.

• Click Finish button. The <Nar File and Xml File (which contains the details that were entered in the wizard) > will be found under <Your Project>/ resources/NetMonitor/build in the Project Explorer window The Image Files will be copied to the <your project>/ resources/images directory in the Project Explorer window.

Page 115: AdventNet WebNMS 5 :: eBON TutorialAdventNet WebNMS 5 :: eBON Tutorial AdventNet, Inc. 3eBON EMS Tutorial eBON Element Management System AdventNet Web NMS Tutorial Version 1.0 A simple

AdventNet WebNMS 5 :: eBON Tutorial

AdventNet, Inc. 114

10. Trouble Shooting Tips

Problem Solution The " java.lang.ClassNotFound Exception" can occur while starting the client. This exception occurs when classes from the crimson.jar, jaxp.jar and xalan.jar were not present in the classpath.

To overcome this exception, please follow the endorsed mechanism as per steps given below: 1. Copy xalan.jar, crimson.jar, and jaxp.jar (from earlier version of JDK say 1.4) to a folder, for example \"endorsed_nms\" under <Web NMS Home>/classes folder. 2. In the <WebNMS Home>/setEnv.bat/sh file, add the below content. -Djava.endorsed.dirs=%WEBNMSHOME%\\classes\\endorsed_nms 3. Now in the server startup script (<WebNMS Home>/bin/startnms.bat/sh) use the following line for invoking the startup class. %JAVA_HOME%\\bin\\java -Xmx200M -Djava.endorsed.dirs=%WEBNMSHOME%\\classes\\endorsed_nms 4. Now start the client and try connecting to the server.

Scenario 1 : javax.xml.transform.TransformerException: java.io.FileNotFoundException: file:\C:\Program%20Files\AdventNet\WebNMS\NetMonitor\build\uninstall.xml (The filename, directory name, or volume label syntax is incorrect) at org.apache.xalan. transformer.TransformerIdentityImpl.createResultContentHandler (TransformerIdentityImpl.java:260) at org.apache.xalan. transformer.TransformerIdentityImpl.transform (Transformer IdentityImpl.java:291)

Kindly install the WebNMS in a directory which does not have space characters in its path.

Page 116: AdventNet WebNMS 5 :: eBON TutorialAdventNet WebNMS 5 :: eBON Tutorial AdventNet, Inc. 3eBON EMS Tutorial eBON Element Management System AdventNet Web NMS Tutorial Version 1.0 A simple

AdventNet WebNMS 5 :: eBON Tutorial

AdventNet, Inc. 115

Problem Solution Scenario 2 : java.net.MalformedURLException: unknown protocol: c These above two exceptions occurs when there is a space in the directory path where WebNMS is installed and trying to install a NAR file in WebNMS. This is a JDK bug which occurs in some scenarios where Xalan parsing of XML file is done.

Page 117: AdventNet WebNMS 5 :: eBON TutorialAdventNet WebNMS 5 :: eBON Tutorial AdventNet, Inc. 3eBON EMS Tutorial eBON Element Management System AdventNet Web NMS Tutorial Version 1.0 A simple

AdventNet WebNMS 5 :: eBON Tutorial

AdventNet, Inc. 116

11 Other Tutorials

AdventNet Web NMS is vast in its capability to serve its different class of users. It would be hard for anyone to understand all its features at one time. We strongly recommend you to go through some of our other tutorials to get of feel of what could be done on our Web NMS. Building an Element Management System This tutorial provides illustrative examples to guide the developer through designing an EMS. Design aspects and the usage of Web NMS tools to simplify the development of an EMS are elaborated here.