Update:Â My slides are here.Â However, they’re not as effective without the demo.
What’s left to say? It seems everyone who participated in the SOA track, as a speaker or attendee, has already posted their thoughts. And others who could not attend have run with Stefan’s notes (go backwards from that link to see them all).
From my POV, it was a fantastic two days. All of the RESTians on the SOA track had excellent (if somewhat overlapping) presentations. The lone non-dyed-in-the-wool REST proponent, Sanjeeva, had aâ€”uhm, err, shall I sayâ€”provocative presentation. So lets talk about some of the other sessions I was able to attend. On the Ruby track Obie Fernandez gave a presentation on “Designing RESTful Rails Applications.” I knew most of what Obie had to say already, but still learned a thing or two, and also learned that there’s more to learn. Must peak into the routing code. It was a good talk nonetheless, especially if you were Rails proficient, but new to RESTful application design. James Cox also gave an informative talk (with examples!) of what’s new in Rails 2.0. And Jay Fields gave a wonderfully intriguing talk on using Ruby to build “Business Natural Languages.” That is, highly specialized, English-like DSLs that can be used by subject matter experts to implement business rules. This talk was not a “gee, wouldn’t it be nice” kinda thing either. He’s really built them. With great success.
Brian Zimmer, lead architect at Orbitz, gave a talk on the Architecture Track about growing Orbitz both from an infrastructure and design viewpoint as well as from a U.S.-centric to a globally-capable system. Brian was a good speaker, but I can’t say I learned much. Rule #1 seems to be, don’t code yourself into a corner with U.S.-centric assumptions. Rule #2 seems to be don’t architect yourself into a corner with bad design choices. Both true. Both hard. But what really moved this talk from “green” to “yellow” for me, was his discussion on caching. In order for Orbitz to not beat the crap out of their partner’s systems, they cache results for a period of time (presumably based on SLAs, since there’s no cache control info on the wire), but their original, home-grown, caching solution didn’t scale. Brian described this system via the metaphor of a block of mailboxes that you might see in a post office or apartment building that could only hold so much information and only for a specific partner. And my thought was, well, who the heck designed that? They resolved the problem by purchasing a commercial caching solution, but he wouldn’t say which one.
James Noble presented Thursday’s keynote “The Lego Hypothesis.” With a somewhat over-the-top presentation style, James said the right thing: Google is our software repository, and developers reuse code snippets and libraries just as people have been saying we should — albeit, without being weighed down by issues like “correctness.”
I arrived late on Wednesday and so could only take in two sessions. The first had Chet Haase, Erik Meijer (LINQ), Charlie Nutter (JRuby), Joshua Bloch (large pieces of Java), and Rod Johnson (Spring) debating the future of Java. Everyone was (obviously) knowledgeable and pragmatic. They did not, however, all agree. I felt myself leaning towards Charlie’s answers which can be summed up as “it’s up to you, now.” I also managed to attend Wednesday’s closing presentation, “50 in 50,” delivered by the eminent Dr. Richard Gabriel; a bizarre, delightful, entertaining multimedia romp through the history of programming languages. My favorite? HQ9+.
That’s it. A wonderful conference made better by being able to meet many people face to face for the first time, including not only my fellow track speakers but Stu Charlton, Mike Herrick, Patrick Logan, and many others.