Struts Book Roundup

I just finished teaching a 6-week tutorial on Struts. As part of the prep for this class, I went through all of the Struts books I owned (Current Count: 5) and tried to figure out which book I was going to recommend as a tutorial that they could use for this class. I was able to bring the list down from five to two easily, but selecting just one book was a little hard.

The two books that I selected were Programming Jakarta Struts by Chuck Cavaness and Struts in Action by Ted Husted. Struts in Action is really a good book but I felt the Chuck Cavaness’s book did a better job of acting as a tutorial. Here are some of my thoughts on these books that I posted in review on Amazon.

Programming Jakarta Struts
Chuck Cavaness
Paperback: 462 pages
Publisher: O’Reilly & Associates; 1st edition (November 2002)
ISBN: 0596003285

Programming Jakarta Struts is a great book. I bought this book the first day it came out and read it cover to cover. This was one of the first books out that covered Struts 1.1 in any detail. Chuck Cavaness, the author had published most of the book on where readers could review the beta copy of the book and so I knew this was going to be a great book.

The book starts with an intro to Web development, servlets and JSP pages before jumping into the basics of the Struts framework. Chuck does a great job in breaking down the components of the Struts framework and explaining them in details. After the intro, the book builds into the guts of the Struts framework with detailed chapters exploring MVC, the Action classes, Model components and the display tier.

The chapter on tag libraries is very well written. The author mentions JSTL, the JSP Standard Tag Library but only includes a 2-page summary of JSTL. I wish the section on JSTL had a little more meat to it. I think this probably had something to do with the timing of the publication of the book and the JSTL standard.

I also liked the chapter on the validation framework. With the framework wasn’t covered in any detail, there was still enough information to get you started with the validation framework. In the later chapters, the author discusses EJB integration in Struts and provides some good best practices for that integration.

To summarize, this is a great book and has to be one of the best Struts tutorial books out there. I should know, as I own about five Struts book. I would highly recommend this book to anyone looking to learn more about Struts.

Struts in Action
Ted Husted
Paperback: 664 pages
Publisher: Manning Publications Company; (November 2002)
ISBN: 1930110502

Struts in Action is a good book that has some flaws. I had this book pre-ordered on Amazon from the minute I heard about its publication. The lead author Ted Husted is very active in the Struts development community and still manages a great Struts resource site.

I read the book right away and spent a few weeks going over all the examples in the book. My overall feeling is that this is a good book but it suffers from a lot of the same thing that affects other Struts book. These books were published right around the release of Struts 1.1 and so they are on the fence where they talk about Struts 1.0 and 1.1. Since I had used Struts 1.0 before, the sections that described the changes from 1.0 to 1.1 was very helpful.

Like other books, there is some mention of JSTL but not any details. The section on tag libraries is extensive and well written.

Struts in Action is really a good book but I felt the Chuck Cavaness’s book did a better job of acting as a tutorial. So if you only want to buy one Struts book, I would recommend the Chuck Cavaness book. However, if you want more than one, I would highly recommend this book as your second book on Struts.


Love my new Wireless Linky

I just upgraded to the Linksys WRT54G Wireless-G router last month and I am very happy with the quality of the product. This router acts as a wireless access point, 100 MB switch and a router making it a nice multipurpose device.

For the wireless connectivity, this router supports that latest 802.11g standard which offers 54Mbps speeds but in the 2.4 GHz range. Since it uses the 2.4 GHz range, this router is also backwards compatible with 802.11b. This is a nice feature, as it will allow you to use your older 802.11b hardware while taking advantage of the newer standard. I also have a 2.4 GHz cordless phone and I don’t get any interference with the wireless router.

If you do decide to buy this router, I would highly recommend that the first thing you do after installing this router is upgrade its firmware from the Linksys website. Linksys has been shipping these 802.11g compliant routers for a while now and the specification is still in flux. Linksys also offers security fixes and new/updated features via. these firmware upgrades and so that is a good idea.

This router has the ability to encrypt all wireless transmissions using 128-bit WEP (Wired Equivalent Privacy) encryption. While WEP is not a perfect solution, some security is better than no security and I would recommend anyone using the wireless feature enable WEP. In addition to WEP, this router also supports the new security specification called Wi-Fi Protected Access (WPA).

WPA is an extra-strong encryption where encryption keys are automatically changed and authenticated between devices after a specified period. WPA also involves the use of a pass phrase and auto-generated keys that need to be entered on the client side. This is a little tedious but the security it provides is worth it.

In addition to WEP and WPA, the Linksys router also offers wireless MAC address filtering. Wireless MAC Filters feature allows you to control which wireless-equipped PCs may or may not communicate with the router depending on their MAC addresses. Another nice security feature of this router.

Ok. I’ve rambled on enough about security. This router also allows you to connect wired devices, acts as a DHCP server and offers an easy to use browser interface. I get amazing throughput using my NetGear 802.11g wireless network card and the range is incredible. I can take my laptop in any part of the house, the yard or garage and I never lose the signals. I read some reviews where people found that this router didn’t work well with non-Linksys wireless cards. I had to disagree with that as my router works great with my NetGear card along with an older Cisco 802.11b card. If you are in the market for a great wireless router, this is it. Buy it.

RedHat Enterprise Linux 3.0

With the release of RedHat Enterprise Linux 3.0, RedHat is poised to make an serious dent in the Enterprise space. I spent some time with our technical sales engineer from RedHat last week to talk their latest product offering. There are many improvements in v3.0 that will should help resolve some of the issues people are facing today with AS 2.1.

Some of the major changes/improvements are:

  • Same codebase for all 7 platforms and sold on a annual subscription basis.
  • 12-18 month release cycle and five years of support for every version
  • New threading model from the 2.6 kernel (NPTL) is part of the 3.0 release
  • BlueCurve, the UI from RedHat 9.0 is now part of AS 3.0
  • Increased kernel & user address space for X86 systems. Each process can now use 4.0 GB of RAM instead of 2.3 GB.
  • The new release of Sun JVM 1.4.2 is also NPTL aware making Linux processes look like they did in Solaris -1 PID for 1 process.
  • 3.0 is 64-bit clean making upgrades to 64-bit architecture easy
  • Major improvements in the NFS stack. Fixed all cross compatibility issues, especially with NetApp.
  • UDP is still the transport protocol for NFS, but TCP supported. 3.0 almost shipped with TCP as the standard transport.
  • Improvements in Logical Volume Mgmt.
  • Includes GCC 3.2 and debugging/profiling tools
  • Ext3 is the default file system. They will support many other including OCFS (Oracle Cluster File System)
  • SAMBA3 is included and it will integrate with Active Directory in native mode (Windows 2000)
  • 3 flavors of RedHat Enterprise Linux

    • Red Hat Enterprise Linux AS

      • Only OS with 24×7 support
      • No CPU or memory limit
      • Includes all services including Mail, file/print, web, dns, dhcp, ldap, etc.

    • Red Hat Enterprise Linux ES

      • 2 CPU or lower
      • 8 GB memory limit

    • Red Hat Enterprise Linux WS

      • Meant as a client desktop for AS or ES
      • 2 CPU or lower + no memory restrictions

  • Clustering built-in with RedHat Cluster Manager. Supports active-active mode and can now support 8-16 nodes in a cluster instead of 2 in 2.1
  • Oracle is the #1 partner of RedHat.
  • EMC, NetAppliance, AMD, IBM, DELL and Sun are other partners.

With Novell acquiring Suse, the Enterprise Linux space just got a lot more interesting.

New books from Addison-Wesley

Just got an email from Addison-Wesley with a list of new books that were just released this week and I found quite a few jewels in those book. Here’s a list of books I just ordered via. Amazon along with a short description from their website.

Contributing to Eclipse: Principles, Patterns, and Plug-Ins by Erich Gamma, Kent Beck

Erich Gamma and Kent Beck introduce you quickly, yet thoroughly, to Eclipse, the emerging environment for software development. Instead of simply walking you through the actions you should take, Contributing to Eclipse, with its many sidebars, essays, and forward pointers, guides you through Eclipse. You will not just do. You will also understand.
Contributing to Eclipse offers

  • A quick step-by-step tutorial. Have your first plug-in running in less than an hour.
  • An introduction to test-driven plug-in development. Confidently create higher quality plug-ins.
  • The Rules of Eclipse. Seamlessly integrate your contributions with the rest of Eclipse.
  • A design pattern tour of Eclipse. A cook’s tour of Eclipse with patterns.
  • A comprehensive tutorial. See all the techniques necessary to write production-quality contributions.

Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions by Gregor Hohpe, Bobby Woolf

Utilizing years of practical experience, seasoned experts Gregor Hohpe and Bobby Woolf show how asynchronous messaging has proven to be the best strategy for enterprise integration success. However, building and deploying messaging solutions presents a number of problems for developers. Enterprise Integration Patterns provides an invaluable catalog of sixty-five patterns, with real-world solutions that demonstrate the formidable of messaging and help you to design effective messaging solutions for your enterprise.

The authors also include examples covering a variety of different integration technologies, such as JMS, MSMQ, TIBCO ActiveEnterprise, Microsoft BizTalk, SOAP, and XSL. A case study describing a bond trading system illustrates the patterns in practice, and the book offers a look at emerging standards, as well as insights into what the future of enterprise integration might hold.

J2EE Web Services by Richard Monson-Haefel

J2EE Web Services is a comprehensive guide to developing and deploying Web services using J2EE technology. Concentrating on standards sanctioned by the Web Services Interoperability Organization (WS-I) for maximum interoperability, the author delves into Web-service standards and the J2EE 1.4 Web-service APIs and components with clear and engaging discussions.

Key topics covered include:

  • XML (eXtensible Markup Language) and XML Schema
  • SOAP (Simple Object Access Protocol)
  • WSDL (Web Services Description Language)
  • UDDI (Universal Description, Discovery, and Integration)
  • JAX-RPC (Java API for XML-based RPC)
  • SAAJ (SOAP with Attachments API for Java)
  • JAXR (Java API for XML Registries)
  • JAXP (Java API for XML Processing)

The C# Programming Language by Anders Hejlsberg, Scott Wiltamuth, Peter Golde

A simple, modern, object-oriented, and type-safe programming language, C# offers developers the high productivity of Rapid Application Development (RAD) languages alongside the raw power of C+. Moving beyond the online documentation, C# Language Specification is an accessible guide to the C# specification. Written by the language’s architect and the specification’s author, it provides the complete specification along with descriptions, annotations, reference materials, and code samples from the C# working group.

The book opens with an introduction to the language’s essential features to bring readers quickly up to speed on writing programs using C#. The authors then dive into the nuts and bolts of C#, with full coverage of the C# 1.1 and Visual Studio.NET 2003 updates. Reference tabs, an exhaustive print index, and a searchable online index allow readers to easily navigate the text and quickly find the topics that interest them most.

Pre-compile JSP’s on JBoss?

Ok.. I’ve searched the JBoss and Jetty documentation and I can’t seem to find the answer. Anyone know how to precompile JSP when deploying a war file on JBoss?

I am a WebLogic guy helping out someone that’s new to JBoss. In WebLogic, you just include a file called weblogic.xml that looks like this:


Any ideas? Drop me an email. Thanks

JBoss, WebLogic, JSP, pre-compile

Streaming API for XML (StAX)

Just caught this on dev2dev – BEA is giving away the reference implementation of the Streaming API for Java (StAX). StAX is a Java based API for pull-parsing XML documented in JSR 173. Unlike SAX and DOM, StAX is bidirectional, allowing programs to both read existing XML documents and to create new ones.

Just downloaded BEA’s implementation to play and so can’t speak to it yet, but here are some interesting resources.

Novell to acquire SuSE Linux

Just saw this article on InfoWorld – Novell to acquire SuSE Linux in cash deal. This is really interesting news, specially after their acquisition of Ximian around LinuxWorld. Novell had pretty much been written off with their Netware product line but they are trying to come back and become a viable option against Microsoft or RedHat for the Enterprise market. It has been interesting to watch their resurgence as a Linux/Enterprise integration vendor with the exteNd and Nsure product line.

It was also interesting to note in the story that IBM has invested in Novell. I wonder if any of the other independent Linux vendors are going to be in anyone crosshairs. The penguin marches on.