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.