SDN Controller Programming Guide

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 may 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
may 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.
Figure 4 HP VAN SDN Controller Software Stack