I've been a zone leader with DZone since 2008, and I'm crazy about community. Every day I get to work with the best that JavaScript, HTML5, Android and iOS has to offer, creating apps that truly make at difference, as principal front-end architect at Avego. James is a DZone Zone Leader and has posted 639 posts at DZone. You can read more from them at their website. View Full User Profile

Seam Framework: Experience The Evolution of Java EE

  • submit to reddit
Published by: Prentice Hall
ISBN: 0137129394

Reviewer Ratings




Buy it now

One Minute Bottom Line

As someone who didn't know much about Seam before picking up this book, I can guarantee that this will help your understanding of the technology, how to use it, and where to use it.

The book is well structured into 8 distinct parts, from getting started to a part on how to test out your Seam application.  This structure, along with a convincing writing style, made this book enjoyable and easy to read. The second edition of the book has been updated to cover the improvements added in Seam 2.x. 

Click here to download your free Seam Refcard now!  




The book spans 34 chapters in total, with 8 parts making these chapters more digestable. Here I will give a brief overview of these parts

Part 1: Getting Started 

This part is designed for the novice, and first introduces Seam to the reader, before bringing you on to code your own Hello World Seam application. Straight away you can see the advantages to using the framework. An explanation of Facelets and JSF follows - I found this quite interesting, as I didn't realise that Facelets was something that Seam used.  This part also introduces you to the tools for Rapid Application Development with Seam. This kicks off with the command line tools provided with Seam, and then moves onto Netbeans and Eclipse support, including the JBoss Developer Studio. 

Part 2: Stateful Applications Made Easy

This section explains why stateful components are essential for database driven web applications and shows how these components are created and managed. A chapter dealing with an introduction to stateful frameworks shows the benefits of this approach, with better performance and reducing boilerplate code among the main reasons for such a framework. Conversations (a state container) are introduced and explained through a booking example. This example is carried on as the idea of concurrent and nested conversations,as well as a workspace concept are introduced. This part of the book ends up with a chapter on Transactions and Persistence. 

Part 3: Integrating Web and Data Components 

Seam UI tags, annotations and ready to use components are the focus of this part of the book. As you get deeper into the book, you find that you are looking at more advanced, usable approaches to writing good web applications. An important part of this for me was the chapter that shows how to decouple your components using events - a key skill in writing maintainable, and easy to read code. There is also a chapter showing the Seam CRUD Application Framework, so you can write your own typical CRUD application. Another important concept that is dealt with here is how to ensure your application fails gracefully, before movin onto how to secure your application with Seam Security. 

Part 4: AJAX Support

AJAX is an essential technology in making your applications more dyanamic and responsive. This part of the book is dedicated to showing how to add AJAX features to Seam applications. Here you will find out how to have AJAX interact with your Seam components, and how to use direct Javascript integration in Seam applications. 

Part 5: Business Processes and Rules

Moving away from the data driven applications discussed up to now, this part of the book shows how the jBPM business process engine powers process-driven web applications. It shows how to annotate your Seam components to become part of a business process that requires actions from multiple users. First the rule-based security framework is introduced before showing how to integrate business rules into your web application and how to manage business processes.

Part 6: Testing Seam Applications

The importance of testing can never be understated, and I was happy to see that this book, focussed on web application development, gives time to explaining how to test your application. As a POJO based framework, Seam is easily testable, but it also provided it's own testing framework based on TestNG. This section also covers how to run out-of-container testing.

Part 7: Production Deployment

This part deals with how to use a production database, to tune for performance and scalability and how to setup a server cluster. Tomcat, JBoss AS and GlassFish are all considered here as your deployment target.

Part 8: Emerging Technologies

This part shows how to execute timer jobs using Quartz, how to utilize multilayer caching and how Groovy simplifies your development. There is also an introduction to Web Beans (JSR 299), which is to unify the web and EJB tiers of your application.


Finally there are four appendices at the end of the book. They look at installing and deploying JBoss AS, using example applications as templates, using Maven and  direct access to the Hibernate API.









lucas hal replied on Tue, 2009/06/09 - 1:22pm

My name is lucas, I have started my edveture with bookmakers 2 years ago.Since this time I have won around 100 000 usd. Would You like do same?? Think about Sports betting and change Your life. Nice post Regards

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.