×

Uh-oh, it looks like your Internet Explorer is out of date.

For a better shopping experience, please upgrade now.

Web Application Architecture: Principles, Protocols and Practices / Edition 2
     

Web Application Architecture: Principles, Protocols and Practices / Edition 2

by Leon Shklar, Rich Rosen
 

ISBN-10: 047051860X

ISBN-13: 9780470518601

Pub. Date: 05/05/2009

Publisher: Wiley

It is not enough for Web application developers to be proficient in just one platform. As platforms grow and evolve, and as new ones arise, developers must be able to transfer their proficiency across platforms in order to build complex Web applications effectively. This book helps developers understand the underlying core technologies so that they can learn new

Overview

It is not enough for Web application developers to be proficient in just one platform. As platforms grow and evolve, and as new ones arise, developers must be able to transfer their proficiency across platforms in order to build complex Web applications effectively. This book helps developers understand the underlying core technologies so that they can learn new APIs and application frameworks more quickly.

Web Application Architecture provides an in-depth examination of the basic concepts and general principles associated with Web application development, using examples that illustrate specific technologies. This conceptual knowledge is critical when building and deploying complex systems that are scaleable, extensible, maintainable and reusable. The book explains the underlying protocols and languages that support Web application development, and delineates the best practices associated with building robust applications. It describes mechanisms for providing Web access to heterogeneous data sources including relational databases and multimedia.

The new edition includes brand new and fully updated chapters on:

  • Internet protocols - from TCP/IP to HTTP and beyond
  • software components - servers, browsers, proxies and agents
  • the dynamic web - how web applications present dynamic data
  • markup languages – HTML, XML and CSS
  • tools, libraries and frameworks - AJAX, Struts, and Ruby on Rails
  • search technologies – underlying principles, application design, and SEO
  • future directions and emerging technologies – XML Query, RDF, and the Semantic Web

Ideally suited for course usage and self-study, this practical, engaging textbook is essential reading for students, programmers and system architects and designers alike. It provides a comprehensive, timely overview of modern web technology.

Visit the supplementary website at www.wileyeurope.com/college/shklar

Product Details

ISBN-13:
9780470518601
Publisher:
Wiley
Publication date:
05/05/2009
Edition description:
New Edition
Pages:
440
Product dimensions:
7.40(w) x 9.20(h) x 1.10(d)

Table of Contents

Acknowledgementsxiii
1.Introduction1
1.1The Web in Perspective1
1.2The Origins of the Web2
1.3From Web Pages to Web Sites3
1.4From Web Sites to Web Applications4
1.5How to Build Web Applications in One Easy Lesson5
1.5.1Web page design resources5
1.5.2Web site design resources5
1.5.3Web application design resources6
1.5.4Principles of web application design7
1.6What is Covered in this Book8
Bibliography9
2.Before the Web: TCP/IP11
2.1Historical Perspective11
2.2TCP/IP13
2.2.1Layers13
2.2.2The client/server paradigm14
2.3TCP/IP Application Services16
2.3.1Telnet16
2.3.2Electronic mail16
2.3.3Message forums24
2.3.4Live messaging25
2.3.5File servers25
2.4And Then Came the Web...27
2.5Questions and Exercises27
Bibliography28
3.Birth of the World Wide Web: HTTP29
3.1Historical Perspective29
3.2Building Blocks of the Web30
3.3The Uniform Resource Locator30
3.4Fundamentals of HTTP32
3.4.1HTTP servers, browsers, and proxies33
3.4.2Request/response paradigm33
3.4.3Stateless protocol34
3.4.4The structure of HTTP messages35
3.4.5Request methods37
3.4.6Status codes42
3.5Better Information Through Headers46
3.5.1Type support through content-type48
3.5.2Caching control through Pragma and Cache-Control headers51
3.5.3Security through WWW-Authenticate and Authorization headers53
3.5.4Session support through Cookie and Set-Cookie headers56
3.6Evolution59
3.6.1Virtual hosting60
3.6.2Caching support61
3.6.3Persistent connections62
3.7Summary63
3.8Questions and Exercises63
Bibliography64
4.Web Servers65
4.1Basic Operation66
4.1.1HTTP request processing67
4.1.2Delivery of static content69
4.1.3Delivery of dynamic content71
4.2Advanced Mechanisms for Dynamic Content Delivery81
4.2.1Beyond CGI and SSI81
4.2.2Native APIs (ISAPI and NSAPI)81
4.2.3FastCGI81
4.2.4Template processing82
4.2.5Servlets84
4.2.6Java server pages85
4.2.7Future directions87
4.3Advanced Features88
4.3.1Virtual hosting88
4.3.2Chunked transfers89
4.3.3Caching support90
4.3.4Extensibility91
4.4Server Configuration91
4.4.1Directory structure92
4.4.2Execution92
4.4.3Address resolution93
4.4.4MIME support94
4.4.5Server extensions95
4.5Server Security96
4.5.1Securing the installation96
4.5.2Dangerous practices97
4.5.3Secure HTTP98
4.5.4Firewalls and proxies98
4.6Summary100
4.7Questions and Exercises100
Bibliography102
5.Web Browsers103
5.1Architectural Considerations105
5.2Processing Flow107
5.3Processing HTTP Requests and Responses112
5.3.1HTTP requests113
5.3.2HTTP responses120
5.4Complex HTTP Interactions125
5.4.1Caching125
5.4.2Cookie coordination128
5.4.3Authorization: challenge and response129
5.4.4Re-factoring: common mechanisms for storing persistent data131
5.4.5Requesting supporting data items133
5.4.6Multimedia support: helpers and plug-ins134
5.5Review of Browser Architecture136
5.6Summary139
5.7Questions and Exercises139
Bibliography140
6.HTML and its Roots141
6.1Standard Generalized Markup Language141
6.1.1The SGML declaration143
6.1.2Document type definition146
6.2HTML150
6.2.1HTML evolution151
6.2.2Structure and syntax152
6.3HTML Rendering157
6.3.1Cascading style sheets158
6.3.2Associating styles with HTML documents159
6.4JavaScript161
6.5DHTML164
6.5.1'Mouse-Over' behaviors164
6.5.2Form validation165
6.5.3Layering techniques167
6.6Summary168
6.7Questions and Exercises169
Bibliography169
7.XML Languages and Applications171
7.1Core XML172
7.1.1XML documents172
7.1.2XML DTD175
7.1.3XML schema177
7.2XHTML182
7.3WML183
7.4XSL186
7.4.1XSLT186
7.4.2XSL formatting objects189
7.4.3What is so important about XSL?195
7.5Summary197
7.6Questions and Exercises198
Bibliography199
8.Dynamic Web Applications201
8.1Historical Perspective201
8.1.1Client-server applications201
8.1.2Web applications202
8.1.3Multi-tier web applications203
8.2Application Architecture203
8.2.1Interpreting and routing client requests205
8.2.2Controlling user access to the application208
8.2.3Enabling data access216
8.2.4Accessing and modifying content223
8.2.5Customizing content for presentation231
8.2.6Transmitting the formatted response235
8.2.7Logging and recording application activity235
8.3Database Processing Issues237
8.3.1Configuration238
8.3.2Transactions239
8.3.3Best practices241
8.4Summary242
8.5Questions and Exercises242
Bibliography243
9.Approaches to Web Application Development245
9.1Programmatic Approaches246
9.1.1CGI246
9.1.2Java Servlet API247
9.2Template Approaches247
9.2.1Server-Side Includes (SSI)249
9.2.2Cold Fusion250
9.2.3WebMacro/Velocity252
9.3Hybrid Approaches254
9.3.1PHP254
9.3.2Active Server Pages (ASP)255
9.3.3Java Server Pages256
9.4Separation of Content from Presentation259
9.4.1Application flexibility259
9.4.2Division of responsibility for processing modules261
9.5Frameworks: MVC Approaches262
9.5.1JSP 'Model 2'262
9.5.2Struts264
9.6Frameworks: XML-Based Approaches266
9.7Summary267
9.8Questions and Exercises269
Bibliography270
10.Application Primer: Virtual Realty Listing Services271
10.1Application Requirements273
10.2Application Development Environment274
10.3Anatomy of a Struts Application276
10.4The Structure of the VRLS Application278
10.4.1Controller: ActionServlet and custom actions282
10.4.2View: JSP Pages and ActionForms288
10.4.3Model: JavaBeans and auxiliary service classes295
10.5Design Decisions297
10.5.1Abstracting functionality into service classes297
10.5.2Using embedded page inclusion to support co-branding298
10.5.3A single task for creation and modification of customer profiles300
10.6Enhancements301
10.6.1Administrative interface301
10.6.2Enhancing the signup process through e-mail authentication304
10.6.3Improving partner recognition through a persistent cookie305
10.6.4Adding caching functionality to the DomainService Class306
10.6.5Paging through cached search results using the value list handler pattern307
10.6.6Using XML and XSLT for view presentation308
10.6.7Tracking user behavior310
10.7Summary311
10.8Questions and Exercises311
Bibliography312
11.Emerging Technologies313
11.1Web Services314
11.1.1SOAP314
11.1.2WSDL317
11.1.3UDDI319
11.2Resource Description Framework322
11.2.1RDF and Dublin Core322
11.2.2RDF Schema326
11.3Composite Capability/Preference Profiles328
11.4Semantic Web331
11.5XML Query Language332
11.6The Future of Web Application Frameworks335
11.6.1One more time: separation of content from presentation335
11.6.2The right tools for the job337
11.6.3Simplicity338
11.7Summary343
11.8Questions and Exercises344
Bibliography344
Index347

Customer Reviews

Average Review:

Post to your social network

     

Most Helpful Customer Reviews

See all customer reviews