There's nothing ordinary about JBoss. What began as an open source EJB container project six years ago has become a fully certified J2EE 1.4 application server with the largest market share, competitive with proprietary Java application servers in features and quality. And with its dynamic architecture, JBoss isn't just a J2EE server. You can alter the services to make J2EE work the way you want, or even throw J2EE away completely.

After more than a million downloads, many JBoss users are no longer trying it out on internal test boxes, but rolling it out on production machines. JBoss: A Developer's Notebook takes you on a complete tour of JBoss in a very unique way: rather than long discussions, you will find code--lots of code. In fact, the book is a collection of hands-on labs that take you through the critical JBoss features step-by-step. You don't just read about JBoss, you learn it through direct practical application. That includes exploring the server's many configurations: from bare features for simple applications, to the lightweight J2EE configuration, to everything JBoss has in store-including Hibernate and Tomcat.

JBoss: A Developer's Notebook also introduces the management console, the web services messaging features, enhanced monitoring capabilities, and shows you how to improve performance. At the end of each lab, you'll find a section called "What about..." that anticipates and answers likely follow-up questions, along with a section that points you to articles and other resources if you need more information.

JBoss is truly an extraordinary application server. And we have an extraordinary way for you to learn it.

Norman Richards

Norman Richards has developed software for a decade and has been working with code generation techniques for much of that time. He is an avid XDoclet user and evangelist. Norman lives in Austin, Texas.

About the AuthorsNorman Richards is a JBoss developer at JBoss, Inc., and is a strong believer in the professional open source model which allows him to earn a living creating open source software. He is the coauthor of XDoclet in Action and JBoss 4.0: The Official Guide. Norman graduated from the University of Texas at Austin and has been happily living in Austin, Texas ever since.Sam Griffith, Jr. has been doing software development since 1979 and object-oriented development since 1987, starting with MacApp with the MacPIG group at Texas A&M. He transitioned to NeXSTEP, C++, Objective-C, and Smalltalk and did some mentoring in object-oriented development methods. He worked as a mentor and developer with those tools through the 1990s. In 1995, he began working with the first version of Java. In 1996, he and some friends started their own consulting company. That company delivered several commercial Java solutions for Nortel Networks, as well as becoming a Microsoft Solutions Partner in less than one year. In 1997, he taught Java at Southern Methodist University. He then sold his share of the company and went back to consulting, which led to working at Capital One in 1999, where he started selling the architecture team on the idea that Java was mature enough for enterprise use. He next worked on the first J2EE project at Capital One, and that project (case-based credit collections) was one of the first that used a business rules engine together with J2EE.Since then, Sam has been doing consulting, training, and other odds and ends with Java and other languages, including Smalltalk and Ruby. He is a big fan of dynamic languages and systems. He is currently a developer at Dell, Inc. and a dad (his most important job).ColophonOur look is the result of reader comments, our own experimentation, and feedback from distribution channels. Distinctive covers complement our distinctive approach to technical topics, breathing personality and life into potentially dry subjects.The Developer's Notebook series is modeled on the tradition of laboratory notebooks. Laboratory notebooks are an invaluable tool for researchers and their successors.The purpose of a laboratory notebook is to facilitate the recording of data and conclusions as the work is being conducted, creating a faithful and immediate history. The notebook begins with a title page that includes the owner's name and the subject of research. The pages of the notebook should be numbered and prefaced with a table of contents. Entries must be clear, easy to read, and accurately dated; they should use simple, direct language to indicate the name of the experiment and the steps taken. Calculations are written out carefully and relevant thoughts and ideas recorded. Each experiment is introduced and summarized as it is added to the notebook. The goal is to produce comprehensive, clearly organized notes that can be used as a reference. Careful documentation creates a valuable record and provides a practical guide for future developers.Colleen Gorman was the production editor and proofreader, and Audrey Doyle was the copyeditor for JBoss: A Developer's Notebook. Genevieve d'Entremont and Claire Cloutier provided quality control. Johnna VanHoose Dinse wrote the index.Edie Freedman designed the cover of this book. Karen Montgomery produced the cover layout with InDesign CS using the Officina Sans and JuniorHandwriting fonts.David Futato designed the interior layout with assistance from Edie Freedman. This book was converted by Joe Wizda to FrameMaker 5.5.6 with a format conversion tool created by Erik Ray, Jason McIntosh, Neil Walls, and Mike Sierra that uses Perl and XML technologies. The text font is Adobe Boton; the heading font is ITC Officina Sans; the code font is LucasFont's TheSans Mono Condensed, and the handwriting font is a modified version of JuniorHandwriting, made by Tepid Monkey Foundry and modified by O'Reilly. The illustrations that appear in the book were produced by Robert Romano and Jessamyn Read using Macromedia FreeHand MX and Adobe Photoshop 7. This colophon was written by Colleen Gorman.

I verified it again today. Both quote and quote_production compile, deploy and are accessable if you follow the instructions in the book.

The only thing I can think of you maybe having trouble with is the build.xml file. You need to make sure the Ant variable for the jboss.dir is correct.

Additionally, Norman has verified it and we've had other reviewers verify it independently as well. If you still are having issues, you can submit an error report with you build.xml file modifications in it and what your JDK environment variables are and we'll try to help you figure out what is wrong.

Finally, none of the screenshots or code is fake. It's worked for many others and I'm not sure what is wrong, but we'll try to help if you submit an error report.

[I posted a reply to Sam C's review and thought it might be informative to others too, so here it is at the top level... I also had to give us 5 stars.... :-) ]

First off, let me assure you and others that the samples and screen shots were not faked nor is the sample code. We had several reviewers go thru the book right up until deadline to deliever final pages to the publisher. There was a mixup in posting the final demo code and a change in libraries included in JBoss 4.0 GA. Both of those issues lead to the code being out of sync for some users who bought the book after the summer/fall of 2005. We did send the corrected code for JBoss 4.0 GA to get posted a couple of times, but for some reason it didn't seem to get online. We are sorry for that, but it wasn't because the samples don't work or we faked anything.

A little more info may help to understand what happened with this book, but commonly happens with others as well. Books are written against a moving target and sometimes by the time the book gets out, things have changed a bit. That happened in this case as well. Specifically, the code that was up on the books page to download when you downloaded the examples was done against a JBoss beta release that had the JSP Standard.jar lib file included in it. That lib gives the JSP the standard tags and some other standard features. The final JBoss build of 4.0 did not include those libraries as they are SUN's and so when you tried to run the example it complained. The new posted version of the examples includes that jar file in the examples and deploys it with the quote sample onto the server when you do that example.

Thanks for getting our book but please be assured, that things were not faked at all.

I like the format and the subject, but the some of the examples don't work, specifically the quotes example. Examples not working is one of my pet peeves since they are an essential part of the learning experience, so I'm going to ding the book heavily for this error. The book just shows that the examples work and show the hypothetical results that can never materialize from the source code they provide. Apart from the examples not working , and them showing fake screens of the code working, the writing sytle is good and easy to follow.

Great book! Very well done. I had the first sample app up about 5 minutes after the UPS man delivered the book. I have a question about using jar on page 36 which I will direct to [...] (seems that it is looking for the build/jars folder which does not exist). But all in all, this book shows you what all the fuss is about re: Jboss and why it has become so popular. I would love to see other subjects covered in this notebood format.

This is definitely a 'Must Have Book'. However, no mention has been made of the file standardjaws.xml in Chapter 4 - Connecting to a Real Database. Don't we need to change the datasource type mapping to mySQL from Hypersonic?

A nice terse book that gets to the point. I found it easy to follow because I have used WebLogic and have a basic understanding of how J2EE containers work. A novice would do better with the Enterprise JavaBeans book by Monson-Haefel.

By the way - the source code to the book is no where to be found on the OReilly web site.