What Is JBoss?
JBoss is an open-source J2EE application server. The project was started back in 1999 and is distributed under a standard Lesser General Public License (LGPL). Over 100 developers worldwide have worked on it, and as of the writing of this article, it's up to Version 3.2. Current download rates are running around 200,000 copies a month. But JBoss isn't some stripped-down, lowest-common-denominator application server. JBoss has many of the features you would expect from an enterprise-level implementation of J2EE, such as clustering and Container Managed Persistence (CMP). The standard download includes both a J2EE stack and an HTTP 1.1 Web server.
JBoss Business Model
So how does a company make money on software that it gives away? Well it's easy: They charge for everything other than the software. Enter the JBoss Group, which is the consulting and support side of the JBoss project. The JBoss Group makes the money to support itself and future development by selling training, support, and consulting services.
Training options include Boot Camp, which is a hands-on, two-day demo of JBoss's capabilities; J2EE on JBoss and Advanced JBoss, which are beginning and advanced classes in J2EE development in JBoss; and JBoss Admin, which teaches you the best practices for deployment and administration of your production application servers. JBoss training is provided at various locations around the world.
JBoss support options include Right Start, a service in which a JBoss consultant comes to you during your development and reviews your system architecture and implementation; Port to JBoss, a service in which a consultant helps you get off your current budget-draining application server; and Go Live, a service in which a consultant holds your hand for your production release and helps you with any last-second glitches. In addition, like all good consulting firms, the JBoss Group will work with you on an hourly basis to meet any other needs you might have.
JBoss offer three levels of support: Standard Support is your typical hourly based support, 24x7 Production Support is fast response time and direct contact with a developer, and OEM/Integrator Support allows you to resell JBoss support with your applications. For those of you who just have to spend money, JBoss also offers Enterprise Wide Support Contracts.
One final way that the JBoss Group generates revenue is through selling advance documentation. However, considering that a yearly subscription to all of their documentation only runs around $120, you are still saving thousands of dollars over most other application servers. A common mantra that you will hear JBoss evangelists utter is "Spend your money on knowledge, not licenses." I feel obligated to point out that, though I have not used the JBoss consulting services and don't know their pricing model, I do find the price of their training to be more expensive than that of their competition.
What makes JBoss support stand out from that of other providers is that the developers of JBoss actually fill the support and consulting roles themselves. This is managed through a unique program in which developers spend 50% of their time doing development and 50% of their time doing support and consulting. This way, you are ensured that your contact is knowledgeable on the product and not just a warm body hired last week.
Jboss Tour
Now, you are ready to take JBoss for a test drive. First, go here and get the zip file that has everything you will need. Download the jboss-3.2.0.zip to your local hard drive and unzip it. Note the rather petite 34 MB file size. (These are the "binary" versions of the JBoss tree; because it is an open-source project, you can get the actual source code and compile it for yourself if you prefer.) After getting the zip file, go here and follow the JBoss 3.0 Getting Started documentation link, where you can then download the 3.0 Getting Started documentation set. Actually, for a "quick start" document, it is a rather lengthy 180 pages. But, in their defense, it covers far more than just getting you started. So if you would really like to do a true quick start, do the following (I am assuming that you are on some flavor of Windows):
1. Use Windows Explorer to navigate to the root of where you unzipped jboss-3.2.0.
2. Navigate down to the bin directory and launch run.bat (you can also do this from a command line if you prefer). A number of informational as well as a few error messages will fly by in the command window. Wait until you see a line similar to this:
INFO [Server] JBoss (MX MicroKernel) [3.2.0
(build: CVSTag=JBoss_3_2_0 date=200304110033)]
Started in 14s:70ms
3. Launch your favorite Web browser, and then go to http://localhost:8080/jmx-console/, which should bring up the JBoss management console.
That's all there is to installing JBoss. If you are familiar with application servers, surf around the interface and get a feel for where things are and the kind of interface that JBoss provides.
The next step, and it's a pretty big one, is to download a JBoss template and some example projects from here and follow the instructions in the Quick Start document chapter 3 that you downloaded previously. Note that, as part of this process, you will need a current version of Ant and XDoclet. Instructions on where to get these are included in the readme file that accompanies the template and example projects bundle. I find this to be a fairly typical pattern with application servers in that the installation of the server itself is fairly trivial, but actually deploying a project involves a fairly significant effort. So set aside a little time and work through the sample project to become familiar with how JBoss works.
One nice thing about taking JBoss for a test drive is that, because it is open source, you can download it without even giving away your email address or phone number. In other words, you don't have to deal with a temporary license or that dreaded follow-up call from the sales person to see how your evaluation is going.
Digging Deeper
If you want to know more about JBoss or have problems with installation or the sample projects, the JBoss Web site hosts a set of very active forums from its home page. In addition, you will probably want to subscribe to the JBoss documentation set and optionally pick up a couple of the JBoss books on particular topics, all of which are available through the JBoss Web site.
One Last Consideration
In spite of the cost savings, it can still be an uphill battle to sell management on the idea of running mission-critical applications on open-source software. You may be able to ease them into the open-source world by migrating a small non-mission-critical servlet over to JBoss. By doing this, you will not only get up to speed on JBoss, but also you can use it as your proof of concept that JBoss really can save you money. And remember, your ultimate ace in the hole is that you have the source code. If the JBoss Group closes its doors tomorrow, your code line will survive. Think what kind of shape you would be in if this scenario played out with your current application server provider.
The Challenges for the JBoss Group
The JBoss Group has earned a reputation for good customer support, something that few software companies can rightly claim (although all of them do). The challenge for the JBoss Group, as I see it, is to maintain their business model and customer satisfaction as they scale up.
Conclusion
JBoss is a free, open-source, J2EE application server that presents a viable alternative to the commercial Java application server market. The project itself has been around for over three years and continues to mature and add functionality, like clustering and CMP. The JBoss Group supports their development of the project by charging for support and consulting. Their unique business model of having developers provide support assures quality, knowledgeable support staff. JBoss itself is easy to download and install, but like most application servers, it will still take you a while to get your first test application up and running. The JBoss Group has an excellent reputation for providing support, but it will be interesting to see if their current business model will scale up.
So the next time you are cutting a big check to your application server provider, think about JBoss and where else you could be spending your budget. Chances are, your competition is doing the same thing.
Michael J. Floyd is an Extreme Programmer and the Software Engineering Technical Lead for DivXNetworks. He is also a consultant for San Diego State University and can be reached at
LATEST COMMENTS
MC Press Online