Java Application Servers: Seven Things You Should Know
- Application Servers Aren't Difficul
- Application Servers Are Software Platforms
- Application Servers Are Component-Based
- Application Servers Provide Software Interoperability
- Application Servers Have High Levels of Abstraction
- J2EE Is Separate and Distinct from Sun's Application Server
- Application Servers: A Window on the Future of Software
- Conclusion
- References
With the growing emphasis on software architecture, it seems likely that application servers will become an essential tool in the programmer's arsenal. A solid knowledge of application server technology provides the scope for gaining a greater appreciation of the direction being taken by the software industry and the ways in which this it affects software engineering culture. This in turn equips the modern IT worker with some useful tools for moving up the value chain.
The choice of the number seven in the title of this article is in recognition of the fact that this is the number of items we can simultaneously keep in our short-term memory—and I don't want to overload readers (or, more likely, myself J).
Application Servers Aren't Difficult
It's interesting the way certain technologies acquire their very own mythology. I can recall working as a programmer on products that contained source code comments such as "Don't go in here" or the slightly more literary "Here be dragons!" Code that was felt to be very complex became untouchable. Application servers appear to be a similar area of unfounded fears. In the market, many employers are now making a working knowledge of application servers a mandatory job requirement. Despite this, there's really not a great deal of complexity to application servers. For example, Sun Microsystems includes a massive amount of documentation on its J2EE-based application server. You can even download it for free (see Reference [1]) and run the excellent examples on a fairly basic Windows XP Professional machine.
The Sun tutorial describes a large number of coding examples that illustrate the benefits and ease of use of both J2EE and its application server product. It's worth reading because it provides insight into the workings of this extremely important software technology. Competitors to Sun include BEA, IBM, and the open source application server JBOSS.
BEA is even moving beyond application servers as part of its "Liquid Computing" initiative. This pushes the merits of service-oriented architecture, whereby old and new applications can be repurposed to facilitate the service needs of increasingly agile organizations. The BEA vision is that it should be possible for companies to change their IT systems and business processes as easily as you can now cut and paste data from one application to another. The important point is that this effort is based on application server technology.
Clearly, application servers are an important element in the maturing software industry. They are rich in content and allow for data center savings by virtue of centralizing application management. The good news is that this technology is accessible and not difficult to understand.