Wednesday, December 22, 2004

Review - SWT/JFace in Action

SWT/JFace in ActionSWT/JFace in Action
by Matthew Scarpino, Stephen Holder, Stanford Ng, Laurent Mihalkovic

4 out of 5 stars

SWT and JFace are the graphical libraries developed by IBM as an alternative to Swing to improve performance of GUI applications (specifically Eclipse) written in Java. This book offers a thorough introduction to SWT/JFace. The authors avoid getting into a Swing vs. SWT/JFace debate although they do provide a comparison of the two libraries.

The book starts with a look at writing a program in SWT and then rewriting it using JFace. The authors compare the two approaches and give a good description of why you would want to use one over the other. The next few chapters look at the basic widgets, layout managers, event handling, and graphics contexts. Later chapters cover more advanced widgets such as trees, viewers, tables, menus, dialogs, and wizards. The last chapter looks at GUI development using Eclipse's Rich Client Platform. The appendices cover development within Eclipse and integrating SWT/JFace applications with OLE and ActiveX.

Overall this book does a great job of explaining SWT/JFace at a good level of detail. The book includes a reasonable amount of code samples as well as UML diagrams that help explain how these libraries work. The authors should have chosen a better sample application to demonstrate use of the libraries and there aren't enough screen shots included which may leave you wondering what some of the widgets look like. Other than these two minor complaints, this is an excellent book to learn how to use SWT/JFace and I can strongly recommend it.

This earned 4 stars on Amazon. The book is published by Manning.

The review can be seen on Amazon on My Amazon Reviews page.

Thursday, December 16, 2004

Review - Core Java 2, Fundamentals

Core Java 2, FundamentalsCore Java 2, Fundamentals
by Cay Horstmann, Gary Cornell

4 out of 5 stars

This is the seventh edition of this book and in some ways it hasn't changed much since the first edition. The first edition was aimed at C++ programmers who were looking to transition to the new language. The seventh edition is still fast-paced and detailed and aimed for the experienced programmer. This is not an easy-to-follow tutorial for the beginner programmer. The authors assume that you already know the basics of programming even if it isn't with an object oriented language. The book might make a fairly good college textbook but not as a first language.

The book covers the main areas that you would expect in an introductory Java book with a few surprises. The book gives a little bit of the history of Java and shows how to install and run Java from the console and Eclipse (but not NetBeans). There is an early introduction to reflection but exception handling isn't covered until well into the book. Swing is covered in a fair level of depth. J2SE 5.0 changes are covered throughout the book with the many examples written to show off the new additions to the language. Threading and Collections are not covered but rather are saved for volume two.

Overall this is a well written book but the target audience is getting small. How many C++ programmers can be left that don't already know Java? If you are looking for an introductory tutorial then this book may be a bit too advanced. Through seven editions, Core Java has changed little other than to reflect language changes. Perhaps it's time to rethink the franchise.

This earned 4 stars on Amazon. The book is published by Prentice Hall.

The review can be seen on Amazon on My Amazon Reviews page.

Review - Explorer's Guide to the Semantic Web

Explorer's Guide to the Semantic WebExplorer's Guide to the Semantic Web
by Thomas B. Passin

4 out of 5 stars

The semantic web is an intelligent web, that is, a web that can be intelligently used by computers. There are two things you need to know about the semantic web. First, it doesn't exist. Second, it may never exist. If this isn't enough information for you, and you want to look at what the future may hold in the area of an intelligent web, then I can't think of a better way to get an introduction to the technologies and ideas that may be part of the semantic web than by reading this book.

The author of the book takes the layers of the semantic web as proposed by the W3C and looks at each one in turn, skipping over the familiar XML and XML schema layers. The author starts with the RDF layer and gives one of the best explanations of RDF and RDF schema that you will find. RDF is the potential meta-data language of the semantic web and the author makes it clear and understandable. Other than XML, RDF is the most real layer of the W3C layer cake so this section is also the most accessible. The next chapter delves into ontology which is vaguer and less clearly defined. The chapter on web services seems a bit unnecessary except as how they fit into the semantic web. A chapter on how intelligent agents may work is included. The last section deals with how information may be verified for truthfulness and authenticity.

If you are interested in RDF then you may want this book just for that section. If you are interested in what the semantic web might look like then this book may be of interest. If you are looking for practical programming samples or ways to build intelligent agents then this isn't the book for you. This is an explorer's guide for those having no fear to tread into unknown waters. This part of the web is still uncharted but this book will help you learn what technologies may be used to fill in the missing pieces of the map.

This earned 4 stars on Amazon. The book is published by Manning.

The review can be seen on Amazon on My Amazon Reviews page.

Monday, December 13, 2004

Review - Building Portals with the Java Portlet API

Java Reflection in ActionBuilding Portals with the Java Portlet API
by Jeff Linwood, David Minter

4 out of 5 stars

Portals are becoming more popular as companies are looking for a single web-based entry point into their various applications. Java provides a standard portal model with JSR 168. This book is a thorough introduction into JSR 168 that will help get portal developers up to speed into this relatively new specification.

The book starts with an excellent introduction into developing portlets. The first seven chapters cover all the details of developing portlets. Response and request objects are covered in detail. The portlet life cycle is clearly explained. Deployment descriptors are discussed. Integrating with Servlets and JSPs is described. The remainder of the book covers more advanced topics. Anyone working with a portal knows the problems with providing single sign-on to multiple applications. The authors discuss this issue giving several examples. The authors cover syndication, searching, personalization, web services, content management, and more.

My only complaint with the book is that it uses the Apache Pluto portal, which is not in final release yet. Pluto is an open source portal but it is complicated to distribute content to it (you are forced to use Maven). When the book explains how to distribute portlets to Pluto it gets a little confusing because the authors need to explain multiple configuration files, some of which are exclusive to Pluto. Other than this one problem, the book gives a solid introduction to developing a portal providing detailed information of both the basics and many advanced concepts. Clearly the authors understand portal development and know how to pass that information on to their readers.

This earned 4 stars on Amazon. The book is published by Apress.

The review can be seen on Amazon on My Amazon Reviews page.

Wednesday, December 08, 2004

Review - Java Reflection in Action

Java Reflection in ActionJava Reflection in Action
by Ira R. Forman and Nate Forman

5 out of 5 stars

There are only a handful of books that every Java programmer should own. This book manages to enter into that elite group of books by providing exceptional coverage of an area of Java programming that is generally poorly covered and often misunderstood. Reflection is a topic that many programmers know about but don't truly understand. Reflection can provide simple ways to get out of complex problems, which makes it well worth knowing. Reflection is one of those tools that you never knew you needed until you learn it.

The authors of this book are a father/son team that have been working with reflection for years. They attack reflection in small pieces, making each topic crystal clear before moving on to the next. In keeping with the "action" from the title, the authors show examples of each aspect of reflection, breaking down each line of code with complete explanations.

The book starts with the basics of reflection, looking at how to examine a class at runtime and dynamically load it. The book then moves on to demonstrating how to use the Proxy class. Later chapters show how to examine the call stack, customize class loaders, and transform one class into another. Performance is covered with a chapter that gives some good examples of benchmarking the cost of using reflection. The book ends with a look at the impact of Java 1.5 on reflection.

The best advice I can give is, buy this book. You will be amazed at the things that you didn't know you could do with Java.

This earned 5 stars on Amazon. The book is published by Manning.

The review can be seen on Amazon on My Amazon Reviews page.

Wednesday, November 24, 2004

Review - Pro Jakarta Velocity

 Pro Jakarta VelocityPro Jakarta Velocity
by Rob Harrop

5 out of 5 stars

I have always been a strong supporter of Velocity. I even wrote an article for JavaRanch about Velocity back in March. Velocity is an open source template framework designed to simplify the task of generating content such as web pages, email, or any other text-based output. The Velocity documentation available from Apache is short, low on examples, and leaves holes (even if it is fairly good compared to some other open source projects). This book fills in the gaps and gives excellent coverage of the many features that are available with Velocity.

The book starts with an introduction to Velocity and then explains how to install and configure it. The author then discusses the Velocity Template Language, examines its shortcomings, and demonstrates how to get around them. Best practices are covered early in the book. Although Velocity is normally thought of as a web-based framework, the author doesn't let us forget that it can be used for both stand-alone and web applications and gives us detailed chapters on both. Velocity tools are well covered including Anakia, which can be used to transform XML. The Velocity architecture is explained as well as ways to extend that architecture.

The examples are well thought out and give good coverage of the features of Velocity. The most interesting part of the examples is how little work it is to integrate Velocity into a well-designed framework. The author shows how Velocity fits into both Struts and Spring, demonstrating that Velocity is not meant to replace these frameworks but rather to simplify content generation in any framework. I can strongly recommend this book for anyone interested in Velocity. For anyone not interested in Velocity, the question is, why not?

This earned 5 stars on Amazon. The book is published by Apress.

The review can be seen on Amazon on My Amazon Reviews page.

Monday, November 15, 2004

Review - Effective Enterprise Java

Effective Enterprise JavaEffective Enterprise Java
by Ted Neward

5 out of 5 stars

As anyone who has programmed using Servlets, JSPs, and EJBs knows, the complexities of integrating multiple layers of code can drive you to distraction. If you aren't careful, you can create an application that performs poorly under load, is difficult to maintain, and is impossible to port from one platform to another. The tricks that a programmer needs to avoid these problems often come painfully with experience. The author has taken his experience and given us a book that is well-written, easy to understand, and provides plenty of excellent advice that will help you produce superior applications. The best part is that the advice you get is practical advice from someone who has actually experienced the pain and suffering of J2EE development. This book deals in the reality of development and not pie-in-the-sky theory.

The book contains seventy-five items of discussion broken up into seven main areas. The items cover a wide range of topics from the broad, "Keep it simple" to the specific, "Never cede control outside your component while holding locks." The items cover everything from architecture, "Define your performance and scalability goals," to coding, "Use HttpSession sparingly." Even if a particular item is not of interest to you, there will be plenty of other items that will be of interest.

This book is not a tutorial or beginner's book. It is expected that the reader already has some experience with Enterprise Java. If that describes you, make sure you get this book to avoid more pain and suffering. You will end up a better J2EE developer and your applications will be cleaner and easier to maintain.

This earned 5 stars on Amazon. The book is published by Addison-Wesley.

The review can be seen on Amazon on My Amazon Reviews page.

Friday, November 12, 2004

Review - Java Garage

Java GarageJava Garage
by Eben Hewitt

2 out of 5 stars

Headache. That is what I got every time I picked up this book. Too cute. Too many short sentences. Sentence fragments. Headache. Recipes. Like reading my 12-year-old daughter's instant messages.

First thing to note is that this is a beginner's book. You won't find that anywhere in the description unfortunately. Second thing to note is that I blame this on "Head First Java". You know how when a successful TV show comes out and all the other networks try to copy it? You know how they never do it right because they always miss the point? It's as if someone saw "Survivor" and decided it was a success because people ate bugs so they made a show where people had to eat bugs to win. "Head First Java" uses humor to help focus the mind on difficult concepts. It makes use of educational techniques that have been studied by scientists. This book uses humor to be cool(?), funny(?) but most of the time the book is just annoying, which is a real shame because there is some good information here and some of it is very well presented. Other times I was left wondering why he stopped and didn't finish explaining a concept. Then there are these stream of consciousness blurbs that seem to just come out of nowhere and go on about anything except the topic at hand. I assume the author is trying to be amusing and be less like a traditional technical book but he fails at the former and overachieves at the latter.

At one point in the book the author suggests that if you still have questions that you should get some Zoloft and take up a hobby like gardening. I think it's a little odd for an author to suggest that his curious readers are in need of anti-depressants but if forced to read this book, it may not be a bad idea. cya.

This earned 2 stars on Amazon. The book is published by Prentice Hall.

The review can be seen on Amazon on My Amazon Reviews page.

Tuesday, October 26, 2004

Review - Java Studio Creator Field Guide

Java Studio Creator Field GuideJava Studio Creator Field Guide
by Gail Anderson, Paul Anderson

5 out of 5 stars

Sun's Java Studio Creator makes use of JavaServer Faces (JSF) to allow visual development similar to the way Microsoft's Visual Studio allows visual development of ASP based sites. It is an easy to use IDE that allows you to drag and drop JSF components, validators, and converters to design a web application. Much of the code required for a web site is automatically generated for you as you visually develop and additional classes can be generated or hand written (depending on their complexity) using the tool. This book will not teach you JSF but it will teach you how to use the IDE and quickly create web applications. This book is a well-written and easy to follow step-by-step tutorial to using this new IDE.

The book starts with a chapter on Java that can be easily ignored. The next chapter gives a quick introduction to the IDE. The authors demonstrate many of the basic techniques and show how to use the visual features to create navigation for a multi-page web site. The third chapter discusses each of the JSF components that are available in the IDE. Chapters four and five demonstrate how to use these components to build a web application. The examples are simple but they show how to integrate the generated code with custom beans (that can also be generated). Chapters six and seven show how to integrate Web Services and databases into your application. Chapter eight looks at internationalization and writing custom validators. The final chapter covers debugging.

If you have a copy of the software and want to utilize it to the fullest then this book is well worth buying. If you don't have the software then look at ISBN 0131499947 to purchase the book and the software together.

This earned 5 stars on Amazon. The book is published by Prentice Hall.

The review can be seen on Amazon on My Amazon Reviews page.

Monday, October 25, 2004

Review - J2ME Games with MIDP2

J2ME Games with MIDP2J2ME Games with MIDP2
by Carol Hamer

5 out of 5 stars

I really enjoyed this book. The author does a solid job of explaining everything you need to know to write games for MIDP devices. If you are familiar with Jonathan Knudsen's book on J2ME (probably the best book on the subject), this book expands the single games chapter into a fun and interesting book.

The book starts with a quick sample showing us how to use the Sun IDE and how to run our games on the emulator and how to download our games to a phone. The author shows a couple of example games, a maze and a jumping game, that give a good overview of the basic techniques games use on MIDP devices. She then expands those examples by showing proper use of threads and shows how to play tones and music during a game. Storing information (such as high scores or user preferences) is demonstrated. Downloading game enhancements such as new levels for a dungeon game are also demonstrated. The book is full of well-commented code samples (worth stealing) that show the techniques being discussed.

The author of this book has a nice, easy to read style of writing. Her enthusiasm for the topic comes through and makes you want to try the many sample games. If you have been spending too much time on enterprise programming then playing around with some MIDP games might be just the antidote and this book will get you started on the fun.

This earned 5 stars on Amazon. The book is published by Apress.

The review can be seen on Amazon on My Amazon Reviews page.

Tuesday, October 19, 2004

Review - InstallAnywhere Tutorial and Reference

InstallAnywhere Tutorial and ReferenceInstallAnywhere Tutorial and Reference
by Zero G Team

4 out of 5 stars

This book is an excellent guide to using InstallAnywhere no matter which platform you are running or how much experience you have with the product. This is the kind of documentation that you wish that the company would provide especially when you consider the price of the software. According to the introduction, the book was produced from the handouts that Zero G had produced for their three day InstallAnywhere course.

The book starts with a quick introduction and some screen shots showing what running an installer would look like from a customer's point of view. The authors next show a simple example of building an installer. Unfortunately, and this remains true for the rest of the book, no screen shots are included. This means that you must be running the software to take full advantage of the book. No reading this book in the bathtub. The book works well as both a tutorial and reference guide. The authors take you step by step through an exercise explaining each of the options even if they aren't used in this exercise. The instructions for each exercise are very clear. The use of the product is clearly explained while you are using it, which makes the learning "stick".

The book covers everything from the most basic installer all the way up to writing your own custom plug-ins. If you are interested in taking full advantage of the InstallAnywhere software and don't want to spend the money for three days of training, then this book is for you.

This earned 4 stars on Amazon. The book is published by Addison-Wesley.

The review can be seen on Amazon on My Amazon Reviews page.

Monday, October 18, 2004

Review - Official Eclipse 3.0 FAQs

Official Eclipse 3.0 FAQsOfficial Eclipse 3.0 FAQs
by John Arthorne, Chris Laffra

4 out of 5 stars

The name of this book is a little deceptive as this is really the official FAQs for Eclipse plug-in developers. The book is broken up into chapters with each chapter covering about 20 questions. The first three chapters seem a bit unnecessary as they cover a general overview of Eclipse. Most plug-in developers probably don't need the answers to those questions and most developers not trying their hand at plug-ins won’t need the answers to the remaining 300 questions.

Starting with chapter 4, the book covers many of the questions that plug-in developers will have. The main sections are broken up into a look at the basics of the Rich Client platform including JFace and SWT and specifics on the Eclipse IDE platform. Workbench, editors, perspectives, and views are covered in the general part. The next part goes into more specific details of the Workspace and Resources API and the Java Development Tool API, among other topics. The questions are arranged well so rather than a random collection of questions, each chapter is very readable. Supporting screen shots and source code are provided as needed. The questions selected cover many of the more confusing areas of plug-in development. The answers are well written and easy to follow.

The book includes a CD that can be installed as an Eclipse plug-in so that the answers will always be nearby even when a co-worker borrows your copy of the book. Overall, this book is a valuable aid to have nearby while doing plug-in development.

This earned 4 stars on Amazon. The book is published by Addison-Wesley.

The review can be seen on Amazon on My Amazon Reviews page.

Friday, October 15, 2004

Review - J2EE 1.4: The Big Picture

J2EE 1.4: The Big PictureJ2EE 1.4: The Big Picture
by Solveig Haugland, et al

4 out of 5 stars

This is a book that could have been a lot better. The main goal of the book, and one at which it generally succeeds, is to give you an overall view of what J2EE is and how it fits into an overall IT strategy. The advantages and disadvantages of each piece of J2EE are discussed. There is very little code in the book (and what is in there could have easily been left out without any loss of clarity) so if you are looking for a book to show you how to write programs then this is not the book for you.

The book has some serious drawbacks. First, the authors of this book are trying desperately to reach some level of geek coolness with mentions of The Simpsons, Buffy the Vampire Slayer, and Pulp Fiction, and with the use of deliberate (at least I think it is deliberate) poor grammar and spelling. But after awhile it just gets annoying. The book is probably twice as long as it needed to be because of the authors' desire to try to make the book fun. But unlike the Head First books, the "fun" here just gets tedious and turns short discussions into long and confusing discussions. (Why is a J2EE server like a dolphin? Does it like fish?) The book is also repetitive. For example, the discussion of session beans on page 48 is repeated almost verbatim (including the same picture) on page 139. The book does not cover JavaServer Faces and makes only a minimal mention of Struts. None of the other open source frameworks are discussed at all.

Overall, the information in the book is accurate and there is really no other book on the market that covers the material at this level (which is why it is getting 4 stars and not 3). The authors apparently know their stuff but the book could have been a lot better.

This earned 4 stars on Amazon. The book is published by Prentice Hall.

The review can be seen on Amazon on My Amazon Reviews page.

Review - A Programmer's Guide to Java Certification

A Programmer's Guide to Java CertificationA Programmer's Guide to Java Certification: A Comprehesive Primer, Second Edition
by Khalid Mughal, Rolf Rasmussen

5 out of 5 stars

If you are studying to become a Sun Certified Programmer for the Java 2 Platform 1.4 this book will help you to receive not just a passing grade but an excellent understanding of the intricacies of the Java programming language. Mughal and Rasmussen aren't satisfied with simply giving you a minimal understanding of Java so that you can pass a test. They are interested in helping you to understand the language at a deeper level. After all, it is much easier to pass the certification exam when you actually understand the material rather than when you have simply memorized a lot of details.

I'll give you an example of the level of detail that the book covers. Section 5.2 of the book covers Selection statements. The section starts with a description of the if statement followed by an activity diagram which explains the flow of the statement. The authors then show a simple example followed by a clear explanation of the if statement. Then they do the same with if-else, this time using several examples. The same level of detail follows for the switch statement, again providing clear text, with a simple activity diagram, followed by several well explained examples. Finally, the section ends with several review questions. What this means is that this book can serve you well even after you have passed the certification exam. You will be hard pressed to find a better written reference.

The book covers all the information you need to pass the certification exam and covers the material needed to connect all the pieces together. The included CD has several mock exams with questions that will help you understand the type of questions that you will face on the actual exam. If you do well on the mock exams you will do well on the real thing. Overall, this is an excellent book for studying for the Java certification. But it is such a good reference that you will want to keep it nearby even after you have passed the certification.

This earned 5 stars on Amazon. The book is published by Addison-Wesley.

The review can be seen on Amazon on My Amazon Reviews page.

Tuesday, September 21, 2004

Review - Pro Jakarta Commons

Pro Jakarta CommonsPro Jakarta Commons
by Harshad Oak

4 out of 5 stars

Jakarta Commons is a collection of generally unrelated but useful classes that can be incorporated into any Java project. In general, the documentation available is limited at best and in some cases is limited to little more than the Javadoc from the API. This lack of good documentation has helped to prevent the widespread acceptance of the Commons classes. This book will help to address that major shortcoming of the Jakarta Commons.

This book is an introduction to the most commonly used classes found in Jakarta Commons. Not all the components are covered. For example, Betwixt, Jelly, Jexl, and Codec are barely mentioned. However, the components that the author discusses are the most useful and are generally well covered. The book starts off slowly with an introduction to Jakarta Commons and then a brief and incomplete look at the Lang component. This chapter will give you no more than a flavor of what is available. The Logging component is well covered although I would probably never use it and the coverage of the Validator component should have concentrated solely on implementation outside of Struts and left Struts explanations to books on Struts. The remaining chapters cover the more useful components including Digester, Pooling, BeanUtils, and FileUpload and do a great job of explaining the components and providing realistic examples of usage.

Anyone who is writing Java code should be interested in the Jakarta Commons and anyone who is interested in Jakarta Commons should have a copy of this book. It will serve both as a good introduction to Commons components and a reference to using those components.

This earned 4 stars on Amazon. The book is published by Apress.

The review can be seen on Amazon on My Amazon Reviews page.

Tuesday, August 17, 2004

Review - Mastering JavaServer Faces

Mastering JavaServer FacesMastering JavaServer Faces
by Bill Dudney, et al

4 out of 5 stars

JSF is a new technology designed to simplify the task of creating Java web applications by making them work more like typical GUI event driven applications. There are a lot of changes to the web framework for JSF and this book does a very good job of clearly explaining these changes. The book starts with an introduction to JSF that compares it to both Struts and Swing. The authors explain both the architecture and the main patterns used in JSF, which helps to make clear how JSF works. UML diagrams are used to help explain how the various pieces of JSF interact. The middle section of the book covers all the main points of JSF at a nice leisurely pace: configuration, UI components, navigation, event handling, and data conversion and validation. Plenty of code samples are provided and all the code is clearly explained. The final section of the book covers building a complete JSF application, designing custom components, and converting an application from Struts to JSF.

This book is a nice introduction and tutorial on JSF. For many developers, this will be all they need. Others may be looking for a book that can serve as a reference or will cover more detail and this book will not fill that need. If you are looking for a book to help you learn the basics of JSF and to get a good understanding of how to properly implement a JSF application, then this book will serve you very well.

This earned 4 stars on Amazon. The book is published by Wiley and came out in June 2004.

The review can be seen on Amazon on My Amazon Reviews page.

One last comment... I wish Wiley would be more careful about misprints. I don't know if it is the authors, the technical reviewers, or the publisher, but someone needs to check these books again before they go to final printing.

Wednesday, August 04, 2004

Review - Tapestry in Action by Howard Lewis Ship

Tapestry in ActionTapestry in Action
by Howard M. Lewis Ship

Tapestry is a web development framework that is radically different than most other frameworks used for web development. The author of this book, Howard Lewis Ship, is the principal architect of Tapestry. It is often the case that an expert is not necessarily the best person to write about a topic as they often forget what it is like to be a novice. The book starts with this problem but fortunately after the first couple of chapters the book improves greatly.

Chapter one is an introduction to Tapestry. The explanation is far from clear so if you don't know what Tapestry is when you start this chapter, you will still not know what it is when you finish. Chapter two is our first exposure to a Tapestry application but the author chooses a sample (a hangman game) that is complicated and is not a typical web application.

Chapters three through five discuss HTML forms and form components, showing how to use and validate them in a Tapestry application. The next three chapters show how to build your own form components and the last two chapters show how to build a complete Tapestry application. Starting with chapter three the book takes a turn for the better. If you were lost at the beginning of the book, it will all make sense by the time you get to the end.

I can strongly recommend this book to anyone interested in Tapestry whether they are a novice or an experienced Tapestry developer.

This earned 4 stars on Amazon. The book is published by Manning and came out in March 2004.

The review can be seen on Amazon on My Amazon Reviews page.