www.mathertel.deThe AJAX Engine
View Source

The AJAX Engine

A outdated AJAX Framework using the standard webservice protocols SOAP and WSDL. This page is provided for historical reasons only.

The technology was created in the 1999 when IE5 based client side scripting was evolving and the availability of javascript triggered server calls using the XMLHttpRequest object calling webserver exposed services in XML (SOAP).

The term AJAX was created in these times as well.

Today REST based services are state of the art and JSON is better supported by the browsers than XML/SOAP.


AJAX is a technology that enables web applications or rich Internet applications to call the webserver without leaving the actual page. It's possible to do this in the background (asynchronously) without notice of the user. This avoids loading the same form or page including the html markup multiple times, reduces the network traffic and increases the user acceptance.

As a result web applications that use the Ajax technology tend to be more responsive and have more interaction with the user.

The AJAX Engine

The AJAX Engine that you can find on this site is built upon the webservice standard protocols SOAP and WSDL for transferring the data between the browser client and the web server instead of using a new or proprietary protocol. Therefore this engine can be used on web server platforms that support the SOAP base web services like ASP.NET, Java (Axis, Axis2, Bea WebLogic, ...) and PHP

As a complement to this implementation is a free book available that contains more detailed information about the ideas and pitfalls behind building AJAX applications and the concrete implementation of this Ajax engine.

The source code is still available under a BSD license.

The AJAXEngine is a complete framework build upon the following technical components:

JavaScript SOAP Client

The communication layer is based upon a JavaScript implementation of a SOAP client that is calling standard SOAP based web services on the server. Therefore this component was ported to many server side frameworks that provide web services like Java, ASP.NET and PHP.

If you are interested in using the JavaScript client for SOAP based WebServices only have a look at the embedded JavaScript SOAP client.


Implementing AJAX applications is made easy by using this state engine that controls the asynchronous communication and client side activities. You can define the control flow (instead of programming on the lowest level) and use some more advanced built-in features like queuing and caching.

OpenAjax hub

Building event driven web applications is easy by using this OpenAjax compatible implementation of an event hub. This subsystem allows a very efficient implementation for event driven web applications. This is one of the precursors of client-side reactive programming, which uses subscriptions for data changes. The approach is by far lighter than current reactive programming libraries.

If you are interested in using the OpenAjax hub only have a look at OpenAjax hub. There you can find a alternate implementation of the OpenAjax hub specification.

JavaScript Behaviors and web controls

The Behavior mechanism enables extending HTML elements with specific functionality. You can build rich featured and reusable client side components.

Today, this can also be achieved through the Web Components Technology. See https://developer.mozilla.org/en-US/docs/Web/Web_Components and https://webcomponents.guide/.

More features of this platform:

This is the website hosting the source files and examples for the AJAX engine and my blog about aspects of AJAX.

The Book about the AJAX Engine

Many aspects on this technology and many details about the AJAX Engine can be found in the free e-book that is still available at AspectsOfAjax.pdf.

Source Code

You can find a subversion repository with the current version of the AJAXEngine, including the samples on sourceforge at http://sourceforge.net/projects/ajaxengine/.

Download is also available here.