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 (Dojo, Zimbra, etc) 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 / PHP adapter. An additional and unique aspect of the framework is the Personality Builder function, which assists
in the construction of arbitrary AJAX runtime frameworks, thus allowing those runtimes to be used with ATF tools.
ATF Development Tools
These are generic tools that will help the developer in creating any AJAX/DHTML type web application.
- Enhanced JavaScript Editing Features
- Batch and as-you-type syntax validation
- 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
- DOM Inspector, DOM Source, CSS view, XHR Monitor, Browser Console
- Mozilla tools integration for web developers as Eclipse Views.
ATF Personality Framework
A Personality is a collection of IDE features that are specifically targeted to a certain AJAX Runtime Library.
This is a core concept of ATF: providing an extensible framework to support AJAX development in arbitrary AJAX runtimes.
- Personality Builder Framework
- The Personality Builder Framework is primarily accessed via the Personality Builder Wizard, which generates the basic Eclipse assets for a new personality. They include:
- Plugin projects - A set of plugin projects that constitute a personality.
- Eclipse extensions - Extensions to existing Eclipse extension points.
- ATF extensions - Extensions to existing ATF extension points.
- A special plugin project that wraps all required assets of the target AJAX runtime libraries (i.e. JavaScript, Java, HTMl, and JSP files).
- Integrated Deployment
- Using Eclipse APIs, ATF will support J2EE / JSP and Apache / PHP. In practice ATF will be server agnostic to the largest extent possible.
Related concepts
Getting Started