AJAX for Java™ Developers

Summary

Ajax (Asynchronous JavaScript and XML) is a browser based technology for creating highly interactive Web applications by updating parts of a Web page with new data without reloading the whole page. This results in a more responsive and interactive interface, and is the technology powering websites like Google Maps and Google Mail.

There is no formal definition of Ajax, but using XMLHttpRequest/JavaScript has become the dominant Ajax technology. The course starts with an introduction to using XMLHttpRequest and a somewhat brief introduction to JavaScript fundamentals. It includes in-depth coverage of programming with Ajax to send/retrieve data to/from a server, updating a Web page with JavaScript, and using CSS to modify the look of a Web page.

The course includes detailed coverage of how to handle Ajax requests using Servlets/JSP and Java Web applications. This includes generation of HTML, XML and JSON from Java, as well as the use of various other server-side Ajax techniques.

The course also provides extensive coverage on using frameworks - both client side JavaScript and server side Java - to support the complex programming that Ajax requires. These frameworks can reduce the sometimes complex and tedious programming that Ajax can require.

Client side frameworks can relieve you from dealing with the low level complexities of Ajax, or provide preexisting widgets like a textbox with Ajax-powered completions. We also cover frameworks like Direct Web Remoting (DWR) to invoke server side Java from JavaScript, and Google Web Toolkit (GWT) to develop Ajax applications completely in Java, and have GWT generate the JavaScript.

This course is hands on with labs to reinforce all the important concepts. It will enable you to build working Ajax applications, and give you an understanding of the important concepts and technology in a very short time.

All labs are done using the Eclipse IDE for programming and deploying to the server, and the lab instructions include detailed instructions on using them.

Course Objectives
On completion of this course, the student should be able to
  • Understand the principles of interactive Web applications and how Ajax is used to create them
  • Understand how XMLHttpRequest works, and use it with JavaScript to update a Web page
  • Use JavaScript and DOM with Ajax to manipulate the structure of a Web page
  • Use Servlets/JSP to handle Ajax requests
  • Be familiar with Ajax technologies and frameworks such as Prototype, script.aculo.us, Dojo, JSON libraries, DWR (Direct Web Remoting) and GWT (Google Web Toolkit)
  • Understand the basics of CSS and use it with Ajax to dynamically change the Web page look
  • Understand and use JSON (JavaScript Object Notation)
  • Be familiar with using Ajax with XML
  • Use Ajax with HTML, JSON or XML on both the client-side and server-side (Java)
  • Use DWR (Direct Web Remoting) to invoke server side Java from the browser
  • Use Ajax with JSF
  • Understand issues with using Ajax technology, including design and security issues
Length
4 Days

Format
50% hands-on, 50% lecture

Course Outline

  • Session 1: Overview of Ajax
    • What are Rich Internet Applications?
    • What is Ajax?
    • Ajax, JavaScript, and DHTML
    • How Ajax Works
    • Overview of Ajax Technologies

  • Session 2: Basics of JavaScript for Browsers
    • JavaScript and DHTML Overview
    • Using JavaScript in an HTML Page
    • Basic JavaScript Programming
    • Functions in JavaScript
    • Debugging JavaScript
    • Accessing HTML Elements and Modifying with innerHTML

  • Session 3: XMLHttpRequest
    • The XMLHttpRequest Object
    • Using XMLHttpRequest
    • Working with Browser Differences
    • Your First Ajax Application
    • Using Ajax Data to Modify the Page

  • Session 4: Using Servlets and JSP with Ajax
    • Servlet/JSP Overview
    • Handling Ajax Requests
    • Returning Data to Ajax Requests
    • Using JSP pages to generate Ajax data

  • Session 5: More JavaScript for Ajax
    • Browser Events
    • Using Ajax with Browser Events
    • Using Built-in Objects
    • Objects and Arrays in JavaScript
    • Objects as Function Arguments
    • Defining Classes in JavaScript
    • Defining Modules and Namespaces in JavaScript

  • Session 6: Client-Side Ajax Frameworks
    • Overview - Prototype, Dojo, script.aculo.us and others
    • Prototype Overview
    • Using Prototype ($(), Ajax.Request)
    • script.aculo.us Overview
    • Using script.aculo.us Ajax autocompleter
    • Servlet/JSP (server-side) Generation of Data
    • Dojo Toolkit Overview
    • YUI (Yahoo User Interface Toolkit) Overview
    • Google Maps and Google Ajax Search API Overview

  • Session 7: Cascading Style Sheets (CSS)
    • CSS Overview
    • Defining and Using Styles and Style Sheets
    • Using CSS to Customize Ajax Data Display

  • Session 8: JavaScript Object Notation (JSON)
    • JSON Overview
    • JSON Data Structure
    • Objects and Arrays in JSON
    • Creating/Working with JSON on the Server using Java
    • Working with JSON in the browser
    • Other JSON Tools Overview

  • Session 9: XML and Ajax
    • XML Overview
    • XML - The x in Ajax
    • Working with XML on the browser
    • Generating XML data on the server with Java
    • Using HTML vs Using XML vs Using JSON

  • Session 10: Direct Web Remoting (DWR
    • Overview - Invoking Java via Ajax
    • DWR Architecture
    • Invoking Java Functions From the Browser
    • Registering Callbacks
    • Additional Capabilities
    • Overview of other technologies (JSON-RPC, Google Web Toolkit - GWT)

  • Session 11: Ajax and JavaServer Faces (JSF)
    • JSF Overview
    • JSF and Ajax
    • Demo Lab: Using Ajax with JSF

  • Session 12: Patterns and Best Practices
    • JavaScript Best Practices
    • State of Ajax
    • Ajax Design Patterns
    • Ajax Security Issues
    • Other Ajax Issues
    • Recap of Ajax Technologies and Their Uses
    • Future Directions



Notice: Undefined index: HTTP_REFERER in /var/www/datadeliverance/inc/trademarks.inc on line 3

Notice: Undefined index: HTTP_REFERER in /var/www/datadeliverance/inc/trademarks.inc on line 4

Notice: Undefined variable: REMOTE_USER in /var/www/datadeliverance/inc/trademarks.inc on line 7

Notice: Undefined index: HTTP_REFERER in /var/www/datadeliverance/inc/trademarks.inc on line 7

Notice: Undefined index: printer in /var/www/datadeliverance/inc/trademarks.inc on line 11

Go to course catalogue