Thursday, July 21, 2005

Development: Binary XML, Web Services

Okay, I have done tons of reading on the binary XML subject. There are 4 (semi) prominent players:

- wbXML (old, but looks like it still is active in the wireless carrier market)

What's good about wbXML is that carriers are using it now, and it's an established W3C standard. It lacks important XML features (element names must be known beforehand, and perhaps the whole schema) but being that it *IS* XML nothing says you couldn't non-invasively extend the spec yourself to compensate for the shortcomings.

- Fast Infoset

Sun's champion, it may be complicated but it sure looks complete. This is our golden hope for true binary XML, and it is now an ISO standard to boot. Reference implementations of XML-RPC, Fast Web Services and more are in development as we speak.

- W3C's slothful XML Binary Characterization

Apparently Sun has a play in this, too. It's been chugging along for nearly a year - and the W3C papers are voluminous but informative. God only knows when we'll actually see a real specification.

- XOP

This one gives me the chills. This has been touted as the new industry standard (along with MTOM) for pushing SOAP w/ attachments around. I recognize the need and respect the problems that it addresses, but the end result is more metadata bulk accompanying your SOAP, more filters to go through but at least a smaller message size ... sometimes.

---
Now, a small rant about the naysayers of binary XML. The complaints of "non-readability" and "XML is a text standard" are mind boggling. What are you people smoking? One of the major tenants of binary XML is its transparent conversion to and from textual XML. Hello!! Standard command line tool "xmlc -fromb -tot file.xml" anyone?

Let's not forget the "who cares if it's bigger" folks also. XML isn't just bigger. It's orders of magnitude bigger. Do you want to pay for the extra bandwidth those chunky SOAP messages consume? You don't? Really... because neither do we!

The only valid argument the XML-for-text evangelists have is their claim that the text processing isn't a big CPU burden. Luckily for us all, CPU power is so incredibly cheap now that the 2-3x performance hit for all that text processing really doesn't sting much.

My next target of reading is on the very interesting and promising WS-* standards. Stay tuned