Comments
Matt McLarty wrote: For more info... Follow me on Twitter See our website
Cloud Computing
Conference & Expo
November 2-4, 2009 NYC
Register Today and SAVE !..

2008 West
DIAMOND SPONSOR:
Data Direct
SOA, WOA and Cloud Computing: The New Frontier for Data Services
PLATINUM SPONSORS:
Red Hat
The Opening of Virtualization
GOLD SPONSORS:
Appsense
User Environment Management – The Third Layer of the Desktop
Cordys
Cloud Computing for Business Agility
EMC
CMIS: A Multi-Vendor Proposal for a Service-Based Content Management Interoperability Standard
Freedom OSS
Practical SOA” Max Yankelevich
Intel
Architecting an Enterprise Service Router (ESR) – A Cost-Effective Way to Scale SOA Across the Enterprise
Sensedia
Return on Assests: Bringing Visibility to your SOA Strategy
Symantec
Managing Hybrid Endpoint Environments
VMWare
Game-Changing Technology for Enterprise Clouds and Applications
Click For 2008 West
Event Webcasts

2008 West
PLATINUM SPONSORS:
Appcelerator
Get ‘Rich’ Quick: Rapid Prototyping for RIA with ZERO Server Code
Keynote Systems
Designing for and Managing Performance in the New Frontier of Rich Internet Applications
GOLD SPONSORS:
ICEsoft
How Can AJAX Improve Homeland Security?
Isomorphic
Beyond Widgets: What a RIA Platform Should Offer
Oracle
REAs: Rich Enterprise Applications
Click For 2008 Event Webcasts
In many cases, the end of the year gives you time to step back and take stock of the last 12 months. This is when many of us take a hard look at what worked and what did not, complete performance reviews, and formulate plans for the coming year. For me, it is all of those things plus a time when I u...
SYS-CON.TV
AJAX Requests – Data or Markup?
I just got back from the Real-World AJAX seminar in NYC on Monday

AJAX Requests – Data or Markup?

I just got back from the Real World AJAX seminar in NYC on Monday.  Pretty good event with lots of good stories. 

One issue that caught my attention was the issue of how the back-end returned the data to AJAX applications.  Most of the speakers preferred data, except for David Hansson from Ruby on Rails seemed to favor markup as the return type (at least that is what I understood him to say). 

This debate is pretty interesting.  From an Enterprise Java standpoint, the decision I believe has implications to the usage of the JSF, Struts, and Portals (in a JSR 168 sense).  Look at the picture below:




As I look at this, and think about non-functional concerns (clustering, security, etc...), the middleware can become quite complex.  JSF and Struts applications usually put a beating on Http Session, Portals even more so.  We now have duplication in MVC, both on the server and the browser.

I believe, from an enterprise standpoint, Ajax applications are better suited for exchanging data with the middle tier.  This makes the middle tier much more stateless, and therefore much more scalable.




The browser does become a bit more complex.  (Although, in the prior picture, the browser would still have a considerable and almost equal amount of work to do).  the additional work is managaing some state (the same as a well designed Http Session App with small foot print) and translating the data from some XML format to JavaScript.  In many cases this work has to be done somewhere in what is considered a web tier, because the business layer will not serve up mark-up.

If the UI workflow becomes more complex, then one should look to BPEL type engines with Human tasks and not complicate the issue with too much custom middleware.

Of course the initial hit to the server would have to go through some type of MVC middleware.  So the Struts, JSF, and Portals of the world will still have to serve up the inital pages, but from then on.

Eventually, I wonder if the initial hit could even be rendered by the browser with the server serving up some full XML document that the broswer knows how to translate to a full page.  There is much CPU out there in client land that we can take advantage of.  Although, the danger of the second coming of Fat clients has to be dealt with, we have to make sure there is no business logic out there or else security becomes a big concern. 

The browser should.

  • Invoke services on the server.
  • Move data from structures to Widgets.
  • Collect input.
  • Store minor state (multi-page wizard updates, some session id, etc...)
  • Render Widgets.
Anything more than this, then we are in fat land.  So now that I am convinced that data is a preferred route from a strategic stand point, the next debate is the wire format of the data.  Right now, I have seen 4 different approaches I have seen (custom XML, SOAP, REST, and JSON).  I wonder how the ESB of the worlds can help make a smarter controller.  I will save this discussion for another blog.


About Roland Barcia
Roland Barcia is a consulting IT specialist for IBM Software Services for WebSphere in the New York/New Jersey Metro area. He is the author of one of the most popular article series on the developerWorks WebSphere site, www-106.ibm.com/developerworks/websphere/techjournal/0401_barcia/barcia.html, and is also a coauthor of IBM WebSphere: Deployment and Advanced Configuration. You can find more information about him at http://web.njit.edu/~rb54

In order to post a comment you need to be registered and logged in.

Register | Sign-in

Reader Feedback: Page 1 of 1

Hi,

I was searching for some way for doing session mgt (Light Weight State Management) on the Client machine..i want to thank you for your blog that demonstrated the possibility using AJAX/DOJO/JSON-RPC calls. But i am still in dilema whether one should go for session mgt on client machine or not. Some of the problems that i have figured out are as follows :

1. What if client disables JavaScript?

2. Since JavaScript is visible to the client, session management on the client machine is unsafe.

3. Session management will become browser dependent because of Ajax Engine (XMLHttpRequest) which itself is browser dependent. E.g. Internet Explorer uses an ActiveXObject, while other browsers (Firfox,Opera,Safari)uses the built-in JavaScript object called XMLHttpRequest

4. No “encodeURL ()” method to achieve session management in case client has disabled Cookies on the machine.

5. The browser or user can delete cookies before it expires. So we should not rely only on cookies for state maintenance/persistence, we need to support it with server side as well.

Would like to know more about that :) thnx again.

>> now that I am convinced that data
>> is a preferred route from a
>> strategic stand point, the next
>> debate is the wire format of the
>> data.

JSON has been around for a while, but until "Web 2.0" came i never used it.


Your Feedback
Jagpreet wrote: Hi, I was searching for some way for doing session mgt (Light Weight State Management) on the Client machine..i want to thank you for your blog that demonstrated the possibility using AJAX/DOJO/JSON-RPC calls. But i am still in dilema whether one should go for session mgt on client machine or not. Some of the problems that i have figured out are as follows : 1. What if client disables JavaScript? 2. Since JavaScript is visible to the client, session management on the client machine is unsafe. 3. Session management will become browser dependent because of Ajax Engine (XMLHttpRequest) which itself is browser dependent. E.g. Internet Explorer uses an ActiveXObject, while other browsers (Firfox,Opera,Safari)uses the built-in JavaScript object called XMLHttpRequest 4. No “encodeURL ()” method to achieve session management in case client has disabled Cookies on the machine....
Joel Alexandre wrote: >> now that I am convinced that data >> is a preferred route from a >> strategic stand point, the next >> debate is the wire format of the >> data. JSON has been around for a while, but until "Web 2.0" came i never used it.
SOA World Latest Stories
Facebook sold off again Tuesday scrapping the bottom at $30.98 after Reuters reported that Scott Devitt, a research analyst at the IPO’s lead underwriter Morgan Stanley, unexpectedly cut his revenue estimates on the company during the roadshow leading up to it going public last Friday....
As a Silver Sponsor of Cloud Expo New York, CloudPassage is offering special passes to SYS-CON's 10th International Cloud Expo, which will take place on June 11–14, 2012, at the Javits Center in New York City, New York. CloudPassage is the leading cloud server security provider, and c...
Private clouds solve many problems for enterprises and bring unique operational challenges along with them. There are dozens of companies of all sizes that will build you a private cloud and turn over the keys – then what? Trying to convert a traditional enterprise IT operations team t...
Cloud computing is becoming an integral part of every enterprise IT environment. With multiple cloud deployment models to choose from, understanding the essential components to any cloud solution will help ensure your success. In his session at the 10th International Cloud Expo, Ores...
The International Trade Commission’s six-member board of commissioners has issued an import ban against Motorola Mobility’s Android gear that the agency’s administrative law judge found in December infringes Microsoft’s patent on “generating meeting requests and group scheduling from a...
As a Platinum Sponsor of Cloud Expo New York, Intel is offering special passes to SYS-CON's 10th International Cloud Expo, which will take place on June 11–14, 2012, at the Javits Center in New York City, New York. Intel is a world leader in computing innovation. The company designs a...
Subscribe to the World's Most Powerful Newsletters
Subscribe to Our Rss Feeds & Get Your SYS-CON News Live!
Click to Add our RSS Feeds to the Service of Your Choice:
Google Reader or Homepage Add to My Yahoo! Subscribe with Bloglines Subscribe in NewsGator Online
myFeedster Add to My AOL Subscribe in Rojo Add 'Hugg' to Newsburst from CNET News.com Kinja Digest View Additional SYS-CON Feeds
Publish Your Article! Please send it to editorial(at)sys-con.com!

Advertise on this site! Contact advertising(at)sys-con.com! 201 802-3021


SYS-CON Featured Whitepapers
ADS BY GOOGLE