did-you-know? rent-now

Amazon no longer offers textbook rentals. We do!

did-you-know? rent-now

Amazon no longer offers textbook rentals. We do!

We're the #1 textbook rental company. Let us show you why.

9780470087886

Professional Web 2. 0 Programming

by ; ; ; ;
  • ISBN13:

    9780470087886

  • ISBN10:

    0470087889

  • Edition: 1st
  • Format: Paperback
  • Copyright: 2006-11-29
  • Publisher: Wrox
  • Purchase Benefits
  • Free Shipping Icon Free Shipping On Orders Over $35!
    Your order must be $35 or more to qualify for free economy shipping. Bulk sales, PO's, Marketplace items, eBooks and apparel do not qualify for this offer.
  • eCampus.com Logo Get Rewarded for Ordering Your Textbooks! Enroll Now
List Price: $39.99

Summary

Web 2.0 architecture opens up an incredible number of options for flexible web design, creative reuse, and easier updates. Along with covering the key languages and techniques of Web 2.0, this unique book introduces you to all of the technologies that make up Web 2.0 at a professional level. Throughout the chapters, you'll find code for several example applications built with popular frameworks that you'll be able to utilize. You'll first explore the technologies that are used to create Web 2.0 applications. This includes an in-depth look at XHTML, Cascading Style Sheets (CSS), JavaScript, and Ajax. Next, you'll gain a better understanding of the protocols and formats that enable the exchange of information between web clients and servers. Ultimately, you'll discover exactly what you need to know about server-side programming in order to implement new ideas and develop your own robust applications. What you will learn from this book How Web 2.0 applications are developed New ways to get the major client-side technologies to work together The new class of emerging tools All about HTTP and URIs, XML, syndication, microformats, and Web Services Techniques for implementing and maintaining your URI space How to serve XML over HTTP Steps for building mashups to aggregate information from multiple sources Methods for enhancing security in your applications Who this book is for This book is for professional developers who have a basic understanding of HTML, CSS, JavaScript, and XML. Wrox Professional guides are planned and written by working programmers to meet the real-world needs of programmers, developers, and IT professionals. Focused and relevant, they address the issues technology professionals face every day. They provide examples, practical solutions, and expert education in new technologies, all designed to help programmers do a better job.

Author Biography

Eric van der Vlist is an independent consultant and trainer. His domain of expertise includes Web development and XML technologies. He is the creator and main editor of XMLfr.org, the main site dedicated to XML technologies in French, the author of the O’Reilly books XML Schema and RELAX NG, and a member or the ISO DSDL (http://dsdl.org) working group, which focuses on XML schema languages. He is based in Paris and you can reach him by mail (vdv@dyomedea.com) or meet him at one of the many conferences where he presents his projects.

Alessandro Vernet has been involved with web and XML technologies from day one. Prior to co-founding Orbeon, he worked at Symantec Corporation as part of the VisualCafe team, working on the next-generation RAD for web applications. He is the co-author of The Best of Java, received the 1998 Logitech Award for his master’s thesis on Jaskell, and is one of the architects of the open source Orbeon PresentationServer (OPS) project. His current interests lie in XML technologies and web applications. He recently implemented an XForms engine using Ajax/JavaScript, co-authored the XML Pipeline Language specification published by the W3C, and is active in two W3C Working Groups: the XForms and XML Processing Model Working Groups. He holds an MS/CS from the Swiss Institute of Technology (EPFL) in Lausanne, Switzerland.

Erik Bruchez has extensive experience in the software industry as a software architect and consultant. As a former employee of Symantec Corporation, he contributed to the VisualCafe for Java product line. In 1999, he co-founded Orbeon, Inc. (www.orbeon.com), where he is now an architect of Orbeon PresentationServer (OPS), an open source web platform for form-based applications that builds on technologies such as XForms and Ajax. Erik participates in the W3C’s XForms and XML Processing Model working groups. He is the author of articles about web applications and XML technologies and has been a speaker at conferences such as JavaOne, ObjectWebCon, and XTech. Erik holds an MS/CS degree from the Swiss Institute of Technology (EPFL) in Lausanne, Switzerland. He spends most of his time between Switzerland and California and can be reached by email at ebruchez@orbeon.com.

Joe Fawcett started programming in the seventies and briefly worked in IT after leaving full-time education. He then pursued a more checkered career before returning to software development in 1994. In 2003 he was awarded the title of Microsoft Most Valuable Professional in XML for community contributions and technical expertise. He currently works in London as senior developer for FTC Kaplan Ltd, a leading international provider of accountancy and business training.

Danny Ayers is a freelance developer, technical author, and consultant specializing in cutting-edge Web technologies. His motivation is the belief that with a little encouragement, the Web can be significantly more useful and interesting than it is now. He’s been a blogger for some five years (http://dannyayers.com), with a tendency to post material relating to the Semantic Web or cat photos.

Technical Editor Micah Dubinko is an experienced software architect and writer working for the Mobile Platform group at Yahoo! Inc. He has been programming since the third grade—at the time on a computer with only 2K of memory. Micah served as an editor and author of the W3C XForms specification, publishing a book in print and online, and eventually being awarded the InfoWorld Innovators 2004 award for his effort. Since then, he has contributed to and edited numerous Web 2.0 books and articles. His blog is at http://dubinko.info/blog/. Micah lives with his wife and two daughters in Silicon Valley.

Table of Contents

Foreword xvii
Acknowledgments xix
Introduction xxi
Hello Web 2.0 World
1(36)
Introducing BuzzWatch
1(3)
Charting the Landscape
4(2)
Exploring Behind the Scene
6(18)
Making BuzzWatch a Better Web Citizen
24(4)
Making BuzzWatch More Maintainable
28(5)
Applying the Final Touch
33(2)
Conclusion
35(2)
Page Presentation
37(24)
Creating Clean and Simple Pages
37(5)
Producing Valid HTML
38(2)
Using Cascading Style Sheets
40(1)
Choosing Appropriate Elements
41(1)
From HTML to XHTML
42(5)
XHTML 1.0
43(1)
XHTML 1.1
43(1)
Why Use XHTML?
44(1)
Differences from HTML
45(2)
The Document Object Model
47(4)
DOM Levels
49(1)
DOM API Overview
49(2)
DOM API Reference
51(1)
Cascading Style Sheets
51(4)
Rounded Corners
52(2)
Tabs
54(1)
Tools
55(5)
The DOM Inspector for Firefox
55(2)
The Web Developer Toolbar for Firefox
57(1)
The Internet Explorer Developer Toolbar
58(1)
DevBoi for Firefox
59(1)
Summary
60(1)
JavaScript and Ajax
61(22)
JavaScript: Understanding Lesser-Known but Crucial Features
61(8)
The undefined Value and Type
62(2)
The === Operator
64(1)
Iterating with for-in
65(1)
Functional Programming
66(1)
Function Arguments
67(2)
JavaScript Optimizations
69(1)
Reducing JavaScript Download Time
69(1)
Keep DOM Updates to a Minimum
70(1)
Ajax
70(11)
It's All About the User Experience
71(1)
XMLHttpRequest History
71(1)
XMLHttpRequest Example
72(3)
Yahoo! Ul Library
75(3)
Google Web Toolkit
78(1)
Handling Memory Leaks
79(2)
Summary
81(2)
Design Principles
83(28)
Common Design Issues
84(25)
Bookmarks
84(4)
Navigation
88(1)
Minimizing Traffic
89(4)
Support for Down-Level Devices
93(1)
Accessibility Requirements and Guidelines
94(15)
Summary
109(2)
What's Next for Web 2.0?
111(56)
XSLT and XPath
111(13)
XSLT Hello World Example
112(2)
More XSLT
114(3)
XSLT Styles
117(2)
More XSLT
119(3)
Using XSLT in a Browser
122(2)
SVG
124(18)
SVG Hello World Example
126(4)
Styling SVG
130(2)
More SVG
132(10)
XForms
142(19)
XForms Hello World Example
143(4)
Styling XForms
147(4)
More XForms Examples
151(10)
What's Next for HTML
161(4)
The W3C Proposals
162(1)
The WHATWG Counterproposals
163(1)
Comparing XHTML 2.0 and HTML 5
164(1)
Summary
165(2)
Rich Client Alternatives
167(26)
From Browsers to Rich Clients
167(2)
Browser Drawbacks
168(1)
A Solution --- Rich Clients
169(1)
Rich Clients Today
169(1)
Comparing Rich Client Frameworks
169(21)
OpenLaszlo
170(9)
XUL
179(7)
XAML
186(4)
Summary
190(3)
HTTP and URIs
193(28)
How the Web Was Won
193(1)
Web 1.0: HTML, URLs, and HTTP
194(6)
Under the Hood
195(1)
URLs and URIs
196(3)
Dangers of Hidden Code
199(1)
What Does a Web Server Really Do?
199(1)
The Web Is Two-Way
200(1)
The Web Model and REST
200(4)
Resources
201(1)
Representations
201(1)
State
202(1)
Transfer: Using HTTP Methods
203(1)
Considerations for Building an HTTP Service
204(4)
Media Types
205(1)
Resources of Interest
205(1)
Required Representations
206(1)
Server Response
207(1)
What's on the Wire?
208(4)
Reference Toolkit
208(1)
An HTTP Example
208(4)
More Representations
212(7)
Content Negotiation
214(1)
Watching Messages with HTTPTracet
215(4)
Summary
219(2)
XML and Its Alternatives
221(22)
XML
221(14)
The Basics of XML
221(4)
XML Namespaces
225(2)
Unicode and Character Encodings
227(2)
Dealing with Binary Data
229(1)
Features of XML You Usually Won't Need
230(1)
Datatypes
231(1)
Schema Languages
232(1)
XSLT and XPath
233(1)
Other XML Technologies
234(1)
Existing Data Formats and Protocols
235(1)
APIs
235(1)
Alternatives to XML
235(6)
JSON
236(2)
JavaScript
238(1)
HTML
238(2)
Other Formats
240(1)
Summary
241(2)
Syndication
243(22)
Some Syndication Basics
243(3)
Microcontent
244(1)
The Feed
244(2)
The Syndication Process
246(1)
Syndication Formats
246(17)
RSS 2.0: Simple Content
247(4)
RSS 1.0: Resource Description
251(5)
RSS 1.0 Specifications and Modules
256(1)
Atom: Best of Both Worlds?
257(4)
Atom Specifications and Extensions
261(1)
Comparing Elements Across Formats
261(1)
Enclosures and Podcasting
262(1)
Summary
263(2)
Microformats
265(22)
The Basics of Microformats
266(9)
CSS and Microformats
267(2)
Semantic HTML
269(1)
Content, Presentation, and Data
269(1)
Disambiguation
269(2)
Coverage
271(2)
Standards Org 2.0
273(2)
Creating Microformat Documents
275(10)
Example: Events Timeline
275(10)
Summary
285(2)
Combining Protocols to Build Web Services
287(22)
Clarifying Web Services
287(1)
REST Services
288(7)
A Sample Application
288(4)
The Atom Publishing Protocol
292(1)
REST Services in the Wild
292(2)
More Resources on REST
294(1)
WS-* Services
295(8)
WS-* Services and SOAP
295(4)
WS-* Services and WSDL
299(2)
The WS-* Stack
301(2)
REST versus WS-*
303(4)
SOAP
303(1)
WSDL
304(1)
Tool Support
305(2)
Summary
307(2)
Serving XML over HTTP
309(24)
How Is Serving HTML Different?
309(1)
Media Types
309(1)
Character Encoding
310(1)
Serving Well-Formed XML
310(1)
Serving Static Content
310(2)
Serving Dynamic Content
312(16)
Principles
312(1)
Serving XML with Java
313(4)
Serving XML with ASP.NET and C#
317(4)
Serving XML with Ruby on Rails
321(1)
Serving XML with PHP, Perl, Python, and More
322(1)
Using Server-Side XSLT
322(3)
Using an XML Platform
325(3)
XQuery and XML Databases
328(4)
Serving XML with eXist
329(2)
WebDAV and Subversion
331(1)
Serving JSON
332(1)
Summary
332(1)
Databases and Non-XML Sources
333(38)
Dealing with Non-XML Sources
333(1)
Converting Relational Data to XML
334(24)
Server-Side Transformation Using SQL Server
339(4)
Client-Side Transformation Using ADO.NET
343(5)
Using Oracle XSQL
348(10)
Converting Binary Data to XML
358(12)
A Manual Conversion
358(5)
Automating the Conversion
363(7)
Summary
370(1)
Creating Syndication Channels
371(30)
A Simple Atom Service
371(17)
User Interfaces
372(2)
Application Architecture
374(1)
Abdera Atom Toolkit
374(1)
Code Overview
375(13)
Running the Application
388(1)
Compiling and Deploying the Application
388(1)
Considerations for Going Live
389(1)
Adding E-mail Support
389(11)
Understanding the Mail Support Architecture
391(1)
Setting Up a Local Mail Server
391(2)
Using the MailClient Class
393(3)
The MessageReader Interface
396(1)
MailEntryCollector
396(4)
Summary
400(1)
Mashups, HTML Scraping, and Web Services
401(20)
Popular Examples: Mapping Mashups
402(2)
Why Use Mashups?
404(2)
The Business Model of Mashups
406(1)
Screen Scraping
407(4)
Benefits and Drawbacks
407(1)
Playing Fair
408(1)
Downloading the Page
408(1)
Analyzing the Page
409(1)
A Simple Screen Scraping Example
410(1)
Creating Feeds
411(4)
Deploying on Your Server
414(1)
Deploying Through an External Service
415(1)
Mapping and Badges
415(4)
Badges
416(1)
Google Maps
417(2)
Summary
419(2)
Implementing and Maintaining Your URI Space
421(14)
Future-Proofing Your URIs
422(3)
Technology Agnosticism
422(1)
Hierarchies and Collections
423(1)
Trailing Slashes and Location Independence
424(1)
Managing Change in Your URI Space
425(3)
The Basics of HTTP Redirection
425(1)
Permanently Redirecting Resources
426(1)
Temporarily Redirecting Resources
426(1)
Redirection Methods You Should Not Use
427(1)
Server-Side Redirection
428(1)
Your URI Mapping Toolbox
428(5)
Java Servlets
428(1)
Apache mod_alias and mod_rewrite
429(4)
ASP .NET and IIS
433(1)
Summary
433(2)
Podcasting and Serving Multimedia
435(24)
The Formats Labyrinth
436(18)
Descriptive Formats
436(11)
Container and Encoding Formats
447(7)
Protocols
454(3)
Multicast
455(1)
Unicast
455(1)
Choosing a Protocol
456(1)
Summary
457(2)
Security
459(36)
What Is Security?
459(2)
Resource Security
459(1)
Message Security
460(1)
Lessons Learned from History
461(1)
The Layered Approach
461(1)
Authentication and Authorization
462(5)
Authentication and Authorization in IIS and ASP.NET
462(2)
Different Authentication Methods in IIS and ASP.NET
464(2)
Authentication and Authorization in Apache
466(1)
Message Encryption
467(2)
Symmetric Encryption
467(1)
Public Key Infrastructure
468(1)
Message Digests
469(1)
Digital Certificates
469(1)
Secure Sockets Layer
470(9)
The Stages of in an SSL Communication
471(1)
Setting Up SSL in IIS
471(4)
Setting Up SSL in Apache
475(4)
Code Security
479(3)
General Principles
479(3)
Web Services Security
482(12)
Using Web Services Security
483(2)
How the Web Service Works
485(1)
Adding Policy
486(1)
Adding the Custom Authentication
487(3)
Creating a Client
490(3)
Improving Security
493(1)
Summary
494(1)
Index 495

Supplemental Materials

What is included with this book?

The New copy of this book will include any supplemental materials advertised. Please check the title of the book to determine if it should include any access cards, study guides, lab manuals, CDs, etc.

The Used, Rental and eBook copies of this book are not guaranteed to include any supplemental materials. Typically, only the book itself is included. This is true even if the title states it includes any access cards, study guides, lab manuals, CDs, etc.

Rewards Program