INTRODUCTION TO WEB ENGINEERING
TOPIC LEARNING OUTCOMES
At the end of the chapter, students should be able to:
Explain how web engineering manages the complexity and diversity of large-scale web development.
Differentiate between different categories of web applications.
Identify the characteristics of web applications.
CHAPTER OUTLINE
Introduction
Motivation Behind Web Engineering
Categories of Web Applications
Characteristics of Web Applications
Evolution of Web Engineering
Conclusion
LECTURE VIDEO
CHAPTER 01 :
AN INTRODUCTION TO WEB ENGINEERING
00:00:00:29 - 00:00:35:00
Unknown
Welcome to the course. Chapter One - An Introduction to Web Engineering. The content is provided under Common Creative License. Chapter Outlines. We will begin the chapter with the introduction and then we will discuss on the motivation behind Web Engineering. After that, we're going to identify the categories of web applications, followed by the characteristics of web applications. And then we're going to discuss on the evolution of web engineering.
00:00:35:10 - 00:01:09:11
Unknown
And then finally, we'll close the chapter with the conclusion. Learning Outcomes. By the end of the chapter, students should be able to explain how web engineering manage complexity and diversity of large scale web development, differentiate different categories of web applications, and identify the characteristics of applications. Learning Outcome Number One. Explain how web engineering manage complexity and diversity of large scale web development.
00:01:09:11 - 00:01:53:20
Unknown
Introduction. Introduction. Before we proceed with the rest of the chapter, let's look into the differences between webpages, websites and web applications. Web pages are single documents that may contain text, graphics and etc. Web pages are created using Hypertext Markup Language or HTML. Thus, the filename will ends with dot html. Webpages are accessible through URL address in the web browser. Websites.
00:01:54:03 - 00:02:35:10
Unknown
Websites are a group of well-structured and interlinked web pages. There are two types of websites, static websites, and also the dynamic websites. Static websites display to the end user every line exactly as they are stored on the server. While dynamic websites may contain content that is generated on the fly by server-side program. Web Applications. Web applications are server-side software program that is delivered over the Internet through a browser interface.
00:02:35:10 - 00:03:11:29
Unknown
It is similar to desktop applications, but they are complicated and are based on user engagement. Motivation Behind Web Engineering. Let's see the main motivation behind web engineering. What are the main issues of web application? Web applications are very complex due to several reasons. So the development of web applications requires some principles of web engineering. Just as we have for traditional software engineering.
00:03:12:12 - 00:03:40:07
Unknown
Web engineering also includes the range of all activities that result in a good quality and reliable websites as well as web application. Web site is different from a Web application. This is because of the very nature of these web applications. The differences between a Web site and a Web application lie in the point of reference. A Web site is actually different from a Web application.
00:03:40:18 - 00:04:23:11
Unknown
A Web site generally consists of static pages. On the other hand, a web application comprises both static pages and dynamic pages. In a survey conducted by Cutter Consortium, they managed to identify few problems related to web projects. The problems of web projects are as the followings. It is reported that 84% of the projects failed to meet business needs, and another 79% of the projects are having problems with time slippages, cost overruns 60% of the projects, 53% of the projects are lacking of functionality.
00:04:23:20 - 00:05:00:15
Unknown
And finally, 52% of the projects having problems with the poor quality of deliverables. Web Crisis. Now, a new form of crisis has appeared, and this is known web crisis. Many organizations are heading towards a web crisis as they are not able to keep the system updated. The proliferation or the increase of the web crisis involved the quickly hacked together systems that are kept without any systematic approaches.
00:05:01:22 - 00:05:34:02
Unknown
The term web application or web app encompasses everything from a single webpage that might help the consumer compute an automobile payment to a comprehensive website that provides complete travel services for corporate people and vacationers. Included within this category, a complete website, specialized functionality within websites and information processing applications that reside on the Internet or on an intranet or extranet.
00:05:35:22 - 00:06:05:21
Unknown
So, what is web application? A web application or web app is any application software that runs in a web browser or any application software that is created in a browser supported programing languages, such as the combination of JavaScript, HTML and CSS, and these applications software relies on a common web browser to render the application. What is Web Engineering?
00:06:06:02 - 00:06:43:25
Unknown
The term Web Engineering was first published in 1996 by Gellersen et.al. Web Engineering can be defined as the application of systematic and quantifiable approaches, which include the concepts, methods, tools and techniques to cost effective requirements, analysis, design, implementation, testing, operation and maintenance of high quality web applications. The objectives of engineering include the followings : Number one – to have a clear, consistent, unambiguous and documentable requirements.
00:06:44:09 - 00:07:26:12
Unknown
Number two, to follow SDLC or the system development lifecycle approach of development of a web application and website. Number three to establish a proper Web project planning. And number four, to provide continuous feedback and reviews of both developers and customers. And this idea vantages software engineering, web engineering, make it possible to plan and iterate development processes. It does also permit continuous evolution of web applications that serve both time and cost and also delivers good quality web software.
00:07:28:05 - 00:08:01:06
Unknown
Web engineering is the way of managing the complexity and diversity of web applications. Therefore, there is a need to have a sound infrastructure to support this constant advancement, but in a controlled, flexible and consistent manner so that it is easier to maintain a web system. Learning Outcome Number One - The Summary. By the end of this section, students should be able to explain how web engineering manage complexity and diversity of large scale web development.
00:08:01:06 - 00:08:42:29
Unknown
This include web engineering issues, the difference between website and web application, the definition of web engineering, the objectives of engineering, and also the advantages of web engineering. Learning Outcome Number Two - Differentiate different categories of web applications. Categories of Web Applications. Before we proceed with the categories of web application, let us go through some basic concepts of the web application. We also use the terms like web hypermedia, web software application and web application.
00:08:43:14 - 00:09:26:05
Unknown
We use these terms interchangeably. Web hypermedia is a non-conventional application that has huge information on nodes, links, anchors and navigation such as XML, JavaScript and multimedia applications, while Web software application is a conventional software application that depends on web or infrastructure for execution, for example e-commerce applications, databases, knowledge basis and etc. So, we can say that a web application is the combination of both. Web application combine the both hypermedia and also web software application.
00:09:27:09 - 00:09:57:27
Unknown
The categories of web application. We have seen that web applications have different degrees of complexity. Web applications may range from a traditional online banking application to an online shopping mall application, which will be more complex. These are the different categories of applications. These are the different categories of web applications. There are five categories of web applications that will be discussed throughout the chapter. The first category is the document centric web applications.
00:09:57:27 - 00:10:27:25
Unknown
The second one is transactional web applications. Next, is the workflow based web applications and then the portal oriented web applications. And the last one is ubiquitous web applications. The first category is the Document-centric Web Applications. Concept. These websites are very simple, which consists of a set of webpages that are basically stored on the web server.
00:10:27:25 - 00:11:02:10
Unknown
The client sends the request to the server and the response is sent to the client in a very short time. The web pages are manually updated with the help of respective tools. The features. Document-centric web applications are static, simple, stable and take less time to respond. These applications are costly to maintain at the time of update, having inconsistency problem because of being static, no timely update of information. They are also easily hackable.
00:11:03:09 - 00:11:42:07
Unknown
For example, static websites like simply homepages, webcasts and simple web apps belong to this category. On the other hand, Interactive Web applications also exist today such as ajax-based application, where the controls are loaded and unloaded dynamically. The next category is Transactional Web Applications. The concepts. These kind of web applications have facility of modification by user. Features. Whenever we use the term web application, it implies that the application is quite complex.
00:11:42:19 - 00:12:19:10
Unknown
It involves databases as the back end in order to store customer data. These applications are more interactive and support structured queries from database. The database system handle data consistently and efficiently. It also involves the use of Structured Query Language to read and to manipulate data. Some examples of transactional applications include online shopping, online airline booking, online banking and etc. The next category is Workflow-based Web Applications.
00:12:19:22 - 00:13:03:17
Unknown
The concept. Workflow-based web applications allow easier handling of the workflows within or between different organizations. The features. There is a need of interoperability between these web-applications. Thus, both intra and inter-workflows need to be managed. Workflow-based web applications are robust, reliable and flexible to handle workflow with autonomy of companies. The issues here include the complexity of the web services, the participating companies and the workflows. For example, business to business or B2B solutions in e-commerce, e-government applications, or with the support of patient workflows.
00:13:04:02 - 00:13:37:25
Unknown
These types of web applications require a certain structuring of automated processes. On the other hand, collaborative web applications are useful for cooperation purposes in unstructured operations. Here, the communication needed is very high. Today, social-web is also very common. Weblogs or collaborative filtering systems help us in finding the related resources and the people with a similar interests. Portal-oriented Web Applications.
00:13:38:12 - 00:14:15:03
Unknown
Portals are the central hubs that act as a point of access to the web. Some examples of portals are general portals like Yahoo! Yahoo, search engines, community portals are best examples of portal-oriented application. There are also specialized portal, such as business portals and marketplace portals. Business portals give information to the employees through intranet or extranet. Marketplace portals, maybe in two forms the horizontal portals and the vertical portals.
00:14:15:03 - 00:14:51:01
Unknown
Horizontal portals operate on business to customer (B2C) market, while vertical portals involve companies from a single sector. The last categories of web application is the Ubiquitous Web Applications. The concept. Ubiquitous web applications provide services as per the customers demand. TThese kind of applications provides customized facilities for any device from anywhere at any time. The features. Ubiquitous web applications has a limited interaction facility and support limited device.
00:14:51:16 - 00:15:23:28
Unknown
It require advanced knowledge of contacts where the web application is being used for a dynamic adjustment. Examples. Today has now been reached where ubiquitous applications dominate the market. Services based on location, for example, display temperature on the screen of mobile of customers or menu displays of the day and etc. The following table summarizes different categories of web applications based on the functionalities.
00:15:23:28 - 00:15:54:13
Unknown
Learning Outcome Number Two - The Summary. By the end of this section, students should be able to differentiate different categories of web applications. This include to describe the five categories of web applications, to list the features of every each of the web application categories, and to give examples for every each of the web application categories. Learning Outcome Number Three. Identify the Characteristics of Web Applications.
00:15:55:22 - 00:16:33:14
Unknown
Characteristics of Web Applications. In general, there are twelve characteristics of web applications, and we are going to discuss every each of it. The first one is evolve constantly. Web applications evolve constantly because the information contained within and presented by the website will also change. The requirements are unstable. The structure and the functionality change over time, and managing these ever changing application nature is itself a management, technical and organizational challenge.
00:16:35:06 - 00:17:06:26
Unknown
The second characteristics is the content. The web content like text, graphics and multimedia are part of software. Now the way in which these contents are presented has an effect on the performance and also the response time of the system again.
Next, a training session for end use it. If the end users are known to us, then it is possible to arrange training sessions for them on how to use any web application.
00:17:07:22 - 00:17:36:27
Unknown
But if the web application is designed for different types of users that have different expectations, then such users need to be satisfied. And this is very difficult. This is because we cannot even offer trainings to them. As a result, the human interaction also become very complex. The fourth characteristic is database driven. Today, almost all web based systems are database-driven.
00:17:37:17 - 00:18:11:22
Unknown
Such websites are actually known as web application. Such applications very frequently get updated maybe every hour. The next one is a better look and feel. Web applications need a better look and feel as they need better forms and controls. Next characteristics is the development process. Web applications have a compressed development schedule and strict time constraint. So the development process cannot be carried out for years and years.
00:18:13:03 - 00:18:46:21
Unknown
Let's continue with the next general characteristics of web application. Characteristic numbers seven. The ramifications of failure or dissatisfaction of users. The revocation or failure or dissatisfaction of users of web applications can be observed more in web based systems than in the traditional system. Next, the different perception of developers. The perception of young web developers is also different as far as web quality is concerned.
00:18:47:14 - 00:19:38:16
Unknown
This can cause confusion too. Characteristic number nine. The technology. The technology changes every day and so do these web systems. New languages, new web standards, new operating system etc. This complicates the architecture of the Web systems and thus, more errors are observed. This also implies that web security is also at stake. Let's look into Web development. Web development uses cutting edge, diverse technology and standards and integrates different components like traditional and nontraditional software scripting languages, databases, images, audios, videos, and complex user interfaces.
00:19:40:01 - 00:20:20:27
Unknown
Next characteristic is the deployment. Web applications are to be deployed on different types of delivery medium like different types of display devices, format and hardware and also software networks that look at very fast speed. And finally, it is easy to hack and attack any web system today is due to the complexity of web systems.
00:20:21:06 - 00:20:55:07
Unknown
The security again also at stake. Now we are going to focus on the characteristic of a well engineered application or web system. A well, engineered web application or web system are : functionally complete and correct. Next, it is usable and also robust and reliable. The web system is easily maintainable and definitely is secure and having a better performance under variable loads. A well
00:20:55:07 - 00:21:43:15
Unknown
-engineered web-systems also scalable, portable, interoperable, reusable and also well documented. Categories of web based project. The characteristics of web based projects are based on ISO nine one two six model of software quality. They are grouped under three main categories as follows: the product related characteristics, usage related characteristics, and also the development related characteristics. Product-related characteristics. These characteristics include the content on a website, its navigational model or the hyperlink model and also the presentation.
00:21:43:29 - 00:22:15:10
Unknown
These characteristics are the major building blocks of a web application. Product-related Characteristics Description. Let's look into the three categories of the product related characteristics. The first one is content. Web application programmers must not only program, but also take care of making correct content available, integrating it and updating it periodically on the webpage. So the current content is important.
00:22:15:10 - 00:22:46:16
Unknown
For example, providing content in the form of tables, text, graphics, animation and etc. is better as it increases the web usability. Thus, the content quality is very important here. The second characteristic is the hypertext model. The basic unit of any web application is a webpage or simply a page. The present day web models uses nodes, links and anchors or tags.
00:22:47:15 - 00:23:19:03
Unknown
These three terms are defined as follows. Node is self-contained and uniquely identifiable information unit like a webpage, which is essentially an HTML-like page or document. It can be reached via a uniform resource locator, URLs. A link is a path from one node to another. An anchor is the source of definition of a link. The path that is traversed by the users
00:23:19:08 - 00:23:57:05
Unknown
when moving through a website is called as navigation path. This navigation path may or may not be linear. The challenge is that the paths through these navigational graphs are very complex, thereby making the navigational paths exponential. The third characteristic is the presentation. At the presentation level, the main focus is on the graphical user interfaces (GUIs). How a website or a web application looks like is a very significant factor here.
00:23:57:24 - 00:24:32:03
Unknown
Also, it should be self explanatory and its usability should also be high. Usage-related Characteristics. As already mentioned, the usage of Web application is complex, as it is very heterogeneous type where different mix of users work,
different resources are used and the time and place of the Web application to be used cannot be easily determined. It includes the following three things: Social context, technical context, and natural context.
00:24:33:02 - 00:25:15:00
Unknown
Usage Related Characteristics. Description. The Social Contacts. Social context includes two aspects — spontaneity and multiculturality. Spontaneity means that the number of users cannot be reliably predicted. Multiculturality includes certain behaviors related to Web such as understanding the user contexts at the development stage of Web application only, giving special discounts to regular Web site visitors, etc. Technical context. Technical context includes the network hardware and software and its related devices.
00:25:15:23 - 00:26:00:02
Unknown
It also includes quality of service and multiplatform delivery. Quality of Service (QOS) involves the consideration of various characteristics of the transmission media like its bandwidth, reliability, etc. while developing any Web application. Nowadays, the trend is towards mobile Web applications and these parameters are very important. Multiplatform delivery is also to be considered as the present-day Web applications are limited not only to the real-life Web apps but also to the mobiles devices and different browser types with new versions every day.
00:26:00:02 - 00:26:31:01
Unknown
This is another web testing challenge. Natural context: It includes location and time parameters. It means the globality and availability of data that creates a high degree of heterogeneity. Globality of data is challenging when we know from where the Web application is to be accessed. This type of location knowledge makes Web testing difficult too. More security issues do arise here.
00:26:31:20 - 00:27:18:10
Unknown
Availability of data is another factor. The objective here is the quick delivery. But at the same time it also raises the security issues development related characteristics, development related characteristics includes the following four things development teams, technical infrastructure, development process and the required integration of already existing solutions. Development-Related Characteristics Description. The Development Teams. Development Teams are multidisciplinary and young. Multidisciplinary means Web applications are the combination of knowledge and expertise from different areas.
00:27:19:01 - 00:27:55:01
Unknown
IT experts are responsible for the technical implementation of the system, hypertext experts for hypertext designing and domain experts for the content. Developing an e-commerce application, for example, may use databases and programmers with rich experience, while developing a virtual mall needs more expertise of domain and design. The young Web application developers are quite young, but with lesser experience than the traditional developers. They are more interested in newer technologies.
00:27:55:20 - 00:28:27:20
Unknown
Community is formed when the programmers use open source freely available software to build their applications and then make them available to the community as an open source application. Technical infrastructure. Technical infrastructure refers to the non-uniformity of browsers. Immature components in a Web application may be used due to the market competition. Immature refers to the applications that have errors or lack functionalities.
00:28:28:03 - 00:29:00:03
Unknown
This makes the development of Web applications difficult. Development Process. While developing a Web application, it is impossible to have a rigid predefined project plan. We have to react to the changing conditions also. This flexibility is a must. Parallelism is also possible in the Web development. Web applications can be easily developed in parallel as their functionalities can be achieved parallel.
00:29:00:25 - 00:29:41:10
Unknown
But, it also introduces a new requirement of planning of deployment of developers in the Web projects.Required integration of already existing solutions: It includes the integration of technical aspects, contents and organizational aspects. Web applications need both internal and external integrations. Internal integration includes the integration of Web applications with the existing old/legacy systems when the available contents have to be made available throughout the Web application.
00:29:42:05 - 00:30:12:15
Unknown
External integration includes the integration of content and services of the external Web applications. This is so because there is voluminous data that is frequently changing, and also, it is available at different places and different levels. Thus, their integration is must. Learning Outcome Number Three - The Summary. By the end of this section, students should be able to identify the characteristics of the applications.
00:30:12:26 - 00:30:54:16
Unknown
This include to describe the general and well engineered characteristics of web applications, and also to identify the three categories of web applications characteristics. Evolution of Web Engineering. Evolution of Web Engineering. Traditional or conventional software evolution needs a well-planned series of versions while Web applications are developed continuously. This means that Web applications are in permanent maintenance phase. Web development needs a better requirements analysis in comparison to a traditional SDLC.
00:30:55:01 - 00:31:32:11
Unknown
This is because of the continuously changing nature of Web requirements. Web applications change rapidly. This constant change of requirements of a Web application is the core characteristic of Web applications. Changes may be in the product, its usage and its development. The evolution of Web has brought together some disparate disciplines like media, information science and communication technology. Web projects require shorter development times and shorter life cycle due to several market pressures
00:31:32:11 - 00:32:04:02
Unknown
today. The extreme pressure on the development of Web application is due to the rapid change in the Web, their shorter life spans and their frequency of updates. The advances in the field of Web engineering have led to an avalanche of Web sites. Chapter Conclusion. Web applications should deliver a complex array of functionality to the variety of users. The performance, reliability and quality of web application have increased.
00:32:04:11 - 00:32:26:24
Unknown
Thus requires a disciplined development process and a sound methodology. Web engineering is a way of managing complexity and diversity of large scale web development. This is the main reference of this chapter. End of chapter one. Thank you.
LECTURE NOTES
Click the download button to download lecture notes.
CHAPTER EXERCISE
Click the download button to download the chapter exercise.