I'm the father of ItsNat AJAX Java web framework, JNIEasy, LAMEOnJ, JEPLayer and JEPLDroid libraries (and very old stuff like XPDOM), supporter of the Single Page Interface (SPI) paradigm, writer of the SPI manifesto and currently Android native guy. Jose Maria has posted 28 posts at DZone. You can read more from them at their website. View Full User Profile

ItsNat, Natural AJAX, version 1.3: new stateless mode for a Single Page Interface SEO compatible world

  • submit to reddit

I have released the version 1.3 of ItsNat , Natural AJAX.

ItsNat is a LGPL licensed AJAX framework aimed at developing applications and websites Single Page Interface SEO compatible, within the philosophy of the Single Page Interface Manifesto 

Before version v1.3 normal operation mode was based on server state, ItsNat basically simulates a Java W3C browser on the server, the server keeps a copy of the DOM of the user page, DOM changes in server are propagated to client automatically to synchronize it with the server via JavaScript code generated on the fly normally as a result of AJAX requests (or <script> based requests). 

The result is web development based on pure HTML templates and Java W3C DOM code, basically the same type of programming you do with JavaScript on the client using W3C APIs but in Java in the same memory space where data going to be managed is, that is in the server memory.

Although memory optimizations on the server (caching of static instantiated not as DOM, possibility of eliminating subtrees that are no longer going to be uses etc) normal mode requires server memory associated with the user's page, this implies sticky sessions (server affinity) to drive user requests always to the same server lead, also session sharing is supported in this case page state is saved in session and shared between nodes with some transport cost added.

In stateless mode there is no such as copy of the DOM of the client page in server, because with some data sent to the server via AJAX is possible to partially reconstruct the client state to be changed on the server, generating the corresponding JavaScript DOM modifications sent to the client, but that client state built in server is not longer saved in server so an ItsNat stateless application is scalable to multiple nodes without shared data in the user's session and without server affinity (of course your custom data in session is possible and up to you).

Stateful or stateless operation has little relation to the support of SEO by ItsNat, because SEO support has more to do with fast-load mode, so then this new stateless mode also allows the development of web sites SEO compatible.

The ultimate goal is to facilitate the development of websites SEO Single Page Interface compatible stateless server centric with the power of Java, W3C DOM APIs and pure HTML templates.


Project website 

Feature Showcase 

Stateless Example 1  

Stateless Example 2 (with components) 

Example of a Single Page Interface SEO compatible web site 


Published at DZone with permission of its author, Jose Maria Arranz.

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)


Ravindranath Akila replied on Wed, 2013/09/25 - 9:50am

I'm already digging through section 8.2.2. I want to see how things go with Winstone :-)

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.