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.
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.
Store minor state (multi-page wizard updates, some session id, etc...)
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
Reader Feedback: Page 1 of 1
Jagpreet commented on 17 Mar 2008
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 :
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.
Your job is mostly boring. Many of the IT operations tasks you perform on a day-to-day basis are repetitive and dull. Utilizing automation can improve your work life, automating away the drudgery and embracing the passion for technology that got you started in the first place. In...
With 10 simultaneous tracks, keynotes, general sessions and targeted breakout classes, @CloudEXPO and DXWorldEXPO are two of the most important technology events of the year. Since its launch over eight years ago, @CloudEXPO and DXWorldEXPO have presented a rock star faculty as w...
JETRO showcased Japan Digital Transformation Pavilion at SYS-CON's 21st International Cloud Expo® at the Santa Clara Convention Center in Santa Clara, CA. The Japan External Trade Organization (JETRO) is a non-profit organization that provides business support services to compani...
Containers and Kubernetes allow for code portability across on-premise VMs, bare metal, or multiple cloud provider environments. Yet, despite this portability promise, developers may include configuration and application definitions that constrain or even eliminate application po...
Digital Transformation: Preparing Cloud & IoT Security for the Age of Artificial Intelligence. As automation and artificial intelligence (AI) power solution development and delivery, many businesses need to build backend cloud capabilities. Well-poised organizations, marketing sm...
Your registrations includes: Golden Pass Delegates will receive full conference access on October 20-22, 2008 including: Lunch and Coffee Breaks, Collectible Bag and Archives of all sessions on DVD. Includes access to all Conference Sessions including the Technical Sessions, Exhibits, Keynotes, Vendor Technology Presentations, and Power Panels.
AJAXWorld offers the undisputed best platform to position your company as a leading vendor in the fast-emerging marketplace for AJAX and Enterprise Web 2.0.
Who Should Attend?
• CTOs & VPs of Engineering
• Directors of Technology
• Sr. User Interface Architects
• Front-End Engineers
• VCs & Industry Analysts
• Directors of Business Development
• Software Engineers
• Senior Architects
• Application Programmers & Software Developers
• Project Managers
• Web Programmers & Designers
• Companies & Organizations that need to stay in front of the latest Web technology
AJAXWorld Security Bootcamp
Introducing at AJAXWorld RIA Conference 2008 West the world's first-ever full, one-day immersive "AJAX Security Bootcamp" - led by one of the world's foremost AJAX security experts and teachers, HP's Billy Hoffman.