P1: 61
Irie WL040/Bidgoli-Vol III-Ch-62 June 23, 2003 16:43 Char Count= 0
DESIGNISSUES 771server; server-side scripts do not have the same security
constraints as client-side scripts, and often have full ac-
cess to the server machine’s file system and resources. The
user may not disable execution of such scripts, so that the
Web developer can reasonably expect that the Web site
will behave exactly the same regardless of user configu-
ration. Finally, any proprietary server-side source code is
safely hidden from user view, as the client browser re-
ceives only the output of the script.
Server-side scripts have the disadvantage of requiring
a request–response round trip between the client browser
and the server, which leads to slower response times.
Server-side scripting languages normally interact clo-
sely with the Web server, which imposes some compatibil-
ity constraints. The choice of a Web server, particularly a
proprietary system, usually limits the selection of server-
side scripting languages, and vice versa.WEB APPLICATIONS
As a Web site becomes more complex, a robust and effi-
cient mechanism for the separation of content, presenta-
tion, and logic is necessary. Web application servers are
Web sites that are more interactive, access large amounts
of data, and provide a rich functionality similar to that of
desktop applications. Unlike desktop applications, where
all components are stored and executed on the same com-
puter, Web applications usually follow a three-tier client/-
server architecture (see Figure 5) consisting of the Web
browser, the Web server, and a database. All content and
logic are stored in the database and are retrieved and pro-
cessed as necessary on the Web server. The presentation
information can be embedded with the content or stored
as a separate style sheet on the database or the server.
Usually a Web application server interfaces with a re-
lational database, which stores data in rows of tables.Table 1URLs of Various Web ResourcesBrowsers Link
Internet Explorer http://www.microsoft.com/windows/ie
Netscape Navigator http://browsers.netscape.com/browsers
Lynx http://lynx.browser.org
Design Guidelines
Fixing Your Web site http://www.fixingyourwebsite.com
CSS http://www.glish.com/css
Usability and Accessibility Issues http://usability.gov/index.html
Programming
DevShed http://www.devshed.com
Webmonkey http://www.webmonkey.com
Javascript http://www.javascript.com
Standards
World Wide Web Consortium http://www.w3.org
Web Application Servers
BEA WebLogic http://www.beasys.com/products/weblogic
IBM WebSphere http://www.ibm.com/software/webservers/appserv
Macromedia ColdFusion http://www.macromedia.com/software/coldfusion
Apache Jakarta http://jakarta.apache.org
Zope http://www.zope.orgFigure 5: Block diagram of a Web application
server interaction.The other major type of database is the object-oriented
database, which stores data by encapsulating them into
objects. Relational databases are often more efficient and
faster than equivalent object-oriented databases and sup-
port an almost universal database language, SQL (struc-
tured query language).
The major disadvantage of developing with Web ap-
plication servers, besides the inherent complexity, is the
necessity of learning a nonstandard or proprietary server-
side programming interface or language. There are several
major Web application servers that support standard pro-
gramming languages such as Java and C++, but each has
its own application programming interface (API). Table 1
lists some of the popular commercial and open source ap-
plication servers (see Web Resources).DESIGN ISSUES
Unlike implementation issues, which usually are straight-
forward to specify and quantify, design issues are much
more subjective and are dependent on several factors, in-
cluding the particular type of Web site and its purpose.
Web site development efforts are often driven by con-
flicting objectives and considerations, and a balance must
be maintained between business and financial concerns,