User guide

Northbound Interface SOAP Implementation
971
AlliedView NMS Administration Guide
Note: Axis 1 (1.4) does not support callback operations and is considered slower compared to other technologies such as CORBA
because it uses HTTP as the protocol and text (XML) data. Axis 2 (currently in beta version) is expected to be an
improvement of its predecessor.
Note: With a standard northbound interface, the higher level NMS would not have to implement different clients to communicate
with NMS/EMS from different vendors. However, specific interfaces may be more useful to the client because operations will
be specific to clients' needs.
12.2.2 WSDL
WSDL is a language used to describe the services published by an interface. When publishing Axis web services, the server
will include interfaces and implementations and publish the WSDL file which will include descriptions of all available
operations, parameters and return types.
Note: The WSDL in Axis/SOAP is considered equivalent of the IDL in CORBA.
On the client side the implementation can start by looking at the WSDL file to determine available services, generate stub
code from WSDL then implement the client to use the services. As an alternative client implementation can skip client code
generation and manually implement client code that calls Axis directly (this can be complicated if the developer is not familiar
with Axis/SOAP core classes). There are tools already available that can be used to parse WSDL files and generate stubs and
skeleton code for different language implementations.
For the WSDL path for AlliedView NMS, use
http://<nmsserver-IP>:9090/axis/services
Client programs intended for performing operations on NMS using this interface can be implemented in any language that
supports SOAP; however languages that do not support HashMaps will be limited to operations that do not take a HashMap
as a parameter or return it as results. The WSDL file provided contains all operations available and the client program
developer will need to use it to get the correct syntax of operations and details provided here will be useful explaining object
contents.
12.2.3 Web Services
Web services are essentially application interfaces available for communication with other programs that can be done
through the web (HTTP server). The northbound interface in NMS will be available through the web server and can be
executed from anywhere if the server is accessible from the internet. The APIs and features exposed will also be referred to
as web services.
The following figure shows how Axis/Soap clients fit into the client/server model. Among other processes running in the
NMS server are the web server and servlet container which are used to service Axis requests. Axis/SOAP client
communicates with the web server which forwards the request to Tomcat container and returns the results for the
operation from the container to the Axis client. Other clients also use Apache and Tomcat i.e. Java clients use HTTP server
and servlets to launch WebStart and Applet clients and HTML clients use the HTTP server for HTML pages and Tomcat
container to process JSP requests.
Axis/SOAP transports data using XML sent over HTTP. SOAP converts the client requests to XML and sends it to the HTTP
server, which forwards the request to Tomcat container. The response is also converted to XML from the container before
returned to client and the client converts it back from XML to objects expected by the client