AJAX for Java Developers Using Rational™ Application Developer (RAD)

Java Training Overview

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 RAD Development Environment, and the lab instructions include detailed directions on using RAD and the RAD wizards and tools.

Java Training Skills Gained
  • 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

50% hands-on, 50% lecture

Supported Platforms

Tomcat; JBoss AS, IBM WebSphere/RAD; Eclipse/MyEclipse

Java Training Course Duration

4 Days

Java Training 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
  • Ajax4sjf Overview
  • Using Ajax with Ajax4jsf
  • Ajax4jsf components
  • Overview of the RichFaces Component Library
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

Wintrac Inc.
16523 SW McGwire Ct.
Beaverton OR 97007
© Wintrac, Inc. All rights reserved.                                                                               Site Map   |   Terms of Use   |   Privacy Policy