In a typical three tier web architecture, the first tier, the web server, communicates directly with the Browser/user. The third tier is the database which stores all the data and communicates with the 2nd tier. SourceForge.net’s April 2003project of the month is JBoss, which is one of the leading application servers on the market. JBoss *is* the 2nd tier. It controls the intelligence of the application and funnels data from the web server to the database and back. It is written in Java and executes J2EE code. JBoss is an Open Source success story. Besides directly competing with it’s commercial counterparts, it has been a fixture on SF.net’s top 10 most active projects for many months, and routinely has more then 10,000 downloads a day. The SF.net team is proud to make JBoss the project of the month for April 2003.
Project Name: JBoss
Founded / Started: May 1999
JBoss is the leading Open Source java application server. After Linux and Apache, it is the third major Open Source project to receive widespread adoption by corporate IT.
JBoss is a J2EE based distributed application framework for the Java language and runs wherever there’s been a port of the Java JVM.
How did you get started?
Back in 2001, I had been using JBoss at my company at the time and was getting quite active on the JBoss development lists and had submitted a few bug patches when I received a peculiar email from Marc Fleury, the founder of JBoss. The email had one sentence, “Do you want to take the Red Pill?” I shiver ran down my spine as I felt like Neo, when Morpheus gave him the choice of the red pill or blue pill in the movie, The Matrix. I just had to see where this rabbit hole would lead. The rest is history. (By the way, Marc had code named JBoss 3.0 as “Rabbit Hole”).
After working at Bear Stearns, I was CTO for an Internet startup that wanted to do project management via the web for retail identity branding. This was during the end of the dot bomb and VC wallets were shutting down so it was pointless to look at the overpriced commercial app servers. I also needed to go beyond the declarative J2EE security model and so started developing this for JBoss and ultimately became the lead in the security project. Marc was starting to put together the JBoss Group company and we hooked up at the 2001 JavaOne conference and I decided to commit myself to the effort.
What is the intended audience?
Our intended audience is anyone, from novice J2EE developers to hardcore middleware experts who need a Java-based application server to write distributed, transactional, web-based systems. The diversity of the audience reflects the flexibility of the JBoss platform.
What does JBoss do and what makes it unique?
JBoss is a middleware platform that supports enterprise component development. It provides the services of J2EE for use via the J2EE APIs, or custom composition of the services. We’ve implemented an Aspect Oriented framework so that we can bring J2EE services to plain old Java classes. What this means is that you’ll be able to write simple Java classes without the need for cumbersome APIs like EJB and still be able to take advantage of most J2EE functionality. Using Dynamic Proxy and AOP we instrument any object without compiler technology. What makes JBoss unique is its modular architecture design that allows for arbitrary configurations and deep integration with both J2EE and legacy systems.
How many people do you believe are using your software?
We’ve had 2.4 million downloads since our inception and currently average around 100,000 per month. My guess is on the order of 2+ million users based on the download numbers from 2002. We’ve had 26,000 documentation sales.
What gave you an indication that your project was becoming successful?
The number of downloads, documentation sales, demand for training, and developer community interest were all indications of the success of the JBoss platform. But perhaps the clearest indication was winning The Best Application Server 2001 award at the JavaWorld’s Editor’s Choice awards.
What has been your biggest surprise?
Well, beating out billion dollar companies like BEA and IBM for The Best Application Server 2001 award at the JavaWorld’s Editor’s Choice awards was a nice surprise. As is
how quickly people are migrating to JBoss from the high-end commercial app servers.
What has been your biggest challenge?
There are several challenges that we face including, but two that come to mind are: remembering that JBoss developers were volunteers and you don’t have the typical employer/employee relationship and overcoming perception that Open source isn’t enterprise ready.
What are you most proud of?
Giving the core guys a way to make a living at their passion. Professional Open Source is real and we prove it.
I am most proud that a bunch of developers of different cultures and backgrounds dispersed all around the globe can compete with and win against multi-billion dollar companies that are in the same space. Linux and now JBoss are proving that not only can you write great software, but you can build a viable, strong business on Open Source.
Helping to grow the JBoss Group and the JBoss project in the face of heavyweight competition using a novel commercial/Open Source model is something I’m proud of. The time of proprietary and/or closed source software vendors of critical middleware/operation systems is past. The future is Open Source with commercial support and knowledge.
Why do you think your project has been so well received?
There are several reasons why it is so well received. From standards compliance, forward thinking architecture, and stability, to the extensibility of JBoss architecture. However it may be because the J2EE community is sick of spending millions of dollars on empty software licenses. I think our marketing slogan says it all, “What if the best application server were free?”
Where do you see your project going?
2003 is going to be a great year for us. We will focus on continuing to evolve the architecture, ease of use and address ease of administration. Most importantly, we’re building an Aspect-Oriented framework that will allow us to bring J2EE services to plain Java classes. I think what we will accomplish is what the distributed computing industry has been trying to for decades. Totally detach and abstract-out distributed computing infrastructure from business logic.
How can others contribute?
Developers come to JBoss by submitting patches through SourceForge.net. These may address to-do items, existing bugs, or features they have interest in. When the patches demonstrate an understanding of the code base we assign them developer status. We are very lenient about granting CVS access. Show us some initiative, and we are happy to bring you on board.
How do you coordinate the project? Make assignments? Assign bugs? Perform regression testing?
The development forums at www.jboss.org are a great place to throw around ideas. We also use SourceForge.net for task and bug tracking. Every night, our automatic build system compiles the code base and runs about 1000 tests on various JDKs and OSes.
What is your development environment like?
My laptop runs Win2k. My desktop is Linux. I use Sun’s JDKs and develop using Emacs. I haven’t used a debugger in a few years because I find they hide multi-threading issues. Borland’s OptimizeIt has been a great tool for detecting performance bottlenecks and memory leaks.
Machines: Dell 8200 laptop RedHat/WinXP dual boot, Apple G4 dual processor, Dell dual processor PowerEdge 2650.
Compilers: Sun 1.3.1 and 1.4.1 JDKs, Apple 1.3.1 and 1.4.1 JDKs, IBM 1.3.1 JDK
Debuggers: IntelliJ IDE, Kamira BugSeeker, Borland OptimizeIT profiler.
If you could change one thing about the project, what would it be?
Stick with the GPL.
Have our forum software integrated with email.
The forum software is currently more cumbersome than I would like. We have hired a developer to work full-time, mainly to improve this.
What’s on your project wish list?
To bring Aspect-Oriented programming to the masses.
3.2.0 release in late February early March
4.0.0 release in June
Advanced developer trainings in Las Vegas, New York, Paris, San Francisco
Admin training in Denver, Atlanta, Frankfurt