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
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.
Recently, Simon Brown put together a set of
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
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.
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.
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.
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 firstname.lastname@example.org.
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