Agile Zone is brought to you in partnership with:

Meera has posted 70 posts at DZone. You can read more from them at their website. View Full User Profile

Free Book: JBoss in Action

01.14.2009
| 58264 views |
  • submit to reddit
Published by: Manning
ISBN: 1933988029

Reviewer Ratings

Relevance:
5

Readability:
4

Overall:
4

Buy it now

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.
Published at DZone with permission of its author, Meera Subbarao.

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)

Comments

Christopher Rap... replied on Wed, 2009/01/14 - 1:37pm

Interesting.

Johnny Homeslice replied on Wed, 2009/01/14 - 1:39pm

I look forward to reading the book!

Steve Riebe replied on Wed, 2009/01/14 - 1:41pm

We have been using JBoss Messaging for a while with good results. Lately we have been looking at the JBoss Microcontainer. This book will be of great help, Thank you.

Stefan Krause replied on Wed, 2009/01/14 - 1:41pm

JBoss is a nice app server: It allows for easy exploded deployment which is great for development.Anyone who has ever worked with (at least) older Webshpere simply must enjoy that (no rmic step, no deployments through tools that no one wants to use)

The only downside shows up when you sysadmin asks you which ports exactly must stay open in the firewall ;-)

I'm looking forward to reading the book. Manning has turned out to be the #1 publisher for java books.

Yusuf Koer replied on Wed, 2009/01/14 - 1:59pm

JBoss is a great piece of software and they have a great team of developers

Ravi Bhatia replied on Wed, 2009/01/14 - 2:03pm

Looking foward to read the book.

Carlos Marquez replied on Wed, 2009/01/14 - 2:05pm

I've used JBoss in the past mainl for prototyping. I think it's a good project that will gain momentum after bea adquisition

Magnus Runesson replied on Wed, 2009/01/14 - 2:12pm

Nice to see a JBoss 5 book so soon after release. This will hopefully make the move from JBoss 4 faster.

Ruslan Khmelyuk replied on Wed, 2009/01/14 - 2:12pm

We are using only JBoss AS and it is cool! Would like to get a book to read more about JBoss.

Shannon Sumner replied on Wed, 2009/01/14 - 2:16pm

I've used jboss portal and jboss bpm on a clustered jboss AS.  It worked very well and I'm looking forward to the new ajax capabilities of the jbpm webapp.

Jason Kay replied on Wed, 2009/01/14 - 2:17pm

Now that JBoss exists in many legacy systems, this should be a great reference guide for troublshooting and maintenance (and upgrading) of existing apps especially since lack of documentation was an issue when many of these systems were built.  Looking forward to knowing how JBoss is positioning themselves against other free app servers like glassfish and hope this free book will expose these features enough for a thorough evaluation.

Jeff Boroch replied on Wed, 2009/01/14 - 2:21pm

I used JBoss 4 a few years ago and it was great.  I look forward to reading up on version 5.

Ludo Aelbrecht replied on Wed, 2009/01/14 - 2:22pm

My experience with JBoss is limited to 4.0.x and 4.2.x. While I definitely liked it, the main annoyance to me was the memory leaks which appeared after doing too many hot-deployments. The way we worked was: deploy the war, test it, find bugs, fix bugs, redeploy the new war by overwriting the old war, without shutting down JBoss or anything. This worked fine - hot-deployment saved us a lot of time as we were constantly deploying newer versions -, but after X redeployments we got PermGen OOM errors, which meant we had to restart JBoss. Certainly not a big issue, but something which I hope is fixed in 5.0, since it's something which I ran into multiple times a day. Will have to check out 5.0.

 

Definitely interested in the book, BTW, in my experience the Manning "X in Action" books are excellent.

Simon Wang replied on Wed, 2009/01/14 - 2:30pm

I have used Spring based solution for most of my projects and next time I will definitely give JBoss (Seam and server) a shot.

Don Ngo replied on Wed, 2009/01/14 - 2:34pm

I've been waiting for JBoss 5 to come out for a long time.  I'm looking forward to get the this book so I can get started on using this server.

Fabio Canepa replied on Wed, 2009/01/14 - 2:35pm

The professional services given by Red Hat on Jboss AS are very valuable!

I hope that with version 5.0 Jboss will return number one  open-source app server.

 

-- 

Fabio

Ryan Peterson replied on Wed, 2009/01/14 - 2:39pm

Jboss is easy to get running with the defaults, and has the depth necessary to handle the needs of most any application/environment. 

Don Ngo replied on Wed, 2009/01/14 - 2:40pm

I've been wanting to try out JBoss server for a long time, but without a book, it has been difficult for me to get started.  Hopefully, this new book will make it easy for me to get started with version 5.

Don Ngo replied on Wed, 2009/01/14 - 2:42pm

test...

Bohdan Bobylak replied on Wed, 2009/01/14 - 2:45pm

JBoss 4.x + Seam are now my favorive for project development.
I hope JBoss 5 is as good as 4.x is and hope to 'meat' it in a while.

Keep going JBossians and thank you for the great projects.

Regards,
Bohdan.

Quoc Hoang replied on Wed, 2009/01/14 - 2:53pm

Time to learn JBoss

Laurent Lolo replied on Wed, 2009/01/14 - 3:06pm

I have used jboss to developp some applications to manage DataCenters. Our company has choosen Jboss because of :

  • Seam;
  • Drools;
  • Jbossws;
  • Hibernate;
  • Richfaces.
 Jboss was easy to adopt and provide an active community.

Stanisław Klunder replied on Wed, 2009/01/14 - 3:15pm

I was using JBoss as platform for workflow/BPM solution some time ago. I'it was JBPM based solution with EJB2 and Web Serice integration interface. EJB2 development was painful, but JBoss was the best choice as cost-free aplication server. Since than i was observing JBoss development and i think, that JBooss AS is now even better (not only thanks to EJB3 improvments), but mostly thanks to surrouding tools easy to use and deploy on JBoss platform. It is easier now to build composit, component-oriented applications with support in each layer - from ORM layer to web interface and portal.

Lately I was evaluating JBoss ESB and i think, that it is the best option for ESB/SOA implementation platform. Mostly thanks to not using BPEL (which not fits well in BPM area) for process management - JBPM is far better solution for this. Also groovy services and hot deployment makes JBoss ESB a good otion for agile SOA development.

Josep Carles Co... replied on Wed, 2009/01/14 - 3:29pm

I am using JBoss 4.2 now for my job.

A very good project, and I think for the book to try 5.0

 

Lev Greysman replied on Wed, 2009/01/14 - 3:48pm

I will definitely use this book at work and would love a copy.   We will soon be upgrading from JBoss 4.0.4 to 4.2.3.   We utilize JBoss as a critical piece of our integration architecture in our 2 billion dollar business.  

Alpesh Rambiya replied on Wed, 2009/01/14 - 3:57pm

In a process to evaluate between Glassfish and JBoss application server. Chapters in moving to production and clustering will help in getting the insights of working in production environment. Thanks a ton for the ebook.

replied on Wed, 2009/01/14 - 3:58pm

I used Jboss 3 & 4 but switched when jboss fell behind in Java EE technology.  Was waiting for a jndi standard across all app servers anticipated to bepart off ejb 3.1 / EE6 before switching back. But maybe with this book I'll come back earlier.

natg

Pavol Pitonak replied on Wed, 2009/01/14 - 4:05pm

I tried it in several school projects but haven't used the newest version yet. I'll try it soon as it looks interesting.

Stefano Maniero replied on Wed, 2009/01/14 - 4:08pm

I want to know better the JBoss stack, so the content of book is good for me.

Dejan Ristic replied on Wed, 2009/01/14 - 4:29pm

I am going to explore JBoss server for my next project.

Looking forward to read the book.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.