Skip navigation
Data Center Layout Visualization With XML and XSLT

Data Center Layout Visualization With XML and XSLT

When it comes to using DCIM software to create a data center layout, the best solution is to use Javascript to draw the model and XML and XSLT for visualization and for creating user interaction based on real-time data.

Parikshit Bhaduri and Niloy Ghosh are with GreenField Software.

Computing has evolved from IBM mainframes to personal computers to thin servers; and so have data centers, becoming more sophisticated and complex. With the emergence of cloud computing, which heralded a paradigm shift in how users access compute resources, data centers have also grown in size.

Today’s data center hosts hundreds of servers that power the applications in the cloud – email, social network, and various applications. When one grows beyond a certain size it is impossible to track the location, space usage and asset relationship manually.

That’s where Data Center Infrastructure Management (DCIM) software can help: It can maintain and visually depict the floor layout of the data center, making tracking much easier and accurate.

What Do You Want to See in a Data Center Layout?

When you see a geographical map of a city, the streets, buildings, parks, commercial establishments, and houses are usually the most interesting aspects. Similarly, when a data center operator sees a data center layout that person wants to be able to see:

  • Cold aisles: the cool air is blown to the racks from this aisle.
  • Rack aisles: a row where racks are placed
  • Hot aisles: aisle on the back side of rack where the hot air comes out.

In addition to the aisles, the layout might include equipment such as: Precision Air Conditioners (PACs), Power Air Conditions (PDUs) and panels.

The diagram must also provide the current state of the data center, showing the location of each asset and how much of it is utilized.

Implementation Methodology

There are many model and visualization choices for data center layouts. The obvious choice is to build it using Java technologies such as Javascript and JSP. However, it is ideal to separate the model from visualization. For example, in describing a circle, it is sufficient to know its center and radius. However, actually drawing the circle on a screen requires a separate task.

Similarly when describing a room, we should specify its coordinates and dimensions, the location of furniture, etc. to give an idea of what the room looks like before seeing a photo.

It is a universally accepted principle in computing that a model (or data) is separated from the algorithm which deals with the data. If we have a text file that describes the data center and it can be easily edited by hand or program, the code becomes much more flexible to extend and maintain.

A Good Technology Fit for Requirements

After evaluating some alternatives, it seems that XML may be the best choice for describing the model for a data center layout. XML, as we know, is a text file with syntax and has become the standard in many descriptions of data and metadata. All the assets in the data center can be appropriately represented in XML. For example, look at the following snippet of a data center representation with XML:

Once the modeling problem is addressed, you must then tackle how to visualize an XML model description on a screen. To turn a model into a visual depiction, one method involves EXtensible Stylesheet Language (XSLT), which is used to transform XML into other forms. It is well suited for automatically generating Scalable Vector Graphics (SVG) from XML content. XSLT code was created for transforming the XML definitions of racks, hot aisles, and cold aisles into SVG, which can be displayed by a browser. XSLT is a functional language somewhat different than conventional programming languages and is expressed in XML syntax.

An XSL Transform (or stylesheet) is in essence a template used to define how a source is transformed into an object. For example, you can use one to draw all the tiles in a data center, first drawing the tiles of a given row and then moving to the next row until all the rows are accounted for. There are XSLT templates in the implementation for each and every element described in the model description XML: racks, PDUs, PACS, tiles, hot aisles, cold aisles, perforated tiles, doors, exits, entries, and pillars etc.

The above diagram shows a section of the layout with hot aisle, cold aisle, racks, perforated tiles and a PAC (Precision Air Conditioner), which were all described in XML with simple text.

It is imperative for any data center layout to also show real-time data on the layout diagram. For example, it should show all racks and how much space is on each. When a rack is selected, the diagram should bring up the visual of the rack and enable the user to manipulate the rack. Similarly, it should identify any sensors and the current temperature at their locations. If there is a PDU, real-time power characteristics of the PDU should be revealed. This cannot be done by XML and XSLT, which convert descriptions into static visuals. However, XSLT is capable of embedded Javascript, which can be utilized for user interactions and real-time date display.

Data center layout is a key feature of DCIM software, which explains why modeling and visualization are important aspects of layout diagram that need to be separated for an elegant solution. One way to accomplish this is by using technologies such as XML, XSLT and Javascript. This solution is extensible, flexible and can be customized for the specific needs of a data center.

Industry Perspectives is a content channel at Data Center Knowledge highlighting thought leadership in the data center arena. See our guidelines and submission process for information on participating. View previously published Industry Perspectives in our Knowledge Library.

Hide comments


  • Allowed HTML tags: <em> <strong> <blockquote> <br> <p>

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.