Bio
Gavin King leads the Ceylon project at Red Hat. Gavin is the creator of Hibernate, a popular object/relational persistence solution for Java, and the Seam Framework, an application framework for enterprise Java. He's contributed to the Java Community Process as JBoss and then Red Hat representative for the EJB and JPA specifications and as lead of the CDI specification.
Gavin now works full time on Ceylon, polishing the language specification, developing the compiler frontend, and thinking about the SDK and future of the platform. He's still a fan of Java, and of other languages, especially Smalltalk, Python, and ML.
You can follow him on G+.
Tags
Comparing web frameworks: Seam
Recently, Simon Brown put together a set of requirements for a very simple blogger application that could be used to compare Java web frameworks. I have my reservations about the actual requirememts he put together (in particular, there is no form submission!) but since some other framework authors have bitten, I've gone ahead and ported the example to Seam. I want to put a massive caveat around this post: Seam is absolutely not designed for applications like blogs or web forums; these kind of problems are very easy to solve using something like PHP or Ruby on Rails and there is no really good reason to use Java for a problem like this (unless Java is all you know). We have a set of requirements here with /no conversations/ and /no business processes/, so all the sophisticated state management machinery of Seam is redundant. Nevertheless, frameworks need to make simple things easy, and you'll see how little Java code we need to write to solve this simple problem using Seam.
Thomas has posted a movie demonstrating the use of Hibernate Tools (part of JBoss IDE) to reverse engineer an entire runnable Seam application from an existing database.
Seam 1.0 beta 2
Seam 1.0 beta 2 has been released:
Seam Webinar
Annotations and Validation
Annotations are undoubtedly the coolest new thing in Java SE 5 and will deeply change the way we write Java code. In the process of designing EJB 3.0, Hibernate Validator and Seam, we've had a chance to really start to stretch the use of annotations to the limit. It's striking just how many kinds of things may be expressed more elegantly and efficiently in declarative mode when you have a facility for mixing declaration and logic into the same source file. We've seen that in practice, whatever initial misgivings people may have about Java annotations, once they actually start using something like EJB 3.0 in a real project, they experience such a productivity increase that they quickly become comfortable with the approach.
The Seam Component Model
One of the distinctive features of Seam is that a lot more things are treated as components
than what you might be used to from other architectures. In fact, pretty much every object
you write will be treated as a Seam component.
Seam
We released Seam today.
JBoss, Inc is looking to hire a full-time Hibernate consultant based in the United States to help deliver Hibernate-related onsite consulting and training. We're looking for someone with significant experience building enterprise applications using Hibernate. JBoss knowledge is useful but not essential. Please send resumes to gavin@hibernate.org.
Hibernate 3.0 presentations
I recently spoke at TheServerSideJavaSymposium and at the New England JUG. My presentations, which cover some new ideas implemented in Hibernate 3.0 are now online:
Versant Spam
For several months, Versant, an old-school OODBMS vendor with a collapsing market cap, has been making any number of false claims about Hibernate in online webinars and sales presentations. I went so far as to write a blog refuting their claims, but then held back on publishing it because I thought they didn't deserve the attention. They've now resorted to mass emailings of a document with many false claims about Hibernate, and we've decided we need to respond for the record.