AJAX3D

The educational technology and digital learning wiki
Jump to navigation Jump to search

Draft

Definition

“AJAX3D combines the power of X3D, the standard for real-time 3D on the Web, with the ease of use and ubiquity of AJAX. AJAX3D employs the X3D Scene Access Interface (SAI) ­ the X3D equivalent of the DOM ­ to control 3D worlds via JavaScript.” (Parisi, 2006).

Technology

Technologies behind AJAX3D

AJAX3D is based on the integration of two programming models:

  • the W3C Document Object Model (DOM), a model for programs interacting with a Web document
    • In particular: XMLHttpRequest
  • the ISO Scene Access Interface (SAI), an interface to control X3D scenes.
Combination of DOM, SAI and AJAX means
  • using the SAI to access a real-time 3D scene;
  • using the DOM to manipulate Web page content in response to changes in the 3D scene
  • using server-request methods (XMLHttpRequest, createX3DFromURL) to store and retrieve data in response to, and/or leading to, changes in a 3D scene.
Current implementation status
  • DOM and SAI are standards (and in principle implemented)
  • AJAX simply means using the DOM XHMLHttpRequest. JavaScript is used to script interactivity on the client-side and to send request to a server.

The only challenge is to write libraries that will make this task easier. Therefore, the AJAX3D initiative aimes to “develop a programming framework ("ajax3dlib"): The first tutorials hint at a general-purpose programming framework, but there's still a lot of work to be done in this area” (Parisi, 2006).

Clients

Any SAI-compliant X3D plug-in that supports JavaScript should be able to support AJAX3D,

Parisi et al. developed showcases on their website with their own FLUX player.

Server-side technology

  • Bascially any, e.g. Apache/PHP/MySQL

Links


References

  • Parisi, Tony (2006). Ajax3D: The Open Platform for Rich 3D Web Applications, Media Machines, Inc. Whitepaper. HTML/PDF.
  • Parisi, Tony (2006). Ajax3D: The Open Platform for Rich 3D Web Applications, AJAXWorld Magazine, HTML