- Signerad!
Web Application Architecture
Principles, Protocols and Practices
817 kr
Beställningsvara. Skickas inom 5-8 vardagar. Fri frakt över 249 kr.
Beskrivning
Produktinformation
- Utgivningsdatum:2009-03-27
- Mått:191 x 235 x 22 mm
- Vikt:792 g
- Format:Häftad
- Språk:Engelska
- Antal sidor:448
- Upplaga:2
- Förlag:John Wiley & Sons Inc
- ISBN:9780470518601
Utforska kategorier
Mer om författaren
Leon Shklar currently works for Thomson Reuters where he is the head of technology for Reuters Media. Previously, Leon headed up the development team for the online edition of the Wall Street Journal at Dow Jones. Prior to joining Dow Jones, he spent six years at Bell Communications Research and almost as long in the world of dot-coms and Internet software. Leon holds a Ph.D. in Computer Science from Rutgers University. Rich Rosen is a senior developer in the Fixed Income Systems Group at Interactive Data Corporation. Previously, he was an Application Architect at Dow Jones. Rich began his career at Bell Labs, where his work with relational databases and the Internet prepared him the world of Web application development. He is a co-author of Mac OS X for Unix Geeks, 4th Edition (O'Reilly). Rich holds an M.S. in Computer Science from Stevens Institute of Technology.
Innehållsförteckning
- About the Authors xvPreface xviAcknowledgments xvii1 Introduction 11.1 History and Pre-History of the Web 11.2 From Web Pages to Web Sites 31.3 From Web Sites to Web Applications 41.4 Web 2.0: On-line Communities and Collaboration 41.5 The Brave New World of AJAX 51.6 Focus of This Book 51.7 What Is Covered in This Book 71.8 Bibliography 92 Core Internet Protocols 112.1 Historical Perspective 122.2 TCP/IP Architecture 132.2.1 Protocol layers 132.2.2 Comparison with OSI model 142.2.3 The client–server paradigm 142.3 TCP/IP Application Services 162.3.1 Telnet 162.3.2 E-mail 172.3.3 Message forums 232.3.4 Chat and messaging protocols 242.3.5 Security and encryption 242.3.6 File server protocols 262.4 And Then Came the Web . . . 27Questions and Exercises 282.5 Bibliography 283 Birth of the Web: HTTP 293.1 Historical Perspective 293.1.1 CERN: birthplace of the web 293.1.2 Building blocks of the web 303.2 Uniform Resource Locator 303.3 Fundamentals of HTTP 323.3.1 Request–response paradigm 333.3.2 Stateless protocol 333.3.3 Structure of HTTP messages 343.3.4 Request methods 363.3.5 Status codes 413.4 Better Information Through Headers 443.4.1 Support for content types 463.4.2 Caching control 493.4.3 Security 513.4.4 Session support 533.5 Evolution of the HTTP Protocol 563.5.1 Virtual hosting 573.5.2 Caching support 583.5.3 Persistent connections 593.6 Summary 60Questions and Exercises 603.7 Bibliography 614 HTML and Its Roots 634.1 Standard Generalized Markup Language 644.1.1 SGML declaration 664.1.2 Document Type Definition 684.2 HTML 724.2.1 Evolution of HTML 724.2.2 Structure and syntax 734.3 HTML Rendering 794.3.1 Cascading Style Sheets 794.3.2 Associating styles with HTML documents 804.4 Summary 82Questions and Exercises 824.5 Bibliography 835 XML Languages and Applications 855.1 Core XML 865.1.1 XML documents 875.1.2 XML DTD 885.1.3 XML Schema 915.2 XHTML 955.2.1 HTML 5 975.2.2 XHTML MP 975.3 Web Services 1005.3.1 SOAP 1005.3.2 Representational State Transfer (REST) 1055.4 XSL 1085.4.1 XSLT 1095.4.2 XSL Formatting Objects 1115.4.3 What is so important about XSL? 1165.5 Summary 118Questions and Exercises 1195.6 Bibliography 1205.7 Web Links 1205.8 Endnotes 1206 Web Servers 1216.1 Basic Operation 1226.1.1 HTTP request processing 1236.1.2 Delivery of static content 1256.1.3 Delivery of dynamic content 1276.2 Mechanisms for Dynamic Content Delivery 1356.2.1 Beyond CGI and SSI 1356.2.2 Native APIs (ISAPI and Apache Server API) 1356.2.3 FastCGI 1356.2.4 Template processing 1366.2.5 Servlets 1376.2.6 Java Server Pages 1386.2.7 Future directions 1396.3 Advanced Functionality 1406.3.1 Virtual hosting 1406.3.2 Chunked transfers 1416.3.3 Caching support 1426.3.4 Extensibility 1436.4 Server Configuration 1436.4.1 Directory structure 1436.4.2 Execution 1446.4.3 Address resolution 1456.4.4 MIME support 1466.4.5 Server extensions 1466.5 Server Security 1476.5.1 Securing the installation 1476.5.2 Dangerous practices 1486.5.3 Secure HTTP 1496.5.4 Firewall configurations 1496.5.5 HTTP proxies 1506.6 Summary 150Questions and Exercises 1516.7 Bibliography 1527 Web Browsers 1537.1 Overview of Browser Functionality 1547.2 Architectural Considerations 1557.3 Overview of Processing Flow in a Browser 1577.3.1 Transmitting a request 1577.3.2 Receiving a response 1597.4 Processing HTTP Requests 1627.4.1 Constructing the request line 1637.4.2 Constructing the headers 1657.4.3 Constructing the request body 1667.4.4 Transmitting the request 1677.5 Processing HTTP Responses 1677.5.1 Processing successful responses 1687.5.2 Processing responses with other status codes 1707.6 Cookie Coordination 1727.7 Privacy and P3P 1737.8 Complex HTTP Interactions 1747.8.1 Caching 1747.8.2 Authorization: challenge and response 1787.8.3 Using common mechanisms for data persistence 1797.8.4 Requesting supporting data items 1807.8.5 Multimedia support: helpers and plug-ins 1827.9 Summary 184Questions and Exercises 1867.10 Bibliography 1877.11 Web Links 1887.12 Endnotes 1888 Active Browser Pages: From JavaScript to AJAX 1898.1 Pre-History 1918.2 JavaScript 1918.2.1 Manipulating page content 1948.2.2 Client-side form validation 1968.2.3 Hovering behaviors: image rollover 1998.2.4 JavaScript Object Notation 2018.2.5 Summary 2028.3 Cascading Style Sheets 2038.3.1 Format of CSS rules 2048.3.2 Hovering behaviors: the a:hover pseudo-class 2088.3.3 Summary 2098.4 DHTML 2098.4.1 Inner workings 2108.4.2 Controlling content visibility 2108.4.3 Leveraging toolkits 2128.4.4 Client-side validation using toolkits 2168.4.5 Hovering behaviors using toolkits 2178.4.6 Widgets 2198.4.7 Summary 2218.5 AJAX 2218.5.1 Content injection: manual approach 2228.5.2 Content injection: using toolkits 2248.5.3 Auto-completion 2258.5.4 Remote validation 2288.5.5 Where does DHTML end and AJAX begin? 2298.5.6 Summary 2318.6 Case Study: 5-Star Rating 2318.6.1 Designing a star-rating component 2328.6.2 When you click upon a star: what happens on the server? 2368.7 Summary 236Questions and Exercises 2378.8 Bibliography 2378.9 Web Links 2388.10 Endnotes 2389 Approaches to Web Application Development 2399.1 Taxonomy of Web Application Approaches and Frameworks 2409.1.1 Programmatic approaches 2409.1.2 Template approaches 2419.1.3 Hybrid approaches 2419.1.4 Frameworks 2429.2 Comparative Survey of Web Application Approaches and Frameworks 2459.2.1 CGI and FastCGI 2459.2.2 Server-Side Includes (SSI) 2469.2.3 PHP 2469.2.4 Java Servlet API 2479.2.5 Cold Fusion 2499.2.6 Velocity 2519.2.7 Active Server Pages and .NET 2529.2.8 Java Server Pages 2549.2.9 JSP Model 2 2579.2.10 Java Standard Tag Library 2589.2.11 Struts 2609.2.12 Java Server Faces 2619.2.13 JBoss Seam 2649.2.14 Rapid application development: Ruby on Rails 2649.3 Summary 267Questions and Exercises 2729.4 Bibliography 27210 Web Application Primer 1: Struts and JSTL 27510.1 Case Study: Virtual Realty Listing Services 27610.2 Application Requirements 27810.3 Technology Choices 27910.4 Overview of Struts 28010.5 Structure of the VRLS Application 28310.5.1 Configuration 28410.5.2 Controller components 28710.5.3 View components 29110.5.4 Model components 29710.6 Design Decisions 29910.6.1 Abstracting functionality into service classes 29910.6.2 Including embedded pages to support co-branding 30110.6.3 Creating and modifying customer profiles in one task 30210.7 Suggested Enhancements 30310.7.1 Adding an administrative interface 30310.7.2 Enhancing the signup process through e-mail authentication 30410.7.3 Improving partner recognition through a persistent cookie 30510.7.4 Adding caching functionality to the DomainService Class 30610.7.5 Paging through cached search results 30710.7.6 Using XML and XSLT for view presentation 30810.7.7 Tracking user behavior 31010.7.8 Using an object-relational mapping tool 31010.7.9 Adding DHTML and AJAX for an enhanced user experience 31110.8 Summary 312Questions and Exercises 31210.9 Bibliography 31311 Web Application Primer 2: Ruby on Rails 31511.1 Comparing Rails with Java EE 31611.1.1 Similarities 31611.1.2 Differences 31711.2 Application Requirements 31711.3 Building the Administrative Interface as a Rails Application 31811.3.1 Downloading and installing Ruby and Rails 31811.3.2 Building an application skeleton 31811.3.3 Creating a new project and configuring the database 32111.3.4 Scaffolding for the model, view, and controller classes 32211.3.5 Enhancing the application 32611.4 Benefits and Drawbacks of Using Rails 33911.4.1 How rapid is rapid application development? 33911.4.2 Database support 34011.4.3 Limitations of scaffolding 34011.4.4 Scalability 34111.4.5 Performance and clustering 34111.4.6 Version 2.0 issues 34111.4.7 Is Rails web-designer-friendly? 34211.5 Whither Enterprise Java? 34311.6 Summary 344Questions and Exercises 34411.7 Bibliography 34511.8 Web Links 34511.9 Endnotes 34512 Search Technologies 34712.1 Overview of Algorithms 34812.1.1 Historical perspective 34812.1.2 Basic vector-space algorithm 34912.1.3 Common enhancements 35512.1.4 Word clustering 35512.1.5 Custom biases 35712.2 Searching the Web 35812.2.1 Google page ranking 35812.2.2 Web spiders 35912.2.3 Summary 36112.3 Site Search Applications 36112.3.1 General architecture 36212.3.2 Lucene 36312.3.3 OneBox applications 36712.4 Search Engine Optimization 36912.4.1 Robots.txt 37012.4.2 Sitemaps 37212.4.3 Sitemap extensions 37612.4.4 Site and URL structure 37612.4.5 Black Hat SEO 37712.5 Summary 378Questions and Exercises 37912.6 Bibliography 38012.7 Web Links 38012.8 Endnotes 38013 Trends and Directions 38113.1 XML Query Language 38213.2 Semantic Web 38513.2.1 Resource Description Framework (RDF) 38613.2.2 Composite Capabilities/Preference Profiles 39213.2.3 RDF query language 39313.3 Future of Web Application Frameworks 39613.3.1 One more time: separate content from presentation 39613.3.2 Use the right tools for the job 39813.3.3 Simplicity 39913.4 Current Trends 40413.4.1 Everything old is new again 40413.4.2 Social networking and community web sites 40513.4.3 Cloud computing and “Weblications” 40513.5 Summary 407Questions and Exercises 40713.6 Bibliography 40813.7 Web Links 40813.8 Endnotes 40814 Conclusions 409Index 413
Du kanske också är intresserad av
- Nyhet
- -30%
- -22%
- -22%
- -22%
- -30%
- Nyhet
- Signerad!
- -30%