Middleware 2003

ACM/IFIP/USENIX International Middleware Conference

Rio Othon Palace Hotel

Rio de Janeiro, Brazil

16-20 June 2003

Home ] Program ] Registration ] Organization ] Sponsors ] CFP ] Important Dates ] Submissions ] Travel ]


Keynote Speech
Work in Progress
Student Travel Grants
Student Volunteer Program



Website Mirror at the University of São Paulo

Full Paper Abstracts

Performance Comparison of Middleware Architectures for Generating Dynamic Web Content

Emmanuel Cecchet, Anupam Chanda, Sameh Elnikety, Julie Marguerite and Willy Zwaenepoel
(Rice U. and EPF Lausanne)

Dynamic Web content generation is important due to its use in on-line services (e.g., e-commerce
and electronic banking) as well as in personalization (i.e., providing customized response for each
user). Serving dynamic content is more complex than serving static content: It typically requires
running an application code to generate and assemble the dynamic content and using a database
to capture the dynamic state of the Web site, in addition to a regular Web server. Thus, a number
of standard mechanisms have evolved to generate such dynamic content. We evaluate three
specific mechanisms in common use: PHP, Java servlets, and Enterprise Java Beans (EJB).
These mechanisms represent three different architectures for generating dynamic content. PHP
scripts are typically tied to the Web server and require writing explicit database queries. Java
servlets run independently of the Web server, allowing more flexibility and the possibility of using
Java features. They require writing the database queries explicitly as in PHP. However, using the
Java synchronization methods, some locking operations can be done in the servlets, reducing
database lock contention and the communication between servlets and the database. Enterprise
Java Beans (EJB) provide several services and facilities through an application server which hosts
the beans that implement the business logic of the Web site. We analyze the performance of these
three architectures experimentally using two application benchmarks: an auction site and an online
bookstore. They represent two common applications for dynamic content and they stress different
parts of a dynamic content Web server: The auction site stresses the server front-end whereas the
online bookstore stresses the server back-end. We use open-source software in common use in all
of our experiments (the Apache Web server, Tomcat servlet engine, JOnAS EJB server, and MySQL
relational database). We conclude that the computational demands of Java servlets are modestly
higher than those of PHP. However, the flexibility of servlets and the Java runtime support can be
exploited to render better performance in many configurations. EJB facilities and services come at
the cost of lower performance than both PHP and Java servlets.

Latest update: 13 June 2003 - Questions and Comments about the Site: fmc@inf.ufg.br