Americas

  • United States
by Sunil Gaitonde, special to Network World

XML appliances speed Web services

How-To
Dec 08, 20034 mins
Web Development

XML acceleration is emerging as a critical technology to offload XML processing from applications, especially in the form of hardware-based appliances. Along with processing XML data, XML acceleration helps implement secure data exchange and delivers quality of service.

XML is becoming the lingua franca for Web services. However, XML’s flexibility places significant demands on network infrastructure, consuming as much as 80% of server processing power to perform CPU-intensive tasks such as transformation, compression and XML Web services security.

XML acceleration is emerging as a critical technology to offload XML processing from applications, especially in the form of hardware-based appliances. Along with processing XML data, XML acceleration helps implement secure data exchange and delivers quality of service (QoS).

An acceleration appliance typically consists of an off-the-shelf motherboard and an off-the-shelf operating system. The appliances perform operations such as parsing, validating, transforming and compressing XML faster than application servers because they are tuned for specific tasks and can use the operating system and hardware far more efficiently.

The appliances generally are deployed in a three-tier architecture in a data center. They typically sit behind firewalls, between load balancers and application servers or a device that combines application server and Web server functions. Load balancers distribute the load between acceleration appliances just as they distribute it between Web servers or application servers. Application servers are the main producers and consumers of XML data and benefit most from the acceleration these appliances provide.

Pick a direction

XML traffic can be viewed as inbound or outbound. Inbound XML acceleration uncompresses, decrypts, validates and routes for QoS. XML appliances process HTTP or Simple Object Access Protocol headers or XML content, and use configuration information to decide how to transform, validate or uncompress content.

Inbound load balancers are configured to select the appropriate data to be switched to the acceleration appliance. For example, an HTTP header on its way from the load balancer to the application server indicates to the appliance that the data is compressed. The appliance can be configured to uncompress the data, relieving the application server from executing CPU-intensive uncompressing function.

Similarly, for outbound traffic, an appliance can be configured to transform content on the way from the application server to the load balancer. As XML content flows through the appliance, style sheet references in the document or in the configuration are resolved and applied to the document to transform it to HTML, Wireless Markup Language or another type of XML.

Additionally, XML appliances can accelerate encryption and compression of XML data, again through configuring the load balancer and the server. Often the appliances can run at wire speed, which is not something that application servers can deliver.

Architects responsible for deploying XML security run into management and processing issues satisfying XML security requirements. XML appliances act as security gateways, which decrypt, authenticate and authorize inbound traffic and encrypt and sign outbound traffic. While performance might or might not improve in this case, control over Web service data is certainly a benefit.

Acceleration also is essential for QoS. Not all partners, customers and transactions are treated equally, and to ensure QoS, differentiation must be performed efficiently. It is necessary to provide ways to differentiate traffic through inspecting inbound and outbound XML data and applying content-level rules to it before deciding which servers should handle it. For example, a retailer that receives more than 200 million XML documents a day must sort them based on the types of XML, version of XML and the value of the transaction.

XML acceleration appliances offload many CPU-intensive functions from application servers to the network. This lets companies achieve wire-speed performance at roughly one-tenth of the cost of scaling application servers to get the same level of performance. Deploying an XML acceleration appliance helps companies avoid the cost of purchasing and maintaining more application servers.

Gaitonde is co-founder and CTO of Sarvega. He can be reached at sunil@sarvega.com.