Xaja is a full featured PHP Reverse Ajax framework, which enables you to escape the request/response model, and claims to reverse the way you think about your web application. Furthermore, the developer can push the data from the browser to the client easily. Since it is a Reverse Ajax framework, Saja enables the server to push data directly to the client. According to the Xaja team, your applications will therefore become more responsive. Using Xaja, it becomes easy to build applications that need real time data to be send to the user (think about chat program or GMail!). Furthermore, Xaja can change the way a developer thinks about an application. Instead of being a series of request and responses like any web framework does today, a Xaja application is made of a process on the server side that truly dialogs with the browser. This is furthermore made easier by a extensible tag library and numerous functions to manipulate the DOM of your web page. The best part of this is you can do that without typing a single line of JavaScript.
Features you will find in Xaja include:
* Ajax: Xaja makes it easy to develop pages with Ajax features. You can develop applications that update the HTML page without having to reload the entire page.
* Pencil: in order to update the HTML page easily, Xaja provides an innovative method that we called the Pencil. Basically, you just tell to Xaja where you would like to write into the page, and you let the application output some HTML using the usual "echo" function.
* DOM Mapping: from your PHP application, you can manipulate the Document Object Model (DOM) of the HTML page that is displayed in the browser. You can dynamically add some items, remove other items, etc...
* Tag library: to make developement easier for the developer, Xaja comes witth an extensible tag library. For instance, with Xaja, adding a calendar is as easy as writing
* Reverse Ajax: last but not least, Xaja comes with a powerful message broker that enables PHP processes to talk to each other, and a reverse ajax feature that enables a PHP process to talk back to the browser. This makes it easy to develop highly interactive applications like instant messaging, live feeds, or real-time statistics.
* Database ORM tool: although not part of Xaja directly, Xaja comes bundled with The Database Machine (TDBM). TDBM is a tool that enables the developer to access its database very easily.
According to its makers, Xaja should not even be considered as a true framework. It is more like a library that tries to empower the user with new features without forcing him into a way of development. It is maybe a little bit big to be considered as a simple library, but it has been designed to be flexible enough so you can insert it into an existing application without rewriting it completely.
David Negrier, the lead developer of Xaja, the first open-source PHP reverse Ajax framework, says there is no equivalent for Haja in other languages. In Java, the closest match might be DWR for the Reverse Ajax approach, or maybe GWT for the "no Javascript" approach. "I'm not completely sure, but I think nobody took exactly the same approach yet, because Xaja opens a large number of processes and connexions and most people believe that its architecture cannot adapt to thousands of users. For my part, since the vast majority of the applications I develop have less than 100 concurrent users, Xaja's architecture is perfect, and I hope it will spread in other frameworks and languages, because I find it really easier to develop applications with a events oriented architecture."




