Gerti KAPPEL
Birgit PRÖLL
Siegfried REICH
Werner RETSCHITZEGGER
Contents   (Download)

1   An Introduction to Web Engineering
     Gerti Kappel, Birgit Pröll, Siegfried Reich, Werner Retschitzegger

1.1 Motivation
1.2 Categories of Web Applications
1.3 Characteristics of Web Applications
      1.3.1 Product-related Characteristics
      1.3.2 Usage-related Characteristics
      1.3.3 Development-related Characteristics
      1.3.4 Evolution
1.4 Objectives and Structure of the Book

2   Requirements Engineering for Web Applications
     Paul Grünbacher

2.1 Introduction
2.2 Fundamentals
      2.2.1 Where Do Requirements Come From?
      2.2.2 Requirements Engineering Activities
2.3 RE Specifics in Web Engineering
2.4 Principles for RE of Web Applications
2.5 Adapting RE Methods to Web Application Development
      2.5.1 Requirement Types
      2.5.2 Notations
      2.5.3 Tools
2.6 Outlook

3   Modeling Web Applications
     Wieland Schwinger, Nora Koch

3.1 Introduction
3.2 Fundamentals
3.3 Modeling Specifics in Web Engineering
      3.3.1 Levels
      3.3.2 Aspects
      3.3.3 Phases
      3.3.4 Customization
3.4 Modeling Requirements
3.5 Content Modeling
      3.5.1 Objectives
      3.5.2 Concepts
3.6 Hypertext Modeling
      3.6.1 Objectives
      3.6.2 Hypertext Structure Modeling Concepts
      3.6.3 Access Modeling Concepts
      3.6.4 Relation to Content Modeling
3.7 Presentation Modeling
      3.7.1 Objectives
      3.7.2 Concepts
      3.7.3 Relation to Hypertext Modeling
3.8 Customization Modeling
      3.8.1 Objectives
      3.8.2 Concepts
      3.8.3 Relation to Content, Hypertext, and Presentation Modeling
3.9 Methods and Tools
      3.9.1 Modeling Methods: An Overview
      3.9.2 Model-Driven Development
      3.9.3 Tool Support
3.10 Customization Modeling

4   Web Application Architectures
     Christian Eichinger

4.1 Introduction
4.2 Fundamentals
      4.2.1 What is an Architecture?
      4.2.2 Developing Architectures
      4.2.3 Categorizing Architectures
4.3 Specifics of Web Application Architectures
4.4 Components of a Generic Web Application Architecture
4.5 Layered Architectures
      4.5.1 2-Layer Architectures
      4.5.2 N-Layer Architectures
4.6 Data-aspect Architectures
      4.6.1 Database-centric Architectures
      4.6.2 Architectures for Web Document Management
      4.6.3 Architectures for Multimedia Data
4.7 Outlook

5   Technology-aware Web Application Design
     Gerhard Austaller, Andreas Hartl, Markus Lauff, Fernando Lyardet, Max Mühlhäuser

5.1 Introduction
5.2 Web Design from an Evolutionary Perspective
      5.2.1 Background
      5.2.2 Information Design: An Authoring Activity
      5.2.3 Software Design: A Programming Activity
      5.2.4 Merging Information Design and Software Design
      5.2.5 Problems and Restrictions in Integrated Web Design
      5.2.6 A Proposed Structural Approach
5.3 Presentation Design
      5.3.1 Presentation of Nodes and Meshes
      5.3.2 Device-independent Development Approaches
5.4 Interaction Design
      5.4.1 User Interaction
      5.4.2 User Interface Organization
      5.4.3 Navigation Design
      5.4.4 Designing a Link Representation: The Anchor
      5.4.5 Designing Link Internals: The URL
      5.4.6 Navigation and Orientation
      5.4.7 Structured Dialog for Complex Activities
      5.4.8 Interplay with Technology and Architecture
5.5 Functional Design
      5.5.1 Integration
      5.5.2 Communication Paradigms and Middleware
      5.5.3 Distributed Cross-corporate Web Applications
5.6 Outlook
      5.6.1 Context-aware Applications
      5.6.2 Device-independent Applications
      5.6.3 Reusability
5.7 Summary

6   Technologies for Web Applications
     Martin Nussbaumer, Martin Gaedke

6.1 Introduction
6.2 Fundamentals
      6.2.1 Markup
      6.2.2 Hypertext and Hypermedia
6.3 Client/Server Communication on the Web
      6.3.1 SMTP-Simple Mail Transfer Protocol
      6.3.2 RTSP-Real Time Streaming Protocol
      6.3.3 HTTP-HyperText Transfer Protocol
      6.3.4 Session Tracking
6.4 Client-side Technologies
      6.4.1 Helpers and Plug-ins
      6.4.2 Java Applets
      6.4.3 ActiveX Controls
6.5 Document-specific Technologies
      6.5.1 HTML-Hypertext Markup Language
      6.5.2 SVG-Scalable Vector Graphics
      6.5.3 SMIL-Synchronized Multimedia Integration Language
      6.5.4 XML-eXtensible Markup Language
      6.5.5 XSL-eXtensible Stylesheet Language
6.6 Server-side Technologies
      6.6.1 URI Handlers
      6.6.2 Web Services
      6.6.3 Middleware Technologies
6.7 Outlook

7   Testing Web Applications
     Christoph Steindl, Rudolf Ramler, Josef Altmann

7.1 Introduction
7.2 Fundamentals
      7.2.1 Terminology
      7.2.2 Quality Characteristics
      7.2.3 Test Objectives
      7.2.4 Test Levels
      7.2.5 Role of the Tester
7.3 Test Specifics in Web Engineering
7.4 Test Approaches
      7.4.1 Conventional Approaches
      7.4.2 Agile Approaches
7.5 Test Scheme
      7.5.1 Three Test Dimensions
      7.5.2 Applying the Scheme to Web Applications
      7.5.3 Examples of Using the Test Scheme
7.6 Test Methods and Techniques
      7.6.1 Link Testing
      7.6.2 Browser Testing
      7.6.3 Usability Testing
      7.6.4 Load, Stress, and Continuous Testing
      7.6.5 Testing Security
      7.6.6 Test-driven Development
7.7 Test Automation
      7.7.1 Benefits and Drawbacks of Automated Tests
      7.7.2 Test Tools
      7.7.3 Selecting Test Tools
7.8 Outlook

8   Operation and Maintenance of Web Applications
     Arno Ebner, Birgit Pröll, Hannes Werthner

8.1 Introduction
8.2 Challenges Following the Launch of a Web Application
8.3 Promoting a Web Application
      8.3.1 Newsletters
      8.3.2 Affiliate Marketing
      8.3.3 Search Engine Marketing
      8.3.4 Content-related Marketing
      8.3.5 Domain Management
8.4 Content Management
      8.4.1 Content Update Rate and Demand on Currency
      8.4.2 Content Syndication
8.5 Usage Analysis
      8.5.1 Usage Analysis Techniques
      8.5.2 Statistical Indicators
      8.5.3 User Behavior Analysis
8.6 Outlook

9   Web Project Management
     Herwig Mayr

9.1 From Software Project Management to Web Project Management
      9.1.1 Objectives of Software Project Management
      9.1.2 The Tasks of Software Project Management
      9.1.3 Conflicting Areas in Projects
      9.1.4 Specifics of Web Project Management
9.2 Challenges in Web Project Management
      9.2.1 General Challenges in Software Development
      9.2.2 Development-related Challenges in Web Projects
      9.2.3 Product-related Challenges in Web Projects
9.3 Managing Web Teams
      9.3.1 Software Development: A Human-centered Task
      9.3.2 The Web Project Team
      9.3.3 The Web Project Manager
9.4 Managing the Development Process of a Web Application
      9.4.1 Deploying the Tools
      9.4.2 Measuring Progress
      9.4.3 Project Risks
      9.4.4 Risk Management
9.5 Outlook

10  The Web Application Development Process
     Gregor Engels, Marc Lohmann, Annika Wagner

10.1 Motivation
10.2 Fundamentals
10.3 Requirements for a Web Application Development Process
      10.3.1 Handling Short Development Cycles
      10.3.2 Handling changing requirements
      10.3.3 Releases with Fixed Deadlines and Flexible Contents
      10.3.4 Parallel Development of Different Releases
      10.3.5 Reuse and Integration
      10.3.6 Adapting to Web Application's Complexity Level
      10.3.7 Summary
10.4 Analysis of the Rational Unified Process
      10.4.1 Introduction
      10.4.2 General Suitability for Web Application Development
      10.4.3 Does RUP meet the Requirements of Web Applications?
10.5 Analysis of Extreme Programming
      10.5.1 Introduction
      10.5.2 Does XP meet the Requirements of Web Application Development?
10.6 Outlook

11  Usability of Web Applications
     Martin Hitz, Gerhard Leitner, Rudolf Melcher

11.1 Motivation
11.2 What is Usability?
11.3 What characterizes the Usability of Web Applications?
11.4 Design Guidelines
      11.4.1 Response Times
      11.4.2 Interaction Efficiency
      11.4.3 Colors
      11.4.4 Text Layout
      11.4.5 Page Structure
      11.4.6 Navigation Structure
      11.4.7 Multiculturality
      11.4.8 Confidence-generating Measures
      11.4.9 Other Design Criteria
11.5 Web Usability Engineering Methods
      11.5.1 Requirements Analysis
      11.5.2 Design
      11.5.3 Implementation
      11.5.4 Operation
11.6 Web Usability Engineering Trends
      11.6.1 Usability Patterns
      11.6.2 Mobile Usability
      11.6.3 Accessibility
11.7 Outlook

12  Performance of Web Applications
     Gabriele Kotsis

12.1 Introduction
12.2 What Is Performance?
12.3 What Characterizes the Performance of Web Applications?
12.4 System Definition and Indicators
12.5 Characterizing the Workload
12.6 Analytical Techniques
      12.6.1 Operational Analysis
      12.6.2 Queuing Networks and Simulation Models
      12.6.3 Measuring Approaches
12.7 Representing and Interpreting Results
12.8 Performance Optimization Methods
      12.8.1 Acceleration Within a Web Application
      12.8.2 Reducing Transmission Time
      12.8.3 Server Tuning
12.9 Outlook

13  Security for Web Applications
     Martin Wimmer, Alfons Kemper, Stefan Seltzsam

13.1 Introduction
13.2 Aspects of Security
13.3 Encryption, Digital Signatures and Certificates
      13.3.1 Symmetric Cryptography
      13.3.2 Asymmetric Cryptography
      13.3.3 Digital Signatures
      13.3.4 Certificates and Public Key Infrastructure
13.4 Secure Client/Server-Interaction
      13.4.1 Point-to-Point Security
      13.4.2 End-to-End Security
      13.4.3 User Authentication and Authorization
      13.4.4 Electronic Payment Systems
13.5 Client Security Issues
      13.5.1 Preserving Privacy
      13.5.2 Mobile Code Security
      13.5.3 Phishing and Web Spoofing
      13.5.4 Desktop Security
13.6 Service Provider Security Issues
      13.6.1 Cross-Site Scripting
      13.6.2 SQL Injection
      13.6.3 Security of CGI Programs
      13.6.4 Service Availability
      13.6.5 Host Security
13.7 Outlook

14  The Semantic Web-The Network of Meanings in the Network of Documents
     Wernher Behrendt, Nitin Arora

14.1 Fundamentals of the Semantic Web
      14.1.1 The Role of Software Agents
      14.1.2 The Role of Semantic Markup
      14.1.3 The Role of Ontologies
14.2 Technological Concepts
      14.2.1 Agents according to the FIPA Standard
      14.2.2 Ontologies
      14.2.3 Semantic Markup on the Web
14.3 Specifics of Semantic Web Applications
      14.3.1 Semantic Markup
      14.3.2 Agents
      14.3.3 Ontologies
      14.3.4 Semantic Web Services
      14.3.5 Integration into Web Engineering
14.4 Tools
14.5 Outlook

Glossary

Author's Bios

Bibliography

Credits

Index