Podcast from JavaOne

August 22, 2008

Podcast iconIn between crashing parties at JavaOne, I was tracked down by Kito Mann to do a podcast interview for JSFCentral. Kito is the author of JavaServer Faces in Action, runs JSFCentral, and holds a seat on the JSF 2 expert group. He asked me about Seam, my book (Seam in Action), and Seam's integration with Spring. Kito has diligently made the transcript available for those of you who don't suffer from long commutes.

The best way to extract loads of good information from me is to catch me in the middle of one of my rants. The fervor of JavaOne had me fired up on this particular evening, so this episode is sure to please. I was especially excited because this is my first podcast. I can proudly say that I am no longer a podcast virgin!

In the podcast, I discuss my book and what to expect from it, how Seam makes Java EE accessible, why integration with Spring is desirable and some of the differences in philosophies of the two frameworks (and its creators), how to respect the persistence context, and some of my wishes for JSF 2. I even talk some about my PHP port of Struts, a fling from my past. Pay close attention to what I have to say about the syntax for the view technology in JSF 2 because it brings to light an oversight in every view technology I know of.

I hope that this podcast gives you incentive to check out my book. As I say during the interview in the words of my readers, "nothing has gone into the detail and we have spent a lot of time with these problems and you have addressed [them in Seam in Action]." I really did labor over this book for my readers. This interview should help you understand why I did.

Posted at 10:05 AM in Java, JavaServer Faces, Seam, Seam in Action | Del.icio.us Icon del.icio.us | Digg Icon digg | Comment Icon No Opinions?

Seam in Action promotion at JavaRanch

August 06, 2008

In the midst of the final countdown to the publication of Seam in Action, I will be answering questions about the book, and Seam in general, on the JavaRanch forums. Ask a question and enter to win a copy of the book. Better yet, just stop on by to say "Hi!" and pick my brain about Seam.

Here's the official announcement:

We are thrilled to have Dan Allen on the ranch to promote the book "Seam in Action". The promotion will be held in the Application Frameworks forum which can be found here:

Application Frameworks forum

Participate in this week's giveaway by asking Dan Allen a question or two and you may win a copy of the book!

The giveaway starts on Tuesday, August 5th 2008.
The drawing will be held on Friday, August 8th 2008.

See you at the ranch! And wish me luck on finishing the book. I'll need it!

Posted at 08:02 PM in Seam in Action | Del.icio.us Icon del.icio.us | Digg Icon digg | Comment Icon Comments (4)

"Seam in Action saved my life"

May 07, 2008

If you know me, you know that I don't really like to talk about my successes. I guess part of it is because I absolutely hate when I am the target of marketing, so I like to avoid putting other people in that situation. However, when I read the following post on the Seam Forums, I decided I just had to share it.

Dan,

I have never written a book review before but am unable to contain myself in this case. I bought the pre-release version from Manning out of desperation to make head or tails out of what I have been doing with Seam, JSF, EJB etc.

My perspective may be a bit different in that I am relatively new (7-8 months) to web development of any sort and fairly new to Java. The learning curve has been steep and painful. Compounded with this is that I am running solo with no peer group to keep me on the narrow path.

I chose SEAM after an initial web app strictly with JSF, EJB3. I was relieved at how much less code I had to write to accomplish things. However, Seam introduces a whole new set of complexities and some of the nuances have really thrown me.

The Michael Yuan/Thomas Heute book is a good resource for whetting the appetite. However it covers v1.0 Seam and it fairly introductory.

What I had been missing and was desperately needing was a full understanding of what is happening under the covers; something that fully connects the dots. Your book does just that! It has eliminated much of the confusion that was besetting me. I having been reading it voraciously since I downloaded it.

The community will greatly benefit from this resource. I love the thorough, careful, methodical explanations that step you through what is really going one. The abundant charts and graphics expose detail and subtleties that a developer really needs to know.

This will be my primary goto resource. I hope the example code will be available for download soon.

Thanks for hitting a home run with this.

- Andy Conn
Writing Seam in Action has been intriguing, but extremely laborious for me. Therefore, when I read something like this, it makes it all worthwhile. Hell, it almost brings me to tears, like when gold medalists cry after having dedicated their lives to achieving the Olympic grail.

BTW, if you are wondering what is going on with Seam in Action, I am currently pushing it through copy editing. I am taking my time because I want it to be right.

Posted at 03:58 AM in Java, Seam, Seam in Action | Del.icio.us Icon del.icio.us | Digg Icon digg | Comment Icon Comments (8)

Avoid this common JSF mistake

May 01, 2008

Don't access the database in a method that feeds a UIData component! (e.g. <h:dataTable>) I see this mistake being made all the time. It's bad advice and just plain bad practice. Don't do it!

What most people don't realize (perhaps because they are not watching the SQL log output in their ORM tool) is that value expressions are resolved more than once during the JSF life cycle--usually a lot more than once. Every time the value expression that feeds the UIData component is resolved in this scenario, your database takes a hit. On top of that, the result set could change depending on what you are retrieving and how you are doing it.

I will present a brief example and then show how to fix it using Seam.

[ Continue Reading » ]

Posted at 02:51 AM in Java, JavaServer Faces, Seam | Del.icio.us Icon del.icio.us | Digg Icon digg | Comment Icon Comments (12)

Heading to JavaOne 2008

April 29, 2008

I almost decided to pass on JavaOne this year, but the free CommunityOne pre-conference and the JBoss Party gave me reason enough to make the trip (and the effort). Attendance at CommunityOne gets you a free pass to the General Sessions and the pavilion on the first day of JavaOne. How could I pass on free?

I am looking forward to the JBoss party as an opportunity to meet with the Seam developers, most of whom I have only communicated with via e-mail. Aside from that, though, I am going to play it cheap and not actually pay for the conference pass. I have other plans for that money1. Still, I couldn't just sit this one out. Given that I have pretty much dedicated this entire last year to Seam--and Java in general--I am very excited to mingle with all the Java enthusiasts in San Francisco this year. Catch up with me if you want to chat about Seam (and perhaps I will hook you up with a Seam in Action coupon).

1 I need to purchase myself a computer so that I actually own the one I use.

[ Continue Reading » ]

Posted at 02:19 AM in Java | Del.icio.us Icon del.icio.us | Digg Icon digg | Comment Icon Comments (1)

Spring into Seam series published

April 18, 2008

Needless to say, I have been busy. A fair amount of that time has been dedicated to the production of Seam in Action. But that doesn't mean I want to leave my readership left hanging while I push characters around on the screen. So today, I have news that you are going to be thrilled to hear...

As you may have gathered, I am a big fan of both Spring and Seam. In fact, when I first learned Seam, I found myself torn between the two. That was, until I discovered that it is possible to use them simultaneously, each for their strengths. To advocate this integration, I decided to spin off a portion of the online Spring integration chapter from Seam in Action as a three-part series for JavaWorld titled Spring into Seam, set to be released over a three week period. The first part in the series explains how to build a Spring-Seam hybrid component, a managed object that benefits from functionality provided by both the Seam and Spring containers. In Part 2, you'll learn how to infuse state into traditionally stateless Spring beans by allowing them to reside in Seam contexts, and how to inject stateful Seam components into Spring beans. Finally, in Part 3, you'll learn how to integrate Seam and Spring at the most basic level by having them share a persistence manager.

The good news about this series is that not only do you get the content for free, but you also get it sooner in its final revised form! By the end of the series, you will walk away as an enlightened developer, no longer interested in the trite Spring versus Seam debates, but rather looking for more ways to extract value out of the unmatched features of both frameworks. To you, it's all gravy!

This post is syndicated from Dan Allen's Amazon Blog.

Posted at 02:18 PM in Java, Seam, Seam in Action | Del.icio.us Icon del.icio.us | Digg Icon digg | Comment Icon Comments (3)

Feast your eyes on all chapters!

March 18, 2008

I am thrilled (and tremendously relieved) to announce that the full manuscript of Seam in Action has been released through the Manning Early Access Program (MEAP). This release entails a completely revamped first chapter and editorial improvements through chapter 7 based on the feedback from a very dedicated group of reviewers. I am expecting to have at least one more MEAP release that incorporates the feedback into the remaining chapters of the book.

If you are one of those folks who crave in depth information about Seam right now are willing to absorb the rough spots, then your wait is over! As one reviewer put it, "You did an amazing amount of work on this book." Yes, I agree.

For those of you who demand that last mile to be completed before reading it, you won't have to wait too much longer. The book has officially entered into production! I am dedicating what little energy I have left, supplemented by my relief team at Manning, to complete this book and get it into your hands before the lazy days of summer arrive.

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.

[ Continue Reading » ]

Posted at 12:41 PM in Java, Seam, Seam in Action | Del.icio.us Icon del.icio.us | Digg Icon digg | Comment Icon Comments (7)

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.

[ Continue Reading » ]

Posted at 11:30 PM in Java, Seam, Seam in Action | Del.icio.us Icon del.icio.us | Digg Icon digg | Comment Icon No Opinions?

SeamFramework.org: Seam's new identity

February 14, 2008

Today, the Seam developers announced SeamFramework.org, the official community site for the JBoss Seam project. This site is the new home of the Seam forums, knowledge base (wiki), and FAQs. It is also the heartbeat of the Seam development project, syndicating the latest SVN commits, JIRA activity, and developer blogs.

The Seam community site is exciting for a number of reasons:

  1. Proof. First and foremost, the site is powered entirely by Seam, Hibernate, and RichFaces. This commitment is referred to as "eating your own dog food." You cannot sincerely advocate a web framework if you don't feel comfortable enough to use it for your own website. So, there you have it, Seam in Action!
  2. Identity. Like it or not, Seam lies in the shadow of JBoss, which to some is a very dark cloud. The advent of SeamFramework.org is a coming out party for Seam, helping others to see that it is an individual project and not just a subsidiary of RedHat/JBoss stuck in the confines of the JBoss Labs. Hopefully, developers will take this opportunity to become members of the Seam community, contribute to its success, and steer its future.
  3. Consolidation. In a world bubbling over with information, it is nice to be able to get your daily dose from a single source. SeamFramework.org has a variety of feeds that you can choose to digest, ranging from forum topics and blogs to SVN commits and JIRA activity. In addition, the project information is all summarized in one place. Effort is even underway to make the site accessible to mobile clients, so keep your iPhone, Blackberry, or Nokia handy!
  4. Community. In open source software, nothing is more important than the community. The Seam project is enriched with brilliant minds, but no matter how much talent you throw at a project, there is no replacement for feedback from those who have used it, either successfully or unsuccessfully, in real world situations. Whether it be bug reports, exceptions encountered, caveats, best practices, or tips, this information needs to be communicated so that Seam can better serve developers in the field.

The announcement of SeamFramework.org comes shortly after the release of 2.0.1.GA and the preparation of the 2.1 branch. Get involved today and help make the next iteration of Seam even better!

Posted at 02:50 AM in Java, Open Source, Seam | Del.icio.us Icon del.icio.us | Digg Icon digg | Comment Icon No Opinions?

Destination: Seam in Action

February 05, 2008

Seam in ActionHey there! My name is Dan and I'll be your author, guide, and teacher on your journey through the vast landscape of JBoss Seam, which I present to you in my book, Seam in Action. You are going to see exciting features like CRUD generation, components, contexts, bijection, conversations, workspaces, stateful page flows, JavaScript remoting, PDF creation and business processes. The list goes on. It's going to be a fun and informative adventure.

In your hands, you each have something called the EL. This device, or more accurately an expression language, gives you the power to access any of the components in Seam whenever you want them. The creators call it the glue that holds Seam together. It works by putting the name of a context variable between #{ and } and clicking to evaluate. The result is an instance of a Seam component. You can also append a path expression to the context variable. In that case, the possibilities are endless. Use it wisely.

I know that you have a lot of choices when it comes to technologies, and from there, additional choices when it comes to which book to read to learn about that technology. JBoss Seam is worth knowing because it touches on nearly every aspect of Java EE, yet manages to make every facet remarkably accessible. But, even if you are on the fence about Seam, I promise you that this book will be entertaining, informative, and worth the time you spend reading it. I don't just have a knack to inform, I have also been told I have the ability entertain (at least in prose).

Make plans today to read Seam in Action. If it isn't yet available in print when you make those plans, join the Manning Early Access Program to get your mouse on the electronic pre-release version. When you are done reading this book, you will each get a certificate in the form of knowledge and expertise that you can take with you on your next job interview or contract.

This post is syndicated from Dan Allen's Amazon Blog.

Posted at 12:28 AM in Java, Seam, Seam in Action | Del.icio.us Icon del.icio.us | Digg Icon digg | Comment Icon No Opinions?