JBoss in Action is the first book to focus in detail on how to use the JBoss 5 application server from installation to configuration to production development.
To quote from Manning's web site the book guides you through
configuring the server's component containers, such as the JBoss Web
Server, the EJB3 server, and JBoss Messaging. It also gives you
detailed insight into configuring the services, such as security,
performance, and clustering. You can get complete details about this
book on Manning's web site here.
Q: Tell us a bit about yourself, and your work?
Javid : I'm a programmer. I've been one since I started programming BASIC on the Apple IIe at 5 years old. I have been working with Java and J2EE for the last nine years and JBoss for the last four years. I'm a bit different than the stereotypical programmer, because I really like working with other people and excel in a collaborative work environment. I'm convinced that more programmers are really like me, but they're in denial because they've never had the privilege of working in such an environment. Therefore, my mission for the last few years has been to teach organizations how to adopt Agile methodologies and create collaborative work environments. But, I strongly believe that teaching an organization about process is all theory unless you teach them how to make the practices work with their specific technology choices. Thus, I also teach organizations how to use cutting edge technologies, including JBoss.
Peter : Like Javid, I have been programming a long time, though I didn't start until I was in high school, writing FORTRAN programs using punched cards. That was almost 40 years ago. I went to work for Burroughs in 1980, and still work there, though of course the company is now Unisys. I have been developing in Java for the last 10 years, and for the last 5 years have been working with a team that ensures enterprise-readiness of various open source products, including the JBoss Application Server. Our focus is on security, scalability, performance and administration. I speak quite often at industry conferences on the topic of Java performance.
Q: Whose idea was it to write the book?
Javid : I had written a few articles on JBoss and one of Manning's Acquisitions Editors liked my writing style and approached me about writing the book.
Peter : Javid was looking for a coauthor so he went to the JBoss online forum, where he apparently liked how I responded to questions. So he asked me to coauthor and the rest, as they say, is history.
Q: What is your favorite chapter and why?
Javid : Its hard to choose one, so I'll choose four: 1 - Vote for JBoss, 2 - Managing JBoss, 3 - Deploying to JBoss, 3, and 15 - Going to Production. I think these chapters cover the essence of the application server and how to use it. I wager that (combined) they answer about 60% of the questions that Peter and I see on a regular basis.
Peter : I like chapter 14, Tuning the JBoss Application Server. This chapter has a lot of practical advice on getting the best performance out of the application server, or out of any Java application for that matter. I am also partial to the two chapters on the JBoss Portal. Working with the Portal is a lot of fun and these two chapters provide a good introduction.
Q: How much time did each of you spend on writing your part?
Javid : When I first started writing the book, I logged how much time I was spending on it. I abandoned that when I realized how depressing it was that I had no life outside of work and writing the book. In all honesty, I was a bit arrogant going into the project. I consider myself a decent writer and I've always had a knack for exploring a technology and then writing a useful summary or guide on it. I figured since I'd used JBoss Application Server quite a bit on several projects that I was the man for the job. As I got into it, I realized that JBoss AS is like a vast universe, and that very few people (even JBoss developers) have a deep knowledge of the breadth of technologies. I'm now a much more humble person and have much respect for the folks at Red Hat.
Peter : Way more time that I want to even think about. I was used to writing 10-12 page white papers. Writing several chapters for a book was more than I counted on. And then you cannot just sit down and write. You first have to understand the technology inside and out, then come up with a simple but meaningful example that you can use to explain the technology, and then write the chapter based on that example and the points of the technology you want to highlight. Repeat that for every chapter. The research and example always takes much longer than the actual writing. Needless to say, I spent many late night, weekends, and even most of my vacation days working on the book. Fortunately, my boss was very supportive and allowed me to also work on the book during work; it became one of my yearly objectives that I was rated on.
Q: Writing a book on an application server is a non-trivial task, how did you both manage to cover all the services provided by JBoss?
Javid : Like I mentioned an application server is like a universe; there are a myriad parts and a tremendous amount of detail in all the various parts. This precluded us from covering all of the services or even from covering the ones that we did very comprehensively. We both realized this, so our goal was a bit different. Over the last few years, I got certified to teach JBoss courses and taught courses to many developers and administrators. Peter was very active in the JBoss forums. We both saw many common questions arise from these mediums, so we chose to use market demand as litmus test for what made it into the book rather than aiming for completeness.
Peter : When I started working on the book I thought that I would be able to thoroughly cover each of the technologies. But it soon became apparent that deciding what not to cover was almost as important as deciding what to cover. We tried to follow the 80-20 rule, covering the things that most people need 80% of the time. And we scanned the forums to see what people were asking and tried to address issues that came up often. Additionally, much of our focus was on topics that administrators would be concerned about, which is why in almost every chapter we talk about security and then end with a series of chapters on moving the application server into production.
Q: I have read until chapter 5 of the MEAP release, there are some very good analogies and illustrations throughout, who came up with these?
Javid : All the good ones were mine.
Peter : And all of the bad ones were mine. You think I'm kidding, don't you? I won't tell you the exact words that one of the reviewers had for my analogies, but they were not flattering. The worst offenders were removed from the final book.
Q: Can you give us some useful tips and tricks on JBoss?
Javid : There are so many... I've seen many organizations struggle to recreate their development / deployment environment on different machines. I suggest version controlling your entire server configuration and/or the scripts used to customize it. If you spend more than 5-10 minutes setting up a new environment, perhaps you're spending too much time.
Peter : Wow, that is a tall order; I consider most of the book to be tips and tricks on using the application server. But if I had to choose one overriding tip that would be to understand how Java garbage collection works, and size your heap properly. That is the difference between a poorly performing Web site and one that scales well to handle an increased load.
Q: JBoss is very popular among developers, you can get it up and running in less than 5 minutes, is it also popular on a production application? If yes, do you have any statistics?
Javid : As a consultant, I've seen an increasing number of production JBoss deployments amongst my clients. BZ Research says that JBoss and IBM are used by 37% of surveyed companies, but I'm not sure if their study distinguishes between production and development use. That being said, I don't see many companies develop on one application server and deploy on another.
Peter : There was an informal survey by Software Development Times a couple of years, where they asked their readers to identify the application servers that they had in production. The number one application server was JBoss Application Server, with 33.9% of the respondents using it in production.
Q: In your last chapter, you say if you have no restrictions, then we recommend standardizing on JBoss Application Server 5, JVM 5.0, and Java EE 5, which are the almost latest version of each technology available at the time this book was written. Is JBoss 5.0 production ready? Are companies using Java EE 5 applications as well for production?
Javid : The difficult thing about putting out a book is that it starts getting outdated even before it is published (it takes 3-4 months to go through editing / printing). By the time the book is released, JBoss AS 5 should be available. By the time an organization starts standardizing on it, they'll probably have a patch or two released. In all honesty, it *is* a bit of guesswork. But, the reason we feel confident making the recommendation is that many of the technologies that will be available in JBoss AS 5 are already running in the latest versions of JBoss 4, or as independent applications. The problems that will likely arise with these technologies in JBoss AS 5 are likely to be integration issues, which will hopefully get resolved fairly quickly.
Peter : Many of the technologies that will appear in JBoss Application Server 5.0 are already available in other versions. EJB3, the JBoss Web Server which is based on the Tomcat and the Apache Portable Runtime, and JAX-WS based web services using JBoss Web Services are already available in 4.2. JBoss Messaging can be added to 4.2. So once 5.0 comes out, many of its components will have already been tested. And because 5.0 will be Java EE 5 certified, I expect that it will generate a lot of interest from the community.
Q: If yes, do you know any company which is using these technologies? Are you using these technologies in your companies?
Javid : Yes, there are many companies that are already using Java EE 5. I won't lie and say that it is the norm, but I have seen quite a few projects. My company has used Java EE 5 (and Seam) on a few projects.
Peter : I know that the services group in our company is working with many of our customers to install and deploy various applications on the JBoss Application Server, and even JBoss Portal. Internally, most of our Web application infrastructure has been built on Microsoft technologies and I do not see that changing any time soon. But our departmental Web site is built on JBoss Portal.
The DZone Editorial team would like to thank Javid and Peter for their time.
If you have any questions for Javid, or Peter, if you want to know more about their book, JBoss 5 or Java EE 5, post your questions here and they will try to answer them for you!
Stay tuned for the JBoss in Action Book Review coming up along with a FREE BOOK giveaway!