Appendix F. Application Development


Application servers are software systems that act as containers for deploying applications. They are typically implemented as virtual machines (VMs), which make it easier to manage running applications, and they coordinate an application's interactions with other server systems such as databases and web servers. An application server is a software framework that consists of APIs to coordinate and facilitate integration with other servers. They are typically deployed between a web server and a database server in a two- or three-system configuration.

The history of application servers and Internet technology is short but full of rapid innovations. During the early days, the Internet was full of static HTML documents and only web servers were required. With the growth of dynamic content, the Common Gateway Interface (CGI) protocol was invented and it quickly saw widespread use. This protocol was supposed to provide a standard way for web servers to interface with other servers. Nevertheless, it proved to be inadequate for supporting various complex interactions. To support the explosive growth of e-commerce and content-based web sites, three-tiered architecture approaches were quickly adopted as a best implementation practice.

Enterprise-class application servers are available for all major technology stacksJ2EE, .NET, LAMP, etc.--and have kept up with the technology trends by providing facilities to implement Service Oriented Architectures (SOAs) to address complex middleware integration challenges. The application server market is now heading toward commoditization, with mature open source application servers providing viable alternatives to proprietary options offered by vendors. This is especially true in the J2EE space, where professional open source companies such as JBoss have more than one-third of the market share (ahead of offerings from IBM and BEA).

This appendix covers the major open source application servers available today. When choosing an open source application server for use in enterprise applications, you should keep the following criteria in mind:

  • Application server stability and performance should be of primary importance. Business-critical applications should not be deployed on unstable or immature platforms.

  • Application servers provide a framework and integrate deeply with software written at an enterprise. Finding an application server that is a good fit with the developers' existing skill set is key. See Chapter 3 for more information about assessing your skill level.

  • Often the functionality of a full application server is obtained by combining several open source projects.



Open Source for the Enterprise
Open Source for the Enterprise
ISBN: 596101198
EAN: N/A
Year: 2003
Pages: 134

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net