I'm a bit late, but here are the notes I took from the talks given last Thursday as part of ApacheCon Track 2, which had a focus on REST and the web development landscape. I considered morphing my notes into a more traditional narrative, but I think the minute-by-minute notes are more interesting.
Matt Raible - Comparing Java Web Frameworks
- Gives us a choice between two presentations: one focused on older, more established frameworks (all of which he has used), and one focused on newer frameworks (half of which he has not used professionally). The audience votes for the latter.
- The frameworks presented include Flex, Seam, GWT, Grails, Wicket, and Struts 2. Matt hasn't used Flex, Seam, or GWT, so analysis of those is not very in-depth.
- Polling the audience shows that only a handful of people are using each of the six frameworks we discussed. The presentation seems to work off of this theme: each framework is good for certain types of apps, but there is no all-around winner.
- This talk is kind of fluffy, but no one seems to mind because Matt has a lot of charisma and tells good stories.
- Flex is a force, but in order to create the server side support needed for most apps, you need to buy very expensive products from Adobe or roll your own solution. This is not a full stack. Two audience members tell stories about difficulties with the "roll your own" approach.
- Flex can't incorporate HTML content very well, so it's hard to integrate new, Flex-based content with older HTML/template content. Matt says Flex can only render about a half dozen tags. That seems pretty lame - even the JDK's HTML text editor can do better, and it's on HTML 3.0.
- Groovy and Grails are not very popular outside of the echo chamber (and Zero!). Matt is a Grails fan and recently convinced a client to use Grails on a project, but it's his first professional project with the framework.
- Because Grails is based on J2EE, many teams that might consider it will end up using Struts, since they already have those skills.
- Struts 2 is far better than Struts 1. Never use Struts 1. The developers of Struts 1 drink kitten blood and are the bane of the open source community (or something - I'm not a Struts user, so I'm in the dark as to why Struts 1 is so bad).
- Lots of graphs showing employment numbers for the various frameworks. Summary: if you're a freelancer, Flex and Struts 2 are Money.
Ora Lasilla - The Semantic Web, and Why The Open Source Community Should Care
- This is today's keynote, and it's very well-attended.
- I can't hear a damn thing in the back of the room. Other people are looking around, so I guess I'm not the only one.
- The audio has improved a bit. I guess I'll manage.
- Ora says that IT is not very automated - the computer is just a tool that you use while you do work. "You work, and the computer helps". It's like a hammer: it won't build anything on its own.
- True automation requires an increase in structured data and standardization. He forgets to mention the need for enormous policy definitions and natural language processing.
- So far this is just a review of semantic web, not why I should care. We've all been "waiting" for the Semantic Web for over ten years, so I'm not sure why this in-depth review is necessary.
- Ora says that the open source community is:
- more accepting of new ideas,
- more innovative than traditional players, and
- more relaxed when it comes to finding a business model.
- Most large open source projects have contributors who work at medium to large-sized corporations (so they can obtain things like food and shelter). I think that if these corporate drones stopped contributing to open source, the community would be a lot smaller and less innovative.
- This can also be a negative: the reason there are so many dead or stagnant open source projects is that the code doesn't generate any money, and when push comes to shove, people have to do work that pays the bills first.
- Ora continues to hammer on the business model point, saying that "before we get to the point where we make money, we need more experimentation and open-minded development". The Semantic Web has been "just two years away" for about ten years now - how much more experimentation do we need?
- The guy next to me is typing on his laptop using the hunt-and-peck method. At ApacheCon! Jesus.
- Here's what's ahead of us with regards to the Semantic Web:
- "Let's try to get computers working for us"
- "I'm after some kind of paradigm shift in personal computing"
- I just checked his web site - he works in Common Lisp. That's about right.
- Now hunt-and-peck guy is making these deep, heavy sighs. Constantly. It's very distracting.
- This talk has no answers. Big surprise.
- Not that I'm bitter, or anything.
Roy Fielding - A Little REST and Relaxation
- I arrive early to get a good seat. It's standing room only by the time Roy starts his talk.
- The talk ends up being a history of the W3C and web protocol development. Towards the end, Roy says, "I wish I could spend more time talking about how to create a RESTful service." That's the whole reason I came, dude! Anger!
- Roy says that refining server-side resource models is not as important as the hypertext-based navigation that guides users or client software; as long as you have the original URL to a site, you should be able to find anything else from the hypertext content. I think this is misguided based on how many of todays web applications are exposing public APIs that enable content sharing and mashups.
- This talk gives me the impression that REST is just for applications that are primarily UI-driven. It's the same old REST doesn't work for enterprise software argument used by WS-* proponents, except it's coming from Roy Fielding. I don't know why he's so focused on hypertext and applications that operate within a single domain (host).
Sanjiva Weerawarana - WS-* vs. REST: Facts, Myths, and Lies
- Some people leave after Roy's talk, but the room remains at 90% capacity. Sanjiva's talk is sure to ruffle some feathers, and that always puts butts in the seats.
- I still hold a bit of a grudge against Sanjiva for the rigmarole we had to go through for Muse 2.0, but I will put that aside for today and try to listen to his claims objectively.
- Sanjiva says that WS-Addressing is probably one of the worst things about WS-* and that it should allow for the use of a simple URI for people who don't need endpoint references or the implied resource pattern. Preach on, man.
- He started with some WS-* negatives, but as the talk wears on, it's becoming more and more about the negatives of REST. I can't say that he's being unfair to REST - most of his points are reasonable - but he did kind of gloss over WS-*.
- The talk was well-received, and he didn't get many questions afterwards. He was pretty harsh on REST, but not inaccurate; I still think the talk would have been more effective if he'd spent more time detailing WS-* negatives instead of using broad statements like web services aren't right for every project.
Dan Diephouse - Building Scalable, Reliable, and Secure RESTful Services
- Dan is another WS-to-REST convert who spent some years implementing SOAP engines and WS-stacks and has moved on to Mule, which is an open source ESB; I don't know how an ESB is any less enterprise-y than WS-*, but I guess it makes him happy.
- Dan has chosen to pack an incredibly large amount of information into a one-hour presentation. As time ticks away, I can't help but feel that this talk would be much better if it were a week-long session instead. Perhaps he doesn't have time for the kind of multi-day labs offered at ApacheCon, but it would make his presentation less overwhelming.
- We're fifteen minutes in, and I've given up trying to summarize. There's a lot of good material here, but I'm just going to end up re-typing his bullets. If you'd like to see the presentation yourself, you can find it here.
Looking back, Day 2 Track 2 was definitely worth the $150 conference fee, but it wasn't worth giving up my no-vomit streak; when I threw up last Saturday, I was only a month away from the six year mark. Six years isn't quite as impressive as my previous no-vomit streak (nine years, one month), but it's nothing to sniff at. If I could do it all over again, I'd rather have the streak.