Download Paper Analysis

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Remote Desktop Services wikipedia , lookup

Lag wikipedia , lookup

Cross-site scripting wikipedia , lookup

Transcript
Cathy Bappe
Krishna Pathak
Paper Analysis: Integrating Web Sites and Databases
Integrating Web Sites and Databases raises the issue of creating and
delivering Web pages that interact with organizational databases. With the
growing popularity of the Web, and the world’s dependence on the processing
and delivery of information, how to combine the two is a significant issue. From
e-commerce to education, nearly every organization requires some interaction
between the Web and a database. This article attempts to examine
commercially available technologies for creating Web pages that interact with
databases, and offer guidelines for matching system requirements with their use.
Unfortunately, the authors fall short of their goal in many areas. This analysis will
discuss the key concepts of the paper and show how and why it meets neither of
its major goals.
The body of the paper focuses on three programming options: Client-side
programming, server-side programming, and a hybrid of the two. Client-side
processing is done entirely on the client workstation by having the client browser
execute a program that interacts with the database. With server-side processing,
the web server receives the page request, creates the page, and sends it to the
client’s browser. The authors define the hybrid as “compiled server-side
programs” which are not a hybrid of client-side and server-side technologies as
they first suggested, but a combination of the two types of server-side
processing.
Server-side processing requires a servicing program to processes the
page request and return a reply. This paper divides the servicing program into
two categories: Complied server programs, and server-side scripts.
Complied server programs are independent executable programs running
on the web server. Java, Visual Basic, and C++ are some commonly used
languages. These programs must support commands used by one of the
protocols that establishes communication between Web servers and servicing
programs. CGI was the first such protocol introduced, but since it opens a new
copy of the servicing program on the server for each page submitted, it is a
memory drain on a busy Web server. This issue has been resolved with the
development of servicing programs that allow multiple users with one instance of
the program such as Java Servlets and ASP.NET. ASP.NET introduces the
concept of server controls, which can generate multiple HTML tags and
JavaScript functions, and also support the processing of user events. According
to the authors, these controls also encourage the separation of programming
code and HTML tags allowing programmers and designers to work together more
effectively. ASP.NET also has the option of running as either a server-side
processing model or a compiled model, but most of its functionality is not
available in server-side mode. A large drawback to ASP.NET is lack of
backwards compatibility. Although earlier versions of ASP programs can run
simultaneously with ASP.NET on a server, much revision is required for them to
be upgraded to .NET.
Server-side scripts contain the same processing architecture as complied
server programs, but perform processing through an interpreted text script.
PERL uses CGI communication protocol and contains features derived from
Unix, C, and BASIC. PERL can be difficult to maintain and understand because
of its cryptic shortcuts. Cold Fusion, solves the server taxing CGI issue, and
imbeds code directly into HTML. A singe Web server can process multiple script
types by using their file extension to determine which script interpreter to invoke.
Complied server side processing such as ASP and JSP combines the
advantages of compiled programs and server-side scripts. They run faster than
scripts, allow their users to take advantage of debugging utilities, and require a
text editor rather than an integrated development environment. JSP (Java
Server Page) code is automatically compiled the first time it is accessed and
stored on the server for future use making it more efficient than ASP.
Complied server-side processing is recommended when dealing with a
busy web server and steep learning curve and speed of development are not
issues. Scripts are preferred for “quick and dirty” pages where development
needs to be fast and server speed won’t be a problem.
Client-side processing uses complied programs, which are downloaded,
installed and executed on the client workstation or creates scripts interpreted by
the client browser. Programs created with Java applets are downloaded and
installed on client machines, executed by the client browser, and send and
retrieve data from a database server as needed. Java applets were intended to
be browser compatible, but inconsistent implementation has caused them to run
differently within different browsers. Client-side scripts, such as JavaScript or
VBScript, are embedded in HTML documents and, if recognized by the users
browser, interpreted and processed. Client-side scripts cannot directly interact
with a remote database, but instead are commonly used for validation and
creating advanced Web page features such as cookies, new browser windows,
and image maps. JavaScript can also support server-side processing through
use of Web server specific language derivatives; LiveWire for Netscape and
Jscript for Microsoft.
Although the title of this paper is Integrating Web Sites and Databases,
there is only one short paragraph mentioning database connectivity. The authors
mention the need for creating a database connection and issuing SQL
commands, but never addresses any specific database technologies. Also
glaringly absent from this paper are the mentions of XML; a method of enabling
the definition, transmission, validation, and interpretation of data between
applications and between organizations, and Web Services; which can enable
integration with legacy databases which were formerly inaccessible.
Another large omission is the issue of cost. The cost of the various
technologies is never mentioned, although they vary considerably. Using
ASP.NET requires not only the purchase of the .NET development environment
and user licenses, but Microsoft Server 2003 running on the Web server, training
for development personnel, and windows environments on development
machines. This could make it cost prohibitive for a company with a smaller IT
budget.
Security issues are also not mentioned in this paper. The different
technologies all have their own security issues that should be evaluated before
choosing a development platform. Data encryption is another concept that
should have been addressed when considering web/database integration.
While the authors allude to a hybrid of client-side and server-side
technologies, they never actually address this concept. Cold Fusion and
JavaScript are often combined to give the developer the performance of serverside processing and the advanced Web page features of a client-side tool.
A few major issues of client-side processing are not mentioned. Clientside processing requires the client machine to allow programs to be downloaded.
In many organizations, due to security issues, machines are “locked down” and
refuse all downloads from the Internet. Browser settings such as “disable
cookies”, or “disable JavaScript” can cripple the functionality of a client-side
script. The speed and operating system of a client machine also can affect the
reliability of client-side processing.
In conclusion, while Integrating Web Sites and Databases provided a good
introduction to client-side and server-side processing, it neither truly examines
the available technologies nor offers reliable guidelines for matching system
requirements with technologies. The title of the paper misleads the reader into
believing they will learn about integrating web sites and databases when in
reality, the entire article is about describing client-side and server-side
processing, and never actually mentions the databases. Re-titling this paper to
“An Introduction to Client-Side and Server-Side Processing” would more clearly
state the type of information it provides.