Role of XML in Network Management
Figure 1 illustrates a network consisting of switches, routers and computers. The network manager leverages this infrastructure to create end user services. For example, let's assume that the Headquarters enterprise (the customer) requests a video-over-IP service. Clearly, this service type places heavier demands—bandwidth and quality of service—on the network. To fulfill this service request, the service provider might decide to create a specifically engineered virtual connection between LER A and LER B.
This service request can be expressed in XML as follows:
Listing 1 XML Service Description
<mpls> <lsp> <src> "LER A" </src> <dest> "LER B" </dest> <service-type> 1Mbps video-over-IP </service-type> </lsp> </mpls>
The data in Listing 1 represents the bare minimum—just the endpoints of the virtual connection and a service description (1Mbps video-over-IP). Other data of interest could include a defined path from LER A to LER B, e.g., via LSR A and LSR B.
The network manager could make this service request using the NMS in Figure 1. Typically, the NMS could present a workflow wizard into which the network manager enters the required data (endpoints and service type). The resulting data could then be written into an XML database for use by a provisioning application, which actually instantiates the service in the network. The important point is that once the data is in XML format, it can be easily manipulated using Java tools such as SAX and DOM.
So, let's assume that we have a legacy NMS application that provides its data in a non-XML format; for example, in ASCII text or in a relational database. We want to gain access to the legacy data, but the required format is XML. So we need a migration tool. This is surprisingly easy to write and forms the focus of the remainder of this article.