Readify Technical Readiness Specialists Hotline 1300 666 274

Next Generation Web Applications Master Class

Register now »

During this course, the problem of AJAX architectures and the Web in general will be discussed to identify an easy and a not-so-easy way to AJAX with their positives and negatives, their features and drawbacks. Students should devise an AJAX presentation layer as a two-tier model with a JavaScript-powered front-end and a multi-layer service-based back-end communicating over HTTP and using JSON feeds.

Download Course Brochure (PDF)

Course Overview

Unless you've spent the past two years offline in a cave, you should know by now about AJAX and its impact on the architecture of Web applications. About three years ago, AJAX broke into our professional lives labelled as "the next big thing" for developers and architects of Web solutions. At first, it had more of a smart idea and didn't really look like a real-world and ready-to-use framework. For quite some time, AJAX meant just a particular ability of Web pages - refreshing their content partially and without a full reload. It was only the starting point, though. Looking deeper, AJAX presents itself as a significant breakthrough primarily for architects of Web solutions. AJAX heralds a change of paradigm in the world of the Web. This means that sooner or later, we all have to start designing our own Web solutions with this new paradigm in mind.

Of course, Rome was not built in a day and so it is going to be for the next generation of Web applications. Over the past three years, we've already observed a sort of natural selection of frameworks and tools. Now with an AJAX platform fully incorporated in the latest .NET Framework 3.5, and integrated with Windows Communication Foundation (WCF) and Windows Presentation Foundation (WPF), the "next" generation of Web applications seems to be ready to take off. But is it really ready for prime time? Do we currently have powerful tools and agreed patterns and practices to build the next generation of Web applications? In other words, how long will it take for users to navigate to AJAX sites every day and for nearly every click they do?

AJAX applications are highly interactive, responsive and easy to use. They are also quite efficient from a network perspective. The real problem however is that, for the time being, it is really hard to architect and implement these applications. If you go only a little bit beyond the hype of some IT portals, you learn two things. Firstly, AJAX is possible today. Secondly, AJAX is much less used than the hype around it may suggest.

During this course, the problem of AJAX architectures and the Web in general will be discussed to identify an easy and a not-so-easy way to AJAX with their positives and negatives, their features and drawbacks. Students should devise an AJAX presentation layer as a two-tier model with a JavaScript-powered front-end and a multi-layer service-based back-end communicating over HTTP and using JSON feeds. It looks like a plan, but the devil is in the details - Which services should you use? REST, WS-*, WCF, or just a remote API? Should you create the user interface programmatically in JavaScript or have it generated as mark-up on the server? Is it worth considering client technologies more powerful than JavaScript? And a delivery format for the application that is more descriptive than HTML.

A number of technologies and products are coming out to address what is, a bit pompously indeed, called the user experience. Translated back to a more concrete speaking, however, user experience means rethinking and refactoring portions of the user interface in light of new tools, new techniques and new patterns.

Course Presenter - Dino Esposito

Dino Esposito is one of the world's authorities on web technology and software architecture. Over years, Dino has developed hands-on experience and skills in architecting and building distributed systems for banking and insurance companies and, in general, in industry contexts where the demand for security, optimisation, performance, scalability and interoperability is dramatically high. Dino is also a prolific author. Each month at least five different magazines and Web sites throughout the world publish Dino's articles covering topics ranging from Web development to AJAX architectures and from data access to Silverlight and design patterns. Dino has published an array of books, most of which are considered state-of-the-art in their respective areas. His recent books include Programming ASP.NET 3.5 - Core Reference, Introducing Microsoft ASP.NET AJAX, and Programming Microsoft ASP.NET 2.0 Applications -Advanced Topics. Dino speaks regularly at industry conferences all over the world.

Contact Dino at http://www.idesign.net/

Course Prerequisites

The workshop is for both developers and architects of Web solutions. Anyway, familiarity with ASP.NET programming is assumed as well as an intimate knowledge of the ASP.NET internal architecture. Any level of skills on Dynamic HTML, JavaScript and services are more than welcome. Finally, a sprinkling of .NET 3.x, WPF and WCF especially, wouldn't be out of place.

Course Duration

5 Days

Course Outline

DAY ONE | ASP.NET AJAX - The Easy Way (Lab)

AJAX: Nutrition Facts and the Starvation of the Classic Web Architecture
  • AJAX to revitalize the Web. Or is too vital anyway?
  • AJAX and smart-client solutions
  • Scenarios and products
Orchestrating AJAX in ASP.NET
  • The Script Manager
  • Managing script files and auxiliary resources
Adding AJAX Capabilities to ASP.NET
  • Partial Rendering - How to use it
  • Partial Rendering - Show me the trick
  • Practical rules for a partial rendering that rocks
  • Functionality and additional components (Update Progress, Timer)
Real-world Partial Rendering
  • Optimisation and rationalisation
  • What's annoying with: master pages, menus, history, accessibility
  • The Single-Page Interface Model
  • Structural limitations (simultaneous calls, polling)
  • Considerations on viewstate, partial viewstate, and application models

DAY TWO | ASP.NET AJAX - The Not-So-Easy Way (Lab)

Power to the Client
  • The Microsoft AJAX library for JavaScript
  • Managing script files and auxiliary resources
Aspect-oriented AJAX
  • Extenders: AJAX Control Toolkit and other products
  • Rethinking input forms (modality, balloon, flyout, calendar, completion)
  • Adding modality to AJAX pages
Common Problems and AJAX Patterns
  • Browser-side Templating
  • Timeout
  • Predictive Fetch
  • On-demand JavaScript
  • Progress Refresh
  • Unique URLs (History implementation in SP1)
The Service Layer
  • Script services
  • WCF services
  • WCF services within the ASP.NET runtime
  • Security and performance considerations

DAY THREE | ASP.NET State-of-the-Art

LINQ at a Glance
  • An integrated Query Language on query-able types
  • Focus on LINQ-to-SQL
  • Brief history of data source models in .NET and Visual Studio
 LINQ for (ASP.NET) Architects
  • Data source patterns
  • Middle-tier vs. Data-tier
  • That Cool Thing Called LINQ-to-Entities
ASP.NET 3.5 – What's New
  • The ListView control and the new trend in Web controls
  • The new approach to paging and page-able controls
  • Building hierarchical views is much simpler now
ASP.NET 3.5 Service Pack 1
  • The ASP.NET MVC Framework
  • MVC vs. Web Forms
  • Scaffolding your data with dynamic data controls

DAY FOUR | The (Deep) Impact of Silverlight

Silverlight and AJAX: Do you like fruit salads?
  • The Web itself is a whole step backwards from a UI perspective. And Flash?
  • Silverlight is ActiveX done properly: secure and cross-platform
  • Hosting Silverlight in Web pages
Essential WPF Graphics
  • Data Binding
  • Layout
  • Input
  • Styling and skinning
Scripting the Silverlight Engine
  • Using the JavaScript to glue together XAML elements
  • Using JavaScript to expose XAML content to the HTML page
  • Exploring media capabilities
  • Silverlight w/o AJAX
  • Silverlight 2.0
  • From script-behind to code-behind
  • Silverlight as a standalone development platform for RIA
  • Silverlight 2.0 Fast Facts

DAY FIVE | Building RIA with Silverlight

Fundamentals of RIA with Silverlight
  • Container elements and the WPF UI framework
  • Layout capabilities
  • Input and commands
  • Grid and other common controls
  • Rich and scrollable views
Networking and I/O
  • Connecting to remote WCF services
  • Simple HTTP endpoints
  • File download and XML manipulation
  • Isolated storage
Architecture and Programming Model
  • The embedded CLR and dynamic languages
  • Packaging and performance
  • Custom assemblies
  • The security model
  • Application code vs. Platform code
One XAML Fits All
  • Sharing XAML-based user interface
  • The need for GUI patterns in Silverlight
  • MVP vs. M-V-VM
Readify assisted AGL to identify and resolve issues that would impede a move to SQL Server 2005.”

Sean Callanan, Application Technical Leader, AGL