You are on page 1of 18

Web Engineering

INTRODUCTION TO WEB
ENGINEERING
 The World Wide Web has become a major delivery platform for
a variety of complex and sophisticated enterprise applications in
several domains. In addition to their inherent multifaceted
functionality, these Web applications exhibit complex behavior
and place some unique demands on their usability, performance,
security and ability to grow and evolve.

 However, a vast majority of these applications continue to be


developed in an ad-hoc way, contributing to problems of
usability, maintainability, quality and reliability. While Web
Engineering can benefit from established practices from other
related disciplines, it has certain distinguishing characteristics
that demand special considerations.
Web Development
 Web development is a broad term for any activity that can
comprise of developing a web site for the World Wide Web or an
internet. This can include e-commerce business development,
web design, web content development, client-side/server-side
scripting, and web server configuration.
 However, among web professionals, "web development" usually
refers only to the non-design aspects of building web sites, e.g.
writing markup and coding. Web development can range from
developing the simplest static single page of plain text to the
most complex web-based internet applications, electronic
businesses, or social network services
Web Engineering
 Web engineering actively promotes systematic, disciplined and
quantifiable approaches towards successful development of
high-quality, ubiquitously usable Web-based systems and
applications.

 In particular, Web engineering focuses on the methodologies,


techniques and tools that are the foundation of Web application
development and which support their design, development,
evolution, and evaluation. Web application development has
certain characteristics that make it different from traditional
software, information system, or computer application
development.
Web Engineering
Web Engineering is concerned with establishment
and use of sound scientific, engineering and
management principles and disciplined and
systematic approaches to the successful
development, deployment and maintenance of high
quality Web-based systems and applications
CLIENT SIDE AND SERVER
SIDE SCRIPTING
What the following terms mean:
 Web server:
A system on the internet containing one or more web
sites
 Web site:
A collection of one or more web pages
 Web pages:
Single disk file with a single file name
 Home page:
First page of a website
Think about the followings before working
your Web pages.
Think about the sort of information (content)
you want to put on the Web.
Set the goals for the Web site.
Organize your content into main topics.
Come up with a general structure for pages and
topics.
 For the simplest web requests, a browser requests an HTML document, and
the web server finds the corresponding file and returns it with the images if
any. These requests are for static files. That is, they never change depending
upon who requested them, when they were requested, or which (if any)
additional parameters were included with the request.

 Much of the data delivered over the web today, however, is dynamic in
nature. Up-to-the-minute stock prices and the latest weather reports can be
viewed. A user’s personal email messages and appointment calendar can be
managed.

 Dynamic web content, then, requires that the web server does some
additional processing of the corresponding request in order to generate a
customized response. In addition to the URL of the request, response might
be dependent upon additional parameter values included with the
request. Alternatively, it might be based on the date and time, the location
on the network from which the request was made, or on some
representation of the identity of the user making the request.
 Pages over the internet can be classified as :

 Static (A static web page is a web page that always comprises


of the same information in response to all download requests
from all users)

 Dynamic (A dynamic web page is a hypertext document


rendered to a World Wide Web user presenting content that
has been customized or actualized for each individual viewing
the page or that continually updates information as the page
is displayed to the user)
 Classical web page design using only HTML or XHTML, provides
static content, meaning that a page retrieved by different users
at different times is always the same.

 However, a web page can also provide a live user experience.


Content (text, images, form fields, etc.) on a web page can
change, in response to different contexts or conditions. There
are two ways to create this kind of effect:

1- Using client-side scripting to change interface behaviors within


a specific web page, in response to mouse or keyboard actions or
at specified timing events. In this case the dynamic behavior
occurs within the presentation.
2- Using server-side scripting to change the supplied page source between
pages, adjusting the sequence or reload of the web pages or web content
supplied to the browser. Server responses may be determined by such
conditions as data in a posted HTML form, parameters in the URL, the type
of browser being used, the passage of time, or a database or server state.

 Web pages that use the first method must use presentation technology
called, in a broader sense, rich interfaced pages. Client-side scripting
languages like JavaScript, used for Dynamic HTML (DHTML) and Flash
technologies respectively, are frequently used to orchestrate media types
(sound, animations, changing text, etc.) of the presentation. The scripting
also allows use of remote scripting, a technique by which the DHTML page
requests additional information from a server, using a hidden Frame,
XMLHttpRequests, or a Web service.

 Web pages that use to the second method are often created with the help of
server-side languages such as PHP, Perl, ASP, ASP.NET, JSP, ColdFusion
and other languages. These server-side languages typically use the Common
Gateway Interface (CGI) to produce dynamic web pages.
Client-side scripting generally refers to the class
of computer programs on the web that
are executed client-side, by the user's web browser,
instead of server-side (on the web server).
 Client-side scripts are often embedded within
an HTML document (hence known as an "embedded script"), but
they may also be contained in a separate file, which is referenced
by the document (or documents) that use it (hence known as an
"external script"). Upon request, the necessary files are sent to
the user's computer by the web server (or servers) on which they
reside. The user's web browser executes the script, then displays
the document, including any visible output from the script.
Client-side scripts may also contain instructions for the browser
to follow if the user interacts with the document in a certain way,
e.g., clicks a certain button. These instructions can be followed
without further communication with the server, though they
may require such communication.
 In contrast, server-side scripts, written in languages such
as Perl, PHP, and server-side VBScript, are executed by the web
server when the user requests a document. They produce output
in a format understandable by web browsers (usually HTML),
which is then sent to the user's computer. The user cannot see
the script's source code (unless the author publishes the code
separately), and may not even be aware that a script was
executed.
To summarize Development of web based
applications can be split into many areas and a typical
and basic categorization might consist of:
Client Side Coding
 AJAX Provides new methods of using JavaScript, and other
languages to improve the user experience.

 Flash Adobe Flash Player is a client-side platform ready for RIAs.

 JavaScript Formally called ECMAScript, JavaScript is a ubiquitous


client side programming tool.

 JavaFX is a software platform for creating and delivering rich Web


applications that can also run across a wide variety of devices.

 Microsoft Silverlight Microsoft's browser plugin that enables


animation, vector graphics and high-definition video playback,
programmed using XAML
Server Side Coding
 ASP (Microsoft proprietary)
 ColdFusion (Adobe proprietary, formerly Macromedia)
 CGI and/or Perl (open source)
 C Server Scripts (TrustLeap G-WAN, freeware)
 Java, e.g. J2EE or WebObjects
 Lotus Domino
 PHP (open source)
 Python, e.g. Django (web framework) (open source)
 Smalltalk e.g. Seaside, AIDA/Web
 SSJS Server-Side JavaScript, e.g. Aptana Jaxer, Mozilla Rhino
 Websphere (IBM proprietary)
 .NET (Microsoft proprietary)

You might also like