Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
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.