Characteristics of Web Applications and Web Engineering

Web applications are applications accessed over a network based on technologies and standards of the World Wide Web Consortium (W3C). These software systems are used through the Web browser as the user interface. Web Applications are usually broken into logical chunks called ”tiers”, where every tier is assigned a role. Traditional applications consist only of 1 tier, which resides on the client machine, but web applications lend themselves to a n-tiered approach by nature. Though many variations are possible, the most common structure is the three-tiered application. In its most common form, the three tiers are called presentation, application and storage, in this order. A web browser is the first tier (presentation), an engine using some dynamic Web content technology (such as ASP(.NET), CGI, JSP/Java, PHP, Perl or Spring) is the middle tier (application logic), and a database is the third tier (storage). The web browser sends requests to the middle tier, which services them by making queries and updates against the database and generates a user interface.

Moreover, the architecture is only one aspect which differs from traditional applications. There are varieties of features missing from traditional applications. Navigation is one of the most important ones. Non-linear navigation is lack completely from those applications. Update frequency and deployment are other factors which are different from traditional routines.

The current situation of Web application development similar to the early days of software development practices, before it was realized that the development of applications required more than programming expertise. The top problem areas of large-scale Web application projects are the failure to meet business needs, project schedule delays, budget overrun, lack of required functionality, and poor quality of deliverables.