Stelligent Home Page
CONSULTING  •  COACHING  •  COLLABORATING

Quick Links
 

An Interview with Enterprise Java Development on a Budget author Christopher Judd

Article Topics
Enterprise Open Source · Eclipse · Ruby versus Groovy
Eclipse »


Enterprise open source


As the co-author of Enterprise Java Development on a Budget and Pro Eclipse JST, Chris Judd is an authority on the open source landscape. Read on as Chris elaborates on the relationship between open source and the enterprise, the Eclipse IDE and dynamic languages.

Tell us about Enterprise Java Development on a Budget. Why did you write it and what kinds of tools do you cover?

Brian and I wrote the book because we found in our consulting practices that many of our clients did not know about or know how to use all the great open source projects that were available. They also had questions about licensing and how open source could benefit them.

Our book shows how the best of breed open source projects can be combined to build enterprise applications. It covers open source projects like JBoss application server, Ant, Struts, XDoclet, Hibernate, SWT/JFaces and JUnit. It is separated by J2EE tiers, and most chapters begin by explaining the open source landscape in that tier. The book then dives deeper into using one of the best of breed projects. Along the way, the book is sprinkled with many best practices that Brian and I learned while writing this book and during our consulting engagements.

Sometimes people don't equate open source with enterprise- enterprise used to basically imply expensive. Why do you think that and do you think that impression is changing?

This is definitely changing. I have seen a growing amount of open source being used in most enterprise IT shops for the past three to four years. The adoption rate has varying degrees from development tools like Eclipse and Ant that don't affect the runtime behavior to applications using MVC and persistence frameworks, such as Struts and Hibernate, to the underlying operating systems like Linux. I have been especially amazed that my last two clients are both using Linux to host their production applications. They are using Linux to host their web servers, J2EE application servers and their database servers.

Many enterprise organizations, whether they know it or not, are using open source. All of the commercial J2EE application servers, for example, are using open source frameworks. Commercial vendors are ahead of the open source adoption curve compared to most enterprise organizations. They are already reaping the benefits of reuse, a global and free work force, and well tested frameworks. So enterprise organizations may not be aware they are using open source, but they are indirectly.

Ultimately, I don't think enterprises will be able to avoid directly using open source. After reading Thomas Friedman's The World is Flat, I believe enterprise organizations will have to start relying more on open source if they want to compete in a global market place. Enterprise organizations don't have the time and resources to keep reinventing, testing and maintaining the wheel, especially as it relates to frameworks and infrastructure. So while enterprise applications may run on commercial application servers they will likely use open source frameworks and tools for development, logging, persistence, testing, utilities, MVC and just tying everything together using inversion of control containers.

I suspect some of the reluctance to adopting open source in the enterprise was due to the legal uncertainties. The high profile legal battles, lack of indemnity, general uncertainty and the lack of a specific person or organization to sue caused corporate lawyers to feel uncomfortable. I think enterprises are now starting to feel there is not such a risk to using open source and they are beginning to see the amazing advantages.

With the dot com bust, organizations are trying to do more with less. By using open source frameworks, organizations don't have to rewrite common frameworks for things such as logging, MVC, persistence, etc. This saves the organization time and money. It is like adding staff without the overhead. Moreover, since open source is so available they can hire resources that already have experience with many of the frameworks and development tools they may be using. This reduces training time and enables new employees or even employees transferred between internal projects to be productive quicker.

Some areas I have not seen the enterprise embrace open source (at least on the mission critical applications) are on the application server and databases. They still feel more comfortable using commercial products here (like BEA, Oracle, etc).

The old question of buy versus build has changed. The new decision is buy versus build versus open source.

What are your thoughts on JBoss and their model of "Professional Open Source"?

I think it's great that organizations like JBoss, IBM, MySQL and RedHat are able to find ways to profit from open source. If organizations and individuals are not able to make money on open source they will not continue to invest in it. We are all beneficiaries of their investments.

The free market has a way of fulfilling people's needs. For example, one of the biggest complaints of open source is the lack of documentation. Out of the need for good documentation an entire publishing category and, in some cases, entire publishing companies have been created to meet the need. An amazing amount of books have been written about open source products and the open source concept in general.

I think the recent announcement involving JBoss and Microsoft is interesting. I am interested in seeing where it goes.