A lot of open source Java software exists, but getting it all installed and seamlessly working together can be a tough chore.
EJB Solutions' Out-of-the-Box is a compilation of open source Java software for developers who want to jump into development mode without wrestling with separately installing several open source projects. Let's face it: it's a major hassle to get half a dozen or more technologies working together, especially if your specialty is programming and not system administration.
Out-of-the-Box includes 50—that's right, 50—packages for Java developers. Naturally that includes goodies like the JDK, JBoss application server, Struts, and the Jakarta Commons components. It also includes non-Java applications and products you might use in conjunction with many Java projects like MySQL, DocBook, and the Apache Web server.
What's in the box?
Out-of-the-Box comes in several versions. A free version for Linux only includes all of the projects and some installation documentation. You will do almost all installation and configuration work yourself, and it doesn't include a user's guide or any advanced configuration. Or, you can dip into your wallet and buy the Developer, Advanced, or Enterprise Editions. The Enterprise Edition includes everything you'd ever want—and then some—when it comes to Java and Java-related open source software.
The Developer, Advanced, and Enterprise versions support Linux or Windows, specifically Red Hat 7.3 or 8.0, and Windows XP or 2000 with Service Pack 2. I tested the Enterprise Edition on Linux. The price of the Enterprise Edition is only 9.95, so if you're a professional Java developer, the Enterprise Edition is probably worth the money. EJB Solutions also charges for a subscription to download updates, which you'll want if you find Out-of-the-Box useful. Otherwise, you will have to perform many manual updates, which might be painful.
Inside the box
I tested the software on a machine running Red Hat Linux 8.0. Unfortunately, the product requires a clean-room Red Hat installation. You can't have Apache installed on your machine, for example, and you must dig out Red Hat Installation Disk One to install a particular necessary package. (I'm not sure why the package isn't simply included with Out-of-the-Box.)
Since the system requirements are so picky, it proves disruptive to install on a machine already in use. Read the instructions carefully and be sure you don't have any software installed on your machine that might conflict with the software installed by Out-of-the-Box. All of its dependencies must be met.
The product definitely needs some improvement in this area. The convenience of a bundled distribution of open source Java projects is somewhat negated by the need to reinstall your distribution if you already have a Linux development box. It's not a big deal if you're setting up Out-of-the-Box on a development machine in an organization with a half-dozen developers (or more)—digging up a spare machine they can log into for Java development makes sense. However, consultants and other developers who already have a workstation and development environment and do not have a spare box cannot accommodate Out-of-the-Box's requirements.
The installation itself is relatively painless. It took less than half an hour on a machine with an Athlon XP 2000+ and 256 MB of RAM. Simply run the
install.sh script and answer a slew of questions.
The install is an all-or-nothing affair. You cannot pick and choose which packages to install; all 50-plus projects are installed whether you need them or not. This isn't exactly optimal, since many developers will not want or need everything.
Some assembly required
Once the installation finishes, the CD contains some sample applications that use a few of the projects. The first one I tried was the Enterprise Sample Project that comes with the Enterprise Edition. After I read through the documentation, I expected a snazzy sample application. Instead, after waiting five to 10 minutes for it to build, a basic Web email application appeared. It worked fine, but I wanted something more elaborate.
Another sample application is a benchmarking application that lets you test the speed of database record retrieval. This tests JBoss, Tomcat, and MySQL integration. Again, it's nothing fancy, but it ensures these applications work.
You'll also find sample applications for Scarab, Concurrent Versions System (CVS), Struts, Maven, and others. Unfortunately, most of the applications do little that's useful. They simply demonstrate that the applications installed correctly and that they work. The good news is all of the apps I tested worked fine.
After Out-of-the-Box installs, you'll probably need the better part of a workday to configure everything to suit your development needs. It would take several workdays, and probably quite a few aspirin, to separately install and configure all of the applications included with Out-of-the-Box.
Quite a bit of non-Java software comes with Out-of-the-Box such as Python and CVS (or WinCVS for Windows users). Of course, just because this software isn't Java specific doesn't mean it's not useful for Java developers. On the whole, I think EJB Solutions put together a great chest of tools for Java developers.
The odd one in the mix is OpenOffice.org, the free office suite. Though it's not installed by default, Out-of-the-Box includes the OpenOffice.org suite. Be sure you install OpenOffice.org and try it for a few days. You might be surprised by just how good it is. It's not a feature-for-feature replacement for that other office suite, but it's pretty darn good for free.
Out-of-the-Box's documentation is sufficient to get you started, but it doesn't provide much beyond that. I realize it's not feasible for EJB Solutions to provide full user guides for every included project, but more documentation would be beneficial. At the very least, a comprehensive page with pointers to each project's homepage would be helpful.
The included "Quick Start User Guide" has information on only a handful of the applications. A longer document tries to tie together information about all the included software, but it's merely a short description of each package lumped into categories like "CVS Related" and "Core Utilities." Frankly, this ends up being more confusing than anything.
EJB Solutions is essentially selling convenience. The projects are already available. It simply takes some elbow grease to put them together and make them work seamlessly. With Out-of-the-Box, a developer can focus on writing programs, not on worrying about configuring MySQL or Apache.
Given that, Out-of-the-Box is successful. Providing you need little guidance with these applications and tools, you'll be ready to start development in no time. If EJB Solutions can organize all the freely available documentation for the bundled projects, and perhaps kick in a little of its own, the company will have a killer product.
Overall, Out-of-the-Box is a great concept, but it needs some work on its execution. Give users more control over the applications that are installed, and refine the installer so users can install Out-of-the-Box on machines that don't have fresh installs.
Even with the rough edges, however, I recommend it to anyone starting open source Java development.
Learn more about this topic
- The EJB Solutions homepage
- Browse the Development Tools section of JavaWorld's Topical Index
- For more product reviews, see the Product Reviews index page
- See Erik Swenson's Open Source Profile columns in JavaWorld
- Get the latest Java product news
- Visit the JavaWorld Forum
- Sign up for JavaWorld's free weekly email newsletters
- You'll find a wealth of IT-related articles from our sister publications at IDG.net