Lighter soap, on the dark side

darobin on 2002-11-07T17:40:35

With my black-gloved mechanical hand, I can now do the following:

  • take some WSDL, and convert it to the XML Schema(ta) of the corresponding messages (not fully automated yet)
  • feed the result of the above to a binary XML (bix) encoder/decoder generator
  • grab a patched Axis (Apache's Java SOAP toolkit), and configure it properly with a few command line options
  • between the Axis client and server, send back and forth some binarized SOAP messages

Yes, it's rather scary in a way. It also required lots of fun pinning down bugs in java.net.URI and some twisted contortions to get around nested and inaccessible output streams one of which performed automatic conversion to UTF-8 (quite unadvisable for binary data).

The results are good though. On my current testset I get SOAP messages 26 times smaller than the original (and 11 times smaller that the gzip'd original). It's also a lot faster to parse than XML. I'll be demoing that next week at the XML Techno Forum in Paris, we'll see if it catches anyone's eye.

now all that's needed is for someone with money to ask us to port this all to Perl...


Bix?

acme on 2002-11-10T10:11:45

I haven't heard of bix before, and Google isn't helping much. Got any pointers?

Re:Bix?

darobin on 2002-11-12T09:45:22

Bix is short for Binary XML. It is the successor to BiM (Binary Markup) which can be found in the MPEG-7 spec if you have access to ISO documents (I know, they suck for that).

I was just about to point you to a nice URL with lots of info, but I just noticed that the person in charge of the website removed everything that she wasn't in charge of in the process of redesigning it. *sigh* I'll ping when I manage to get all the stuff back online.