Dave Johnson on open web technologies, social software and Java
I spent last week at the ApacheCon US 2007 conference in Atlanta, Georgia. Here's a write up of some of my experiences there.
The Hackathon is a two day event. For those who don't know what a hackathon is, I'll explain how it works. A room with about 20 large round tables, wireless internet and plenty of power strips is provided. Folks show up, plug-in, start working and chatting with each other about projects and other random topics. Sometimes they cluster by project, Struts guys around one table and Geronimo guys at the next, but usually there's a good mix at each table. Sometimes groups have specific goals like "ship version 2.0" in mind, but usually folks are just working, sharing knowledge and getting to know each other. At various times pizza, soda, breakfast pastries, beer, coffee and/or wine is carted into the room -- so there's not much reason to leave except for things like fresh air, sunlight and sanity.
I had a couple of interesting conversations at the Hackathon. I spent some time talking to Brian McAllister about his Shindig proposal, which I've already mentioned. I also spoke with David Jencks about getting better Role Based Access Control (RBAC) in Java EE to support social software like blogs, wikis and social network applications because static roles hard-coded into web.xml just won't do.
As usual, I attended ApacheCon to promote and represent Roller and I did so in my talk, at the Roller/Struts 2 BOF, at the Sun booth and wherever else I could. As I mentioned before, my talk on Roller and blogs as a web development platform went well. I had updated my talk to include an example of how to post to a blog using Abdera and I urged folks to stick around for Garrett Rooney's Abdera talk, which followed mine in the same room.
The BOF session also went well. Matt Raible and Don Brown organized the session and all I had to do was show up and enjoy the good company and the Atlassian provided beer, wine and nibbles. About ten people showed up and we talked about a variety of topics including user management in Roller, the growing similarity of Struts 2, Spring MVC and other Java web frameworks and then my wife dragged me away from the fun. By the way, Don works for Atlassian on the new JIRA Studio suite, which, I believe, is going to give Collabnet, SourceForge Enterprise and even the likes of IBM Jazz and Microsoft Team System some serious competition.
The idea of using a content management system to store Roller content keeps on coming up. At ApacheCon EU earlier this year, I spent some time talking to Lars Trieloff (who now works for CMS vendor Day Software) about implementing the Roller back-end interfaces using the Java Content Repository (JCR) APIs instead of the Java Persistence API (JPA) that we use now. At this ApacheCon, Noel Bergman brought up the topic a couple of times and pointed out that Day Software, has blog and wiki modules that are both backed by JCR. We could do the same thing: create version of Apache Roller and Apache JSPWiki (incubating) that share the same content repository.
Later, Jukka Zitting (who also works for Day Software), suggested the idea of implementing JPA itself with JCR, thus allowing Roller to store its content in a CMS in a totally transparent fashion. This topic is interesting to me, but I don't fully understand the benefits of backing blogs and wikis with JCR. What new use cases would this support? How do the interesting features of JCR, like versioning for example, bubble up through Roller -- especially if Roller is to support both RDBMS and CMS back-ends?
And by the way, Day is not the only company building interesting products around JCR and the Apache Jackrabbit JCR implementation. Hippo CTO ArjÃ© Cahn and others from Hippo were present at ApacheCon, talking about their CMS product and related Apache projects.
Thursday afternoon there was series of REST talks, starting with Roy Fielding father of REST, then Sanjiva Weerawarana defender of WS-*, Dan Diephouse and Don Brown. Roy's talk was standing room only and the other REST talks were quite popular as well. Hearing from REST masters as great, but Don's talk was the one most relevant to my work (since I'm a Struts 2 user).
Don talked about the new REST plugin he has developed for Struts 2, which looks like a wonderful thing. It builds on the existing CodeBehind plugin to give you Ruby-on-Rails like convention-over-configuration and in most cases no Struts configuration or properties files are necessary. From my point-of-view, it's just another reason to choose Struts 2 over JSF, which, as Bill de hÃra points out, "is clearly not focused on or suitable for working in the REST style to the extent REST principles seem to be actively excluded from the design." See also: Matt Raible's notes on the Struts 2 REST plugin and Don's slides (a zipped PDF file).
On Friday there was a series of talks related to Apache Lucene and related projects such as Solr. These talks seemed to be quite popular as well. I attended the Solr talk. Apache Solr is a version of the Lucene search engine that is packaged as an easy to install and easy to use web application. The talk demonstrated all of the things you can do with Solr without writing any Java code and it was pretty impressive. I also spoke with Ken Krugler of Krugle, the source code search engine, about search in Roller, something that he's been thing and writing about lately.
First, the venue. The Westin is an impressive building, it's the tallest hotel in the western hemisphere and the rotating bar and restaurant at the top are a lot of fun, with relatively good food and well worth a visit. The hotel itself, though, does not seem to be all that well managed or maintained. The carpets are a little spotty and the furniture is a little worn. Generally, that kind of stuff doesn't bother me much, but I can see why folks might complain (and they did).
Second item: a good dining experience. On Monday night, a big group of hackathon attendees ventured out to look for Rare, billed as a soul-food tapas restaurant. It was quite a long walk from the Westin but we managed to get there with help from Greg Stein's iPhone and some overly helpful folks we ran into on the street. Rare was simply wonderful so next time you're in Atlanta, skip Pittypat's Portch and give Rare a try instead.
And third, MARTA. The travel info I received from the ApacheCon folks recommended taking a shuttle bus from the airport to the Westin, but that's not the best way to go. The MARTA train is a much better way to go -- $4 for a the round trip, it's quick and there's no need to tip.
That brings me to the end of my notes, so it's time to wrap up. As usual, ApacheCon was a great experience and I hope to make it to the next one in Amsterdam this coming April.
One more thing. You can find many of the session slides on the ApacheCon wiki.
This is just one entry in the weblog Blogging Roller. You may want to visit the main page of the weblog
Below are the most recent entries in the category Open Source, some may be related to this entry.