InfoQ

News

XML Overload: Bad Design or Neccesary Evil?

Posted by Miko Matsumura on Aug 18, 2006

Community
SOA
Topics
Research ,
Messaging
Tags
XML

The available styles of SOAP attachment and binary payloads are expanding and adapting, and SOAP messages themselves are achieving epic sizes. Many real world SOA implementations report XML documents reaching multimegabyte sizes and beyond.

A new survey of 570 developers, sponsored by Rogue Wave Software, finds that XML documents are getting huge. Thirty Six percent of respondents report they now need to parse XML documents bigger than a megabyte in size. Half of these say they are already dealing with XML documents that exceed five megabytes in size. 58 percent reported over 6 data formats within their organization, with 25 percent of respondents using greater than 20 different formats.

The take home message is that XML document size is expanding as SOA matures. but is this a problem? How big of a problem is it? Does the survey provide any clues about the magnitude of the problem?

35 percent of respondents see greater throughput speed and 26 percent see memory efficiency as the greatest challenge to XML parsing.

The survey participants were selected from the Rogue Wave developer community and also drawn from visitors to a Microsoft .NET community site. This selection process may have created some bias in the results of the survey, however it's not intuitively clear that customers of Rogue Wave or users of .NET would have substantially different XML document sizes than the general community.

These results suggest an increase in the magnitude of the documents and some side effects from those primary causes. However, the survey does not provide a detailed understanding of the extent to which this file size increase is adversely impacting organizations. The closest available survey data in the report showed 42 percent of respondents have requirements to specifically increase the scalability of their applications and of those 15 percent need to increase scalability by more than 10X, and an additional 23 percent need to increase by between 5-10X.

The typical responses to this include throwing more hardware and networking equipment at the problem (Gilder's law suggests that bandwidth grows at a rate three times faster than compute power). In some sense the emergence of software systems that rely on such large payloads is an evolutionary function of the availability of such bandwidth.

But of course a more architectural view would be that better software design would decrease the sizes of these transmissions substantially.

The question usually boils down to a simple equation: is the time and effort of good design worth the savings in terms of network latency, complexity, hardware cost and stability of the application?

Discuss.

5 MB XML Means Not Using SOA by Kris Huggins Posted Aug 18, 2006 3:40 PM
Re: 5 MB XML Means Not Using SOA by Stefan Tilkov Posted Aug 18, 2006 5:00 PM
Re: 5 MB XML Means Not Using SOA by j c Posted Aug 18, 2006 8:59 PM
  1. Back to top

    5 MB XML Means Not Using SOA

    Aug 18, 2006 3:40 PM by Kris Huggins

    "The take home message is that XML document size is expanding as SOA matures"

    I would speculate that these 5MB files are the traditional files you see in an highly-latent, batch-oriented system integration style except the file format is xml instead of proprietary.

    If the file is transferred over port 80 it might make it a web service by someone's definition, but this certainly is not SOA. With SOA you will more likely see real-time, low-latency, message oriented system integration. This style by default means you'll have many more, much smaller xml files flying around as opposed to a single file with all of the "messages". This allows you to communicate things real time instead of all at once some time in the future.

  2. Back to top

    Re: 5 MB XML Means Not Using SOA

    Aug 18, 2006 5:00 PM by Stefan Tilkov

    I believe that larger XML documents are actually a good sign -- provided they don't include a simple structure that is repeated a few hundred or a few thousand times :-)

    I get suspicious whenever I see lots of very small XML documents, as this is often an indicator for services designed with the wrong granularity.

  3. Back to top

    Re: 5 MB XML Means Not Using SOA

    Aug 18, 2006 8:59 PM by j c

    What else would they be?

Educational Content

Brian Marick on 4 Challenges and 5 Guiding Values of Agile Software Development

Brian Marick takes us through a quick tour of the most important values and challenges to adopting Agile successfully (they aren't the typical challenges and values we hear in the community).

Are You a Software Architect?

The line between development and architecture is tricky. Does it exist at all? Is an ivory tower actually needed? There's a balance in the middle, but how do you move from developer to architect?

Agile – A Way of Life and Pragmatic Use of Authority

The word 'authority' sometimes produces an allergic response in hard-line agilists. Freedom and authority – both are bad if misused and both are good if used in right spirit for a noble cause.

Getting Started with Grails, Second Edition

"Getting Started with Grails" brings you up to speed on this modern web framework. Companies as varied as LinkedIn, Wired, and Taco Bell are all using Grails. Are you ready to get started as well?

Using ITIL V3 as a Foundation for SOA Governance

Those familiar with only ITIL V2 often scoff at the thought that ITIL could serve as a governance framework for SOA. With ITIL V3, the focus of the framework shifted towards service-orientation.

Adrian Colyer on AspectJ, tc Server and dm Server

SpringSource CTO Adrian Colyer discusses AspectJ, SpringSource's dm Server and tc Server products, OSGi and Scrum.

Adam Wiggins on Heroku

Heroku's Adam Wiggins talks about Rails, Background Jobs, Add-Ons, Ruby, and how Heroku manages to work around Ruby's inefficiencies using Erlang and other languages.

SOA as an Architectural Pattern: Best Practices in Software Architecture

For Grady Booch the foundation of a good architecture is patterns, SOA being just one of many patterns. In this Second Life presentation, Booch attempts to bring more clarity on what architecture is.