Friday, December 14, 2007

XML Is Your Friend

Though less efficient than returning a binary format, XML seems a natural choice for what Inspectors should return:
  • it's technology-neutral, so any underlying platform can produce it, and any technology can be sensibly mapped to it (from object graphs to database schemas)
  • it can be serialized across process boundaries (so the back-end can Inspect and send results to the front-end)
  • it prevents accidentally keeping references to 'live' objects, and accidentally abusing those references

I have some uncertainty about whether to return the XML as a String or a DOM or a SAX Source. I'm going for a DOM for now, but we'll have to see how it shakes out.