Preface
As a consultant, I worked at many different software shops, and grew tired of seeing people reimplement the same code over and over again. I knew there had to be a faster and better way to write business applications than reimplementing security frameworks and remoting frameworks for every project. Code reuse was the whole appeal of OO programming, right?
I started working with WebSphere in 2001—which led me to learn more about the J2EE specification. I was fascinated by the idea that my knowledge of the standard was portable; I could go to different companies that used J2EE application servers, and focus on learning and programming business code rather than tinkering with mediocre, homemade frameworks that would occupy my time and give me little portable knowledge, which is of paramount importance as a consultant.
I wanted to experiment with WebSphere at home but found the lack of project and code transparency frustrating. I came across JBoss and spent many hours experimenting and learning about EJBs, JNDI, security, and class loading. Although I’d used open source frameworks, I had never taken advantage of pouring through the forums and code to learn and discuss the framework. I had taken advantage of the free price of open source, but not the freedom to distribute, examine, improve, and modify the code. I finally started understanding the benefits of this model.