I use this blog as a soap box to preach (ahem... to talk :-) about subjects that interest me.

Sunday, October 14, 2012

JSP, JSF and Tomcat Web Development

Apress of Berkeley (CA) has released the second edition of my book Beginning JSP, JSF and Tomcat Java Web Development.


The first edition of this book was released in November 2007.

Some years later, Apress asked me whether I would have liked to write a second edition of the book.  My reply was that not enough had changed to warrant an update.

Then, in early 2012, they asked me again. In the meanwhile, JSF had added three new libraries of elements and Java 7 SE had been released.  Michael Sekler, who had contributed to the first edition, agreed that I would go alone with the second edition.

I said yes.

It took me five months to change the structure of the first edition, update and add functionality and examples, etc., but it was worthwhile.

You might be wondering why it took so long.  After all, most of the material for the second edition came from the first one, right?  Not really. The problem with writing computer books is that you cannot simply write your stuff and be done with it. You have to write examples for most of what you say, and this adds a whole new dimension to writing. You have to write the examples in the tightest possible way, because thousands of smart people will pore over them.  No slacking off in either format or content. Not even one superfluous or missing tab.

And then, once you have designed and written your examples, you have to test them in the most thorough way.  This also applies to the examples you have from a previous edition.  You see, in computing everything keeps changing. Therefore, one example that was working flawlessly a couple of years ago, even if it doesn't fail (thanks to back compatibility), it will generate a lot of warning
messages during compilation. And a professional developer doesn't want his/her code even to generate a single warning!

For web applications, you have to test your examples with all major web browsers (Internet Explorer, Google Chrome, Firefox, and Opera).  This often leads to changes that have to be retested again from scratch.

Once you are happy with your examples, you need to integrate them into the text of the book and explain them in enough detail for the reader to make full sense of them.  And sometimes the lines of code don't fit into the printed page...

And don't think that the work is done once you send the chapter off to the publisher, because technical and scientific books are different from novels and most non-fiction books: before going through copy-edit, they are technically reviewed.  And although if you have been exemplary with your coding, debugging, and documenting, the TR (Technical Reviewer) might come up with points you had not considered, or points you had considered and discarded without mentioning them in the chapter.  Even if you avoid having to rework the examples, you will have at the very least to explain your choices...

One of the readers of the first edition complained that it contained not enough material on JSF. In this second edition I did something about it: in the first edition, I had devoted to JSF a chapter plus a quick-reference appendix; in the new edition, I dropped the quick reference and added a second chapter to the main body of the book. By doing so, I added quite a bit of practical information on JSF, because much of the quick reference appendix consisted of a list of elements that you can already find explained in several web sites.

Another complaint about the first edition was that it included too many appendices and too much extraneous material. Well, there were as many appendices as chapters! I had done it for two main reasons: I wanted to keep the main body of the book uncluttered but I still wanted to provide information on everything needed to write a dynamic web page. The resulting table of contents was as follows:

CHAPTER 1 Introducing JavaServer Pages and Tomcat
CHAPTER 2 JSP Explained
CHAPTER 3 The Web Page
CHAPTER 4 Databases
CHAPTER 5 At Face Value (JSF Primer)
CHAPTER 6 Communicating with XML
CHAPTER 7 Tomcat 6
CHAPTER 8 Eshop
APPENDIX A Installing Everything
APPENDIX B HTML Characters
APPENDIX C HTML Reference
APPENDIX D JSP Reference
APPENDIX E SQL Quick Reference
APPENDIX F JSF Quick Reference
APPENDIX G Eclipse
APPENDIX H Abbreviations and Acronyms

And here is the new table of contents:

CHAPTER 1 Introducing JSP and Tomcat
CHAPTER 2 JSP Elements
CHAPTER 3 JSP Application Architectures
CHAPTER 4 JSP in Action
CHAPTER 5 XML and JSP
CHAPTER 6 JSP and Databases
CHAPTER 7 JSF 2.2
CHAPTER 8 JSF and eshop
CHAPTER 9 Tomcat 7
CHAPTER 10 Eshop
APPENDIX A The Web Page
APPENDIX B SQL
APPENDIX C Abbreviations and Acronyms

I eliminated the appendices on JSP, JSF, and Eclipse by merging their contents into the main body of the book. Then, I made the appendix on package installation disappear by explaining how to install all necessary packages as they became necessary. Finally, I dropped the appendix on HTML characters and told everything I wanted to say about HTML and SQL in the two remaining appendices. The result is a much better book in which the chapters are clearly focussed and that you can read with less flipping forth and back.

What are you waiting for? Buy it!

4 comments:

  1. I have been browsing online more than 3 hours as of late, but I never discovered any fascinating article like yours. It is pretty price sufficient for me. Personally, if all webmasters and bloggers made excellent content as you did, the internet will likely be a lot more useful than ever before. “I thank God for my handicaps, for through them, I have found myself, my work and my God.” by Hellen Keller.
    How I can Create YouTube Channel?

    ReplyDelete
  2. Wow! What can I say? Thank you!
    But I don't really think that I deserve so much appreciation, though. There are magnificent articles out there.

    On a different, but related subject, while re-reading what I had written longer than a year ago, I discovered that some typos had crept in. I will resist the temptation to correct them, but I mention them because it always amazes me how, no matter how careful one is, it's almost impossible to write without making mistakes...

    ReplyDelete
  3. Awesome This is great.. wonderful great information I am impressing Thanks.

    Web Development India

    ReplyDelete
  4. Thank you! Have you already bought the book? ;-)

    ReplyDelete