Web Engineering: The Discipline of Systematic Development of Web Applications

Gerti Kappel; Birgit Pröll; Siegried Reich; Werner Retschitzegger

In stock
Regular price 9.750 KD inc. VAT
License
Table of contents
  • Front Matterxv
  • Prefacexv
  • Forewordxvii
  • 1 An Introduction to Web Engineering1
  • 1.1 Motivation1
  • 1.2 Categories of Web Applications4
  • Figure 1-1 Categories of Web applications.5
  • 1.3 Characteristics of Web Applications7
  • Figure 1-2 Dimensions according to ISO/IEC 9126-1 for the categorization of characteristics of Web application.8
  • 1.3.1 Product-related Characteristics8
  • Table 1-1 Web Engineering requirements9
  • Content10
  • Hypertext11
  • Presentation11
  • 1.3.2 Usage-related Characteristics12
  • Social Context: Users12
  • Technical Context: Network and Devices13
  • Natural Context: Location and Time14
  • 1.3.3 Development-related Characteristics14
  • The Development Team14
  • Technical Infrastructure15
  • Process15
  • Integration16
  • 1.3.4 Evolution16
  • 1.4 Objectives and Structure of the Book17
  • Figure 1-3 Structure of the book.18
  • 2 Requirements Engineering for Web Applications23
  • 2.1 Introduction23
  • 2.2 Fundamentals24
  • 2.2.1 Where Do Requirements Come From?24
  • 2.2.2 Requirements Engineering Activities25
  • Requirements Elicitation and Negotiation26
  • Requirements Documentation26
  • Requirements Verification and Validation26
  • Requirements Management26
  • 2.3 RE Specifics in Web Engineering26
  • Multidisciplinarity27
  • Unavailability of Stakeholders27
  • Volatility of Requirements and Constraints27
  • Unpredictable Operational Environment27
  • Impact of Legacy Systems27
  • Figure 2-1 The Twin-Peaks model (Nuseibeh 2001).28
  • Significance of Quality Aspects28
  • Quality of the User Interface28
  • Table 2-1 Formatted specification29
  • Quality of Content29
  • Developer Inexperience30
  • Firm Delivery Dates30
  • 2.4 Principles for RE of Web Applications30
  • Understanding the System Context30
  • Involving the Stakeholders30
  • Iterative Definition of Requirements31
  • Focusing on the System Architecture31
  • Risk Orientation32
  • 2.5 Adapting RE Methods to Web Application Development32
  • 2.5.1 Requirement Types32
  • Functional Requirements32
  • Contents Requirements33
  • Quality Requirements33
  • System Environment Requirements33
  • User Interface Requirements34
  • Evolution Requirements34
  • Project Constraints34
  • 2.5.2 Notations34
  • Stories34
  • Table 2-2 Comparing the suitability of different notations35
  • Figure 2-2 Example of an Extreme Programming user story.35
  • Itemized Requirements35
  • Formatted Specifications35
  • Formal Specifications36
  • Suitability36
  • 2.5.3 Tools36
  • Requirements Elicitation36
  • Requirements Validation36
  • Requirements Management37
  • 2.6 Outlook37
  • 3 Modeling Web Applications39
  • 3.1 Introduction39
  • 3.2 Fundamentals40
  • Figure 3-1 Requirements of software application modeling.40
  • 3.3 Modeling Specifics in Web Engineering41
  • 3.3.1 Levels41
  • Figure 3-2 Requirements of Web application modeling.41
  • 3.3.2 Aspects42
  • 3.3.3 Phases42
  • 3.3.4 Customization43
  • 3.4 Modeling Requirements43
  • Figure 3-3 Use case diagram of the reviewing system.44
  • Figure 3-4 Activity diagram of the submission process.44
  • 3.5 Content Modeling45
  • 3.5.1 Objectives45
  • 3.5.2 Concepts45
  • Figure 3-5 Class diagram for the reviewing system.46
  • Figure 3-6 State machine diagram for the states of a paper.46
  • 3.6 Hypertext Modeling46
  • 3.6.1 Objectives47
  • 3.6.2 Hypertext Structure Modeling Concepts47
  • Figure 3-7 Hypertext structure model of the PC’s view on the reviewing system.48
  • 3.6.3 Access Modeling Concepts49
  • Figure 3-8 Simplified access model of the hypertext structure model from Figure 3-750
  • 3.6.4 Relation to Content Modeling50
  • 3.7 Presentation Modeling51
  • 3.7.1 Objectives51
  • 3.7.2 Concepts51
  • Figure 3-9 Presentation pages of the reviewing system.52
  • 3.7.3 Relation to Hypertext Modeling52
  • Figure 3-10 Interaction overview diagram of the reviewing system.53
  • Figure 3-11 Sequence diagram for retrieving a list of assigned papers.53
  • 3.8 Customization Modeling53
  • Figure 3-12 Sequence diagram for displaying selected papers.54
  • 3.8.1 Objectives54
  • 3.8.2 Concepts54
  • Figure 3-13 Dynamic adaptation of an index in the hypertext model.56
  • Figure 3-14 Dynamic adaptation of a page in the presentation model.56
  • Figure 3-15 Modeling adaptation with aspects.57
  • Figure 3-16 Results of the waving process.57
  • 3.8.3 Relation to Content, Hypertext, and Presentation Modeling58
  • 3.9 Methods and Tools58
  • 3.9.1 Modeling Methods: An Overview58
  • Figure 3-17 Historical development of methods for Web application modeling.59
  • Table 3-1 Overview of methods for Web application modeling60
  • 3.9.2 Model-Driven Development61
  • 3.9.3 Tool Support61
  • Figure 3-18 WebSA Development Process (Meliá and Cachero 2004).62
  • WebRatio Site Development Studio62
  • VisualWADE62
  • OpenUWE63
  • 3.10 Outlook63
  • 4 Web Application Architectures65
  • 4.1 Introduction65
  • 4.2 Fundamentals66
  • 4.2.1 What is an Architecture?66
  • 4.2.2 Developing Architectures67
  • Figure 4-1 Factors influencing the development of an architecture (according to Jacobson et al. 1999).67
  • Patterns68
  • Frameworks68
  • 4.2.3 Categorizing Architectures69
  • 4.3 Specifics of Web Application Architectures70
  • 4.4 Components of a Generic Web Application Architecture71
  • Figure 4-2 Basic components of Web application architectures.72
  • 4.5 Layered Architectures72
  • 4.5.1 2-Layer Architectures72
  • Figure 4-3 A 2-layer architecture for Web applications (according to Anastopoulos and Romberg 2001, p. 40).73
  • 4.5.2 N-Layer Architectures73
  • Figure 4-4 An n-layer architecture for Web applications (according to Anastopoulos and Romberg 2001, p. 42).74
  • JSP-Model-274
  • Figure 4-5 The JSP-Model-2 architecture.75
  • Struts75
  • Figure 4-6 JSP-Model-2 implementation in Struts.76
  • OOHDM-Java276
  • Figure 4-7 OOHDM-Java2 components (according to Jacyntho et al. 2002).76
  • Proxies77
  • Integration Architectures77
  • Figure 4-8 Example of an EAI architecture.78
  • Figure 4-9 Example of a portal-oriented Web application architecture.79
  • 4.6 Data-aspect Architectures79
  • 4.6.1 Database-centric Architectures80
  • 4.6.2 Architectures for Web Document Management80
  • Figure 4-10 A content management architecture for Web applications (according to Anastopoulos and Romberg 2001).80
  • Figure 4-11 The Cocoon 2 pipeline.81
  • 4.6.3 Architectures for Multimedia Data81
  • Figure 4-12 Streaming media architecture using point-to-point connections.83
  • Figure 4-13 Streaming media architecture using a broadcasting infrastructure.83
  • 4.7 Outlook84
  • 5 Technology-aware Web Application Design85
  • 5.1 Introduction86
  • References to Other Chapters in This Book86
  • Figure 5-1 Basic elements of hypertext documents.86
  • History in Brief87
  • 5.2 Web Design from an Evolutionary Perspective89
  • 5.2.1 Background89
  • 5.2.2 Information Design: An Authoring Activity90
  • 5.2.3 Software Design: A Programming Activity92
  • Programmable Web92
  • Distributed Programming92
  • 5.2.4 Merging Information Design and Software Design93
  • 5.2.5 Problems and Restrictions in Integrated Web Design94
  • 5.2.6 A Proposed Structural Approach95
  • 5.3 Presentation Design95
  • 5.3.1 Presentation of Nodes and Meshes96
  • 5.3.2 Device-independent Development Approaches97
  • 5.4 Interaction Design98
  • 5.4.1 User Interaction98
  • Figure 5-2 Comparison of the main interface development technologies.99
  • Table 5-1 Implementation alternatives for web application user interfaces99
  • 5.4.2 User Interface Organization100
  • Table 5-2 Implementation alternatives for nodes. The table shows how different implementation approaches have a positive or negative impact on navigation semantics, portability and usability100
  • 5.4.3 Navigation Design101
  • 5.4.4 Designing a Link Representation: The Anchor101
  • Table 5-3 Possible consequences when following a link101
  • 5.4.5 Designing Link Internals: The URL102
  • 5.4.6 Navigation and Orientation102
  • 5.4.7 Structured Dialog for Complex Activities103
  • Table 5-4 Differences between hypertext and business processes103
  • 5.4.8 Interplay with Technology and Architecture104
  • 5.5 Functional Design105
  • 5.5.1 Integration105
  • 5.5.2 Communication Paradigms and Middleware105
  • 5.5.3 Distributed Cross-corporate Web Applications106
  • Figure 5-3 Protocol stack for Web services.106
  • 5.6 Outlook107
  • 5.6.1 Context-aware Applications107
  • 5.6.2 Device-independent Applications108
  • 5.6.3 Reusability109
  • Concepts for Meshes109
  • Mature Type Concepts109
  • Alternative Composition Concepts110
  • 5.7 Summary110
  • 6 Technologies for Web Applications111
  • 6.1 Introduction111
  • 6.2 Fundamentals112
  • 6.2.1 Markup112
  • 6.2.2 Hypertext and Hypermedia112
  • 6.3 Client/Server Communication on the Web113
  • 6.3.1 SMTP – Simple Mail Transfer Protocol113
  • 6.3.2 RTSP – Real Time Streaming Protocol113
  • 6.3.3 HTTP – HyperText Transfer Protocol113
  • 6.3.4 Session Tracking114
  • URL Rewriting115
  • Cookies115
  • Usage Scenarios115
  • 6.4 Client-side Technologies116
  • 6.4.1 Helpers and Plug-ins116
  • 6.4.2 Java Applets116
  • 6.4.3 ActiveX Controls116
  • 6.5 Document-specific Technologies117
  • 6.5.1 HTML – Hypertext Markup Language117
  • 6.5.2 SVG – Scalable Vector Graphics117
  • 6.5.3 SMIL – Synchronized Multimedia Integration Language118
  • 6.5.4 XML – eXtensible Markup Language118
  • Table 6-1 XML well-formedness rules119
  • Figure 6-1 The “purchase order” XML example.119
  • Namespaces119
  • Figure 6-2 Using a namespace without and with a prefix.120
  • XML DOM120
  • Figure 6-3 The DOM structure for a fragment of the “purchase order” XML example.120
  • The XML Validity Constraint120
  • DTD (Document Type Definition)121
  • Figure 6-4 DTD for the “purchase order” XML example.121
  • XML Schemas121
  • Figure 6-5 User-defined types.122
  • 6.5.5 XSL – eXtensible Stylesheet Language122
  • XSLT – eXtensible Stylesheet Language Transformations123
  • Figure 6-6 Schematic view of how an XSLT processor works.123
  • Figure 6-7 Using an XSLT stylesheet for the “purchase order” example.124
  • Figure 6-8 Integrating an XSLT stylesheet into an XML document.124
  • XPath124
  • Figure 6-9 Interpreting an XML document as a file system directory structure.125
  • XSL-FO – eXtensible Stylesheet Language Formatting Objects125
  • Figure 6-10 Schematic view showing how XML, XSLT, and XSL-FO interact.125
  • Summary126
  • 6.6 Server-side Technologies126
  • 6.6.1 URI Handlers126
  • Server-Side Includes (SSI)126
  • CGI/FastCGI127
  • Server-side Scripting127
  • Servlets128
  • Java Server Pages128
  • ASP.NET128
  • 6.6.2 Web Services129
  • SOAP – Simple Object Access Protocol129
  • Figure 6-11 Basic structure of a SOAP message.129
  • WSDL – Web Service Description Language130
  • UDDI – Universal Description, Discovery, and Integration130
  • 6.6.3 Middleware Technologies130
  • Application Servers130
  • Figure 6-12 schematic view of a 3-layer architecture.131
  • Enterprise Java Beans131
  • Messaging Systems131
  • Figure 6-13 Schematic view of the Java Beans architecture.132
  • 6.7 Outlook132
  • 7 Testing Web Applications133
  • 7.1 Introduction133
  • 7.2 Fundamentals134
  • 7.2.1 Terminology134
  • Figure 7-1 Structuring software quality assurance.134
  • 7.2.2 Quality Characteristics135
  • 7.2.3 Test Objectives136
  • 7.2.4 Test Levels136
  • 7.2.5 Role of the Tester137
  • 7.3 Test Specifics in Web Engineering138
  • 7.4 Test Approaches140
  • 7.4.1 Conventional Approaches140
  • 7.4.2 Agile Approaches140
  • Figure 7-2 Critical path of activities.141
  • 7.5 Test Scheme142
  • 7.5.1 Three Test Dimensions142
  • Figure 7-3 Test scheme for Web applications (Ramler et al. 2002).143
  • 7.5.2 Applying the Scheme to Web Applications143
  • Quality Characteristics144
  • Test Objects144
  • Phases144
  • 7.5.3 Examples of Using the Test Scheme145
  • 7.6 Test Methods and Techniques145
  • Table 7-1 Methods, techniques, and tool classes for Web Application testing146
  • 7.6.1 Link Testing147
  • 7.6.2 Browser Testing147
  • 7.6.3 Usability Testing148
  • 7.6.4 Load, Stress, and Continuous Testing148
  • 7.6.5 Testing Security149
  • 7.6.6 Test-driven Development150
  • 7.7 Test Automation150
  • 7.7.1 Benefits and Drawbacks of Automated Tests150
  • 7.7.2 Test Tools151
  • 7.7.3 Selecting Test Tools152
  • 7.8 Outlook152
  • 8 Operation and Maintenance of Web Applications155
  • 8.1 Introduction155
  • 8.2 Challenges Following the Launch of a Web Application156
  • 8.3 Promoting a Web Application157
  • 8.3.1 Newsletters158
  • 8.3.2 Affiliate Marketing158
  • 8.3.3 Search Engine Marketing159
  • Search Engine Submission160
  • Search Engine Ranking160
  • 8.3.4 Content-related Marketing162
  • 8.3.5 Domain Management162
  • 8.4 Content Management163
  • 8.4.1 Content Update Rate and Demand on Currency164
  • 8.4.2 Content Syndication165
  • 8.5 Usage Analysis165
  • 8.5.1 Usage Analysis Techniques165
  • Web Server Log File165
  • Page Tagging Based Methods166
  • Monitoring Network Traffic167
  • Individual Application Extensions167
  • 8.5.2 Statistical Indicators167
  • 8.5.3 User Behavior Analysis168
  • 8.6 Outlook169
  • 9 Web Project Management171
  • 9.1 From Software Project Management to Web Project Management171
  • 9.1.1 Objectives of Software Project Management171
  • Figure 9-1 Project management objective: an engineering approach to software development.172
  • 9.1.2 The Tasks of Software Project Management172
  • 9.1.3 Conflicting Areas in Projects173
  • Figure 9-2 The traditional conflicting areas in projects.173
  • 9.1.4 Specifics of Web Project Management173
  • Table 9-1 Traditional software project management versus Web project management174
  • Table 9-2 Design components of Web applications175
  • 9.2 Challenges in Web Project Management175
  • 9.2.1 General Challenges in Software Development175
  • Leadership Challenges175
  • Development Challenges175
  • Monitoring Challenges176
  • 9.2.2 Development-related Challenges in Web Projects176
  • Novelty176
  • Dynamics177
  • Parallelism177
  • Continuity178
  • Juvenility178
  • Immaturity179
  • 9.2.3 Product-related Challenges in Web Projects179
  • Apparent Simplicity179
  • Aesthetics179
  • Spontaneity180
  • Ubiquity180
  • Compatibility181
  • Stability and Security181
  • Scalability181
  • 9.3 Managing Web Teams182
  • 9.3.1 Software Development: A Human-centered Task182
  • 9.3.2 The Web Project Team183
  • Figure 9-3 Typical composition of a Web project team.183
  • 9.3.3 The Web Project Manager184
  • Table 9-3 Ten golden rules for Web project managers185
  • 9.4 Managing the Development Process of a Web Application185
  • 9.4.1 Deploying the Tools185
  • Table 9-4 Increasing use of tools in agile approaches186
  • Tools for Web Project Management187
  • Tools for Configuration Management187
  • 9.4.2 Measuring Progress188
  • Table 9-5 Estimating traditional software development projects versus Web development projects189
  • Table 9-6 Recommendations for an appropriate use of tools189
  • 9.4.3 Project Risks190
  • Risks in Software Development190
  • Table 9-7 The most important risks in software projects according to (Boehm 1998)190
  • Specific Risks in Web Engineering191
  • 9.4.4 Risk Management193
  • Figure 9-4 Tasks involved in risk management.193
  • 9.5 Outlook194
  • Table 9-8 Development of success statistics of software projects in the US194
  • 10 The Web Application Development Process197
  • 10.1 Motivation197
  • 10.2 Fundamentals198
  • Figure 10-1 Process vs. methods in a software development project.199
  • Figure 10-2 Iterative software development.200
  • 10.3 Requirements for a Web Application Development Process201
  • 10.3.1 Handling Short Development Cycles201
  • 10.3.2 Handling Changing Requirements201
  • 10.3.3 Releases with Fixed Deadlines and Flexible Contents203
  • 10.3.4 Parallel Development of Different Releases203
  • 10.3.5 Reuse and Integration204
  • 10.3.6 Adapting to Web Application’s Complexity Level204
  • 10.3.7 Summary205
  • 10.4 Analysis of the Rational Unified Process205
  • 10.4.1 Introduction205
  • Figure 10-3 The four phases of the Rational Unified Process and the major deliverables of each phase.206
  • Figure 10-4 RUP workflows, with phases and iterations (Jacobson et al. 1999).207
  • 10.4.2 General Suitability for Web Application Development208
  • 10.4.3 Does RUP meet the Requirements of Web Applications?209
  • 10.5 Analysis of Extreme Programming211
  • 10.5.1 Introduction211
  • Figure 10-5 Order of events in an XP project as a sequence of releases.212
  • Figure 10-6 Course of events within an iteration in an XP project.213
  • Figure 10-7 Multiple application development with SCRUM.214
  • 10.5.2 Does XP meet the Requirements of Web Application Development?214
  • 10.6 Outlook216
  • Figure 10-8 Meta-process.217
  • 11 Usability of Web Applications219
  • 11.1 Motivation219
  • 11.2 What is Usability?220
  • Table 11-1 Usability models according to Nielsen and Shneiderman221
  • Figure 11-1 Layered usability model according to van Welie et al.221
  • 11.3 What Characterizes the Usability of Web Applications?222
  • 11.4 Design Guidelines225
  • 11.4.1 Response Times225
  • 11.4.2 Interaction Efficiency225
  • 11.4.3 Colors226
  • Figure 11-2 Effects of limited color vision.5226
  • 11.4.4 Text Layout227
  • Figure 11-3 Example of bad text layout and color contrast6.227
  • 11.4.5 Page Structure228
  • 11.4.6 Navigation Structure228
  • Figure 11-4 Effects of too much information and bad page structure.8229
  • 11.4.7 Multiculturality230
  • Figure 11-5 Example of a German travel reservation form with three usability problems (translations on the left are added for this book).231
  • 11.4.8 Confidence-generating Measures231
  • 11.4.9 Other Design Criteria232
  • 11.5 Web Usability Engineering Methods232
  • Figure 11-6 Iterative usability engineering (simplified from Mayhew 1999).233
  • Table 11-2 Setting focal points in usability engineering for Web applications234
  • 11.5.1 Requirements Analysis234
  • Table 11-3 Purposes of Web applications (Siegel 1996) and usability goals235
  • 11.5.2 Design237
  • 11.5.3 Implementation238
  • 11.5.4 Operation238
  • 11.6 Web Usability Engineering Trends239
  • 11.6.1 Usability Patterns239
  • Figure 11-3 Example from the usability pattern language by Tidwell (2005).240
  • 11.6.2 Mobile Usability241
  • Figure 11-8 Web Usability pattern catalog of van Welie(2005)242
  • Figure 11-9 Adaptation to different hardware contexts.243
  • 11.6.3 Accessibility243
  • Figure 11-10 Components and guidelines for Web accessibility (World Wide Web Consortium (W3C) 2005).244
  • 11.7 Outlook245
  • 12 Performance of Web Applications247
  • 12.1 Introduction247
  • 12.2 What Is Performance?248
  • Figure 12-1 Typical curve of throughput and response time as functions of the workload.249
  • Figure 12-2 Overview of methods for performance evaluation.250
  • 12.3 What Characterizes the Performance of Web Applications?250
  • 12.4 System Definition and Indicators251
  • Figure 12-3 Component-oriented view of a system as a black box.252
  • 12.5 Characterizing the Workload252
  • Figure 12-4 Taxonomy of workload models.253
  • 12.6 Analytical Techniques254
  • 12.6.1 Operational Analysis254
  • 12.6.2 Queuing Networks and Simulation Models255
  • Figure 12-5 A station in a queuing network.256
  • Figure 12-6 A queuing network with three service stations.256
  • 12.6.3 Measuring Approaches257
  • Table 12-1 Hardware versus software monitoring (Jain 1991, p.100)258
  • 12.7 Representing and Interpreting Results258
  • Figure 12-7 Examples of charts to visualize utilization.259
  • 12.8 Performance Optimization Methods259
  • 12.8.1 Acceleration Within a Web Application260
  • Load Balancing Between Client and Server260
  • Embedding Server-side Applications260
  • Pre-generating Web Content260
  • Adapting an HTTP Response to the Client’s Capabilities260
  • 12.8.2 Reducing Transmission Time261
  • Web Caching and Content Pre-fetching261
  • Web Server Replication and Load Balancing261
  • Figure 12-8 Traditional cycle of performance evaluation and performance management.262
  • 12.8.3 Server Tuning263
  • 12.9 Outlook263
  • 13 Security for Web Applications265
  • 13.1 Introduction265
  • Figure 13-1 Aspects of Web application security.266
  • 13.2 Aspects of Security266
  • Figure 13-2 Example of a book-ordering transaction.267
  • Confidentiality267
  • Integrity267
  • Non-repudiation267
  • Authentication267
  • Authorization268
  • Availability268
  • Privacy268
  • 13.3 Encryption, Digital Signatures and Certificates268
  • 13.3.1 Symmetric Cryptography268
  • Figure 13-3 Symmetric encryption.269
  • Figure 13-4 Illustration of DES encryption.269
  • 13.3.2 Asymmetric Cryptography270
  • Figure 13-5 Asymmetric encryption.270
  • Figure 13-6 Securing a message using RSA with p = 47, q = 59, e = 17, and d = 157.271
  • 13.3.3 Digital Signatures271
  • 13.3.4 Certificates and Public Key Infrastructure272
  • 13.4 Secure Client/Server-Interaction272
  • 13.4.1 Point-to-Point Security272
  • The SSL Handshake Protocol273
  • Server Certificate Validation273
  • 13.4.2 End-to-End Security274
  • Figure 13-7 Secure SOAP-message exchange (XML content is abbreviated for clarity).275
  • 13.4.3 User Authentication and Authorization276
  • Authentication276
  • Authorization277
  • Figure 13-8 Tightly coupled (on the left) and loosely coupled (on the right) federations.278
  • 13.4.4 Electronic Payment Systems278
  • 13.5 Client Security Issues279
  • 13.5.1 Preserving Privacy279
  • 13.5.2 Mobile Code Security281
  • Sandboxing and fine-grained access control281
  • Figure 13-9 Illustration of the sandbox principle.281
  • Code signing282
  • 13.5.3 Phishing and Web Spoofing282
  • 13.5.4 Desktop Security283
  • Adware and Spyware284
  • Dialers284
  • Remote Access/Backdoors284
  • Viruses, Worms and Trojan Horses284
  • 13.6 Service Provider Security Issues285
  • 13.6.1 Cross-Site Scripting285
  • Definition285
  • Example285
  • Figure 13-10 Personal view of book.store.com for Alice.286
  • Figure 13-11 Notification of possible attack by scripting.286
  • Prevention287
  • 13.6.2 SQL Injection287
  • Example287
  • Prevention289
  • 13.6.3 Security of CGI Programs289
  • Storage Location of CGI Programs290
  • Preventing Unauthorized Command Calls290
  • 13.6.4 Service Availability290
  • Denial of service attacks290
  • Buffer overflow attacks291
  • 13.6.5 Host Security291
  • 13.7 Outlook292
  • 14 The Semantic Web – The Network of Meanings in the Network of Documents293
  • 14.1 Fundamentals of the Semantic Web293
  • 14.1.1 The Role of Software Agents294
  • Figure 14-1 The classic “Icarus” agent architecture (1991).295
  • 14.1.2 The Role of Semantic Markup296
  • Figure 14-2 Using SHOE for semantic markup of a Web page.297
  • 14.1.3 The Role of Ontologies297
  • 14.2 Technological Concepts298
  • 14.2.1 Agents According to the FIPA Standard298
  • Figure 14-3 The FIPA agent communication model (Foundation for Intelligent Physical Agents 2002).299
  • Agents and Their Ontologies299
  • 14.2.2 Ontologies300
  • Philosophy, Ontology, and Language Criticism300
  • Ontologies for Computer Applications301
  • Formal Representation of Human Knowledge301
  • EER Diagrams301
  • Conceptual Graphs302
  • Figure 14-4 Conceptual graph for “John is going to Boston by bus”.302
  • Figure 14-5 Conceptual graph for “Tom believes that Mary wants to marry a sailor”.303
  • 14.2.3 Semantic Markup on the Web303
  • DAML + OIL = OWL303
  • RDF304
  • Figure 14-6 RDF graph with subject, predicate, and object.304
  • Figure 14-7 RDF graph with a literal allocated as a value.305
  • Figure 14-8 An RDF graph using namespaces.306
  • Figure 14-9 RDF code for the home page of the OntoAgents project.306
  • RDF Schema306
  • Table 14-1 RDF Schema constructs (excerpt)307
  • Table 14-2 OWL constructs and their relationships to RDF and RDF-S308
  • 14.3 Specifics of Semantic Web Applications308
  • 14.3.1 Semantic Markup308
  • 14.3.2 Agents309
  • 14.3.3 Ontologies309
  • 14.3.4 Semantic Web Services310
  • Figure 14-10 1Web, Semantic Web, Web Services and Semantic Web Services. (For technical details on Web Services please refer to Chapter 6.)311
  • 14.3.5 Integration into Web Engineering313
  • 14.4 Tools314
  • Agent Frameworks314
  • Ontology Editors314
  • Annotation Tools315
  • 14.5 Outlook315
  • Back Matter317
  • Glossary317
  • Author Biographies329
  • Bibliography337
  • Credits357
Book details
  • Vendor Wiley Global Education UK
  • SKU 0470064897R150
  • ISBN-13 9780470064894
  • Author Gerti Kappel; Birgit Pröll; Siegried Reich; Werner Retschitzegger
  • Edition 1st
  • Category Computers
  • Subject Site Design

Do you have questions about this book?

Ask an expert!

The World Wide Web has a massive and permanent influence on our lives. Economy, industry, education, healthcare, public administration, entertainment – there is hardly any part of our daily lives which has not been pervaded by the Internet. Accordingly, modern Web applications are fully-fledged, complex software systems, and in order to be successful their development must be thorough and systematic.

This book presents a new discipline called Web Engineering taking a rigorous interdisciplinary approach to the development of Web applications, covering Web development concepts, methods, tools and techniques. It highlights the need to examine and re-use the body of knowledge found within software engineering and demonstrates how to use that knowledge within the Web environment, putting emphasize on current practices, experiences and pitfalls.

The book is ideal for undergraduate and graduate students on Web-focused or Software Engineering courses, as well as Web software developers, Web designers and project managers.