Application Server Comparison and Selection Criteria
Home > Software > Application Server Selection

Jump to an Application Server:
Jakarta Tomcat 4.1 | Macromedia ColdFusion MX | Macromedia JRun 4 | Microsoft IIS 5.1 | PHP 4.2.3 | Sun ONE ASP 3.6.2


Selection for Application Server
After reviewing the available options, the following application servers have been selected for the project:

Prototype Database Management System: Macromedia ColdFusion MX Server Developer Edition
Production Database Management System: PHP 4.2.3

PHP was selected because it is free and its full documentation can be found online. ColdFusion MX was selected for the prototype system because of Sean's familiarity with and prior ownership of the software.

Selection Criteria
The application server acts as a bridge between the web server and the database management system. Because web servers only retrieve HTML pages, any requests in other programming languages (like those used to access databases) must be handled by an application server.

In no particular order, criteria for selecting an application server for the EquipRD! inventory management system (IMS) are:

Ease of Use: The application server must present a front-end to the user that is clear, consistent and intuitive, if such interface is not already provided by some other component of the IMS.

Ease of Administration: The application server should be easy to administer. A graphical user interface (GUI) for administration is preferred.

Ease of Programming: Different application servers utilize different programming languages, some of which are easier to learn, use and maintain than others. An easier language results in a faster design time, as well as easier learning curves if the project is to be extended at a later date.

Cost: The cost of the application server must not exceed its allocation in the project budget.

Security: Some application servers have built-in provisions for user authentication. These provisions may replace the security features of the DBMS or enhance them.

Compatibility: The application server must be compatible with both the DBMS and the web server components of the IMS.

Minimum Requirements: The application server must be able to function on the computer platform used to implement the IMS. If this platform is shared with other tasks, the application server must not burden the platform to the point of disrupting those tasks.

Familiarity with Application Server and Programming Language: If the structure and operation of the application server and its associated programming lanugage are already known, then the time otherwise spent learning the server technology can instead be focused toward design. In addition, prior experience with the server technology will enable the designer to better avoid coding errors and the associated waste of debugging time. Unless otherwise noted, this is Sean DonCarlos's experience with the application server and programming language.

Each application server is described below. An quick-comparison table will be prepared and available here shortly.



Jakarta Tomcat 4.1 (back to top)

Programming Language:
JSP
Cost:
$0
Hardware Requirements:
Minimal.
Software Requirements:
Win32 or Linux-based operating system, J2SE Development Kit (JDK 1.3) for operating system chosen.
Advantages:
Free, low server overhead.
Disadvantages:
Requires specialized Java compiler, no graphical administration tools, requires in-depth knowledge of Java to program, does not appear to support web servers other than Apache.
Compatible Databases:
Any database with Type IV JDBC drivers.
Compatible Web Servers:
Apache HTTP Server.
Reliability:
Unknown.
Security:
Unknown.
Standards:
JSP, J2SE 1.3, JDBC
Source:
Comments:
We would need to learn a lot of Java to use Tomcat, but it's free.


Macromedia ColdFusion MX (back to top)

Programming Language:
CFML, JSP
Cost:
$529
Hardware Requirements:
Intel Pentium processor, 512 MB RAM, 400 MB hard drive space.
Software Requirements:
One of the following: Windows NT/2000/XP, Red Hat Linux 6.2-7.2, SuSE Linux 7.2-7.3, Turbolinux 8 Server
Advantages:
Platform-independent, extremely compatible, requires no specialized coding environment, development using Dreamweaver MX requires no knowledge of Java or SQL and only basic knowledge of CFML, easy-to-use Web-based administration, J2EE-compliant, CFML language is very easy to learn, ColdFusion MX Server Developer Edition is a free download, can interface with XML, ASP.NET, SOAP and other web services, built-in XML and XSL handling, can import JSP functions and convert them to CFML.
Disadvantages:
Expensive, does not provide a production-environment web server, not fully compatible with MySQL.
Compatible Databases:
Any database with Type III/IV JDBC drivers.
Compatible Web Servers:
Apache HTTP Server, Microsoft IIS 5.0, integrated web server (for development only).
Reliability:
ColdFusion MX Server Developer Edition has run on Sean's home computer for 62 days continuously at the time this was written, without noticeably affecting the performance of other applications.
Security:
User authentication, server sandbox security (an extension of Java sandboxes).
Standards:
CFML, JSP, J2EE 1.3, ODBC, JDBC, SQL99, XML, XSL, ASP, ASP.NET, PHP
Source:
Comments:
Sean is familar with this software to the point of owning the Developer Edition of it. ColdFusion is an extremely fast language to learn and use, and the code it produces can be maintained by persons unfamiliar with Java and/or SQL. Its only main drawback is that the web server it is bundled with is not licensed for production use. The "pre-alpha" prototype system will run on the ColdFusion MX Server on Sean's home computer, regardless of the application server eventually selected.


Macromedia JRun 4 (back to top)

Programming Language :
JSP
Cost:
$599
Hardware Requirements:
Intel Pentium processor, 128MB RAM, 80 MB hard drive space.
Software Requirements:
One of the following: Windows NT/2000/XP, Red Hat Linux 6.2-7.x, Turbolinux 6.5 or later, SuSE Linux 7.2-7.3.
Advantages:
Platform-independent, full J2EE architecture, includes JDBC drivers for major commercial databases, integrated production-class web server, GUI administration tools, JRun 4 Server Developer Edition is a free download, native XML and XSL support.
Disadvantages:
Expensive, requires in-depth knowledge of Java, does not provide development environment for JSP programming.
Compatible Databases:
Any database with Type IV JDBC drivers (some drivers included).
Compatible Web Servers:
Integrated web server, Apache HTTP Server, Microsoft IIS 5.0.
Reliability:
Same as ColdFusion MX. (ColdFusion MX contains an embedded limited JRun 4 server.)
Security:
Assumed equal or greater than that of ColdFusion MX. (ColdFusion MX contains an embedded limited JRun 4 server.)
Standards:
JSP, J2EE 1.3, JDBC, XML, XSL
Source:
Comments:
While JRun does provide its own web server, it's the most expensive application server here, and most of its capabilities are far beyond what is called for in this project.


Microsoft Internet Information Services (IIS) 5.1 (back to top)

Programming Language :
ASP, ASP.NET
Cost:
$999 (integrated with Windows 2000 Server)
Hardware Requirements:
None above those of host operating system.
Software Requirements:
Windows 2000 Server
Advantages:
Integrated web server, relatively easy to administer, extensive XML support
Disadvantages:
Platform-specific, only runs securely on Windows 2000 Server, ASP.NET applications require clients to install the .NET Framework, ASP and ASP.NET typically require more lines of code than Java or CFML to accomplish a given task.
Compatible Databases:
Microsoft SQL Server 2000, any database with ODBC drivers.
Compatible Web Servers:
Integrated web server.
Reliability:
Not terrible, assuming the underlying Windows 2000 Server is properly configured.
Security:
IIS has more security-related patches and fixes than any other web or application server. What isn't clear is if IIS is inherently less secure or if it is just more highly scrutinized. Also, IIS is targeted by security hazards such as the Nimda and Code Red I/II worms more often than other web servers.
Standards:
ASP, ASP.NET, SQL, ODBC, XML, XSL
Source:
Comments:
The only choice if we take the .NET path, but there's no compelling reason to choose .NET right now.


PHP 4.2.3 (back to top)

Programming Language :
PHP
Cost:
$0
Hardware Requirements:
Minimal.
Software Requirements:
Win32 or Linux-based operating system
Advantages:
Free, extensive and flexible language, works with many databases, extensive technical documentation, modular library approach reduces size of product
Disadvantages:
Horrifying installation process under Win32, an extreme number of functions to learn, not all functions work on a given platform.
Compatible Databases:
Any database with ODBC drivers.
Compatible Web Servers:
Practically all known web servers.
Reliability:
Difficult to determine with so many libraries.
Security:
Difficult to determine with so many libraries, partially dependent on host web server's implementation of PHP. Known to be insecure if used in virtual hosting environments.
Standards:
PHP, other standards depend on libraries installed.
Source:
Comments:
From the syntax I looked at, PHP is just different enough from C++ to cause major headaches.


Sun ONE Active Server Pages 3.6.2 (back to top)

Programming Language :
ASP
Cost:
$495
Hardware Requirements:
256 MB RAM, 150 MB hard drive space
Software Requirements:
One of the following: Windows NT/2000, Red Hat Linux 7.2, SuSE Linux 7.3, Solaris 7-8.
Advantages:
Can run Microsoft ASP applications on non-Windows operating systems, has more extensive Java support than Microsoft IIS.
Disadvantages:
Expensive, will not support ASP.NET, only runs on two different web servers.
Compatible Databases:
All major commercial databases, MySQL, PostgreSQL.
Compatible Web Servers:
Sun ONE Web Server 6.0, Apache HTTP Server.
Reliability:
Unknown.
Security:
Unknown.
Standards:
ASP, ODBC, SQL
Source:
Comments:
Even the FAQ for this software suggests using the JSP architecture instead (and, strangely enough, Macromedia Dreamweaver to develop the applications!) This software is primarily intended for developers who already have ASP applications that they want to run on non-Windows servers.