somewhat daily mutterings

/Programming/Java Spring 2003 RMSS, Day One

Our team is attending RMSS again, having attended last fall as well. Day one had a couple of high points:

First, Jason Hunter talked about web services from a practical point of view. Sounds like there's a counter-cultural approach to interacting with a web service, called REST, that (gasp) uses standard URL query strings, rather than packing the request into a SOP envelope. Sounds like RSS to me, and I like it. Turns out Amazon offers this flavor of access in addition to SOAP-style access. I'll have to look into it a bit more.

Next, Dave Thomas managed to turn me on to yet another cool technology (the first was the programming lanugage Ruby, which powers this weblog). This time it's "Naked Objects". Apparently some folks have taken a "back to the basics" approach to building object systems by supplying a framework to automagically deal with GUI interactions on the front-end, and persistence interactions on the back-end. You, dear programmer, write the middle -- the good stuff, the business objects, the domain objects -- whatever you want to call it. And that's all you write. Your user interacts directly (sort-of) with your object implementations. The framework he covered is for Java, and relies heavily on reflection to do its magic. Very back-to-the-future for me, since a lot of my background is in analysis modeling, and I was taught that your domain layer should implement the business rules. With "modern" approaches like J2EE the domain layer seems to be spread out over several architectural layers, and gets muddied up with technology concerns. it used to really bother me, but then I got used to it. Dave's talk reminded me that it should probably still bother me.

Actually, the Naked Objects talk took me back for another reason. When I was at Ernst & Young I worked on a number of authoring systems that were meta-model driven. The model of the data managed by the systems was stored along with the data itself. You could easily introduce new "object" types and relationships, and the authoring system would instantly know how to manage their presentation and CRUD operations on instances and associations. These systems being data-management systems, one giant missing link was behavior. That's what Naked Objects gives you. Now, Naked Objects doesn't work off of meta-data in the sense that our authoring systems did, but it's similar -- it's just that the meta data is effectively contained in the Java classes you develop. Add a new object type and the system "knows" how to deal with it. Pretty cool.

Posted: Fri May 16 22:11:26 -0700 2003

Thanks for visiting! Send comments to Mike Thomas.

Site 
Meter