On 8/8/07, Asthana, Rahul <[EMAIL PROTECTED]> wrote:
> Besides,I was also interested in how things like workflow are handled in an 
> "AJAX based
> framework", as opposed to a webapp that "happens to use" AJAX .

Conventional web applications tend to use a different page for each
top-level view. If we are using a tab-motif, each tab is usually a
separate (thin) page. In an AJAX application, each tab is often a
separate div of the same (rich) page, and we make the appropriate div
visible or invisible.

In a conventional web application, workflow means bouncing between
thin pages, and trying to maintain state as we go. In an AJAX
application, we tend to bounce between divs on the same rich page. A
very handy difference is that we can store state on the client-side as
JavaScript variables. Another big difference is that we don't have to
resort to gizmos like Tiles and SiteMesh to retain look and feel.
Instead of swapping page fragments between requests, we can swap divs
progmatically.

Of course, we've been trying to simulate this approach in thin pages
for years. I can remember doing the same sort of thing in Perl eons
ago. We would output the base page, switch to the panel to insert for
a given request, and output the rest of the base. Conventional ASP.NET
does the same sort with its panel control. The difference is that with
AJAX it is not a simulation. It's the real thing. The client is
actually changing the content in the middle of the page.

The very best part is that the AJAX architecture creates a very clear
separation between model and view. In a conventional web application,
we tend to muddle the action workflow with the concerns of both the
model and the view. In an AJAX application, it's much easier to keep
all of the model concerns on the server-side of a JSON request, and
keep all the the view concerns client-side.

IMHO, if we had today's JavaScript/CSS/HTML environment available to
us in 1998, then JSP, ASP, JSF, PHP, and all the rest of it, would not
exist. We did all these things to make up for the shortcomings of the
client-side environment, and, since then, the key shortcomings have
been addressed.

-Ted.

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to