gogogo
Syndetics cover image
Image from Syndetics

Web application architecture / Leon Shklar and Richard Rosen.

By: Contributor(s): Material type: TextTextPublication details: New York ; Chichester : Wiley, 2002.Description: 500 pISBN:
  • 0471486566
Subject(s): DDC classification:
  • 005.72 SHK
Holdings
Item type Current library Call number Copy number Status Date due Barcode
Standard Loan Moylish Library Main Collection 005.72 SHK (Browse shelf(Opens below)) 1 Available 39002100308353

Enhanced descriptions from Syndetics:

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 provided by Syndetics

  • Acknowledgements (p. xiii)
  • 1. Introduction (p. 1)
  • 1.1 The Web in Perspective (p. 1)
  • 1.2 The Origins of the Web (p. 2)
  • 1.3 From Web Pages to Web Sites (p. 3)
  • 1.4 From Web Sites to Web Applications (p. 4)
  • 1.5 How to Build Web Applications in One Easy Lesson (p. 5)
  • 1.5.1 Web page design resources (p. 5)
  • 1.5.2 Web site design resources (p. 5)
  • 1.5.3 Web application design resources (p. 6)
  • 1.5.4 Principles of web application design (p. 7)
  • 1.6 What is Covered in this Book (p. 8)
  • Bibliography (p. 9)
  • 2. Before the Web: TCP/IP (p. 11)
  • 2.1 Historical Perspective (p. 11)
  • 2.2 TCP/IP (p. 13)
  • 2.2.1 Layers (p. 13)
  • 2.2.2 The client/server paradigm (p. 14)
  • 2.3 TCP/IP Application Services (p. 16)
  • 2.3.1 Telnet (p. 16)
  • 2.3.2 Electronic mail (p. 16)
  • 2.3.3 Message forums (p. 24)
  • 2.3.4 Live messaging (p. 25)
  • 2.3.5 File servers (p. 25)
  • 2.4 And Then Came the Web... (p. 27)
  • 2.5 Questions and Exercises (p. 27)
  • Bibliography (p. 28)
  • 3. Birth of the World Wide Web: HTTP (p. 29)
  • 3.1 Historical Perspective (p. 29)
  • 3.2 Building Blocks of the Web (p. 30)
  • 3.3 The Uniform Resource Locator (p. 30)
  • 3.4 Fundamentals of HTTP (p. 32)
  • 3.4.1 HTTP servers, browsers, and proxies (p. 33)
  • 3.4.2 Request/response paradigm (p. 33)
  • 3.4.3 Stateless protocol (p. 34)
  • 3.4.4 The structure of HTTP messages (p. 35)
  • 3.4.5 Request methods (p. 37)
  • 3.4.6 Status codes (p. 42)
  • 3.5 Better Information Through Headers (p. 46)
  • 3.5.1 Type support through content-type (p. 48)
  • 3.5.2 Caching control through Pragma and Cache-Control headers (p. 51)
  • 3.5.3 Security through WWW-Authenticate and Authorization headers (p. 53)
  • 3.5.4 Session support through Cookie and Set-Cookie headers (p. 56)
  • 3.6 Evolution (p. 59)
  • 3.6.1 Virtual hosting (p. 60)
  • 3.6.2 Caching support (p. 61)
  • 3.6.3 Persistent connections (p. 62)
  • 3.7 Summary (p. 63)
  • 3.8 Questions and Exercises (p. 63)
  • Bibliography (p. 64)
  • 4. Web Servers (p. 65)
  • 4.1 Basic Operation (p. 66)
  • 4.1.1 HTTP request processing (p. 67)
  • 4.1.2 Delivery of static content (p. 69)
  • 4.1.3 Delivery of dynamic content (p. 71)
  • 4.2 Advanced Mechanisms for Dynamic Content Delivery (p. 81)
  • 4.2.1 Beyond CGI and SSI (p. 81)
  • 4.2.2 Native APIs (ISAPI and NSAPI) (p. 81)
  • 4.2.3 FastCGI (p. 81)
  • 4.2.4 Template processing (p. 82)
  • 4.2.5 Servlets (p. 84)
  • 4.2.6 Java server pages (p. 85)
  • 4.2.7 Future directions (p. 87)
  • 4.3 Advanced Features (p. 88)
  • 4.3.1 Virtual hosting (p. 88)
  • 4.3.2 Chunked transfers (p. 89)
  • 4.3.3 Caching support (p. 90)
  • 4.3.4 Extensibility (p. 91)
  • 4.4 Server Configuration (p. 91)
  • 4.4.1 Directory structure (p. 92)
  • 4.4.2 Execution (p. 92)
  • 4.4.3 Address resolution (p. 93)
  • 4.4.4 MIME support (p. 94)
  • 4.4.5 Server extensions (p. 95)
  • 4.5 Server Security (p. 96)
  • 4.5.1 Securing the installation (p. 96)
  • 4.5.2 Dangerous practices (p. 97)
  • 4.5.3 Secure HTTP (p. 98)
  • 4.5.4 Firewalls and proxies (p. 98)
  • 4.6 Summary (p. 100)
  • 4.7 Questions and Exercises (p. 100)
  • Bibliography (p. 102)
  • 5. Web Browsers (p. 103)
  • 5.1 Architectural Considerations (p. 105)
  • 5.2 Processing Flow (p. 107)
  • 5.3 Processing HTTP Requests and Responses (p. 112)
  • 5.3.1 HTTP requests (p. 113)
  • 5.3.2 HTTP responses (p. 120)
  • 5.4 Complex HTTP Interactions (p. 125)
  • 5.4.1 Caching (p. 125)
  • 5.4.2 Cookie coordination (p. 128)
  • 5.4.3 Authorization: challenge and response (p. 129)
  • 5.4.4 Re-factoring: common mechanisms for storing persistent data (p. 131)
  • 5.4.5 Requesting supporting data items (p. 133)
  • 5.4.6 Multimedia support: helpers and plug-ins (p. 134)
  • 5.5 Review of Browser Architecture (p. 136)
  • 5.6 Summary (p. 139)
  • 5.7 Questions and Exercises (p. 139)
  • Bibliography (p. 140)
  • 6. HTML and its Roots (p. 141)
  • 6.1 Standard Generalized Markup Language (p. 141)
  • 6.1.1 The SGML declaration (p. 143)
  • 6.1.2 Document type definition (p. 146)
  • 6.2 HTML (p. 150)
  • 6.2.1 HTML evolution (p. 151)
  • 6.2.2 Structure and syntax (p. 152)
  • 6.3 HTML Rendering (p. 157)
  • 6.3.1 Cascading style sheets (p. 158)
  • 6.3.2 Associating styles with HTML documents (p. 159)
  • 6.4 JavaScript (p. 161)
  • 6.5 DHTML (p. 164)
  • 6.5.1 'Mouse-Over' behaviors (p. 164)
  • 6.5.2 Form validation (p. 165)
  • 6.5.3 Layering techniques (p. 167)
  • 6.6 Summary (p. 168)
  • 6.7 Questions and Exercises (p. 169)
  • Bibliography (p. 169)
  • 7. XML Languages and Applications (p. 171)
  • 7.1 Core XML (p. 172)
  • 7.1.1 XML documents (p. 172)
  • 7.1.2 XML DTD (p. 175)
  • 7.1.3 XML schema (p. 177)
  • 7.2 XHTML (p. 182)
  • 7.3 WML (p. 183)
  • 7.4 XSL (p. 186)
  • 7.4.1 XSLT (p. 186)
  • 7.4.2 XSL formatting objects (p. 189)
  • 7.4.3 What is so important about XSL? (p. 195)
  • 7.5 Summary (p. 197)
  • 7.6 Questions and Exercises (p. 198)
  • Bibliography (p. 199)
  • 8. Dynamic Web Applications (p. 201)
  • 8.1 Historical Perspective (p. 201)
  • 8.1.1 Client-server applications (p. 201)
  • 8.1.2 Web applications (p. 202)
  • 8.1.3 Multi-tier web applications (p. 203)
  • 8.2 Application Architecture (p. 203)
  • 8.2.1 Interpreting and routing client requests (p. 205)
  • 8.2.2 Controlling user access to the application (p. 208)
  • 8.2.3 Enabling data access (p. 216)
  • 8.2.4 Accessing and modifying content (p. 223)
  • 8.2.5 Customizing content for presentation (p. 231)
  • 8.2.6 Transmitting the formatted response (p. 235)
  • 8.2.7 Logging and recording application activity (p. 235)
  • 8.3 Database Processing Issues (p. 237)
  • 8.3.1 Configuration (p. 238)
  • 8.3.2 Transactions (p. 239)
  • 8.3.3 Best practices (p. 241)
  • 8.4 Summary (p. 242)
  • 8.5 Questions and Exercises (p. 242)
  • Bibliography (p. 243)
  • 9. Approaches to Web Application Development (p. 245)
  • 9.1 Programmatic Approaches (p. 246)
  • 9.1.1 CGI (p. 246)
  • 9.1.2 Java Servlet API (p. 247)
  • 9.2 Template Approaches (p. 247)
  • 9.2.1 Server-Side Includes (SSI) (p. 249)
  • 9.2.2 Cold Fusion (p. 250)
  • 9.2.3 WebMacro/Velocity (p. 252)
  • 9.3 Hybrid Approaches (p. 254)
  • 9.3.1 PHP (p. 254)
  • 9.3.2 Active Server Pages (ASP) (p. 255)
  • 9.3.3 Java Server Pages (p. 256)
  • 9.4 Separation of Content from Presentation (p. 259)
  • 9.4.1 Application flexibility (p. 259)
  • 9.4.2 Division of responsibility for processing modules (p. 261)
  • 9.5 Frameworks: MVC Approaches (p. 262)
  • 9.5.1 JSP 'Model 2' (p. 262)
  • 9.5.2 Struts (p. 264)
  • 9.6 Frameworks: XML-Based Approaches (p. 266)
  • 9.7 Summary (p. 267)
  • 9.8 Questions and Exercises (p. 269)
  • Bibliography (p. 270)
  • 10. Application Primer: Virtual Realty Listing Services (p. 271)
  • 10.1 Application Requirements (p. 273)
  • 10.2 Application Development Environment (p. 274)
  • 10.3 Anatomy of a Struts Application (p. 276)
  • 10.4 The Structure of the VRLS Application (p. 278)
  • 10.4.1 Controller: ActionServlet and custom actions (p. 282)
  • 10.4.2 View: JSP Pages and ActionForms (p. 288)
  • 10.4.3 Model: JavaBeans and auxiliary service classes (p. 295)
  • 10.5 Design Decisions (p. 297)
  • 10.5.1 Abstracting functionality into service classes (p. 297)
  • 10.5.2 Using embedded page inclusion to support co-branding (p. 298)
  • 10.5.3 A single task for creation and modification of customer profiles (p. 300)
  • 10.6 Enhancements (p. 301)
  • 10.6.1 Administrative interface (p. 301)
  • 10.6.2 Enhancing the signup process through e-mail authentication (p. 304)
  • 10.6.3 Improving partner recognition through a persistent cookie (p. 305)
  • 10.6.4 Adding caching functionality to the DomainService Class (p. 306)
  • 10.6.5 Paging through cached search results using the value list handler pattern (p. 307)
  • 10.6.6 Using XML and XSLT for view presentation (p. 308)
  • 10.6.7 Tracking user behavior (p. 310)
  • 10.7 Summary (p. 311)
  • 10.8 Questions and Exercises (p. 311)
  • Bibliography (p. 312)
  • 11. Emerging Technologies (p. 313)
  • 11.1 Web Services (p. 314)
  • 11.1.1 SOAP (p. 314)
  • 11.1.2 WSDL (p. 317)
  • 11.1.3 UDDI (p. 319)
  • 11.2 Resource Description Framework (p. 322)
  • 11.2.1 RDF and Dublin Core (p. 322)
  • 11.2.2 RDF Schema (p. 326)
  • 11.3 Composite Capability/Preference Profiles (p. 328)
  • 11.4 Semantic Web (p. 331)
  • 11.5 XML Query Language (p. 332)
  • 11.6 The Future of Web Application Frameworks (p. 335)
  • 11.6.1 One more time: separation of content from presentation (p. 335)
  • 11.6.2 The right tools for the job (p. 337)
  • 11.6.3 Simplicity (p. 338)
  • 11.7 Summary (p. 343)
  • 11.8 Questions and Exercises (p. 344)
  • Bibliography (p. 344)
  • Index (p. 347)

Author notes provided by Syndetics

Leon Shklar heads up the development team for the online edition on the Wall Street Journal at Dow Jones.

Powered by Koha