Free Book: JBoss in Action
One Minute Bottom Line
| It is very simple to rate this book: everyone who uses JBoss AS should own and read a copy. The book is highly readable and with tons of working examples. The references at the end of each chapter are a real bonus. |
Review
This book is divided into four parts, containing 15 chapters and two appendices.Part 1: The JBoss Application Server
If you are using JBoss than you can simply skip Chapter 1(Vote for JBoss). This chapter gets you up and running with JBoss by describing the directories and files that are part of JBoss AS, how to start and stop the server, and finally show how to deploy and undeploy a simple web application.
Chapter 2(Managing the JBoss Application Server) starts with a description of how JBoss application server is architected;the JBoss Microcontainer and JMX. Next, you will learn how each of these components are configured using its own configuration file, and how you can change these as well. Next, we get a closer look at a few of the management tools provided by JBoss like the JMX Console and twiddle. And finally, a look at some MBeans that provide helpful information,the MBeans that give the list of names in the JNDI namespace or a list of system properties.
Chapter 3(Deploying applications) is especially useful if you are encountering tons of deployment errors. This chapter starts with explaining how to deploy applications as well as services. Next, the most important section which you shouldn’t miss reading at all; understanding class loading. In this section, the authors start with a description of the class loaders, then go into class scoping, which enables the application server to differentiate among classes. Next in this section, a look at loader repositories which enable several class loaders to share or isolate classes. The next few sections cover common deployment errors like class not found exception, class cast exception and so on. The last section in this chapter is about configuring data sources and Hibernate archives.
If you are concerned about the security of your applications than Chapter 4(Securing applications) shows you everything you need to know about securing your applications. The authors discuss in detail the fundamental concepts behind application security, including authentication, authorization, and encryption and how they are implemented in JBoss AS. They also show you how to configure by demonstrating how you can access security data from a database, LDAP, or other security datastores.
Part 2: Application Services
If you are deploying web applications to JBoss than you must read Chapter 5(Configuring JBoss Web Server). It covers configuring web applications, JBoss web server, the key configuration files. Next, is configuring specific things in web applications like the URL paths, then the authors discussed JBoss Web Server connectors and how they’re used to allow client requests to come in over different protocols. In the next section the authors give us an overview of why web applications have different class loading rules and show us how to configure different web-specific class loading parameters. Next comes valves, another feature of JBoss Web Server, and finally the last section is all about configuring JavaServer Faces.
In chapter 4, the authors discussed about the fundamentals of JBoss security and showed you how to configure security domains and login modules. Chapter 6(Securing web applications) explores the configuration files necessary to enable security, how to enable authentication and authorization for URLs relative to your application’s context path. And finally see how to enable secure communication for server authentication, mutual authentication, and client-certificate authentication.
If you are a huge fan of EJB's just like I am, than Chapter 7(Configuring enterprise applications) shows you how to structure, deploy, and configure EJB applications. Then, you will learn how to configure the application server, and finally also secure EJB applications.
In Chapter 8(JBoss Messaging), you’ll learn about configuring messaging. The chapter begins by describing JMS and how JBoss Messaging is architected. You will see an example of a message-driven EJB and a message-driven POJO. The authors show you how to use a database for message storage, how to define destinations, and how to configure authentication and authorization for those destinations.
If you are quite familiar with web services than you skip the first few sections of Chapter 9(Configuring Web Services) which introduces you to web services, shows you how to develop a simple web service. However, don't skip the next few sections which are quite interesting and cover topics such as JBossWS annotations, securing your web services using authorization and encryption.
Part 3: JBoss Portal
I did evaluate JBoss Portal sometime in 2006. So, I am not an expert in this specific area so I just skimmed over Chapters 10 and 11. These chapters provide a very basic introduction to JBoss Portal. So, I am just going to quote the topics covered in these two chapters:
- Creating a portlet using JSPs and JSTL
- Using the Admin portlet and the descriptor files to define portlet instances and portlet windows
- Using multiple instances within a portal
- Adding content to the CMS
- Configuring window appearance
- Setting up access control for portals, pages, and windows
- Creating a custom portal
Part 4: Going to Production
All the chapters in this section are important and very interesting. These chapters cover everything you will need to know when your application goes to production.
Chapters 12 and 13 are dedicated to clustering. Chapter 12(Understanding Clustering) begins with the fundamentals of clustering; It was interesting to set up a simple cluster as explained in this chapter and learn how to configure JGroups and JBoss Cache. Chapter 13 covers clustering as applied to Java EE specific application components and services like session EJB's and entities, HTTP session replication, and JNDI.
If you need to access and improve the performance of your application, than you need to read Chapter 14(Tunning the JBoss Application Server). In this chapters you will see ways to tune the hardware, operating system, database, JVM, application server, and of course your deployed application. There are also a few tips on how to interpret thread dumps to pinpoint performance issues within your code.
Chapter 15(Going to production) is the last chapter in this book which covers topics such as selecting a platform, running JBoss AS as a service, running multiple JBoss AS instances on the same machine. You will also learn how to remove services which are not required, secure the management applications, change the default data source, database, configuring the EJB3 timer service and precompile JSPs.
Appendix A: JNDI namespaces
In this appendix, the authors explore how JBoss does JNDI binding and how to generically bind your applications in JNDI, making them more portable across application servers.
Appendix B: Change is inevitable
To quote the authors
This appendix contains changes that came after CR2 and before the book went to the printer. Any changes after that will appear on the book’s website.
(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)






Comments
Kevin Hooke replied on Wed, 2009/01/21 - 12:53pm
I've been running sites on JBoss since 3.2.x days and on the whole JBoss is a solid app server. Running on Linux it just runs and runs.
However, since the arrival of Glassfish, I wonder if JBoss is losing relevance. One area where Glassfish absolutely shines is it's admin console. It's the open source equivalent of what you'd expect to get with a 'for money' app server like Weblogic or Websphere. JBoss has always lagged behind with it's admin consoles which always looked like they were added as a last thought - 'oh, we need an admin console before we release this new version - can someone knock one up in a few hours before we ship?'
I haven't seen JBoss 5 yet, but if they've updated their admin console then I'll be pleased and I'll take a look. If they haven't then the next App Server upgrade for me will be to Glassfish, not JBoss 5
Krunoslav samardzic replied on Wed, 2009/01/21 - 2:46am
I 've been using Jboss 4 AS for about 2 years, and I am extremly pleased with it.
Keep up the good work.
Kruno.
paul hoang replied on Thu, 2009/01/22 - 11:52am
been using jboss 4 for far too long now and its great to see jboss 5 released with a book release so soon!
thanks
Karen Delucia replied on Thu, 2009/01/22 - 2:07pm
Omar Qureshi replied on Thu, 2009/01/22 - 5:55pm
My company uses JBoss for all our JEE web apps. I cannot imagine using a web app without JBOSS. From clustering, to load balancing, hot deploys ... It's rock solid.
Tomcat is good, but the added benefits of JBoss are just too exciting.
Can't wait to read this book!
Girish Ahankari replied on Fri, 2009/01/23 - 8:24am
Never worked with JBoss. Got to work only on Weblogic & Websphere as of now.
Looking forward to work on JBoss and hope this book makes my learning easier.
Satish Buddhavarapu replied on Sat, 2009/01/24 - 1:10am
Andriy Vovchyna replied on Tue, 2009/01/27 - 8:44am
On my previous project we've encountered with sessions leaks problem in JBoss catalina module. But this open source application server provides a lot of facilities for building J2EE applications.
Jignesh Daulat replied on Tue, 2009/01/27 - 9:08am
Hi, I understand that JBOSS is the prime J2EE Application Server at the moment.
I would like to set up and application, for which I need to decide on a number of things, which would decide how the application is set up, run and maintained.
For that I have chosen JBOSS as the server, along with MySQL database for backend data storage.
I hope the free e-book will help me in executing the project quickly, with thorough understanding of JBOSS for maximum efficiency and user satisfaction.
Looking forward to the book,
Thanks.
Meera Subbarao replied on Tue, 2009/01/27 - 10:13am
in response to:
Jignesh Daulat
The winners have been announced. Congrats to:
1. Abhay Bakshi
2. Vivek
3. Daniel Ray
I hope you will enjoy reading the book as much as I did.
P.S: Also a big thanks to everyone who posted comments.
Prashant Awadhiya replied on Wed, 2009/01/28 - 10:35am
I have been a Weblogic faithful, just got introduced to JBoss in my new company. I have started liking it. Looking forward to version 5..!
Forum Prutt replied on Wed, 2009/01/28 - 2:41pm
Nelson Beltran replied on Fri, 2009/01/30 - 2:08pm
Abhay Bakshi replied on Fri, 2009/01/30 - 10:20pm
in response to:
Meera Subbarao
Hi Meera - thank you for the opportunity to participate and post comments. I just wanted to say - the book reached my address today, and it's hardly only a couple of days after your announcement. That was fast, and we really appreciate.
The book will be useful.
Shibu Gope replied on Sun, 2009/02/08 - 12:07pm
Shibu Gope replied on Sun, 2009/02/08 - 12:09pm
Kelvin Phan replied on Fri, 2009/02/13 - 10:29pm
Girish Kulkarni replied on Thu, 2009/02/26 - 9:10pm
Vinh Le replied on Thu, 2009/03/05 - 8:41pm
I have been using JBoss 4 as a test development. Would love to have a look at this book in detail.
Vinh
Calvin Hill replied on Fri, 2009/03/06 - 12:16pm
Just recently setup JBoss 4.2.3. Learning how to setup two instances one for DEV and QA. Right now I like it but it can be challenging to configure. Still trying to learn how to shut it down without shutting down both instances. Will be moving it to production in a week or so. Having a book to reference would be ideal.
Thanks,
Calvin
murali konusu replied on Fri, 2009/03/13 - 9:32am
Vineet Bhatia replied on Fri, 2009/03/13 - 5:20pm
carlos collazosx replied on Fri, 2009/03/20 - 9:24am
Michael Öztürk replied on Sun, 2009/03/29 - 10:50am
Allen Chen replied on Mon, 2009/03/30 - 2:23pm
Heiko Spannaus replied on Mon, 2009/03/30 - 3:55pm
Positives: At my Job, I'm using another application server from a big blue 3-letter company. I'm using JBoss frequently for teaching software-developers JEE. Compared to that other application server, everything in JBoss seems to be more mature, easier to understand, easier to configure, easier to use.
Negatives: Tried to integrate JBossCache in that other application server and ran into problems, maybe a bug in the application server or JBossCache or an incompatibility between the two. My customer, one of the biggest companies in germany, was willing to pay a lot of money to get this fixed. I tried to buy some technical support from Redhat. It took me several weeks to talk to many people at Redhat, but in the end, I got no support at all. We had to replace JBossCache, which was a big problem for the project.
Conclusion: It's a great product, but I'm not sure, if I would use it in a big real-world project, because if you have a problem, you're on your own (just my personal experience).
Gil Larson replied on Wed, 2009/04/01 - 8:26am
Richard Downey replied on Fri, 2009/04/17 - 2:19pm
alex ni replied on Thu, 2009/05/07 - 2:07pm
David Hoffer replied on Tue, 2009/05/19 - 9:49am