subbu.org

Subbu Allamaraju's Blog

Entries tagged with “XML”

08:24 PM, Tuesday, January 30, 2007

JSON Wars Continue

JSON vs XML wars are still going on, and they are becoming more amusing, I must say. The latest is from Sean McGrath arguing about the significance of mixed content in XML.

10:30 AM, Thursday, January 04, 2007

JSON as a General Purpose Alternative?

The discussion at Dare Obasanjo's blog, and the references to some other recent posts motivate me to look at some of the broader arguments being made. It is clear that processing JSON data using JavaScript is trivial, and that is what makes JSON a popular alternative over XML currently. All other advantages and disadvantages over XML are incidental. If we take out JavaScript from the picture, JSON is not a clear winner. Both JSON and XML take some effort to parse and process outside JavaScript.

08:42 PM, Wednesday, January 03, 2007

More on Validation

Does validation mean that interface and implementation are tightly coupled, making the service hard to maintain? Mark Baker posted some more questions on validation yesterday. Validation does have merits in some cases, and the bigger challenge is designing extensible interfaces.

10:46 AM, Tuesday, December 26, 2006

Is Validation Harmful?

This post is in response to Mark Baker's post on Validation Considered Harmful. He is partly right about the harmfulness of validation in the specific use case discussed in his post, but I disagree with the generalization implied in his post. Whether validation is useful or not depends on the schema design, and document validation is not a sacred cow worth picking on.

09:04 AM, Thursday, August 31, 2006

JAX-WS for RESTful Web Services?

This post is in response to Sameer Tyagi's article on using JAX-WS for RESTful web services posted at the Sun Developer Network. I find a few points stated in this article troubling if not inaccurate - (a) it presents REST in a limited scope thereby showing SOAP in better light, and (b) it misses some key differences between REST and SOAP based web services. Beyond this, the example cited in this article just shows why you SHOULD NOT use JAX-WS for REST style web services. In this post, I would like to discuss the whys behind the two statements I just made.

09:15 PM, Sunday, August 27, 2006

JSON vs XML

What is the right response format for XMLHttpRequest in Ajax applications? The answer is simple for most markup-oriented applications - use HTML. For data-oriented applications the choice is between XML and JSON. Until recently I did not pay much attention to the question of whether to use XML or JSON. I just presumed that the use case at hand will dictate the format. I had a chance to test this presumption recently. In this post, I would like to describe the criteria I used for comparing between XML and JSON, and my analysis.

05:10 PM, Wednesday, April 12, 2006

Angle Brackets or Annotations

Angle brackets or annotations? Is JAX-WS over-engineered or does it simplify web services development? I am disappointed with the points made by Richard Monson-Haefel and Jason Greene in their challenge and retractions against how complex or easy it is to use JAX-WS. Both their posts were provocative, but sidestep most of the requirements of complex web services. IMO, their positions are at the extreme ends.

08:42 PM, Tuesday, October 18, 2005

XML and Semantics

In this post on What is XML? Jim Baldo asks a very interesting and important question. What does anyone mean by XML?

06:56 PM, Wednesday, October 05, 2005

XML and WS Talks at BEA World 2005

Last week, at BEA World 2005, I had a chance to hear David Orchard talk about WS-* standards [1], and future-proofing XML schemas and web services [2]. I also had a chance to discuss a few things. Both his sessions were quite informative and insightful, and brought out a few key points. I would like to share my thoughts here.

09:18 PM, Sunday, August 21, 2005

Web Services Versioning - Part 2

Several months ago, I blogged about versioning of web services. Between then and now, I realized that versioning of web services is a very nebulous topic, and that the problem of versioning could test the motivation of even the most committed web services architect. In this post, I would like to take the next step and discuss some possible ways of versioning web services. In this process, I would like to answer two questions:

06:28 PM, Monday, April 04, 2005

Why is Versioning Avoided?

Besides the technical issues involved with versioing of XML schemas, and the processing of versioned instance documents, there are a few situations that make it hard to implement versioning solutions.

10:59 AM, Thursday, March 31, 2005

Some More Thoughts on Schema Versioning

Having spoken to a few folks at work on this topic, I would like to make a few more comments on versioning. See this and this for some background.

01:54 PM, Wednesday, March 30, 2005

Processing Versioned XML Documents

In my previous post, I discussed two approaches that I found useful for versioning XML schemas. The second approach in that post involved redefining all types from previous versions into later versions without actually importing those types. As this involves no type reuse, if you are using schema-driven code-generation tools like XmlBeans, you will notice that, each schema version leads to a different set of interfaces/classes.

10:08 PM, Tuesday, March 29, 2005

Versioning XML Schemas

XML versioning is a much talked about problem. Despite the volume of information available on XML and schema versioning, most people agree that this problem is hard with no single "silver-bullet" solution. In this post, I would like to discuss some possible solutions that can be implemented with data binding solutions such as XmlBeans. As always, this is work-in-progress, and I welcome any comments.

07:44 AM, Thursday, March 24, 2005

XML Versioning vs Extensibility

Versioning is a frustrating exercise. I find that most of the versioning solutions on XML (and web services) address issues related versioning documents, or versioning UDDI entries etc, without dealing with backwards/forwards compatibility. Extensibility is complex, but less frustrating. Most of the work on extensibility rightly talks about forwards and backwards compatibility, but fails to provide meaningful solutions for versioning. My conclusion is that extensibility and versioning are two different beasts and require different solutions. More on versioning later.

09:50 PM, Monday, December 06, 2004

Web Services Versioning - Part 1

Managing change and versioning of web services can be hard. Although based on loose coupling and extensibility concepts, when it comes to change, web services are not far from older supposedly not-so-loosely coupled RPC-style technologies.

Most changes have good intentions - either they fix something broken, or try to enhance the service by adding new features. However, except in the most ideal cases, changes are disruptive. As David Bau explains in his "morning after" scenario, the need for compatibility can scuttle most plans for change. It is not always easy to foresee changes and future-proof the design, but eventually, we all get tasked to make changes.