Comments
Richard Davies wrote: The UK has a good crop of technology pioneers in cloud computing - for example ElasticHosts, FlexiScale, Flexiant, OnApp - and also some strong government initiatives such as G-Cloud. We will have to see whether this kind of technical leadership converts into swift mass-market adoption or not.
Cloud Expo on Google News

SYS-CON.TV
Cloud Expo & Virtualization 2009 East
PLATINUM SPONSORS:
IBM
Smarter Business Solutions Through Dynamic Infrastructure
IBM
Smarter Insights: How the CIO Becomes a Hero Again
Microsoft
Windows Azure
GOLD SPONSORS:
Appsense
Why VDI?
CA
Maximizing the Business Value of Virtualization in Enterprise and Cloud Computing Environments
ExactTarget
Messaging in the Cloud - Email, SMS and Voice
Freedom OSS
Stairway to the Cloud
Sun
Sun's Incubation Platform: Helping Startups Serve the Enterprise
POWER PANELS:
Cloud Computing & Enterprise IT: Cost & Operational Benefits
How and Why is a Flexible IT Infrastructure the Key To the Future?
Click For 2008 West
Event Webcasts
How to Hack AJAX Into the ASP.NET MVC Framework
First, I like the idea that there's an AJAX controller, I hope in the final bits it's simply called Controller

Kevin Hoffman's Blog

Before continuing on to read the rest of my post, read Nikhil's blog post.

The MVC framework for ASP.NET has been discussed in a few places, but I think the most well-known location is Scott Guthrie's blog. He's been posting sample code and information on the MVC framework and even had, last time I checked, a link to a video or two showing him discussing the MVC framework with some folks at the Microsoft campus.

There's a couple of things that I like about his sample, and a couple of things that worry me. First, I like the idea that there's an Ajax controller. I hope in the final bits it's simply called Controller and they don't make you distinguish between an Ajax controller and a regular controller - you should be able to pick and choose the functionality you want, and, well, quite frankly, I'm just sick and tired of seeing the word Ajax embedded in code. The Ajax controller should give you, as he demonstrates, the ability to render small bits of HTML. What I dislike about the Ajax nomenclature is that this functionality is useful even outside the realm of Ajax rendering and I think it should be included in the default controller.

Here's what worries me. Ajax, in enterprise applications, is not just about rendering small partial divs dynamically. Sure, that's a big part of it, but by and large when people are using an XML HTTP Request object to hit the server controller for data, they're getting raw data back, they're not usually getting a pre-rendered div. This is often the case when the controller being hit is also providing raw data to smart clients through a REST/POX/web services type of action. So, while I like the notion of RenderPartial for some scenarios, A better example would have been to render a view that outputs simple XML or, even better, JSON.

Another thing that worries me a little about the sample is that it just looks overly complex and klunky. I'll accept the notion that I have to do Ajax.Initialize() or even Ajax.RegisterScript (though, can we please drop the damn Ajax moniker from it and maybe just call it Scripting.Initialize()?? We do remember that it's not actually AjaX unless we're transmitting XML over JavaScript right? Anything else we do in the name of Ajax is just JavaScript).

MVC is all about proper separation of concerns. There's one line of code in the sample that I think is violating that, and that's the IsAjaxRequest property. This all smacks of someone attempting to make the MVC framework feel more like the old Postback world and quite frankly, the old postback world can eat my shorts. The controller, IMHO, is just a controller. It should not ever have to determine if it is rendering Ajax or rendering Regular. Ajax or regular HTML is a view decision not a controller decision. The job of the controller is to fetch the appropriate data required for rendering a view, and then pick the view to render. In my own really personal opinion, I think that the controller should remain agnostic, and if you have JavaScript calling the controller for data, the JavaScript should tweak the HTTP header (e.g. the "Accepts" header) so that the controller knows to render XML, HTML, or JSON. If you have two different kinds of HTML to render, that decision should take place inside the HTML view.

The other thing that bugs me about the IsAjaxRequest property is that it really feels like a postback. For example, is it going to work if the controller that rendered the JavaScript is the CustomerController and the controller being invoked by the XMLHTTPRequest is the OrdersController? I don't know the underlying mechanics of Nikhil's code, but it doesn't look promising.

What I really want to see from Microsoft is a really compelling reason why I shouldn't just take some off-the-shelf Ajax library and make it work with the MVC stuff. I want a really good MVC-compliant Ajax framework that doesn't make me feel like I'm being shoehorned back into the Postback world.

Anyway, it's exciting to see this stuff being worked on in the early stages and it's only going to get better from here.

tags:        
links: digg this  del.icio.us  technorati  reddit

About Kevin Hoffman
Kevin Hoffman, editor-in-chief of SYS-CON's iPhone Developer's Journal, has been programming since he was 10 and has written everything from DOS shareware to n-tier, enterprise web applications in VB, C++, Delphi, and C. Hoffman is coauthor of Professional .NET Framework (Wrox Press) and co-author with Robert Foster of Microsoft SharePoint 2007 Development Unleashed. He authors The .NET Addict's Blog at .NET Developer's Journal.

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

Register | Sign-in

Reader Feedback: Page 1 of 1

Hay Friends !!

Are you looking for beautiful, sweet, innocent cat pictures ??
I have found a very good site for cat pictures..!!
here it is...

http://sweetcatpictures.blogspot.com

There's a couple of things that I like about his sample, and a couple of things that worry me. First, I like the idea that there's an Ajax controller. I hope in the final bits it's simply called Controller and they don't make you distinguish between an Ajax controller and a regular controller - you should be able to pick and choose the functionality you want, and, well, quite frankly, I'm just sick and tired of seeing the word Ajax embedded in code. The Ajax controller should give you, as he demonstrates, the ability to render small bits of HTML. What I dislike about the Ajax nomenclature is that this functionality is useful even outside the realm of Ajax rendering and I think it should be included in the default controller.


Your Feedback
mukesh wrote: Hay Friends !! Are you looking for beautiful, sweet, innocent cat pictures ?? I have found a very good site for cat pictures..!! here it is... http://sweetcatpictures.blogspot.com
AJAX News Desk wrote: There's a couple of things that I like about his sample, and a couple of things that worry me. First, I like the idea that there's an Ajax controller. I hope in the final bits it's simply called Controller and they don't make you distinguish between an Ajax controller and a regular controller - you should be able to pick and choose the functionality you want, and, well, quite frankly, I'm just sick and tired of seeing the word Ajax embedded in code. The Ajax controller should give you, as he demonstrates, the ability to render small bits of HTML. What I dislike about the Ajax nomenclature is that this functionality is useful even outside the realm of Ajax rendering and I think it should be included in the default controller.
Latest Cloud Developer Stories
As a result, it said, of “customer feedback and evolving usage patterns,” Microsoft cut the price of its cloud-ified SQL Azure database 48%–75% for databases larger than 1GB and introduced a new entry-level 100MB model. It blogged that it’s noticed that many projects start smal...
Wide and cheap availability of cloud-based media services is upon us. With the transformations these services are already bringing to the consumption of music, video and interactive media, change has likewise come to professional workflows. Documents in 2012 are read, written, co...
With Cloud Expo 2012 New York (10th Cloud Expo) just four months away, what better time to start introducing you in greater detail to the distinguished individuals in our incredible Speaker Faculty for the technical and strategy sessions at the conference... We have technical ...
Fresh off a happy quarter, Rackspace said Thursday that it’s bought SharePoint911, one of those you-never-heard-of-them outfits that does SharePoint consulting, training and JumpStart services so it can deliver newfangled SharePoint services along with its existing SharePoint hos...
Cloud is a shift from the focus on underlying technology implementation to leveraging existing implementations and further building upon them. Cloud orchestration or a network of clouds is the wave of the future where these clouds can operate with elasticity, scalability, and eff...
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