Norman Richards (super-smart/thoughtful guy doing product management stuff at JBoss) has posted a download of the Seam hands-on lab from JBoss World. This is a nice way to get started with Seam, and much more interesting than listening to me rant on about conversations and state management and unified component models for an hour and a half...
(Warning: it's a bit enormous because it bundles the appserver!)
Usually I don't like to climb into these kind of discussions - I usually keep quiet unless I have something more to add than
metoo. But forgive me for mentioning that, on balance, I agree with the many people arguing that bundling Derby in the JDK is a Bad Idea. My concern is that this decision naturally forces projects like Hibernate to have to support Derby, no matter what our better judgement as to the maturity/stability of the product at this stage. Perhaps if/when Derby has shown itself to be a truly production-ready platform, this decision could be better justified. But for now, Derby is neither usable in production, nor is it really a good choice for development (HSQL is much more usable at development time, and that is what 95% of people are using).
It would be really nice if Sun would reconsider this decision. Perhaps the solution is simply to offer two different download bundles, one with Derby, one without, and Let The People Decide :-)
UPDATE: I'm also amazed that Sun would want to risk sticking the word
Java on this product. Like the
Java Desktop, it seriously risks devaluing the brand.
Last week thousands of people downloaded Seam 1.0 and tried it out. Inevitably, they picked up on a couple of bugs of the
minorish variety. At the same time, I was getting some useful feedback from users who are already developing and/or deploying Seam applications at JBoss World. Finally, Roger Kitain from Sun reported a problem running Seam on GlassFish. So, I needed to do a 1.0.1 release:
This release has been properly tested on GlassFish.
Note that if you are using JBoss AS, Seam requires JBoss EJB 3.0 RC8. The best way to get the right versions of everything is to use the JEMS installer here:
(I know that this caused some hiccups for some people.)
Of late, the pressure on us has been to stop throwing in new features, and focus on stabilising the platform, so that people can feel confident using Seam in production. I think we are finally there now. I'm really happy with some of the applications I'm seeing built in Seam: you can really see the difference in user experience between a traditional web application and a Seam application with conversations, AJAX, business process management, etc. I was especially impressed with the workflow application built by JBoss Innovation Award winners Lexicon Genetics in just a couple of months. Doing something like that without jBPM and Seam would be a seriously much bigger undertaking. And they are pushing the limits of the environment, and helping feed me new ideas for Seam.
The Seam project is proud to announce the release of JBoss Seam 1.0 GA, an application framework for Java EE 5. Seam aims to be the most productive platform for development of enterprise and rich internet applications in any programming language.
XML hell that plagues Java frameworks designed for use with J2EE by leveraging Java 5 annotations for declarative programming.
Seam 1.0 introduces the following new features:
- Seam Remoting - an AJAX-based remoting layer for EJB 3.0 components and JMS (created by Shane Bryzak)
- Support for JSR-168 compliant portal engines such as JBoss Portal
- Elegant handling of internationalization and JSF messages via EL-based interpolation
- Helper components for JMS senders/publishers
- JSF tag library
- Redesigned XML-based configuration facility
- Support for integrating databinding architectures
- Eventing architecture for loosely-coupled components
- Seam Logging
- JBoss Cache integration for cluster-wide state replication
- Experimental Drools integration
- Compatibility with the Java EE 5 reference implementation
- Much more...
As usual, the best way to learn about Seam is to check out the example applications. Start with the registration, numberguess, booking, blog, dvdstore and chatroom examples.
Get it here:
The Web Beans JSR was approved unanimously by the JCP executive committee. You can read the proposal here:
We've already received a bunch of expert nominations from companies and individuals, and so I'm sure we'll be able to form a very talented expert group over the next few weeks. If you're interested, the nomination form is here:
This is the first time JBoss (or even Red Hat) has led a JSR, so we are very excited about this opportunity to serve the Java EE community!
Now that the dust is starting to settle from JavaOne it is time to explain what the announcement from JBoss about joining and endorsing NetBeans means in context of Hibernate Tools.
The core of Hibernate Tools have always and will always be independent of any IDE; these are available via our <hibernate-tool> Ant task.
Hibernate Tools for Eclipse will still be developed and improved. At JBossWorld we will have a release with new features and it will be compatible with Eclipse 3.2 and WTP 1.5 (Callisto), and for the brave the nightly builds should soon be the Callisto-based version.
In other words we are not moving away from Eclipse, we are simply recognizing the great work that the NetBeans community have been doing especially with respect to Java EE 5 tooling.
Thus for NetBeans and Hibernate Tools we gladly accepted a contribution from Leon Chiver which brings some of the Hibernate Tools for Eclipse features to the NetBeans platform, primarily the HQL editor (thank you Leon). We expect to also release a preview of this around JBossWorld.
Already with the initial contribution we have created a shared code set for the HQL code completion which actually resulted in merging both of best worlds and improving the functionality in both the Eclipse and NetBeans plugins.
We plan to align the feature set of the IDE tooling with help from the
community and have the plugins share as much code as feasible to allow contributions in both
camps to benefit each other. I look forward to hear from you what features you want the most.
There is more news coming and if you are curious come and hear more about them at JBossWorld Las Vegas. I and others from the Hibernate and JBoss IDE Team will be there.
No /Hibernate in Action/ anymore. It has been a while since my last update on the book status, so here is a heads up. A lot of things happened in the past three months:
- The planned Hibernate in Action /Second Edition/ was more than a second edition. There was so much new content to write and add that we could no longer call it a new
edition. It is now a new book with more than 90% new content, compared to Hibernate in Action, and with a new name, /Java Persistence with Hibernate/.
- The beast is currently at 700 pages, with the last chapter still incomplete. In printed form we expect it to be somehwere between 750 and 800 pages. This is mostly due to two factors. A) Hibernate 3.x has just so much more features than Hibernate 2.x and we wanted to have all of them in the book. B) Java Persistence described in parallel, with all annotation mappings, EntityManager and so on - they are all very similar to Hibernate native, but it needs space.
- The book will be published by Manning, we also have a book page and a cover. We will post a TOC on that page soon.
The Manning book page currently says
publishing date November 2006. I think we can do better than that, we are actually in the last stage of reviews and should go into copy edit and production in a matter of weeks. I know that a lot of you wanted to have this earlier, but there was just too much to write. Also, things like the removal of FlushMode.NEVER from the JPA specification (well done, Oracle) forced me to rewrite dozens of pages and introduce application design based on auto-commit mode. Now that the specification is final, I could commit and stabilize these sections.
I will release another alpha or beta of CaveatEmptor and a sample chapter next week. Watch this space.
The recently finalized Java EE 5 platform dramatically simplifies development of Java applications.
For example, no other programming environment in existence makes it as easy to access transactional resources - particularly relational databases - as EJB 3.0. The combination of plain Java classes, annotations and deep integration of a full-fledged O/R mapping solution leapfrogs all other contenders in this space.
Even better, EE 5 is designed for extension, so we expect to see a flowering of new open source frameworks built to run on and integrate with this new platform. Seam is a perfect example of what is possible here. The deep integration of EJB, JSF and jBPM would simply not have been possible in J2EE 1.4.
Well, it turns out that Seam has been recieved with enthusiasm. The user community is buzzing, with hundreds of Seam projects in the works, and the first crop of Seam applications going into production over the next couple of months. Seam 1.0 will be released in the next few weeks. In light of this success, we've decided the time is ripe to bring some of the ideas in Seam back to the JCP.
So we've been working with Sun, Oracle, Borland, Google and Sybase to put together
a JSR proposal for a new spec that will draw on ideas from Seam, Struts Shale and
Oracle ADF and push forward with the next layer of simplification of enterprise
Java. Today we submitted the
Web Beans JSR, which will address the problem of deeply
integrating EJB 3.0 with the web tier, including, to quote from the proposal:
* Definition of additional capabilities to be used with the EJB component model, allowing EJB beans to act as JSF managed beans in a JavaServer Faces application. * Definition of a unified annotation-based facility for manipulating contextual variables in a stateful, contextual, component-base architecture. * Definition of an enhanced context model including conversational and business process contexts. * Definition of an extension point allowing integration of business process management engines with the contextual component model. * Integration of Java Persistence API extended persistence contexts with the enhanced context model. * Collaboration with the JSF and Common Annotations for the Java Platform expert groups on the definition of Java annotation based metadata for JSF.
We're all looking forward to serving the Java community with this new work!
Read the press release here:
I've seen a couple of comments online to the effect that Seam is some kind of JBoss-only thing. This is not the case, Seam doesn't have any hard dependencies to anything other than the standard Java EE 5 APIs.
Roger Kitain from Sun has done the hard work to get Seam up and running on the Java EE 5 reference implementation. He had to make a couple of patches to the Seam sourecode, mainly reflecting the fact that I'm developing Seam on JBoss, which is currently slightly behind the final draft of the Java EE specs. This situation should be fixed sometime in the next two weeks. My plan is that Seam 1.0 final - coming /real/ soon now - will run on both JBoss and the Java EE RI (and presumably, any other Java EE 5 implementation). Thanks to Roger I now know what I need to do ;-) Of course, Seam already runs on standalone Tomcat, if you use the JBoss Embeddable EJB3 container, or if you are happy using JavaBeans and Hibernate instead of EJB3.
So, thanks Roger!