AJAX In Action [106]
forms and the XMLHttpRequest object. We also considered bandwidth management using a client-side queue of Command objects. This sort of technique can give a significant performance boost by reducing both server load and network Licensed to jonathan zheng Resources 207 traffic, and it is in keeping with what we have observed about best practice in SOA, moving from an RPC-style approach toward a document-based communication strategy. This chapter concludes our coverage of the core techniques of Ajax. We’ve now covered all the basics and touched on quite a few advanced topics along the way. In the following three chapters we return to the theme of usability and add some polish to the technical wizardry that we’ve accomplished here, in order to highlight key issues that can differentiate a clever hack from something that the lay user will actually want to use. 5.7 Resources Several web frameworks were discussed in this chapter. Here are the URLs: ■ Struts (http://struts.apache.org) ■ Tapestry (http://jakarta.apache.org/tapestry/) ■ JSF (http://java.sun.com/j2ee/javaserverfaces/faq.html) ■ PHP-MVC (www.phpmvc.net) There are over 60 web frameworks for Java alone listed by the Wicket developers: (http://wicket.sourceforge.net/Introduction.html). JSF is a broad category covering many individual frameworks and products. Kito Mann, author of JavaServer Faces in Action (Manning, 2004), maintains the definitive portal site for all things JSF at www.jsfcentral.com/. Greg Murray and colleagues of Sun’s Blueprints catalog discuss Ajax and JSF at https://bpcatalog.dev.java.net/nonav/ajax/jsf-ajax/frames.html. AjaxFaces is a commercial Ajaxenabled JSF implementation (www.ajaxfaces.com), and Apache’s Open Source MyFaces is looking at Ajax, too (http://myfaces.apache.org/sandbox/inputSuggestAjax.html). Microsoft’s Atlas is still under development at the time of writing, but early releases are expected later this year (2005). Scott Guthrie is Project Manager of Atlas. His blog can be found at http://weblogs.asp.net/scottgu/archive/2005/06/28/ 416185.aspx. You can find JSON-RPC libraries for a range of programming languages at www.json-rpc.org/impl.xhtml. Licensed to jonathan zheng Licensed to jonathan zheng Part 3 Your Ajax application works end-to-end now and can read from the server and update data on the server. There’s still some way to go though, if you want to deploy a professional-quality application to real users. We’ll show you in this part how to make your application easier to use, safer to use, and fast enough to use. Licensed to jonathan zheng Licensed to jonathan zheng The user experience This chapter covers ■ Key features of usable code ■ Common notification features ■ A reusable framework for notifications ■ Highlighting updated data in situ 211 Licensed to jonathan zheng 212 CHAPTER 6 The user experience In chapter 1, we discussed usability, the keystone to any software application. No matter how well organized your codebase and how clever the technical merits of your application, if the usability stinks, you leave a bad association in the user’s mind. This can be grossly unfair, but it’s a fact of life. More people recognize Albert Einstein for his hangdog looks and wild hair than understand what he was trying to
Professional Ajax