pmuellr is Patrick Mueller

other pmuellr thangs: home page, twitter, flickr, github

Wednesday, February 22, 2006

XML Data Binding

With glee I read Tim Bray's WS-Angst post today. I really love to hate WS-*. Tim's post is chock full of great references, and a lot of those references have great references as well.

So one of the posts was complaining about xsd, and of course, what's not to complain about, but the poster said something about how XML-RPC was so much easier. hmmm ... I hadn't looked at XML-RPC in a while, thought I should take another look.

So I google it, and get here pretty quickly. The 'spec'. ummm, really? All these random references to it I've run across over the years, and that's it? I dunno, seems like unneccessarily wordy XML to me. At least there's no namespaces.

I've started a little effort to come up with a way to define an XML language that can be easily mapped into any programming language. An XML to programming language binding. Not related in any way to RPC, REST, etc. I think it's important to have a nice binding layer first; we aren't always sending crap over the wire. Figuring out how to do RPC with it is a later issue (although to be honest, that's actually simpler than the data binding; the SOAP element is 1/2 of it, defining a 'function call' in the request payload is the other 1/2). It's not rich; it's obviously not going to support every programming language feature known to man; nor will it support every variation of things you might want to do in XML. A Simple XML Schema language that generates easy to read and write XML, and can easily be mapped to any rational programming language available. It struck me as odd that there doesn't really exist such a beast, and it doesn't seem hard to create one, so I thought I'd get off my ass and do something interesting for a change.

On a somewhat related note, as I'm an IBMer, and a programmer, I'm of course forced to deal with EMF at work. It certainly seems like EMF's ECore would be a decent way to do this sort of thing, but it's actually more complicated than it needs to be; for example, I don't think in terms of a 'feature' aka attribute aka property aka instance variable being a fixed range of 'sizes', as you can do in EMF (you can define a feature saying it must have at least X items and at most Y items). I just think in terms of - it's a thing, or it's an open-ended list of things. Richer definitions of cardinality are kind of pointless. Or perhaps a way of expressing semantics, instead of syntax. Let's solve the syntax issue first, and layer semantics on top of that (if ever).

Cancelled trip to Charleston

Peter and I were planning on going to Charleston this last weekend; actually Sunday through Tuesday. But the weather foiled our plans. In two ways. First, the weather in Charleston, particularly on Monday, the only full day we'd be there, kept getting worse and worse every day we looked at it. But the weather in the triangle was the kicker. They were forecasting snow. I'd be a dead man if we were out of town and the triangle got snow. Since it would have been on the ground for all of an hour or so.

And of course, the weather in Charleston on Monday was cloudy and nice temp; and we never got any snow here.

I used Yahoo's Trip Planner again; it's not perfect, but it really is pretty useful. And the price is right. I should do a little review of it at some point. Anyway, we had planned on staying at the Doubletree right down town (on Market St, IIRC). Price wasn't horrible, and the location looked great. One odd thing was they wanted 48 hours advance notice for cancellation. That's kind of sucky.

So, we'll have to start planning another weekend. I'm not so sure about Charleston anymore though. The prices for staying downtown on a Saturday night are absolutely rediculous.