Seam 1.1 New Features
Gavin has released a BETA for Seam 1.1. Get it here. It has some nifty new features. I will update the book very soon!
Here are some of the major 1.1 features I especially liked. I will probably write separate blogs explaining them.
* The Seam Application Framework for data-oriented applications
MY: Think “Spring templates” … Those are standard DAO wrappers for entity beans. They reduce the amount code you have to write for common data access features in session beans.
* Integration of Ajax4JSF for partial page refresh
MY: It is great to see those two great frameworks work together! I have been using Ajax4jsf in my Seam + Facelets applications for sometime now. Works great.
* Support for atomic conversations
MY: Greatly reduce database round trips by flushing the persistence context only at the end of the multi-page conversation (as opposed to at the end of each transaction in standard setup). This further makes Seam a superior web framework for ORM (also see here).
* Exception handling via annotations of exceptions.xml
MY: Very nice feature! It allows you to redirect to any page upon any Exception! No more hacking around the FacesServlet
* Efficient clustering of Seam-managed extended persistence contexts and JavaBean components
MY: Seam is a stateful framework that IS highly scalable.
* Page fragment caching via <s:cache/>
MY: You can cache static page segements to improve performance when you have mixed static and dynamic content on frequently accessed pages.
* “Decoration” of invalid input via <s:decorate/>
MY: Another improvement on the already very nice input mechanism that ties JSF input directly to Hibernate validation annotations.
* Page parameters for RESTful applications
MY: Seam already provides strong support for RESTful applications. With this new feature, you can further integrate RESTful pages into your stateful page flow (a.k.a Seam “business process” like page flow).
* New concurrency model for Ajax-based applications
MY: There are several easy ways to integrate AJAX functionalities into Seam apps. This new feature improves Seam’s internal support for AJAX — it now allows multiple concurrent AJAX requests to the same Seam backend component / context.
In addition, other useful enhancements include:
* Asynchronous methods and events
* Enhanced configuration via components.xml
* Themes
* Support for the Sun JSF 1.2 reference implementation
Seam 1.1.BETA1 is compatible with JBoss 4.0.5.GA and JBoss Embeddable EJB3 alpha 8. It is also compatible with GlassFish, the Java EE 5 reference implementation.
November 2nd, 2006 at 3:56 pm
Will these updates make it into your “as yet” unpublished book on seam (simplicity and power beyond java EE).
I tried to buy the “rough cuts” to get the .pdf but the site does not accept the 4 CC’s I tried.
November 2nd, 2006 at 4:53 pm
Hi Tony,
Yes, the book will be fully updated to incorporate Seam 1.1 features. That is why there is so much delay in publication!
I am not sure what is the problem with roughcut. It certainly sounds bad.
Maybe I should start to take paypal payments on my own web site.
cheers
Michael
January 8th, 2007 at 12:48 pm
Hi Michael,
I’ve already purchased the rough-cut and I look forward to the hard copy.
I was wondering if you could give a hint on which Seam tools will help automatically create CRUD from the database that are mentioned in Chapter 12?
January 8th, 2007 at 1:05 pm
Hi George,
Sorry my bad. There is no ready tool to generate a complete CRUD app. What we have are:
1. The Seam Gen tool that generates a complete project template with all configuration files and IDE / Ant integration.
2. A CRUD application framework that allows you to declaratively write the data access object. This way you can write a simple app with no Java code.
cheers
Michael
February 26th, 2007 at 1:26 am
Hello Michael,
I bought the “Developing Scalable Series 40 Applciations” more than a year ago. It is really an important book for any Mobile Java developer and hellped me a lot.
I would like to ask you about chapter 12 (Developing Scalable Applciations). I found Antenna as a flexible tool for building application to various devices, and I want to continue using it. Would you suggest today to try other tools that were not known at that time (when the book was published)?
Thanks in advance,
David
April 25th, 2007 at 3:57 am
Thank You
January 29th, 2008 at 10:25 am
Hi Michael,
I have read your article and your book “JBOSS SEAM”. I am trying to get started writing the first class. But I have a naïve question. In the ManagerAction.java for the Hello example project, you have the following code:
fans = em.createQuery(”select p from Person p”) .getResultList();
if I want to select a particular column, say name, how can I do that? I have tried p.name. It does not give any return results, no errors. If I use p.NAME, then get errors.
Can you help on this?
Thanks.
Everett
January 29th, 2008 at 11:20 am
Everett,
You need to read the Hibernate documentation to find out how to construct various queries. But a key point here is that Hibernate (or JPA) is an “Object Relational Mapping” framework. That means you work with Java objects not database columns in your application.
Selecting a single column from a database table is doable in Hibernate (run native queries) but it is not recommended since it exposes the details of your relational model into the abstract object layer.
cheers
Michael