Since I’m new to the world of Ajax programming and the Microsoft AJAX Library I decided to watch some video’s on the more and more used technology in ASP.NET development world.

So recently, I took the two hour clinic: 5230: Developing Enhanced Web Experiences with Microsoft® ASP.NET AJAX Extensions from the Microsoft eLearning site. It’s a free clinic, so if your new to ASP.NET AJAX, it’s well worth a study.

It’s a self-paced course and took me actually some more time than two hours, since I had to make notes for this review on things I found interesting to talk about. And a couple of hours for me writing this post Wink Anyway, you will learn about the rich functionality that ASP.NET AJAX Extensions provides for building highly responsive and enhanced web applications. In addition to learning about the different server and client components of ASP.NET AJAX, you will also learn how to build new ASP.NET AJAX applications and how to upgrade existing ASP.NET applications to take advantage of ASP.NET AJAX.

In this post I’ll review the clinic:

Overview of ASP.NET AJAX

  • Overview of ASP.NET AJAX

Module Introduction:

In the module introduction Keith Smith, Group Product Manager Microsoft, gives you an introduction on ASP.NET AJAX. You can read the transcript of his voice-introduction.

I think this one speaks for itself.

Introduction to AJAX and ASP.NET AJAX:


We’ll get a animation video on the subject ‘What Is AJAX?’, in which is shown how the client interacts with the server. Next to that the components are shown that make Asynhronous Javascript and XML (AJAX) possible: HTML, CSS, DOM, Javascript, XML, JSON and the XMLHttp protocol. In ‘What Is ASP.NET AJAX? ‘ we’ll learn that ASP.NET AJAX give you extra Client-side functionality, Server-Side functionality and that it is an extensible framework. In ‘Integration of ASP.NET AJAX with Existing Technologies’ we’ll see that Microsoft Visual Studio has built in templates and that ASP.NET AJAX includes webservices to expose ASP.NET 2.0 authentication and user profile functionality. In ‘ASP.NET AJAX Usage Scenarios’ we are shown a table with situations in which ASP.NET AJAX comes in handy. In the end of the lesson there’s a self test in which you have to click every tile until every tile statement is true.

I think this really was a good introduction for me on AJAX. Especially the part of the components in which JSON and XMLHttp was mentioned. The JSON format maps well to JavaScript structures, as well as to structures used in most other programming languages and it is becoming more and more popular in the combination of calling WCF of Webservices from the client-side.

Introduction to the architecture of ASP.NET AJAX:
 
In the animation is shown that when you install Microsoft ASP.NET AJAX, the first thing that will be installed are the AJAX Extensions which includes the ASP.NET AJAX server controls. Next, ASP.NET AJAX installs the AJAX Library which includes the ASP.NET AJAX client-side script files. Finally, ASP.NET AJAX installs the Web application template for ASP.NET 2.0. The server controls are discussed: ScriptManager, UpdatePanel, Timer, UpdateProgress and the AutoCompleteExtender. Next to that the AJAX Control Toolkit is mentioned which installs a template that you can use to create ASP.NET client components. And also installs a number of additional server controls that you can use in your Web applications. The last subject describes, the client-side component of ASP.NET AJAX, the AJAX Library. The functionality of the Library can be divided up into the following layers: The browser compatibility layer, the core services layer, the client base class library (BCL) layer, the networking layer, the user interface (UI) layer and the controls layer. In the end of the lesson there’s a self test in which you have to sort dropping items and add them to either the client-side or the server-side.

It’s good to know what is installed when you install ASP.NET AJAX. The thing you can’t leave out, the ScriptManager, is what it’s all about when providing ASP.NET AJAX functionality to your web applications. I found this lesson helpful, and really can see the big advantages of using the AutoCompleteExtender in excisting web apllications and using the update panels for partial postbacks.

Module Summary:

In the summary we’ll be shown an overview of the above reviewed lessons.

I think this one also speaks for itself.

Programming with ASP.NET AJAX

  • Programming with ASP.NET AJAX

Module Introduction:

In the module introduction Keith Smith, Group Product Manager Microsoft, gives you an introduction on ASP.NET AJAX. You can read the transcript of his voice-introduction.

I think this one speaks for itself. But to make a note, Keith claims that the Microsoft AJAX Library will make it easier to write client-side code with less knowledge of Javascript. He might be write when saying it will make it easier, but still writing client-side code is hard to do I think.

Building a Simple ASP.NET AJAX Application:

This is where all the fun begins. We’ll be viewing three video’s and three written overviews. In ‘Requirements for an ASP.NET AJAX Application’ we’ll see that the System.Web.Extensions.dll is necessary and the ScriptManager server control is a must on every page. In ‘Enabling Partial Page Updates’ we see a demonstration on how to create an ASP.NET AJAX Web application by using Visual Studio .NET 2005.  In ‘Process for Implementing Triggers and Timers’ Triggers and Timers are beining explained. The video ‘Adding ASP.NET AJAX to an Existing ASP.NET Application‘ shows how to upgrade an existing ASP.NET 2.0 Web site application by using ASP.NET AJAX. In ‘Process for Deploying ASP.NET AJAX Applications’ we’ll be given an checklist for deploying ASP.NET AJAX applications as well as manually adding the System.Web.Extension.dll assembly to the global assembly cache. In the video ‘Debugging ASP.NET AJAX Applications by Using Nikhil's Web Development Helper’ we’ll see this handy tool in action. In the end of the lesson there’s a self test in which you have to sort dropping items and add them to either a requirement bucket or a non-requirement bucket.

For me the videos are the most usefull since we’ll start seeing how to use Visual Studio .NET for creating and updating ASP.NET AJAX web applications. Thank god for having Visual Studio 2008, since when it is possible to debug your own javascript code, which really makes Nikhil's Web Development Helper replaceble. Since I make use of Firefox’ FireBug and the Web Developer Toolbar, I’ll also cover most of the things that are in Nikhil’s helper tool. But still keep this very handy tool, since you'll be able to see the JSON code that is being send when an XMLHttpRequest is made to a webservice. Very handy!

Using the AJAX Library to Enhance Web User Interfaces:

Again we’ll be shown three video’s. First we’ll get a brief introduction on the ‘JavaScript Language Enhancements’ inside the ASP.NET AJAX Library. Like OOP enhancements, JSON Serialization,  JavascriptSerializers, the Sys.NET class for making Asynchonous postbacks and the Sys.Ui class which gives you access to shortcut functions like $get() to obtain a reference to an HTML element. The video ‘Enhancing User Interfaces with Client Side JavaScript’ is an example of what you can do with client-side programming. The video ‘Using the AJAX Library to Extend PHP and Other Web Applications’ show you an example of AJAX in combination with another development platform different from Visual Studio .NET. In the overview ‘Creating and Deriving Types in JavaScript’ we’ll be shown how to defines classes, properties, etc…which might come in handy later on when creating your own AJAX controls. The last video does exactly this. In the end of the lesson there’s a self test in which you have to make some multiple choice questions to overview your knowledge of what you’ve learned so far.

The videos are again very useful, but this time it is really in a pace that your ears will flip around your head. As I mentioned earlier there’s still a lot a Javascript code written. So you better review these video’s a couple of times, to really get the knowledgde of it. Since PHP development isn’t my cup of tea and Microsoft product is ASP.NET, I really preferred another example of ASP.NET AJAX instead of AJAX in combination with PHP.

Calling Web Services and Web Methods from the Client:

Again three demo’s, wow! The first one is about the Webservice Message Flow. The second one is a demonstration in which it will show you how to call a Web service and user page-level Web methods from the client. In here my favourite extender so far, the AutoCompleteExtender is shown. We’ll be given an overview of using the ASP.NET 2.0 authentication, profile, and membership services from client-side JavaScript code and after that a demo follows. The last part of the lesson is on how to use remote web services. Again there’s a self test, in which you have to make some multiple choice questions to overview your knowledge of what you’ve learned so far.

A great tip is given namely: The page-level webmethod must be static! I really liked this lesson, since I kindda digg everything that’s got to do with WCF, since I’ve done a project in which I made some WCF services. This lesson is really a must to watch if you want your applications to be following the Service Oriented Architecture (SOA) principles.


Module Summary:

In the summary we’ll be shown an overview of the above reviewed lessons.

I think this one also speaks for itself.

Additional Information

  • Additional Information

We’ll be shown a glossary of terms which always might come in handy, but I do expect to be general knowledge for existing ASP.NET developers. In the next steps section you will be redirected to sources for documentation, examples, video’s etc…

Hope this is usefull! It was for me!

Gr.

Robbert

Digg It!DZone It!StumbleUponTechnoratiRedditDel.icio.usNewsVineFurlBlinkList