Who Can Benefit
This course is for enterprise web developers who want to learn a scalable way of writing robust, user-friendly, and secure Ajax solutions for the enterprise.
Prerequisites
Skills Gained
Upon successful completion of the course, the student should be able to:
- Apply the technologies underlying Ajax
- Manage and measure HTTP traffic
- Use Ajax UI libraries, including Prototype and Scriptaculous
- Implement Ajax with REST and SOAP web services
- Select and implement server-side Ajax toolkits, such as Sajax, DWR, Backbase, JSF and GWT
- Look after your code through UnitTesting and JavaScript code profiling
Course Content
Module 1 - Ajax Basics
- Getting started with Ajax
- Ajax from a business, design and coding perspective
- Good coding practices
- Scaling your code
- Ajax in the bigger picture
- Low-level plumbio
- The HTTP protocol
- XHR object
- Refactoring the XHR object
- Refactoring in Javascript
- Writing Javacript objects
- Creating useable Wrapper Objects with the XHR object
- Dialects of Ajax
- Server Responses
- HTML Content
- Generated script
- Structured data (XML and JSON)
- Pros and Cons
- Ajax libraries
- Prototype,
- jQuery
- YUI,
- Leveraging the power of the JavaScript language
Module 2 - The Network
- HTTP Traffic Patterns
- A single HTTP request and response
- HTTP traffic patterns across the lifecycle of an entire application
- Data round-tripping
- Object Serialisation Patterns across the HTTP interface
- JSON
- XML
- Managing HTTP from the Client-side
- HTTP transport Strategies
- Prototype's X-JSON headers and Responders (principles and approach)
- Rico's Ajax.Engine (principles and approach)
- Measuring HTTP traffic
- Creating visual HTTP traffic Reports
- Tools: Firebug, Fiddler, LiveHTTPHeaders
- Comet and Reverse Ajax
- When to use Comet/Reverse
- Other Reverse Ajax approaches
Module 3 - User Interfaces
- UI Libraries
- Good JavaScript coding and encapsulation techniques
- Implications of the user interface
- Prototype and the DOM
- Prototype's support for:
- The DOM
- HTML forms
- Data validation patterns for Ajax
- Scriptaculous
- Scriptaculous
- Visual effects
- Drag and drop
- Event-driven code
- Callback functions
- Ajax UIs for navigation and data manipulation
- Web and desktop UI metaphors
- Differences
- Fusion
- Data categorization as opposed to classification schemes
Module 4 - Ajax Within the Enterprise Archicture
- Ajax in your enterprise architecture
- Server
- Business
- Ajax and web services
- SOAP web services
- REST web services
- How does Ajax work with SOAP and REST
- Server-side architecture
- Ajax toolkits and the patterns that they adopt
- Ajax Toolkit Overview
- Sajax
- DWR
- Backbase
- JSF
- GWT
- Mash-ups and how to interact directly with third-party web services from the client in a Web 2.0 style
- Looking after your code
- Unit testing in Ajax
- Functional Testing in Ajax
- jsUnit
- TestMaker
- Selenium
- Profiling Javascript code for execution speed and memory footprint




