# AJAX Toolkit Framework Overview

## Background

Asynchronous JavaScript And XML, or AJAX, is a web development technique for creating interactive web applications using a combination of:

- XHTML (or HTML) and CSS for mark up and styling information (XML is commonly used , although any format will work, including preformatted HTML, plain text, JSON and even EBML).
- The Document Object Model (DOM) manipulated through JavaScript to dynamically display and interact with the information presented.
- The XMLHttpRequest object to exchange data asynchronously with the web server.

Like DHTML, LAMP, or SPA, AJAX is not a technology in itself, but a term that refers to the use of a group of technologies together.

## Features

The AJAX Toolkit Framework (ATF) provides extensible frameworks and exemplary tools for building IDEs for the many different AJAX runtime offerings in the market. These frameworks will contain features for developing, deploying, debugging and testing AJAX applications. Tools built upon these frameworks will initially include: enhanced JavaScript editing features such as edit-time syntax checking; an embedded Mozilla web browser; an embedded DOM browser; and an embedded JavaScript debugger. Because it is a framework, ATF will provide for the development and incorporation of additional AJAX development tooling. ATF will use existing Eclipse extensions for web application deployment so that the environment will be server agnostic, that is, a developer may easily extend the framework to deploy their AJAX application to an arbitrary new class of server. Initial adapters will include a J2EE / JSP adapter and an Apache adapter.

### ATF Development Tools

These are generic tools that will help the developer in creating any AJAX/DHTML type web application.

- DOM Inspector, DOM Source, CSS view, XHR Monitor, Browser Console
  - Mozilla tools integration for web developers as Eclipse Views.
- JavaScript Debugger
  - Tight integration with Eclipse debug UI to provide flow control in browser runtime and the ability to examine JavaScript code and variables
- Embedded Browser
  - Access to browser DOM, e.g., Mozilla XPCOM

Related concepts