Web Engineering (CS-666)
Web Engineering
Lecture-01 & 02
PMAS-Arid Agriculture University, Rawalpindi
University Institute of Information Technology
Web Engineering (CS-666)
Lecture Outline
Introduction to Web Engineering
Categories of Web Applications
Web Engineering is Multidisciplinary
Evolution of Web Engineering
Difference between Web Development and other Development
Web Development Practices
Web Development Processes
PMAS-Arid Agriculture University, Rawalpindi
University Institute of Information Technology
Web Engineering (CS-666)
Introduction to Web Engineering
PMAS-Arid Agriculture University, Rawalpindi
University Institute of Information Technology
Web Engineering (CS-666)
What is Web Engineering (WE)
Web Engineering – is the application of systematic, disciplined, and
quantifiable approaches to the design, production, deployment, operation,
maintenance and evolution of Web-based software products. [Gaedke,
2000]
PMAS-Arid Agriculture University, Rawalpindi
University Institute of Information Technology
Web Engineering (CS-666)
Web Engineering (WE)
A holistic and pro-active approach to Web systems
development
Offers systematic approaches and disciplined processes for
development
Deals with the management of complexity and diversity of
Web development
Brings to Web-based system development
Control
Risk minimization
Enhanced maintainability and quality
PMAS-Arid Agriculture University, Rawalpindi
University Institute of Information Technology
Web Engineering (CS-666)
Basic Paradigm
Hypertext + Internet
Internet
a global system of interconnected computer networks
use the standard Internet Protocol Suite (TCP/IP)
facilitate data transmission and exchange
Hypertext – textual documents together with the ability to interconnect documents by
links between them as part of the document contents
HTML: HyperText Markup Language
the predominant markup language for web pages
provide a means to create structured documents by denoting structural semantics for text
E.g. headings, paragraphs, lists, links, quotes, etc.
HTTP: HyperText Transfer Protocol
a protocol (utilizing TCP) to transfer hypertext requests and information between servers and
browsers
use for retrieving inter‐linked resources (hypertext documents)
led to the establishment of the World Wide Web in 1990
PMAS-Arid Agriculture University, Rawalpindi
University Institute of Information Technology
Web Engineering (CS-666)
History of Web
1969: ARPA (Advanced Research Projects Agency)
First small network: Stanford Research Institute, UCLA, UC Santa
Barbara, Univ. of Utah –
TCP (Transmission Control Protocol)
IP (Internet Protocol)
1972: Telnet protocol
1973: SMTP (Simple Mail Transfer Protocol)
1973: FTP (File Transfer Protocol)
1989: T. Berners‐Lee et al.:
Word Wide Web (WWW)
1994: W3C (World Wide Web Consortium)
1996: HTTP (HyperText Transfer Protocol)
PMAS-Arid Agriculture University, Rawalpindi
University Institute of Information Technology
Web Engineering (CS-666)
World Wide Web Consortium (W3C)
International consortium where member of the organizations,
a full‐time staff, and the public work together to develop Web
standards
http://www.w3.org
W3C's mission:
to lead the World Wide Web to its full potential by developing protocols
and guidelines that ensure long‐term growth for the Web
PMAS-Arid Agriculture University, Rawalpindi
University Institute of Information Technology
Web Engineering (CS-666)
Protocol Stack
PMAS-Arid Agriculture University, Rawalpindi
University Institute of Information Technology
Web Engineering (CS-666)
Categories of Web Applications
PMAS-Arid Agriculture University, Rawalpindi
University Institute of Information Technology
Web Engineering (CS-666)
Web Applications (Webapps)
A Web Application is a software system based on technologies and
standards of the World Wide Web Consortium (W3C) that provides Web
specific resources such as content and services through a user interface,
the Web browser. [Kappel et al., 2004]
PMAS-Arid Agriculture University, Rawalpindi
University Institute of Information Technology
Web Engineering (CS-666)
Webapps (Cont.)
Definition explicitly includes:
Technologies
User Interaction
These are not Webapps:
Technologies alone, e.g. web services
Website without s/w components, e.g. static web pages
PMAS-Arid Agriculture University, Rawalpindi
University Institute of Information Technology
Web Engineering (CS-666)
Categories of Web Applications
Scope and complexity of Web applications vary widely
Ofer vastly varied functionality and have different
characteristics and requirements
PMAS-Arid Agriculture University, Rawalpindi
University Institute of Information Technology
Web Engineering (CS-666)
Categories of Web Applications
PMAS-Arid Agriculture University, Rawalpindi
University Institute of Information Technology
Web Engineering (CS-666)
Categories of Web Applications (Cont.)
Document‐Centric (Informational)
Precursor to Webapps, stored in server as ready‐made
Informational
read‐only content is provided with simple navigation and links
Examples:
static HTML‐pages, “home pages”
web radio
simple presentations of companies/products
PMAS-Arid Agriculture University, Rawalpindi
University Institute of Information Technology
Web Engineering (CS-666)
Categories of Web Applications (Cont.)
Interactive
content of a website is dynamically generated as response to a user
request
form‐based input is the primary mechanism for communication
between client and server
Usage of HTML‐forms and Common Gateway Interface (CGI) techniques
radio button, string input, choice lists
Examples:
dynamic HTML pages
public transport schedules
search engines
PMAS-Arid Agriculture University, Rawalpindi
University Institute of Information Technology
Web Engineering (CS-666)
Categories of Web Applications (Cont.)
Transaction‐oriented (Transactional)
complex interactions
read and write actions
usage of transaction management of database systems
efficient and consistent data management
structured data and queries
Examples:
online banking
e‐shopping
reservation systems
PMAS-Arid Agriculture University, Rawalpindi
University Institute of Information Technology
Web Engineering (CS-666)
Categories of Web Applications (Cont.)
Workflow‐based (Workflow‐Oriented)
support business processes (“workflows”) within and between
enterprises or private users access
an application provides a complex service to the user, e.g. assists the
user in determining the mortgage payment
use of Web services to guarantee interoperability
Examples:
Business‐to‐Business (B2B) Integration Frameworks
E‐Government
patient workflows in health care systems
PMAS-Arid Agriculture University, Rawalpindi
University Institute of Information Technology
Web Engineering (CS-666)
Categories of Web Applications (Cont.)
Collaborative (Collaborative Work Environment)
support cooperation in case of unstructured flow of activities and high
degree of communication
Unstructured operations, “groupware“
Support shared information and workspaces
Log entries and edits
Mediate meetings or make decision
Examples:
Wiki, http://c2.com/cgi/wiki
Google Map
PMAS-Arid Agriculture University, Rawalpindi
University Institute of Information Technology
Web Engineering (CS-666)
Categories of Web Applications (Cont.)
Social Web (Online Communities and Marketplaces)
People provide their identity to small community of others with similar
interest
Examples:
Social networking
Video‐sharing
Blogs
PMAS-Arid Agriculture University, Rawalpindi
University Institute of Information Technology
Web Engineering (CS-666)
Categories of Web Applications (Cont.)
Portal‐oriented
the application channels the user to other Web content or services outside the
domain of the portal application
“single point of access“
Specialized portals, examples:
Community portals
dedicated user groups
customer loyalty through user interaction, customer profiles
Enterprise portals
Allow employee and business partners focused access to different sources on info and services
Via intranet, extranet
Marketplace portals
B2B, B2C, SCM
PMAS-Arid Agriculture University, Rawalpindi
University Institute of Information Technology
Web Engineering (CS-666)
Categories of Web Applications (Cont.)
Ubiquitous
personalized services at every time at every location
multi‐platform delivery (PC, PDA, mobile phone)
context‐dependent information
Examples:
Display of today‘s menu on end‐user devices while entering a restaurant
Must consider limitations of mobile devices
Bandwidth, screen size, memory, context
PMAS-Arid Agriculture University, Rawalpindi
University Institute of Information Technology
Web Engineering (CS-666)
Categories of Web Applications (Cont.)
Semantic web
Increasing convergence of TIMES leads to domination of ubiquitous
applications
Telecommunication, Information Technology, multimedia, Education,
Entertainment, Security
Present information on the web
adequate for human understanding and
adequate for automatic manipulation
Facilitate “Knowledge management“ on the web
PMAS-Arid Agriculture University, Rawalpindi
University Institute of Information Technology
Web Engineering (CS-666)
Web Engineering is Multidisciplinary
PMAS-Arid Agriculture University, Rawalpindi
University Institute of Information Technology
Web Engineering (CS-666)
WE discipline
systems analysis and design
software engineering
hypermedia/hypertext engineering
requirements engineering
human‐computer interaction
user interface
information engineering
information indexing and retrieval
Testing
modelling and simulation
project management
graphic design and presentation
PMAS-Arid Agriculture University, Rawalpindi
University Institute of Information Technology
Web Engineering (CS-666)
WE discipline (Cont.)
Web Engineering is not a clone of software engineering
While Web Engineering uses software engineering principles,
it encompasses new approaches, methodologies, tools,
techniques, and guidelines to meet the unique requirements
of Web-based systems
PMAS-Arid Agriculture University, Rawalpindi
University Institute of Information Technology
Web Engineering (CS-666)
Evolution of Web Engineering
PMAS-Arid Agriculture University, Rawalpindi
University Institute of Information Technology
Web Engineering (CS-666)
Evolution of Web Engineering
Progressively emerging as a new discipline addressing the
unique needs and challenges of Web-based systems
development
Since 1998,
Workshops
Conferences
Journals
Books
PMAS-Arid Agriculture University, Rawalpindi
University Institute of Information Technology
Web Engineering (CS-666)
Difference between Web Development and other Development
PMAS-Arid Agriculture University, Rawalpindi
University Institute of Information Technology
Web Engineering (CS-666)
Web Development is Different
Web application development has certain characteristics that make it
different from traditional software, information system, or computer
application development
Web applications have the following characteristics:
Web applications constantly evolve
Web applications are inherently different from software
Web applications are meant to be used by a vast, variable user community
Web-based systems are content-driven (database-driven)
Web-based systems demand a good “look and feel,”
Web applications have a compressed development schedule, and time pressure is
heavy
Ramifications of failure or dissatisfaction of users of Web-based applications can be
much worse than conventional IT systems
PMAS-Arid Agriculture University, Rawalpindi
University Institute of Information Technology
Web Engineering (CS-666)
Web Development is Different
Web applications have the following characteristics (Cont.)
Web applications are developed by a small team of (often young) people with
diverse backgrounds, skills, and knowledge compared to a team of software
developers
There are rapid technological changes
Web development uses cutting-edge, diverse technologies and standards, and
integrates numerous varied components
The delivery medium for Web applications is quite different from that of
traditional software
Security and privacy needs of Web-based systems are more demanding than
that of traditional software
The Web exemplifies a greater bond between art and science than generally
encountered in software development
PMAS-Arid Agriculture University, Rawalpindi
University Institute of Information Technology
Web Engineering (CS-666)
Web Development Practices
PMAS-Arid Agriculture University, Rawalpindi
University Institute of Information Technology
Web Engineering (CS-666)
Current Practices
Lacks rigor, systematic approach
The completed system is not what the user wants
System not developed on time, cost overruns
Lacks scalability and maintainability, hence a limited useful life
Does not meet performance requirements
Resources are wasted
Complexity of Web-based systems is often deceptive and is not often
recognized by many stakeholders
Several attributes of quality of Web-based systems are not given the due
consideration
Web applications also fail to address cultural or regional considerations, and
privacy, moral and legal obligations and requirements
Web systems also lack proper testing, evaluation, and documentation
PMAS-Arid Agriculture University, Rawalpindi
University Institute of Information Technology
Web Engineering (CS-666)
Web Development Processes
PMAS-Arid Agriculture University, Rawalpindi
University Institute of Information Technology
Web Engineering (CS-666)
PMAS-Arid Agriculture University, Rawalpindi
University Institute of Information Technology