
Ajax certainly is a meshing of multiple techniques for building web applications. While understanding that
Ajax is not a singular approach, and covers a wide range of tools it is perfectly legitimate to build applications
that adhere to the spirit while using completely different tools altogether.
In this chapter, we will go through the acronym soup and see what the X-this and X-that things are all about.
This discussion provides the terms that will be used throughout the remainder of the course. Essentially, this
chapter lays the groundwork for the remainder of the course.
Ajax Components
Ajax: Asynchronous JavaScript and XML. While this is a bit of an oversimplification, it hits upon the
essence of how this design paradigm works.
In a larger view, Ajax type applications include many things.
- DHTML, which is itself a mishmash technology
- Definitely JavaScript on the client side
- Text or XML messaging
- XMLHttpRequest or the MSXML XMLHTTP
- Cascading Style Sheets
- XML Document Object Model or DOM
- Browser object model or HTML DOM
Because we are dealing with building web applications, the Hyper Text Transfer Protocol, HTTP is the lingua
franca. HTTP messages have a header and body. There is a small set of verbs, GET and POST being most
common. All web applications use this protocol behind the scenes, and browsers speak it natively.
HTML, the Hypertext Markup Language is the document format for the web. HTML is tag based, similar to
SGML. It is a set of known tags with known attributes.
DHTML, Dynamic HTML, is a blanket term covering an array of techniques surprisingly similar to that of
Ajax. HTML is the document format. Elements within the HTML page are handled in a dynamic fashion,
using the browser Document Object Model, Cascading Style Sheets and JavaScript.
The HTML Document Object Model, also known as the browser DOM, is used to provide programmatic
access to page elements. The window, document, forms, anchors, images, and the like are all accessible
JavaScript is the programming language of choice, as it is supported by nearly all major browsers. Coding in
JavaScript is notoriously difficult due to browser implementation differences, object oriented technique
mismatch, lack of true data typing, lack of compilation and threading. JavaScript is simply put, a scripting
language rather than a full-fledged programming language.
XML, the Extensible Markup Language, is a simplified SGML and an extensible HTML. XML was designed
specifically to be easy to use like HTML, but have the extensibility of SGML. There are a simple set of rules
for XML documents. When using XML, there is a bevy of tools available to make it easy to work with.
XML documents are a way to provide purity of data by separating it from presentation information,
business logic and constraints, etc. Document Type Definitions, or DTDs, are an old school way of providing
additional structural constraints on XML content. XML Schemas supplanted DTD, and are a key way to
define both structural constraints and data type information for XML documents. XSL, the Extensible Style
Sheet Language, is used to provide presentation, transformation, node location, and styling for XML
documents. XQuery is a language currently being developed that will fill a role for XML similar to the way
SQL is used for relational databases.
A Web Service is a term used to describe utilizing the World Wide Web as a global network. One manner of
thinking is like RPC over HTTP. Another is to think of workflow and EDI capabilities over HTTP. Yet
another is to envision a world where applications may be built by using components available around the
WWW via service endpoints.
Some of the tools for working with XML Web Services include:
- SOAP (once stood for Simple Object Access Protocol, now deprecated as a term) is an enveloping
scheme for messaging with XML across HTTP.
- WSDL, Web Services Description Language, is an XML format for interface definition when
providing web services.
XHTML refers to the application of XML rigor to HTML documents. XHTML has been around for a while,
but has been slow to adopt because there is a boatload of legacy HTML documents failing to conform to
XML constraints. Developers building applications today are strongly encouraged to adhere to XHTML
rules and we will try to do so in this class.
Cascading Style Sheets, CSS, are a way to provide presentation information for elements within a web page.
Using CSS allows for separation of presentation from data. CSS can simplify customizing, personalizing, or
replacing the look and feel of an entire site by reusing common classes. CSS helps keep the appearance
consistent within a web site, as well as reducing maintenance efforts by limiting the number of locations
changes must be made to execute style changes. This is similar in concept to skins or themes.
Ajax Components
Table of Contents
Copyright (c) 2008. Intertech, Inc. All Rights Reserved. This information is to be used exclusively as an
online learning aid. Any attempts to copy, reproduce, or use for training is strictly prohibited.
Courseware
Training Resources
Tutorials
Services