Anatomy of Dynamic SVG Web Services

The Scalable Vector Graphics language promises to revolutionize the Web through the introduction of standards-based vector graphics, animation and interactivity. It is also being incorporated into many important non-Web applications from drawing programs to handheld phones to windowing systems and soon into printers.

One of the key applications of SVG is data visualization. SVG can be used to visualize everything from geographical information to genealogies to census data. These days, the data being visualized is often exposed to the visualization application as XML to loosen the coupling between the application and the database.

This paper will discuss strategies for using Web techniques and infrastructure to minimize the dependence of the visualizer on the interface to any particular data source. Following the guidelines described here will also open up a data source to integration into Web-centric specifications such as the DOM, XLink, XInclude, the DOM, RDF and so forth.

The paper starts out describing the architecture of SVG data visualization applications ("visualizers"). Then it will focus in on the XML data-delivery part of the problem. How can developers connect the visualizer to its data source? SOAP and WSDL arise as obvious answers but the paper will describe the impedance mismatch between SVG and these technologies. It will instead propose a more Web-centric approach to implementing Web services. This approach resolves the impedance mismatch, improves performance and is generally more elegant than current SOAP/WSDL techniques. As a bonus, the paper will delve into the deep reasons that SVG and the Web-centric approach work so well together.