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
| 57871 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

Roger Studner replied on Wed, 2009/01/14 - 9:13am

The one thing that makes JBOSS stand out, is that it truly is an entire platform suite.  From Jboss Cache to their integration with Drools, they have strived to provide a complete end to end solution for.. well.. everything!

 Jboss Seam is easily the most exciting thing to happen in J2EE development in a few years (I love ya Spring!  but Seam rocks!)

Thankfully, after 1, 2, 3? years, JBOSS 5 has finally arrived and the platform moves, officially without tweaks, into the realm of J2EE 5.

 

My first, and favorite app server still.. Jboss :)

chinh dinh replied on Wed, 2009/01/14 - 9:17am

I'd like to read more about the administration side of JBoss . I'm currently using version 4.0.3SP1, but it has some conflicts with my application's library vs the JBoss' endorsed directory.  Overall, JBoss is still a great application server if you utilize it correctly.

Alain Gaeremynck replied on Wed, 2009/01/14 - 9:31am

It always amazes me to be able to find product such as JBoss open source.  It is an excellant example of why open source is the way to go.  It is a solid and performant product that is well documented.  As for the book i'll let you know once i've read it.  As you can guess this comment is only meant for me to get the book for free :)

XUEKUN KOU replied on Wed, 2009/01/14 - 9:39am

 Thanks for having a JBoss 5 book out so quickly.

Ivan Zhidov replied on Wed, 2009/01/14 - 9:41am

We have been using JBoss in production on mission critical 24x7 applications for 8 years.

 Great work on behalf of JBoss team and kudos to Red Hat for fostering professional OSS.

 

Can't wait to start using JBoss AS 5.

Olivier Martin replied on Wed, 2009/01/14 - 9:48am

How are the ClassLoaders in version 5 ?

I've some had some great time debugging time with versions 3.x and 4.x o_O'. The mix between JBoss' UnifiedRepository & UnifiedClassLoader plus Tomcat's ClassLoader is a mystery for a a lot of people.

Kevin Puscas replied on Wed, 2009/01/14 - 9:57am

It has been interesting watching the open source J2EE AS space grow and mature over the past 10 yr. JBoss was one of the earliest to be a real viable solution and has done a pretty good job of bringing in and integrating new capabilities. I am especially interested in the impact of the new micro-kernel approach. It will be interesting to see how it continues to evolve now that there is more "competition" (GlassFish, WebSphere CE, Geronimo, etc) in the open source app server space.

Rajesh Sawant replied on Wed, 2009/01/14 - 9:58am

Gr8 to see book so fast, can't wait to read it.

Good work.

Peter Schuebl replied on Wed, 2009/01/14 - 9:59am

Working with JBoss xml configuration files never gets boring :-)

Uysal Kara replied on Wed, 2009/01/14 - 10:00am

I have stopped using JBoss at around 3.2 days..

The application server landscape has changed alot since then.

It will be really hard for JBoss to return to glorius days in competition with excellent Glassfish, promising SpringSource server offerings.

I hope to give JBoss another chance as i continue to learn Seam framework

Juan Antonio M... replied on Wed, 2009/01/14 - 10:06am

Interesting book. I work with Jboss 4.2 in cluster in critical application.

Jonathan O'Connor replied on Wed, 2009/01/14 - 10:15am

I've used JBoss from an alpha version of 3.0.0, upto 4.2.2. I'm interested to see if I JBoss 5 is smaller and faster than 4.2.2.

 

Venkateswaran M... replied on Wed, 2009/01/14 - 10:19am

It always amazes me to be able to find product such as JBoss open source.  It is an excellant example of why open source is the way to go.  It is a solid and performant product that is well documented.  As for the book i'll let you know once i've read it.

Michael Trompertz replied on Wed, 2009/01/14 - 10:25am

The configuration of JBoss 5.0 seems hard. Hopefully there are some hints and tips in the book

Martin Macgill replied on Wed, 2009/01/14 - 10:26am

Keep up the good work! Can't wait to give the book a read!

David Robison replied on Wed, 2009/01/14 - 10:33am

We use JBoss as a CORBA application server. Our CORBA services are packaged as SAR files and uses the builtin JacORB package. JBoss also provides a CORBA Naming and optional Transaction service as well. This may a convienet and easy way to deply our CORBA services. We also make great use of the Hibernate services by packaging our Hibernate classes as HAR. All in all, JBoss provides a single container for all our various components.

Julio César replied on Wed, 2009/01/14 - 10:33am

We are using JBoss 4.2.x and this book would help us a lot!

Wang Wei replied on Wed, 2009/01/14 - 10:34am

Really good written.

I wait this book for a very long time.

I like the chapter 12 about clustering. It is a must read for all jboss user.

Vivek Mongolu replied on Wed, 2009/01/14 - 10:38am

I am preparing for EJB 3.0 certification and started using JBoss. I was surprised with the start up speed, its really fast. I'v used JBoss in my last job which was in 2005-2006 at that time it was slow. Now its almost the same as Web containers. Good job JBoss guys... Manning books are always good books...cant wait to read the book...

 

Markus Schumpa replied on Wed, 2009/01/14 - 10:39am

 nice... JBoss 5 in a book :D

 I realy liked working with JBoss 4.2, let's give the new incarnation a try.

Frederic Chopard replied on Wed, 2009/01/14 - 10:39am

I worked a lot with JBoss for two years between 2001 and 2003, it was release 3 if I remember correctly. At that time I had to fight with numerous xml configuration files and looking for a good and well-written documentation which I didn't found.

I had to restart working with JBoss 4.2.2 about 2 months ago and I'm still editing a lot of xml files and looking for some good documentation about it... So I hope that JBoss 5, which I would probably test in the next months, has simplified its deployment and configuration steps. If this book provides some good documentation on how configure JBoss, especially on security and clustering, I will probably buy a paper copy.

Marcel Lanz replied on Wed, 2009/01/14 - 10:42am

Thank you for such an attractive offe. We use JBoss Cache and evaluated jBPM. At the moment we don't use JBoss as an APP Server.

Aswani Kumar replied on Wed, 2009/01/14 - 10:46am

This is a cool offer.  We use hibernate extensievly and have a strong desire to use Seam framework for our web applictions if performance becomes a problem. Also we are/have evaluated JBPM and JBoss Rules for various needs.

Cristian Jansenson replied on Wed, 2009/01/14 - 10:48am

I had a good experience with JBoss app server a few years back.  I would really like to learn about the latest developments.  Thanks for the book!

Robert Munteanu replied on Wed, 2009/01/14 - 10:49am

I've not used JBoss since the days of 3.x .

At that time EJBs were quite difficult to graps ( for me ) and not a value proposition. We actually moved away from the heavyweight side of JavaEE ( 1.4 ) .

I'm curious ab out they way JBoss 5 integrates the different frameworks - Seam/Hibernate/Faces.

Robert

Richard Paul replied on Wed, 2009/01/14 - 10:58am

I would like to read this book and get a free copy.

My past experience was with JBoss 3.x and 4.x, had the most issues with the classloading when deploying multiple war files that reused a number of libraries, and had newer libraries within the war file themselves.

Austin Kotlus replied on Wed, 2009/01/14 - 10:58am

JBoss is a great application server.  The biggest area for improvement is enterprise management and configuration.  Jopr is a big step in the right direcation for management and JBoss AS 5 makes a real web admin/config console possible with the virtual file system and the metadata repository.  I look forward to the day when jboss comes with a unified monitoring and admin/config site preconfigured out of the box.

Steven Vetzal replied on Wed, 2009/01/14 - 10:59am

We've been delivering application solutions on JBoss for 5 years now.

The JBoss technology stack is superb, with components like JBoss Rules that are unparalleled and have tremendous community momentum.

JBoss Seam is by a longshot the _only_ way developers should be building Java web apps (well, we'll see what happens with the Web Beans spec coming).

Steve 

Patrick Jusseau replied on Wed, 2009/01/14 - 11:01am

I have used JBoss since version 3.2.x and recently moved to 4.2 in order to use EJB3.0 . I do rich client (Swing) development. I find JBoss very powerfull but I wished there were some nice UI tools. I took a look at JBoss remoting but find it quite hard to use. I wish there was an easy to set up layer that would allow my client side to communicate to the JBoss serveur transparently (RMI / WebServices...). Maybe there is one but I am not aware of.

Patrick 

Cristian Vasile... replied on Wed, 2009/01/14 - 11:01am

I've used JBoss 4 for the development of a big enterprise app in the past. The choice has been made because of all the extra stuff JBoss has compared to Tomcat.

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.