Last week I attended QCon London 2010. I was lucky enough to get to two days of tutorials as well as the full three days of the conference.
First up I attended the brilliant Rest In Practice tutorial run by Jim Webber and Ian Robinson. The tutorial is based around their forthcoming book with Savas Parastatidis which now in rough cuts
The tutorial covered a lot of ground, and was well presented. By using Hypermedia you can create very rich services and this tutorial provided a great insight on how and why you should do just that. It provided a good overview of what REST really is using the Leonard Richardson maturity model, and how most services that tout being RESTful are not actually fully RESTful (though they may indeed still be of value).
On day 2 I attended the Resource Oriented Architecture tutorial run by Brian Sletten. Before going in I wondered if I'd made a mistake selecting two REST tutorials - but it turned out to be a great choice, it was complementary to the day before.
One of the most memorable parts of the tutorial was the 'musical interlude' where Brian did a brilliant job of explaining derivative works, and how public data opens up a world of possibilities.
The conference proper kicked off on Wednesday. The opening key note by Bob Martin, whilst at times a bit preachy, was entertaining and re-enforced some good development practices.
As usual it was difficult at times to chose which talk to attend, which became irritating when you hit a slot where there were no talks that stood out. This year was also much busier, with rooms becoming crowded and at times overcrowded. I felt that it wasn't quite as well organised this year, things didn't flow quite as well and some of the speakers seemed ill prepared.
However many of the talks were of high standard, and very enjoyable.
Unlike last year I am not going to try and summarise every talk I went to, I just don't have the time these days. But some stand outs for me included:
The Counter-Intuitive Web by Ian Robinson
One of the best talks of QCon, Ian delved into the differences between Operation and Resource centric architectures - some overlap with Mondays tutorial, but was in many ways complimentary.
He talked about how to map Domains on to Resources and how HTTP can be used appropriately as the Application Transfer Protocol and not just treated as a Transport Protocol. One of the best tag-lines of the talk was 'Intention should be written on the wire'. The idea that contracts can be expressed simply in the combination of link relations, media types, HTTP idioms and an entry point URI.
Simplicity - The Way of the Unusual Architect by Dan North
Dan is a great speaker, entertaining and engaging. The talk started with a comical biblical style story with one of my favourite lines being - "And Maven brought forth a Plague of Apache Commons, and there was a flood of all the Libraries of the Internet as a judgement upon the people"
The talk was about how we over complicate things, gradually over time we introduce further and further complexity. Dan presented some techniques to try and address these tendencies.
How to do over 100K contended complex business transactions per second at less than 1ms latency - Dave Farley & Martin Thompson
Ok, the only thing I can say is - this hurt my brain. Their solution was computer engineering elegance, hitting the sweet spot at every point in the chain - really forced me to think about how to approach problems and really reminded me of the early days of PC's where every bit of performance was eeked out of the system.