Web application architecture: principles, protocols, and practices

Free Download

Authors:

Edition: 1

ISBN: 0471486566, 9780471486565, 9780470090848

Size: 4 MB (3933559 bytes)

Pages: 384/374

File format:

Language:

Publishing Year:

Category: Tag:

Leon Shklar, Richard Rosen0471486566, 9780471486565, 9780470090848

An in-depth examination of the core concepts and general principles of Web application development.
This book uses examples from specific technologies (e.g., servlet API or XSL), without promoting or endorsing particular platforms or APIs. Such knowledge is critical when designing and debugging complex systems. This conceptual understanding makes it easier to learn new APIs that arise in the rapidly changing Internet environment.

• Includes discussions of markup languages: HTML, the eXtensible Markup Language (XML), XHTML, eXtensible Stylesheet Language (XSL), and Cascading Style Sheets (CSS)
• Contains exercises geared to constructing an advanced XML application that makes use of XML and XSL parsers
• Explores emerging technologies: Java 2 Enterprise Edition (J2EE), industry-specific XML standards, Resource Description Framework (RDF), and XML query languages


Table of contents :
Team DDU……Page 1
Contents……Page 8
Acknowledgements……Page 16
1.1 The Web in Perspective……Page 18
1.2 The Origins of the Web……Page 19
1.3 From Web Pages to Web Sites……Page 20
1.4 From Web Sites to Web Applications……Page 21
1.5.2 Web site design resources……Page 22
1.5.3 Web application design resources……Page 23
1.5.4 Principles of web application design……Page 24
1.6 What is Covered in this Book……Page 25
Bibliography……Page 26
2.1 Historical Perspective……Page 28
2.2.1 Layers……Page 30
2.2.2 The client/server paradigm……Page 31
2.3.2 Electronic mail……Page 33
2.3.3 Message forums……Page 41
2.3.5 File servers……Page 42
2.5 Questions and Exercises……Page 44
Bibliography……Page 45
3.1 Historical Perspective……Page 46
3.3 The Uniform Resource Locator……Page 47
3.4 Fundamentals of HTTP……Page 49
3.4.2 Request/response paradigm……Page 50
3.4.3 Stateless protocol……Page 51
3.4.4 The structure of HTTP messages……Page 52
3.4.5 Request methods……Page 54
3.4.6 Status codes……Page 59
3.5 Better Information Through Headers……Page 63
3.5.1 Type support through content-type……Page 65
3.5.2 Caching control through Pragma and Cache-Control headers……Page 68
3.5.3 Security through WWW-Authenticate and Authorization headers……Page 70
3.5.4 Session support through Cookie and Set-Cookie headers……Page 73
3.6 Evolution……Page 76
3.6.1 Virtual hosting……Page 77
3.6.2 Caching support……Page 78
3.6.3 Persistent connections……Page 79
3.8 Questions and Exercises……Page 80
Bibliography……Page 81
4. Web Servers……Page 82
4.1 Basic Operation……Page 83
4.1.1 HTTP request processing……Page 84
4.1.2 Delivery of static content……Page 86
4.1.3 Delivery of dynamic content……Page 88
4.2.3 FastCGI……Page 98
4.2.4 Template processing……Page 99
4.2.5 Servlets……Page 101
4.2.6 Java server pages……Page 102
4.2.7 Future directions……Page 104
4.3.1 Virtual hosting……Page 105
4.3.2 Chunked transfers……Page 106
4.3.3 Caching support……Page 107
4.4 Server Configuration……Page 108
4.4.2 Execution……Page 109
4.4.3 Address resolution……Page 110
4.4.4 MIME support……Page 111
4.4.5 Server extensions……Page 112
4.5.1 Securing the installation……Page 113
4.5.2 Dangerous practices……Page 114
4.5.4 Firewalls and proxies……Page 115
4.7 Questions and Exercises……Page 117
Bibliography……Page 119
5. Web Browsers……Page 120
5.1 Architectural Considerations……Page 122
5.2 Processing Flow……Page 124
5.3 Processing HTTP Requests and Responses……Page 129
5.3.1 HTTP requests……Page 130
5.3.2 HTTP responses……Page 137
5.4.1 Caching……Page 142
5.4.2 Cookie coordination……Page 145
5.4.3 Authorization: challenge and response……Page 146
5.4.4 Re-factoring: common mechanisms for storing persistent data……Page 148
5.4.5 Requesting supporting data items……Page 150
5.4.6 Multimedia support: helpers and plug-ins……Page 151
5.5 Review of Browser Architecture……Page 153
5.7 Questions and Exercises……Page 156
Bibliography……Page 157
6.1 Standard Generalized Markup Language……Page 158
6.1.1 The SGML declaration……Page 160
6.1.2 Document type definition……Page 163
6.2 HTML……Page 167
6.2.1 HTML evolution……Page 168
6.2.2 Structure and syntax……Page 169
6.3 HTML Rendering……Page 174
6.3.1 Cascading style sheets……Page 175
6.3.2 Associating styles with HTML documents……Page 176
6.4 JavaScript……Page 178
6.5.1 ‘Mouse-Over’ behaviors……Page 181
6.5.2 Form validation……Page 182
6.5.3 Layering techniques……Page 184
6.6 Summary……Page 185
Bibliography……Page 186
7. XML Languages and Applications……Page 188
7.1.1 XML documents……Page 189
7.1.2 XML DTD……Page 192
7.1.3 XML schema……Page 194
7.2 XHTML……Page 199
7.3 WML……Page 200
7.4.1 XSLT……Page 203
7.4.2 XSL formatting objects……Page 206
7.4.3 What is so important about XSL?……Page 212
7.5 Summary……Page 214
7.6 Questions and Exercises……Page 215
Bibliography……Page 216
8.1.1 Client-server applications……Page 218
8.1.2 Web applications……Page 219
8.2 Application Architecture……Page 220
8.2.1 Interpreting and routing client requests……Page 222
8.2.2 Controlling user access to the application……Page 225
8.2.3 Enabling data access……Page 233
8.2.4 Accessing and modifying content……Page 240
8.2.5 Customizing content for presentation……Page 248
8.2.7 Logging and recording application activity……Page 252
8.3 Database Processing Issues……Page 254
8.3.1 Configuration……Page 255
8.3.2 Transactions……Page 256
8.3.3 Best practices……Page 258
8.5 Questions and Exercises……Page 259
Bibliography……Page 260
9. Approaches to Web Application Development……Page 262
9.1.1 CGI……Page 263
9.2 Template Approaches……Page 264
9.2.1 Server-Side Includes (SSI)……Page 266
9.2.2 Cold Fusion……Page 267
9.2.3 WebMacro/Velocity……Page 269
9.3.1 PHP……Page 271
9.3.2 Active Server Pages (ASP)……Page 272
9.3.3 Java Server Pages……Page 273
9.4.1 Application flexibility……Page 276
9.4.2 Division of responsibility for processing modules……Page 278
9.5.1 JSP ‘Model 2’……Page 279
9.5.2 Struts……Page 281
9.6 Frameworks: XML-Based Approaches……Page 283
9.7 Summary……Page 284
9.8 Questions and Exercises……Page 286
Bibliography……Page 287
10. Application Primer: Virtual Realty Listing Services……Page 288
10.1 Application Requirements……Page 290
10.2 Application Development Environment……Page 291
10.3 Anatomy of a Struts Application……Page 293
10.4 The Structure of the VRLS Application……Page 295
10.4.1 Controller: ActionServlet and custom actions……Page 299
10.4.2 View: JSP Pages and ActionForms……Page 305
10.4.3 Model: JavaBeans and auxiliary service classes……Page 312
10.5.1 Abstracting functionality into service classes……Page 314
10.5.2 Using embedded page inclusion to support co-branding……Page 315
10.5.3 A single task for creation and modification of customer profiles……Page 317
10.6.1 Administrative interface……Page 318
10.6.2 Enhancing the signup process through e-mail authentication……Page 321
10.6.3 Improving partner recognition through a persistent cookie……Page 322
10.6.4 Adding caching functionality to the DomainService Class……Page 323
10.6.5 Paging through cached search results using the value list handler pattern……Page 324
10.6.6 Using XML and XSLT for view presentation……Page 325
10.6.7 Tracking user behavior……Page 327
10.8 Questions and Exercises……Page 328
Bibliography……Page 329
11. Emerging Technologies……Page 330
11.1.1 SOAP……Page 331
11.1.2 WSDL……Page 334
11.1.3 UDDI……Page 336
11.2.1 RDF and Dublin Core……Page 339
11.2.2 RDF Schema……Page 343
11.3 Composite Capability/Preference Profiles……Page 345
11.4 Semantic Web……Page 348
11.5 XML Query Language……Page 349
11.6.1 One more time: separation of content from presentation……Page 352
11.6.2 The right tools for the job……Page 354
11.6.3 Simplicity……Page 355
11.7 Summary……Page 360
Bibliography……Page 361
Index……Page 364

Reviews

There are no reviews yet.

Be the first to review “Web application architecture: principles, protocols, and practices”
Shopping Cart
Scroll to Top