| By Coach Wei, Rob Gonda | Article Rating: |
|
| February 15, 2007 10:00 AM EST | Reads: |
14,578 |
This content is reprinted from Real-World AJAX: Secrets of the Masters published by SYS-CON Books. To order the entire book now along with companion DVDs for the special pre-order price, click here for more information. Aimed at everyone from enterprise developers to self-taught scripters, Real-World AJAX: Secrets of the Masters is the perfect book for anyone who wants to start developing AJAX applications.
Servers Are for Data, Not Pages
AJAX changes the role of Web pages from being merely HTML documents into "applications" that contain both HTML markup and code. And it changes the role of the "server" from merely serving HTML pages to serving data too.
In classic Web applications, Web servers serve HTML Web pages. Some of the pages are static; others are generated dynamically by server-side logic. When the application contains dynamic data, the server has to convert that data into HTML markup and send it to the browser to be displayed as HTML pages. This way the server is merely serving "screen images" to the client side while the client-side browser is merely a screen-images rendering engine.
In AJAX Web applications, servers don't have to convert data into HTML markup. They can send data directly to the client-side. The client-side code will process the data inside the browser and dynamically update the HTML display. This eliminates significant overhead on the server side, leverages the client-side processing powers, and delivers better performance and scalability, as shown in Figure 1.4.
Dynamic and Continuous User Experience
An important characteristic of AJAX is in its first letter "A" – a user experience that is "asynchronous." Asynchronous
means that users continue to interact with the application while the browser is communicating with the server. No more "click, wait, and page refresh," the AJAX user experience is dynamic and continuous.
Classic Web applications deliver a "click, wait, and page refresh" user experience. Because the Web was originally designed for browsing HTML documents, a Web browser responds to user actions by discarding the current HTML page and sending an HTTP request back to the Web server. After doing some processing, the server returns a new HTML page to the browser, which then displays the new page. The cycle of "browser requests, server responds" is synchronous, meaning that it happens in real-time rather than "in the background" so the user has to wait and cannot do other tasks. Figure 1.5 illustrates the traditional HTML "click-wait-refresh" paradigm.
In AJAX-based applications, partial screen updates replace HTML's "click-wait-refresh" and asynchronous communication replaces synchronous request/response. This model decouples user interaction from server interaction, while updating only those user interface elements that have new information. This more efficient application architecture eliminates the wait so users can keep working and it makes nonlinear workflow possible. It also reduces network bandwidth consumption and server load for improved performance and scalability. Figure 1.6 illustrates the AJAX asynchronous/partial update paradigm.
This content is reprinted from Real-World AJAX: Secrets of the Masters published by SYS-CON Books. To order the entire book now along with companion DVDs, click here to order.
Published February 15, 2007 Reads 14,578
Copyright © 2007 SYS-CON Media, Inc. — All Rights Reserved.
Syndicated stories and blog feeds, all rights reserved by the author.
About Coach Wei
Coach Wei is the Founder and Chairman of Nexaweb (www.nexaweb.com), developers of the leading software platform for building and deploying Web 2.0 and AJAX applications. Previously, he played a key role at EMC Corporation in the development of a new generation of storage network management software. Wei has his master's degree from MIT, holds several patents, is the author of several technology publications including JDJ, Web 2.0 Journal, and AJAXWorld Magazine, and is an industry advocate for the proliferation of open standards.
About Rob Gonda
Rob Gonda is an industry visionary and thought leader, speaks on emerging technologies conferences nationwide, and combines unique approaches to technology and marketing strategies. He is the former Editor-in-Chief of the AJAX Developer’s Journal, an Advanced Certified Coldfusion Developer, member of the Adobe Community Experts, frequent contributor to the CFDJ and ADJ, co-author of Real-World AJAX: Secrets of the Masters, author of AjaxCFC, holds a BS in computer science and engineering and an MBA with a specialization in entrepreneurship. Rob recently joined Sapient from ichameleon/group/ where he was a founding partner and chief technical officer. He is part of the global technology leadership team, and brings with him over ten years of experience in web development and 360 marketing campaigns for clients such as Adobe, Coca-Cola, Guinness, Toyota, Taco Bell, NBC, and others. He specializes in emerging technologies, marketing strategy, social media, and he is currently fascinated with rich internet applications, service oriented architecture, mobile, agile methodology, automation, behavioral targeting, multi-channel synergy, and identifying new trends. Rob’s mission is to develop forward-thinking expertise that will ensure clients are always on par with rapidly changing technologies and maintain its ethos of evolving. You can reach him at rob[at]robgonda[dot]com and read his blog is at http://www.robgonda.com
- Performance of Java Compilers: An Empirical Study
- Java Kicks Ruby on Rails in the Butt
- Ulitzer’s Amazing First 30 Days in Public Beta
- 1st Annual Government IT Expo: Call for Papers Deadline July 15
- REA Is Where RIA Becomes the Norm
- Why an Application Grid?
- Will Ulitzer Dominate News Content on The Web? -Gartner
- Clear Toolkit 4: The Road Map
- Profiling Netbeans within Amazon EC2
- Java Persistence on the Grid: Approaches to Integration
- Performance of Java Compilers: An Empirical Study
- Java Kicks Ruby on Rails in the Butt
- Developing Rich Client Applications Using Swing - II
- The Right Time for Real Time Java
- Xpress Suite Adds Automatic Java to iPhone Conversion
- Ulitzer’s Amazing First 30 Days in Public Beta
- Initial Thoughts on IBM Acquisition of Sun Microsystems
- 1st Annual Government IT Expo: Call for Papers Deadline July 15
- Maximizing Java Performance with Bespoke Programming
- REA Is Where RIA Becomes the Norm
- A Cup of AJAX? Nay, Just Regular Java Please
- Java Developer's Journal Exclusive: 2006 "JDJ Editors' Choice" Awards
- The i-Technology Right Stuff
- JavaServer Faces (JSF) vs Struts
- Rich Internet Applications with Adobe Flex 2 and Java
- Java vs C++ "Shootout" Revisited
- Bean-Managed Persistence Using a Proxy List
- Reporting Made Easy with JasperReports and Hibernate
- What's New in Eclipse?
- Creating a Pet Store Application with JavaServer Faces, Spring, and Hibernate





































