The boss wants an application server

An application server isn’t just software that will help you quickly create and implement dynamic Web pages. It’s much more than that—it’s a technology that may impact every employee in your company. More than likely, everyone will have to become familiar with new software. This article presents information that will help you choose the best Web application server for your company’s needs.

Retrieving and accepting data via a dynamic Web page can be a challenge—the current technologies aren’t exactly intuitive. At the very least, the experienced Web developer will find dynamic script tedious to write. That’s why so many managers are adding an application server layer to help ease the workload.

However, an application server isn’t just software that will help you quickly create and implement dynamic Web pages. It’s much more than that—it’s a technology that may impact every employee in your company. More than likely, everyone will have to become familiar with new software. This article presents information that will help you choose the best Web application server for your company’s needs.

What’s a Web application server?
Currently, three types of application server technologies are available:

  • J2EE Options, otherwise known as Java, is the standard for non-Microsoft servers. Research shows that most of the major application server systems, such as Oracle 9i and IBM’s Web Sphere, comply with J2EE.
  • Non-Java technologies include PHP, Perl, and custom solutions (written with C++ or others).
  • Microsoft Technologies include Common Object Model (COM) and more recently .NET.
  • A Web application server supports custom scripts that control data integration, logic, and user interface components for your Web site. The application server is software that resides between the Web browser and the database, adding an additional layer to the Web hierarchy:

  • Browser—Where users make requests via a Web browser application such as Microsoft Internet Explorer or Netscape Navigator
  • Logic—The Web application server layer
  • Connection—ODBC and OLEDB (and vendor-specific drivers) that connect the browser to the Web server
  • Database—The database management system that the connection uses to relay data to and from the browser layer
  • The presence of an application server can strengthen a data-driven site and resolve problems in one of three areas:

  • Database connectivity and stability
  • Running and distributing non-Web applications
  • Integrating with legacy data
  • By installing a Web application server, you can forego your Web server’s technology for a more easy-to-use and efficient solution. When an application server is present, a request from a browser is relayed to the application server instead of the Web server. There, the application server accepts and formats any data or requests going to the database and then hands them back to the Web server for delivery to your database, and vice versa. More specifically, the application server processes the page’s logic and scripting and then lets your Web server build the HTML necessary to respond to the visitor’s browser. It may sound like more work, but because the application server is easier to talk to, the application server usually reduces development time.

    Weighing the evidence
    All application servers are not created equal. Make sure the one you choose can handle your needs both now and in the future. That means you’ll want the people most familiar with your data and the business that data supports involved in this assessment process. Your controller can tell you how much you can afford to spend on the project, but he or she probably isn’t the best person to choose the actual software—unless he or she is also directly involved with supporting your data processing needs.

    Almost all the application servers provide a development environment, a testing environment, a set of deployment tools, load balancing, and security features. Your purchase will commit your site (your company) to these features for the foreseeable future. Consequently, the successful application server must meet current and future business and in-house development requirements. In fact, according to a personal (and therefore unscientific) poll of peer developers, over 40 percent of application server users rate the quality and availability of a good development toolset to be one of the major requirements when evaluating servers (closely followed by the vendor’s reputation and nonproprietary software).

    Assessing your needs doesn’t have to be confusing. Simply map your current environment and compare how well each potential server meets your requirements. Perhaps just as important, anticipate your growth to make sure the server has the capacity to grow with you. The following list will get you started:

  • Can your budget handle the costs? Application servers are expensive, and additional resources can quickly add up. Don’t forget to include the cost of additional development tools, hardware, personnel, and training.
  • Can the application server handle your anticipated growth? If not, your company may face some serious reinvestments, and you may be looking for a new job.
  • Are you currently locked into a vendor-specific development toolset? Your purchase may obligate you to use a vendor-specific set of development tools, so this is an important consideration. It can eliminate potential servers at the beginning of the process if you’re unwilling to be tied to a specific toolset.
  • How many users/hits are you supporting right now?
  • What are your current connection and response rates?
  • Do you anticipate an increase in users over the next year?
  • If you’re building an e-commerce site, what’s the number of transactions and transaction speed?
  • Is the application server compatible with your existing database security? If you’re building a public Web site, this issue is critical. You may find you need a major overhaul. Security, from amateur, random hacking to a determined attempt to breach your systems protection, is a serious issue.
  • How well will the new application server software integrate with existing applications and data formats? Don’t forget your business partners when considering legacy applications.
  • Will your purchase require additional training or personnel to migrate or rewrite existing applications?
  • Is the application server compatible with the current method of handling state and session management?
  • Will the purchase include all the necessary development tools? If not, what else will you need? Be sure to include these costs in your final assessment.
  • Will current personnel need specialized training to support the server? Will the vendor supply training?
  • Will you need additional personnel to support the new server?
  • Does the application server have a backup feature? If so, how easy is it to implement and use? Is the application server compatible to your current setup? If not, what additional resources will be required?
  • Does the application server provide you with any business management tools, such as statistical analysis of visitors, and site and system performance? Because almost all application servers are now J2EE-compliant, some of the nontechnical bells and whistles could sway your decision.
  • The checklist in Table A should help you assess your current needs while comparing them to those of a potential server. Simply list your current needs and the server’s potential. Be sure to list additional resources as required. This checklist isn’t meant to be all-encompassing; rather, consider it a starter list and expect the process to generate new, more detailed questions.

    Table A

    Requirement

    Application Server
    (Meets/Exceeds/Fails)

    Implementation Resources *

    Support Resources*

    Costs for server**

    Scalability

    Static pages

    Dynamic pages

    Intranet

    Internet

    E-commerce

    Multiple platforms

    Standards

    Vendor-specific development tools

    Performance

    In-house users

    Number of hits per minute/hour/day

    Response rate

    Anticipated growth one year from implementation

    Security

    Current level

    Anticipated growth one year from implementation

    Legacy data

    Integrates easily with existing applications/formats

    Integrates easily with business partners

    State and Session Management

    Current process

    Backup

    Current procedure

    Management data

    Business analysis

    Performance analysis

    *Additional software, hardware, personnel, and training.
    ** Doesn't include additional support resources.

    Application server checklist

    All things being equal
    Overall, given that most application servers offer more or less the same features, one of the most important decisions (other than cost) will be the choice of the vendor. The bottom line is that you’re entering into a long-term relationship. You want a solid foundation that can support your growth potential. Don’t restrict your plans to what’s available today—assess your future needs and the company’s willingness to help build long-lasting solutions before jumping into bed with a vendor!

    What makes a good vendor? The following questions might help you weed out the weak:

  • Does the vendor currently have a good reputation within the existing market and with your company?
  • Do you have a customer service and support history with this vendor? If so, talk to those involved to make sure this vendor follows through with promises. If not, ask the vendor to supply contact information for a few of its current customers and then contact them. Don’t be shy.
  • Does the vendor have staying power, and does it continue to support products as it releases new versions? You don’t want a vendor to force you into upgrading if you don’t really need the additional enhancements.
  • Remember, you will be with the vendor for a long time—view this vendor as a strategic partner in your business.

    Conclusion
    Choosing an application server may be the most important decision you make regarding the future development and performance of your data-driven Web site or e-commerce store. In addition, this decision will surely impact the future development languages and growth strategies for your data processing or IT department. You aren’t buying just an application server—you’re also purchasing the development tools your staff will use for a long time. Ask the right questions of the right people before you make your purchase.