Reference Guide

Table Of Contents
The Administration tier of the controller will host a web-layer through which software modules
installed on the appliance can expose REST APIs [1] [2] (or RESTful web services) to other external
entities. Similarly, modules can extend the available web-based GUI to allow network
administrators and other personae to directly interact with the features of the software running on
the SDN Controller.
A web application is an application that is accessed by users over a network such as the Internet
or an intranet. The HP VAN SDN Controller runs on a web server as illustrated in Figure 2.
Figure 2 Web Application Architecture
Servlets [3] [4] is the technology used for extending the functionality of the web server and for
accessing business systems. Servlets provide a component-based, platform-independent method for
building Web-based applications.
SDN applications do not implement Servlets directly but instead they implement RESTful web
services [1] [2] which are based on Servlets; however RESTful web services also act as controllers
as described in the pattern from Figure 3.
Figure 3 Web Application Model View Controller Pattern
Basic Architecture
The principal software stack of the appliance uses OSGi framework (Equinox) [5] [6] and a
container (Virgo) [7] as a basis for modular software deployment and to enforce service
provider/consumer separation. The software running in the principal OSGi container can interact
with other components running as other processes on the appliance. Preferably, such IPC
interactions will occur using a standard off-the shelf mechanism, for instance RabbitMQ, but they
can exploit any means of IPC best suited to the external component at hand. Virgo, based on
Tomcat [8], is a module-based Java application server that is designed to run enterprise Java
applications with a high degree of flexibility and reliability. Figure 4 illustrates the HP VAN SDN
Controller software stack.
2