Two free chapters from Seam in Action available!
February 23, 2008
There are a lot of excellent frameworks that have been created to support the development of web-based Java applications. While it's great to have options, the fact that there are so many rests the burden of researching them and selecting one entirely on your shoulders. To help you with your decision, and to give you a preview of my book, Seam in Action, I have made two chapters available for free that offer a glimpse of Seam's most compelling features. The source code presented in the book is also available as an open source project, so you can use it to follow along while you are reading the chapters.
Note: Keep in mind that these are early release chapters. They have not yet been through the rigorous technical and copy editing process that you can expect to be done for the final manuscript.
The first free chapter is also the first chapter in the book, Seam unifies Java EE. This chapter recognizes the tough choice that you face when having to select a development framework to use as the foundation of your project. I explain how Seam is not just another crazy idea in the sky, but rather a modernization of the Java EE platform. That may sound dull and unexciting, but what you must recognize is that the Java EE platform has tremendous capabilities that have been buried under layers of unnecessary complexity for more than a decade. Seam takes a new, lightweight approach to bringing these services to POJO components through the use of annotations and method interceptors, allowing the components to focus purely on business logic rather than infrastructure code.
The second free chapter presents Seam's conversation as the central unit of work in a Seam application. A conversation is a scope, or context, that spans several requests, but is shorter lasting than the HTTP session. The purpose of the conversation is to maintain resources (UI selections, form data, managed entity instances) for the duration of an atomic user interaction, or use case. The fact that the conversation is much shorter lasting than the session ensures that it does not eat up valuable server-side memory. The conversation also saves the page developer's time, who no longer has to worry about propagating state parameters from page to page manually using hidden form fields (or worse, the HTTP session). Most importantly, though, the conversation serves the user. It gives the user an isolated workspace that retains the current state of the interaction, does not conflict with other tabs or windows, and even allows the user to switch between concurrent interactions. You discover in this chapter that the conversation is the piece that has been missing from web-based applications for far too long.
I hope that you enjoy these two chapters and that they help you with your decision of which framework to choose. Please don't hesitate to contact me, either through my website or the Seam in Action forums, if you have feedback to share. In the spirit of open source, we can achieve great things by putting our minds together.
I am hard at work polishing up the rest of the book so that it can make its way to production and eventually into your hands so that it can serve as a guide on your next Seam project!
This post is syndicated from Dan Allen's Amazon Blog.