Technological Review Of Web Application Technologies Computer Science Essay

Published: Last Edited:

This essay has been submitted by a student. This is not an example of the work written by our professional essay writers.

Over the last few years, Java servlet technology has had an impact on the server-side of java programming language due to its extension and enhancement of the web servers to support consistent and dynamic content generation (Farley, Crawford, Norman,, 2006 ). This is further enhanced by Evans, Jendrock, Ball, & Carson (2006) who concludes that, this technology enables the extension of the capabilities of web servers that host applications that are accessed, through the use of a request and response model.

While this technology has some similarities like other web technologies such as ASP, PHP, CGI, it has an edge in terms of portability, platform independency, persistency, and accessibility to the entire family of Java APIs. Since the creation of Java Servlet 3.0, there have been relatively high improvement in the previous Servlet versions which are:

Ease of Development: this was made to focus on the easy development of Java Servlet 3.0 which implement the use of generics for type safety and checking errors at compile time, better convention over configuration, and annotations for declarative programming style which means that Servlet can be fleetly developed by simply annotating the java class with the @Servlet annotation. For instance, defining a servlet, the below standard is used:

//@Servlet annotation which indicates that the below class is a Servlet.

@Servlet (urlMapping = {"/foo", "/bar"}, name = "MyServlet")

public class SampleServletUsingAnnotationAttributes {

@GET public void handleGet (HttpServletRequest req, HttpServeltResponse res){

//insert logic



However, unlike Servlet 2.5 style which requires the creation of a web.xml file that provides configuration and deployment information for the web components such as Servlet of a web application (WebSphere).

Enhancements in security: due to the fact that this change still undergoes development discussion in the expert group, not much have been included. However, (Mordani, 2008) states some features which still maintain security such as:

The ability to login and logout programmatically.

Methods added to ServletRequest which force a container-mediated authentication.

Resetting the authentication state of the request which is done by the logout method of the HttpSession.

Asynchronous Servlet support:

Pluggability: JSP 2.2/Expression Language 2.2

"....JSP technology and servlets provide an attractive alternative to other types of dynamic Web scripting/programming by offering: platform independence; enhanced performance; separation of logic from display; ease of administration; extensibility into the enterprise; and, most importantly, ease of use."

(Sun microsystem, N.D).

Java Server Pages abbreviated as JSP which was introduced in 1999 as a constituent of J2EE 1.2, enables web developers create automated generated web pages in response to client's requests. JSP exhibits a characteristic which allow easy page writing and maintenance. Although JSP look similar to HTML or Extensive(X) HTML pages, it has some peculiar tags that are used for server-side procedure. Below are some elements defined by the JSP specification:-

Scripting elements

Action elements

Expression elements

Scriptlet elements

Declaration elements

Directive elements

Developers have reported that JSPs are a high-level of Servlets abstract and are an implementation of previous JSP and Servlets version extension which were combined into JSR 53. Since 2002, there has been an evlovment from Servlets in JSP. Since the introduction of Java EE 6, there was an update of the previous JSP 2.1 to 2.2 and EL to 2.2 in which one of the major changes is the feasibility of evoking a Java class method with EL unlike the previous versions which uses properties. Java Server Faces 2.0

In response to some limitations of JSP, JSF known as Java Server Faces was made with a better and new model in mind which brings to the web graphical components. Unlike Servlets which deals with request and response, with the inspiration of other frameworks, JSF enables project developers to think in the terms of events, components, managed beans known as backing beans, and the way these terms interact. JSF ease and fasten web development by backing up user interface components such as text areas, data grids, and combo boxes in a Rapid application development approach. Java Server Faces applications are web applications that intercept HTTP through a Face Servlet and produce HTML as the result. JSF also brings a set of standard UI widgets (radio boxes, text fields, buttons, and enable third party components to be plugged-in easily. The below diagram represent a high level of the JSF architecture.


Java Server Faces was first created in 2001 as JSR 127, later a maintenance version was created JSF1.1 which was further enhanced to version 1.2 and incorporated into Java EE as JSR 252. However, the major challenge in the previous version was the ability to allow backward compatibility also allowing the integration of JSP with a unified EL. Regardless these attempts, Java Server Pages and JSF did not fit well, so the introduction of Facelets served as an alternative to Java Server Pages.

JSF 2.0 is a major release evolving in JSR 314 and it is the preferred framework for web development in Java Enterprise Edition 6 which brings many new characteristics today. Some of the new characteristics of JSF 2.0 include the below:

The support of Ajax

View and component scopes added

Easy development of composite components

Support for resources; introduce a new resource handling mechanism

An alternative built-in viewing technology for advanced templating

Reduced configuration of XML by exploiting annotations which allows faces-config.xml to be optional

Easy development for validators, managed beans, renderers and converters using annotation

Enhanced validation using bean validation

Nonetheless, JSF 2.0 offers many other enhancements which few of these will be implemented in this project.

3.3 Other Technologies

At this point, lets divagate and look at some other technologies used for developing automated web content.

3.3.1 Web Languages and CSS Hyper Text Markup Language

Hyper Text Markup Language popularly known as HTML is a language formed from SGML (Serialized Generalized Markup Language) which allows hypertext document to be converted into web pages with the use of its unique tag elements. Due to HTML common use and its early existence since November 1990 by Tim Berners-Lee, HTML can be created and processed by many various tools such as notepad text editor, dreamweaver, and frontpage. It is significant to know that HTML is not a programming language but a markup language. The elements in HTML are what describe the different parts of your developed webpage. As stated by (), "HTML is the mother tongue of your browser". This mean that pages viewed from browsers are the interpretation of HTML coded using any text editor.This makes HTML an important language to be used in this project also with its ability to separate view from the logics. The good word is that HTML is easy to learn and apply.

However, with the aim of enhancement in web design of the World Wide Web (W3C), XHTML (Extensible Hyper Text Markup Language) was introduced which now allows a more verbose and rigorous HTML syntax. This also enables content delivery to the modern and composite devices. Extensible Mark-up Language

Like HTML, XML is also derived from SGML which creates similarity to XHTML and HTML. However, unlike HTML which was designed to represent data, XML was created to store, structure and transport data (). With XML, developers and designer can define their own tags which makes it self descriptive, easy to understand, and a universal language. However, it is significant to know that XML is not a substitute for XHTML and HTML, the extensible points out the major difference of XML. Stated by (), XML is a meta-language which makes it a mechanism that is used to represent various languages in a standardized way. Cascading Style Sheet

CSS is a widely known standard that is used to specify the visual aspect of elements within a web page such as texts. This CSS was introduced by the W3C which was due to some problems encountered previously while developing web pages such as: adding <font> element and color attribute to every page of a large website using HTML 3.2 or less specification. With the introduction of CSS, web developers can now edit the styling of multiple web pages using a single CSS file which must have been imported in the required pages. However, CSS has no beneficial use on its own, no matter how attractively created. Integrally, CSS is not part of Java Enterprise Edition 6. Nevertheless it enables developers to alter the styling of web pages, either by the use of JavaScript, PHP, or other scripting language, in response to a Servlet reply. Unlike XML, XHTML, HTML, CSS is not solely indispensable for developing JEE6 web application technologies (JSF, JSP).

3.3.2 Server Scripting Languages Active Server Pages

Late in the life of IIS 2.0, Microsoft began the testing of a new technology with the code name 'Denali' which is currently known as Active Server Pages or Classic ASP (). This was the first server side script-engine created by Microsoft for generating automated web pages. With ASP, programmers are enabled to produce automated and highly interactive web pages that can be easily developed and modified using a combination of HTML pages, COM components, scripting commands.

This is done by using server-side scripting to automatically create web pages. ASP uses the .asp file extension; however, for security intents some web sites camouflage their choice of scripting language. Currently, ASP has enhanced to ASP.NET which is an advanced version of the Active Server Pages with .aspx extension (). With its free web development studio, File Transfer Protocol integration capabilities and database administrative interface, it is easier to create web applications in which serial testing can be performed as well. Hypertext Pre-processor

PHP is a scripting language that is mainly suited for web development which can be embedded into HTML. It is widely used and also an effective choice to Microsoft ASP. In 1999, an Internet research and analysis company NETCRAFT made known an estimate of about a million users which made PHP one of the most known scripting languages worldwide, although it is now an object oriented language since PHP 4 (). Primarily, PHP can be used in three diverse ways:

Server-side scripting

Command-line scripting

Client-side GUI applications

PHP can be used with servers which includes Apache, Netscape, and Microsoft Internet Information Server. There have been some advances of the version of PHP since its origin date back to 1995 by Rasmus Lerdorf (PHP 1) which includes enhanced features such as thread safety mechanism, tag-parsing sytem, object orientation, XML, Native session-handling support, Encryption, Native Java support and Perl Compatible Regular Expressions (PCRE) library. Also, PHP has support for many of the big database systems such as MySQL, Oracle, Sybase and ODBC- compliant databases. Since this project uses JSF as its server side language, PHP is not useful in this case.

3.3.3 Client Scripting Languages

Scripting languages are computer programming languages intentional for scripting operations of a computer. () defines scripting language as high level programming languages that are taken by some other program at runtime, unlike other languages such as C and Java that compiles the code before it is executed or ran. These scripting languages can be embedded in the widely known language HTML. JavaScript

JavaScript is one of the widely known clients scripting language. This is so because of its flexibility, compatibility, and simplicity. This scripting language can be embedded in HTML or in an external file which can be imported for validation purpose and other functionalities. The external files have an extension of .js which indicates to any programmer that the document is a JavaScript file. JavaScript usually runs locally on the browser of the user. However, it can also be run on the server side. Nonetheless as Quigley (2004, p.1) states, Java Script is a general purpose scripting language (client or server) popularly used to energise web pages that are dead by enabling interactivity into static web pages for users and responses to the page events.

3.3.3 Databases Microsoft SQL Server

Microsoft SQL Server was Microsoft's first created database engine which was used as an entry to the enterprise-level database market () . This was a project created by a team combination which are Sybase, Ashton-Tate and Microsoft. However, its first version SQL Server 1.0 was a similarity of Sybase SQL 3.0. Microsoft SQL Server was designed to run on the windows platform unlike MySQL database that runs on almost all platforms. Nevertheless, advancement have been made on the older versions which now includes better performance, user IDE components, data mining server, Server Integration Services, OLAP, notification services, XML support, better error system recovery, messaging technologies and several other complementary tools. However with its current version 2008 which aims to allow data management self-tuning, self maintenance, and self organizing, Microsoft SQL Server is currently accepted as a powerful secured database engine which makes it reliable and used for large enterprise applications developed. MySQL

Similar to Microsoft SQL Server, MySQL is a relational database management system (RDBMS) that was created using the Structure Query Language. Unlike Microsoft SQL Server, MySQL is an open source database which makes it more popularly used and cost wise. Many web developers prefer to use MySQL one of the reasons is its ability to run on almost any platform which has made technologies in vogue patronise this RDBMS. Considering a database management tool for the project

When a utility to be used for managing data is to be considered, MYSQL and Microsoft SQL Server are the two popular choices (Christopher, 2004). The below questions are to be asked while determining which of the database management tool is best suitable for a project:-

Security of your data

The flexibility of your data

Support in the initialization of your database management tool

A vital aspect to be looked into is if the database management tool supports the use of standard protocols for accessing its database.

However, because the project aims to acknowledge if Java Enterprise Edition 6 can be used to develop a better enterprise registration system for NAFDAC, Java DB was chosen as the better database management tool. Also, since Java DB is the database management tool for JAVA and works best with JAVA, Java DB was a better option.

Nevertheless aside this reason of choice, MySQL 5.1 version (current version) has now included many feature of Microsoft SQL 2005, such as Full support for cursors, Online transaction processing (OLTP)Stored procedures, triggers, complete views and full implementation of foreign keys which makes MySQL much easier for programmers. But has these features newly implemented enhanced MYSQL 5.0 to meet the industry-level database standards? These features has only been imtegrated in the latest version and not yet fully brace because they are yet to be justified across the MYSQL suite of products such as MaxDB, InnoDB, MyISAM and Data cluster.

Although MYSQL may prove to have implemented recovery and row level locking capabilities, SQL Server enhanced to version 2008 continues to have the edge, as the advanced features list has been stabilised for long (TOMETA SOFTWARE 2004).