Michael is DDJ's editor-at-large. He can be contacted at mswaine@cruzio.com.
Speaking of beans, I heard from a lot of kindred spirits (or fellow grumblers) when I complained recently about the sorry state of editing of some of the new Java books. I guess a lot of people have been burned by bad editing. And while you may be able to sue someone if you're burned by too-hot Java (that's not exactly a professional legal opinion; it's actually a subplot on an old Seinfeld episode), books are pretty much sold as is.
One reader agreed about the poor editing of Java books generally, and then pointed out some editing errors in this inestimable publication. I immediately jumped up from my desk, shouting, Š la Hamilton Burger from the old Perry Mason series, "Objection! Irrelevant, immaterial, and incontinent!" but then I relented and posted his full flame to my Hall of Flame site (http://gate.cruzio.com/~mswaine/HallOfFlame/hallofflame.html).
Later, subdued and chagrined, I wrote down the following positive report about some Java books, or more specifically, JavaBeans books. I recently looked at three such books: JavaBeans Developer's Reference, by Dan Brookshier (New Riders Publishing, 1997); Web Developer's Guide to JavaBeans, by Jalal Feghhi (Coriolis Group Books, 1997); Presenting JavaBeans, by Michael Morrison (Sams Net, 1997). First, points for chutzpah: Author Feghhi was so confident of the merits of his book that he responded to my complaint about the poor editing of Java books by sending me his book.
Feghhi is right; his is a good book, but that's not to say that the editing is perfect. It took me a few seconds to figure out what the arrow labeled "HOP" in the diagram on page 69 referred to. Context relieved my confusion: It was supposed to be IIOP, the Internet Inter-ORB Protocol. Oh, well. All three books present some sort of overview of software component architectures. Feghhi starts right off with this, spending several chapters giving a clear explanation of components, frameworks, and the object bus, then contrasting fairly the OpenDoc/ CORBA, ActiveX/DCOM, and JavaBeans approaches. There's also a nice explanation of how different a bean looks to its implementer, to an application developer, and to an end user. Morrison's book, mentioned here last month, gives you only enough background in software component architectures to set up his discussion of JavaBeans. Ditto for Brookshier, who is also fairly dismissive of the ActiveX/DCOM approach because of security problems.
All three books walk you through the relevant APIs, but Brookshier's book, being a Developer's Reference, spends about 300 of its 700 pages documenting the Core JavaBeans API, the AWT API, the New Event Model API, the Serialization API, the Java Core Reflection API, and the Internationalization API. Morrison covers the JavaBeans API only, and that primarily in the context of explaining how to develop Beans. Feghhi takes a similar tutorial approach, although he gets fairly explicit about the Core Reflection API.
All three books present both detailed explanations of the concepts in JavaBeans and explicit tutorials on how to build and package Beans. Brookshier, whose book, including the API documentation, is about twice as thick as the others, is also the most conceptual of the three in his approach; Morrison is the most hands-on.
All three books come with CDs. Morrison's has Sun's JDK for Windows 95/NT, Macintosh, and Solaris; BDK for Windows 95/NT and Solaris; demos and shareware; plus sample code for four Beans. Feghhi's has sample code, useful Beans, and a Visual Basic application built with Bean technology. Brookshier's has Sun's JDK, BDK, and source code from the book.
Morrison and Feghhi have both written readable books that should get you up to speed quickly on the technology. Brookshier is a bit drier, but, with all the reference material in the back of the book, there's more chance you'll keep this on the shelf after you've read it.
At least until the next version of JavaBeans comes out.
JavaBeans Developer's Reference
by Dan Brookshier
Book and CD-ROM Edition
Paperback
Published by New Riders Publishing
http://www.mcp.com/newriders/
Publication date: 1997
ISBN: 1562057162
List: $49.99
Web Developer's Guide to Java Beans
by Jalal Feghhi
Book and CD-ROM Edition
Paperback, 398 pages
Published by Coriolis Group
http://www.coriolis.com/
Publication date: 1997
ISBN: 1576101215
List: $39.99
Presenting JavaBeans
by Michael Morrison
Book and CD-ROM Edition
Paperback, 350 pages
Published by Sams
http://www.mcp.com/sams/
Publication date: 1997
ISBN: 1575212870
List: $35.00