Guest

Cisco Active Network Abstraction Integration SDK

Cisco ANA OSS/BSS Northbound Interface (NBI) White Paper

Executive Summary

Cisco® Active Network Abstraction (ANA) is an extensible and scalable product suite residing between the network elements and OSS management applications, providing unified end-to-end service-level management for service provider and large enterprise networks.
This document introduces the service-oriented architecture (SOA)-based Web services (WS) OSS/BSS integration interfaces for Cisco ANA. First the document presents an example of the northbound interface (NBI) from a developer's perspective. Then it describes the underlying standards and techniques applied to the NBI. Finally it describes all of the services offered in the Cisco ANA Integration Software Development Kit (SDK).
Following common industry terminology, the remainder of this paper refers to the OSS/BSS integration interfaces as the NBI.
This paper is for guidance only, and the Cisco ANA Integration SDK documentation should be consulted for accurate and up-to-date information on all aspects of the NBI.

Cisco Active Network Abstraction

Cisco Active Network Abstraction (ANA) is a flexible and powerful multivendor network resource management solution that facilitates advanced network and service management applications in a multitechnology, multiservice network environment.
The core technology of Cisco ANA includes a unique virtual network element (VNE) abstraction model that dynamically discovers and identifies device and network components reflecting the near real-time state of network elements.
This abstraction model facilitates a broad set of embedded device management and network abstraction features in Cisco ANA, while providing a rich set of platform and network mediation services for advanced network and service management applications from Cisco and its partners.
The Cisco ANA approach scales directly alongside the physical network, allowing operators to view and manage the complexities of multiple services in a multitechnology, multivendor network.
Figure 1 - Cisco ANA Physical Architecture illustrates the main elements of the Cisco ANA system. They are, from the bottom up:

• The managed network, composed of network elements from Cisco and other vendors

• The Cisco ANA unit servers, which provide the run-time environment for the VNEs

• The Cisco ANA gateway server, which manages client and northbound OSS interface requests

• OSS and GUI clients, which interact with the gateway

Figure 1. Cisco ANA Physical Architecture

Cisco ANA NBI Overview

This section provides an overview of the core concepts of the Cisco ANA NBI.
The NBI is presented using service-oriented architecture principals. It is implemented over a Web services stack based on a subset of the WS Distributed Management (WSDM) V1.1 standard for Management Using WS (MUWS) (see the WSDM Overview and WSDM entries in the "References" section for further information.)
The Cisco ANA information model (ANA IM), exposed through the NBI, is defined by an information-model expressed in UML 2 (Unified Modeling Language v2). Cisco is engaged with relevant competent organizations, including the Telecommunications Management Forum (TMF) and Desktop Management Task Force (DMTF), with a view to promoting convergence of the Cisco ANA information model with those in common use in the industry today. See the "

Relationship to Standards section.

A model-driven architecture (MDA) approach has been adopted, such that the interface artifacts are generated automatically from the Cisco ANA IM. Cisco has commissioned a toolset to support the extension of the model by end users and the generation of artifacts from the Cisco ANA IM, hence reducing the potential complexity of the MDA approach for nonexperts.

Using the NBI Query Service

This section presents a brief description of the QueryService to illustrate how the NBI should be used. In the following, readers should imagine they need to obtain some inventory data, and then subscribe to changes in that data caused by changes in the network.
The QueryService is the primary means to query Cisco ANA for inventory and alarms. Using the QueryService illustrates these key features of the NBI:

• Locating a service endpoint reference (EPR)

• Invoking a service

• Using a named query to obtain inventory or alarm data

• Working with the results of the query

• Subscribing to notifications through the NBI

The following sequence diagram (Figure 2) illustrates how a conversation with the QueryService could be expected to proceed.

Figure 2. QueryService Conversation

The entry point to the Cisco ANA NBI is through a service group that is a Web Services Resource Framework (WSRF) resource that contains endpoint references for all of the services offered by the NBI. The OSS client obtains the EPR of a service, in this case the QueryService, from the Cisco ANA Service Group.
Having obtained the EPR to the service, use of the QueryService begins with an invocation of Get(...) (2) to which you pass the name of the query and the arguments. This then returns an EPR for the NamedQueryResult resource created by the query, from which the query results may be obtained.
If you want to monitor subsequent changes to the objects in the results, you can invoke the Subscribe Web Service Notification (WSN) operation on the NamedQueryResult EPR (3) returned in the previous step. A successful invocation of Subscribe()returns the EPR of the "subscription" you have created.
To help ensure deterministic behavior, subscription, if required, must be done before you access the query results themselves. At any point thereafter, the server may send a Notify (WSN) message to the client indicating that the result set has changed.
To access the results of your query, use GetResourceProperty (WSRF) (5) to determine the number of objectWrapper instances in the query results, which is the objectCount property of the NamedQueryResult resource. Having prepared yourself for the volume of data that will be returned, you use GetResourcePropertyDocument (WSRF) (6) in order to obtain the results of your query.
Additionally, or alternatively, you can create an EnumerationContext on the NamedQueryResult with the Enumerate (WS-Enumeration) operation (8), and use the Pull operation to iterate over the results (9).
When you are finished with the results of the query, you invoke the Destroy (WSRF) operation (11) to destroy the NamedQueryResult resource in order to free up the system resources. The Cisco ANA platform will, in any case, release these resources after a configurable timeout period.
The GetResourceProperty operation on the NamedQueryResult can be used to return the list of objectWrapper objects but cannot be used to extract a single objectWrapper or to probe the contents of the objectWrapper. In order to achieve access to the contents of the NamedQueryResult ResourcePropertyDocument, you must use the QueryResourceProperties (WSRF) operation that accepts, as a query, an X-Path expression.

The QueryService in Detail

The QueryService implements a "Named Query" design pattern where the name of a predefined query, and arguments for that query, are passed to the Get(...) operation, and an EPR to a NamedQueryResult is returned:
NamedQueryResult result = QueryService.get( queryName, arguments)
Where:

queryName is the name of the query into which the arguments will be substituted

arguments is a set of name-value pairs, the names being the names of the arguments to the query, and the values being the values of the parameters substituted into the query

The NamedQueryResult is a WSRF resource that encapsulates the results of the query and provides operations to access data about the query results and the results themselves and to subscribe to notifications about changes in those results.
The NamedQueryResult supports these standard interfaces:

• WS-Enumeration September 2004: To enumerate over the result set from the query.

• WS-BaseNotification 1.3: To subscribe to changes in the result set and to the entities in the result set.

• WS-Resource 1.2: To obtain the properties of the result set.

• WS-ResourceLifetime 1.2: To release the result set resources when the results and any subscriptions are no longer needed.

And contains the following properties:

queryName: the name of the query as a String.

responseSize: size of the response message in bytes.

objectCount: the number of objectWrapper elements in the ResourcePropertyDocument.

objectWrapper: any number of objectWrapper elements each wrapping an instance of a Cisco ANA IM entity.

The NamedQueryResult supports two modes of usage: if the result set is "small," then the client may choose to obtain the results using the WSRF operations such as GetResourcePropertyDocument or GetResourceProperty.; if the result set is "large," then WS-Enumeration operations may be used to traverse the result data.

Relationship to Standards

The Cisco ANA NBI technology is based on the Muse toolkit, which is a Java-based implementation of the WS-ResourceFramework (WSRF), WS-BaseNotification (WSN), and WS-DistributedManagement (WSDM) specifications. Cisco is working with partners to encourage the adoption of this technology stack for Web services interfaces by the OSS/BSS industry in general.
Cisco is also engaging with the TMF, customers, and partners, in the context of the Multi-Technology Operations System Interface (MTOSI) and OSS through Java Initiative (OSS/J) initiatives, so that others may benefit from the work that has been done in developing the SOA-based Cisco ANA NBI.
The Cisco ANA IM itself, inspired by both the DMTF's Common Information Model (CIM) and the TMF's 608 models, will also be taken back to both organizations with the intention that the industry may benefit from the advances made in the development of the Cisco ANA IM.

The Cisco ANA Information Model (IM)

The Cisco ANA IM is a UML 2 model that defines the data model and interfaces that Cisco ANA is based on. From a modeling perspective, there are six core notions, five of which are concerned with data modeling:

• Entity: Represented in the Cisco ANA IM as UML classes.

• Value-objects: Represented in the Cisco ANA IM as UML classes marked with the stereotype <<TypeDefinition>> and that can only exist as part of another value-object or as part of an entity; value-objects correspond with the concept of complex-type in XSD and are represented as such in the NBI.

• Enumerations: Represented in the Cisco ANA IM as UML enumerations and represented in the NBI as simple types with values restricted to a limited range of strings each corresponding to an enumeration literal.

• Primitive-types: These are standard XSD types.

• Associations and Association-Classes: These appear as references in the results returned from queries, with the association-classes appearing as entities.

And the sixth that is used to define interfaces:

• Operational interface: Represented in the model as a UML interface carrying operations but no attributes.

Operational Interfaces and Web Services

The operational interfaces in the Cisco ANA IM define the services that may be invoked by a user of the NBI. WSDL and XSD files describe the operations, the inputs and outputs, and the faults that may be returned in the event of failure in invoking an operation.
The operational interfaces for Cisco ANA are exposed as Web services based on SOA principles. The underlying Web services stack is built using the Web services specifications from the Organization for the Advancement of Structured Information Standards (OASIS), one component of which is the WS-Resource Framework that describes how to access and manage a resource.
In contrast to other applications of WSDM, the Cisco ANA NBI does not expose network devices directly as resources; instead network devices are managed through the operational interfaces of the NBI.
For the majority of operational interfaces, the resources contain only information that describes the interface and is not used in the normal course of events. An exception is the NamedQueryResult interface. This forms a key part of the NBI as the general-purpose means to work with result sets arising from queries of the system; see "Using the NBI Query Service" above.

Error Reporting

Errors are reported in the usual way for Web services in the form of faults that are extensions of a ChameleonExceptionType, which is itself an extension of the standard WS fault, wsrf-bf:BaseFaultType.

Security

Each invocation of an operation on the Cisco ANA NBI must be authenticated individually using the WS-Security UsernameToken specification.
Each request to an operation on an operational interface is authorized on a per caller basis using the same authorization mechanisms as the rest of the Cisco ANA system. In addition, data access in Cisco ANA is subject to "instance-based authorization" such that the only entities returned in a result set are those that the caller has the authority to view.
HTTPS is employed to encrypt requests and data returned from requests to protect from possible interception of requests "on-the-wire."

NBI Services

The services that will be exposed in the Cisco ANA NBI are listed below with a high-level description of functionality they provide.

Query Service

The Query Service supports the retrieval of physical and logical inventory and alarms from the system.

Entity Service

The Entity Service provides a generic interface for performing create, update, and delete (CUD) operations against a subset of the entities in the system.

Activation Scripts

This service supports the execution of activation scripts.

WorkFlow Management

This service supports the execution of workflows.

Cisco ANA Application Interfaces

The Cisco ANA NBI also includes the services provided by the Cisco ANA applications as listed below.

Network Configuration Service

The network configuration services include template-based command-line interface (CLI) configuration management and archive management for network device configuration.

Template-Based Network Configuration Service

This is a service to deploy configuration templates on multiple devices. It offers interfaces to preview the CLI configuration generated through a template and to deploy the generated configurations.

Configuration Archive Service

This is a service to manage configuration files for network devices. It offers interfaces to get configuration files from an archive; deploy configuration files to devices; commit running configuration; and back up device configuration to an archive.

NE Image Management Service

This area of functionality supports queries for network device OS image management.

Network Service Discovery

The services supported here relate to the discovery of network services running in the network, for example MPLS-TE tunnels, and the deduction of the logical services, such as MPLS VPNs, that are composed of logical elements (for example, VRFs or Virtual Routing and Forwarding elements) configured in the network.

MPLS Assurance Manager

The MPLS Assurance Manager is composed of the following services:

MPLS VPN/AC Management

The functionality supported here is provided through a combination of queries and the entity service for the management of MPLS VPNs (defined at Layer 3).

MPLS-TE Management

The queries supported here relate to the management of MPLS-TE tunnels and ancillary network objects.

Pseudowire Management

The queries supported here relate to the management of pseudowires (Martini tunnels) and ancillary network objects.

Probes Management

The services supported here address the management of traffic. Supported probes are an LSP health probe and performance probe.

Summary

The Cisco ANA NBI is presented using service-oriented architecture principals. It is implemented over the OASIS Web services stack based on a subset of WSDM.
The services that are available reflect the basic functionality of:

• Cisco ANA provided by the QueryService, Entity Service, Activation Scripts, and WorkFlow Management.

• The Cisco ANA Applications Network Configuration and Network Element Inventory Management.

• The Cisco ANA Based Applications Service Discovery and Surveillance Manager.

The Cisco ANA information model, exposed through the NBI, is defined by an information-model expressed in UML 2.
A model-driven architecture approach has been adopted, such that the interface artifacts are generated automatically from the Cisco ANA IM.

References

Use the following links to obtain more information about some of the Web services interfaces.

• WSDL: Web Services Description Language (WSDL); http://www.w3.org/TR/wsdl

• WSDM Overview: Web Services for Distributed Management (WSDM) Overview; http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=wsdm#overview

• WSDM: WSDM Specifications; http://docs.oasis-open.org/wsdm/wsdm-1.1-os-01.zip

• WS-Enumeration: http://www.w3.org/Submission/WS-Enumeration/

• WS-Addressing: http://www.w3.org/Submission/ws-addressing/

• WS-Resource: http://docs.oasis-open.org/wsrf/2004/11/wsrf-WS-Resource-1.2-draft-02.pdf

• WS-ResourceProperties: http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceProperties-1.2-draft-04.pdf

• WS-Notification: http://docs.oasis-open.org/wsn/

• WS-SecurityUsernameToken: http://www.oasis-open.org/committees/download.php/16782/wss-v1.1-spec-os-UsernameTokenProfile.pdf

• WS-ServiceGroup: http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ServiceGroup-1.2-draft-02.pdf

Glossary

The terminology and abbreviations given in Table 1 are used.

Table 1. Terminology and Abbreviations

Term / Abbreviation

Description

ANA

Active Network Abstraction

ANA IM

ANA Information Model

CIM

Common Information Model

DMTF

Distributed Management Task Force

EPR

Endpoint Reference

MDA

Model-Driven Architecture

MTNM

Multitechnology Network Management

MTOSI

Multitechnology Operations System Interface

MUSE

A Java-based implementation of the WS-Resource Framework (WSRF), WS-Base Notification (WSN), and WS-Distributed Management (WSDM) specifications. http://ws.apache.org/muse/

MUWS

The portion of WSDM concerned with Management Using Web Services (as opposed to MOWS - Management of Web Services)

OASIS

Organization for the Advancement of Structured Information Standards

SOA

Service-Oriented Architecture. "An architecture that uses loosely coupled services [that] are made available as independent services that can be accessed without knowledge of their underlying platform implementation."

http://en.wikipedia.org/wiki/Service-oriented_architecture

TMF

TeleManagement Forum

UML

Unified Modeling Language

WS

Web Services

WS-Enumeration

Web Services Enumeration

WSN

Web Services Notification

WSDL

Web Services Description Language

WSDM

Web Services for Distributed Management

WSRF

Web Services Resource Framework

XSD

XML Schema Definition

Lifetime and Validity

This document is intended for guidance only and may be superseded by formal user documentation on the Cisco.com web site. All information in this document is subject to change.