Award-winning Top 25 JUG!

Book Reviews

This book review was submitted by a DenverJUG member as part of the Book Review Program.

BOOK DETAILS

Building Portals with the Java Portlet API
Authors: Jeff Linwood and Dave Minter
Publisher: Apress
Publish Date: August, 2004
Pages: 416
ISBN: 1-59059-284-0
Publisher's Book Description

Review Date: October, 2004
 

REVIEWER

Joe Fair has been a developer in Java, C++, Perl, and scripts for businesses small and large over the last 8 years. He is interested in software process, web development, and keeping things simple.

REVIEW

Building Portals with the Java Portlet API is a great look at how to build Portlets quickly and according to the standards. After reading "Pragmatic Project Automation", I wanted to provide some automated functionality and monitoring for our team. I was going to develop it in servlets and JSP's, but portals sounded like a good fit.

When I cracked the cover and dug in, I expected to be hit with a ton of terminology. I knew I'd need some definitions, a list of basic concepts, and a survey of the landscape. Instead, I was pleasantly surprised to see that it started with a more generic discussion. The authors cover the justification for portlets, some of the capabilities, and a recipe for building a portlet solution that will fit your needs. There was even a brief discussion of how the data architecture affects the portal architecture. I had not considered these topics, and having them brought up in the beginning got me started thinking about my own project and how to best structure my work portal.

Then, on to the code! I was a little uncomfortable with the news that the examples were run on the Apache Pluto portlet container, which you could not download and run at the time of the writing of the book. However, when I checked the Pluto web site, I was glad to see that there are now binary releases pre-configured with a version of Tomcat. I checked the book's web site to get the examples and see if there were any instructions. Finding only the examples, I downloaded them and got to work.

To make a long story short, my discomfort was fully justified. I wound up downloading the Maven build project and two different versions of Pluto. Luckily I already had the rest of the software installed and configured, so I only spent 90 minutes getting the first example to work. From there things went quickly. The rest of the chapter is full of explanations of how portlets work, the Java objects involved, and the built-in capabilities.

For the next several chapters more topics are introduced and more complex examples are explored. The writing is consistently easy to read, and the explanations are thorough and useful. I got the feeling that the authors could cover the topics in sufficient depth so that I understood the idea, but did not bore me with details that I knew I'd never use.

In chapter 8, the topic turned to some more advanced items. Simplified security and having a "single sign on" security model are advantages to using portlets. This chapter includes an in-depth discussion various issues around security and some of the things to look out for. The next chapter talks about generating and receiving RSS feeds, and the next chapter goes over in a good bit of detail how to use the Lucene text search engine. There are other chapters on integrating an existing application and using JFreeChart to generate charts on the fly. Most of these later topics are not directly related to portlets, and at first I thought they were filler. Instead, after reading the chapters and thinking about some of the issues, this is more like an advanced portlet class. Once you know how to handle some of the simple examples, the authors open up the horizons to show you a range of possibilities to make your portlets more useful.

If you're looking for a straight how-to manual or an annotated API reference, Building Portals may not be for you. However, if you're interested in portlets and want to learn more about them, this is the kind of book that you can sit down and read an entire chapter on without skipping a thing. The authors are very good at introducing a topic and telling you how it works, but between those two points is usually a justification for why you might want to do this, or what some of the pitfalls might be. They do a very good job of writing more like a mentor than a manual. The only problem was the software setup, but that's a one-time problem that isn't related to the book. I would highly recommend Building Portals for a Java developer that wants to expand his range or keep up with new technology.