Web Engineering
© Copyright 2008 STI - INNSBRUCK www.sti-innsbruck.at
What is Web Engineering?
• “The application of systematic and quantifiable
approaches to cost-effective analysis, design,
implementation, testing, operation, and
maintenance of high-quality Web applications.” –
Kappel et al.
• Extends Software Engineering to Web applications,
but with Web-centric approaches.
– And other relevant contributions from many disciplines
Web Engineering (703512) 2
Defining Web Applications
• Unlike traditional software, the Web serves as both
development & user platform.
• A Web application is a system that utilizes W3C
standards & technologies to deliver Web-specific
resources to clients (typically) through a browser.
– Kind of …
• Technology + interaction.
– Web site with no software components?
– Web services?
Web Engineering (703512) 3
Evolution
Web Engineering (703512) 4
Web architectures
Web Engineering (703512) 5
Web Evolution -- Key Features
Web Engineering (703512) 6
Web 1.0
Web Engineering (703512) 7
Web 2.0
Web Engineering (703512) 8
Web 2.0
• Social Network: MySpace, Facebook, Twiter, orkut , Ning
• Media Sharing: you tube, slideshare and flicker
• Social Bookmarking: Delicious and CiteULike
• Wikis: Wikipedia, codeproject, expertechange, stackoverflow
• Creative works: podcasr, videocasts, blogs
• Content aggregation and organization: RSS (Really
• Simple Syndication) Feeds and tagging tools
• Remixing or mashups: geographical data with transportation
or crime data
Web Engineering (703512) 9
Web 3.0
Web Engineering (703512) 10
Semantic Web
Web Engineering (703512) 11
• Resource Description Framework (RDF) subject,
predicate, object
• Web Ontology Language (OWL)
Web Engineering (703512) 12
The Case for Web Engineering
• Application development on the Web remains
largely ad hoc.
– Spontaneous, one-time events
– Individual experience
– Little or no documentation for code/design
• Short-term savings lead to long-term problems in
operation, maintenance, usability, etc.
• Because Web apps are so interdependent, the
problem is compounded.
Web Engineering (703512) 13
The Case for Web Engineering II
• Root Causes of poor design
– Document centric approach: an authoring activity
– The assumed simplicity of web application development:
tools , without specialized knowledge,
– Know how from relevant disciplines can not be applied or
is not used: adequate/inadequate, relevant/irrelevant
• Particularly alarming given…
– Most projects are now Web-based
– More “mission-critical” apps moving to the Web
Web Engineering (703512) 14
The Case for Web Engineering III
• Top project pitfalls (Cutter, 2000)
– 84% - Failure to meet business objectives
– 79% - Project schedule delays
– 63% - Budget overrun
– 53% - Lack of functionality
• Web Engineering’s solution:
– Clearly defined goals & objectives
– Systematic, phased development
– Careful planning
– Iterative & continuous auditing of the entire process
Web Engineering (703512) 15
Categories of Web Applications
Ubiqui Seman
tous tic
Web
Social
Collab
Web
orative
Comple
Workfl
ow Portal
xity
Transa Based
Orient
ctional
Interac ed
tive
Doc-C
entric
Development
History
Web Engineering (703512) 16
Document-Centric Web sites
• Precursors to Web applications
• Static HTML documents
• Manual updates
• Pros
– Simple, stable, short response times
• Cons
– High management costs for frequent updates & large
collections
– More prone to inconsistent/redundant info
Web Engineering (703512) 17
Interactive & Transactional
• The Common Gateway Interface
– http://hoohoo.ncsa.uiuc.edu/cgi/interface.html
• Simple interactivity
• Dynamic page creation
• Content updates -> Transactions
– Decentralized
– Database connectivity
– Increased complexity
Web Engineering (703512) 18
Workflow-Based Applications
• Designed to handle business processes across
departments, organizations & enterprises
• Business logic defines the structure
• The role of Web services
– Interoperability
– Loosely-coupled
– Standards-based
• Examples: B2B & e-Government
• High complexity; autonomous entities
Web Engineering (703512) 19
Collaborative & Social Web
• Unstructured, cooperative environments
• Interpersonal communication is paramount
• Classic example: Wikis
• The Social Web
– Anonymity traditionally characterized WWW
– Moving towards communities of interest
– Examples: Blogs, collaborative filtering systems, social
bookmarking (e.g., del.icio.us)
– Integration with other forms of web applications (e..g,
NetFlix)
Web Engineering (703512) 20
Portal-Oriented
• Single points-of-entry to heterogeneous information
– Yahoo!, AOL.com, my.pitt.edu
• Specialized portals
– Business portals (e.g., employee intranet)
– Marketplace portals (horizontal & vertical)
– Community portals (targeted groups)
Web Engineering (703512) 21
Ubiquitous
• Customized services delivered anywhere via
multiple devices
• HCI is critical
– Limitations of devices (screen size, bandwidth?)
– Context of use
• Still an emerging field; most devices have single
focus:
– Personalization
– Location-aware
– Multi-platform delivery
Web Engineering (703512) 22
Semantic Web
• Berners-Lee: Information on the Web should be
readable to machines, as well as humans.
• Using metadata and ontologies to facilitate
knowledge management across the WWW.
• Content syndication (RSS, Atom) promotes re-use
of knowledge
• Is the Semantic Web even possible?
• Authors devote a chapter to the Semantic Web, but
we will not focus on it in this course.
Web Engineering (703512) 23
Characteristics of Web Apps
• How do Web applications differ from traditional
applications?
• Or, another way, what Software Engineering
methods & techniques can be adapted to Web
Engineering?
• 3 dimensions of the ISO/IEC 9126-1 standard
– Product
– Usage
– Development
• To this we can add a 4th dimension peculiar on the
web, need for continuous and fast evolution!
Web Engineering (703512) 24
Characteristics - Product
• The “building blocks” of a Web application
• Content
– Document character & multimedia (# of dimensions?)
– Quality demands
• Navigation Structure (Hypertext)
– Non-linearity
– Disorientation & cognitive overload
• User interface (Presentation)
– Aesthetics
– Self-explanation
Web Engineering (703512) 25
Characteristics - Usage
• Much greater diversity compared to traditional
non-Web applications
• Social Context (Users)
– Spontaneity
– Heterogeneous groups
• Technical Context (Network & Devices)
– Quality-of-Service
– Multi-platform delivery
• Natural Context (Place & Time)
– Globality
– Availability
Web Engineering (703512) 26
Characteristics - Development
• The Development Team
– Multidisciplinary
– Young average age
– Community (including Open Source)
• Technical Infrastructure
– Lack of control on the client side
– Immaturity
• Process
– Flexibility
– Parallelism
• Integration
– Internal
– External
Web Engineering (703512) 27
The 4th Dimension: Evolution
• All the above mentioned dimension are governed by
the evolution principle
– Continuous change
– Competitive pressure
– Fast pace
• Software Engineering: evolution is planned in a
constant number of release version
• Web Engineering: evolution is continuous
– Nowadays this is becoming true also for SE… it’s a loop,
when a discipline overlaps its ancestor, the ancestor learn
something back!
Web Engineering (703512) 28
Key Knowledge Areas
Software
Hypermed
Engineerin
ia
g
•Process •Design & Structure
•Design Information Space
•Implementation
Web •Navigation
•Test Engineer •Visualization
•Operation •Usability
•Maintenance
ing •Collaboration
Network Informatio
Engineerin n
g © 1997-2005 Dr. Martin
Gaedke
Systems
•Physical Layer •Data Design, ER,...
•Internet Layer Others... •RDBMS
•Transport Layer •Query Languages
•Performance •Strg.Devices: FS,...
Web Engineering (703512) 29
Standardization I
HTML Proprietary
• De facto standards
extensions
• Often initially appealing (cf
PDF and Java? PowerPoint, PDF) PNG
W3C
• May emerge as HTML
standards Z39.50
• Produces W3C
Recommendations on Java?
ISO
Web protocols
• Produces ISO Standards
• Managed approach to
• Can be slow moving and
developments
bureaucratic
• Protocols initially
• Produce robust standards
developed by
W3C members
• Decisions made by W3C, IETF
influenced by member and • Produces Internet
public review Drafts on Internet protocols
• Bottom-up approach to developments
PNG • Protocols developed by
interested individuals HTTP
HTML • "Rough consensus and working URN
HTTP code"
whois++
Web Engineering (703512) 30
Standardization II
– Standards are important, especially for national
initiatives and other large-scale services
• More easy to integrate different projects if they adopt standards
– Proprietary solutions are often tempting because:
• They are available
• They are often well-marketed and well-supported
• They may become standardized
• Solutions based on standards may not be properly
supported by applications
Web Engineering (703512) 31
That’s almost all for day…
WRAP-UP
Web Engineering (703512) 32
Things to keep in mind
(or summary)
• Web Engineering is not about HTML and JavaScript
– Like Software Engineering is not about C or Java!
• It aims at systematic development of Web
applications according to a specific methodology
• Web Engineering is not just Software Engineering
for the Web
• Web Engineering ask for multidisciplinary approach
• Standards are important in Web like in all the other
Engineering fields
Web Engineering (703512) 33