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. |
|
|
|