SESSION NOTES: ASP.NET 4.0 Roadmap

This session is by Scott Hunter, Program Manager at MSFT

In July 2007 - ASP.NET Futures was released
That was followined by an Extensions Preview of ASP.NET 3.5 in Dec 07
Then in March 08 - we started doing some new stuff - ASP.NET 3.5 SP1 - MVC and more

The ASP.NET will continue to release out-of-bound items. CodePlex is the main driver for that. www.codeplex.com/aspnet - This is where you will find the interim drops.

Currently there are ~1,000 downloads today

image

If you want to see all the latest and greatest stuff (current) then this is the site to visit.

  • VS10 supports multi-targeting
    • Use VS10 Advances when developing against FX4.0 or FX3.5
  • FX4.0 maintains a high compatibility bar with FX 3.5 - if you migrate from 3.5 to 4.0 - you should not have a breaking release.
  • ASP.NET investments include rollup of 'out-of-band' features

4.0 Themes

  • Best platform for standards (CSS, HTML, Ajax
  • Is a great LOB platform
  • Support pattern based development models - MVC and TDD
  • Re-invest in the core ASP.NET as well
  • Investment in Web Forms, Core Infrastructure, MVC, Data and Dynamic Data, and Ajax

Web Forms

  • Developers can manage control IDs that affect rendered client ID
  • Remove ID bloat, and 'mangling'
  • CSS:
    • Ideally remove the need to use CSS adapters
    • Defer to CSS styles and bypass existing style properties
      • non-inline style attributes
    • Support non-table-based HTML rendering
  • URL-routing for web forms
    • Friendly url handling for web forms
    • configuration model for url routing
  • View state
    • Disable on the page, enable on specific controls - they will provide granular control of viewstate - today it is backwards
    • Disable on control, enable on child controls
    • GridView/ListView work better without viewstate
  • ASP.NET dynamic-data

Ajax

  • Continue ASP.NET Ajax innovation : RIA
  • Appeal to JavaScript Developers
  • Provide support for the page developer
  • jQuery including Intellisense
  • Templates and data binding
    • Client side handling, REST or Web Services
    • Covers page developer and component developer scenarios
  • DOM manipulation, selectors ...
  • Ajax higher-level components
    • Ajax Control Toolkit is a part of the strategy - they will make the toolkit part of the overall ASP.NET package
    • New controls
  • Centralized script libraries and break-up for performance

ASP.NET MVC

  • Appeal to those wanting separation of concerns, TDD, full control
  • Ruby on Rails, Django, PHP
  • Building on from ASP.NET MVC 1.0
  • ASP.NET MVC (Model View Controller)
  • Asynchronous controllers
  • Sub-controllers & Views
  • Declarative controls

ASP.NET Dynamic Data

  • Making building data-driven web apps easily
  • Attacking the Ruby on Rails crowd
  • Building on from FX3.5 SP1
  • Dynamic-data and MVC
    • Scaffolding, templates and data validation
  • Support for abstract data layer
    • Removes need for specific DL (SQL, entities ...)
    • Allows scaffolding of objects
  • Support for many to many relationships
  • Dynamic data on MVC -- this is on codeplex today
  • Built around something called field templates
  • Enhanced filtering:
    • Auto-complete, search filters

I need to check out Astoria data source controls --- cool demo.

ASP.NET Core

  • Address customer pain points
  • Improve scale and performance
  • Cache extensibility and performance:
    • Enable caching like Velocity

Some Pictures from PDC 2008

Well, probably the most exciting picture (for me at least) that I got was a picture of me and Anders Hejlsberg (inventor of C#). He is quite the nice guy. We had dinner last night at a restaurant near the convention center. It was a great evening.

PDC 2008 OCT 044

Here is another shot as I was leaving the keynote. There are sooo many people here, it's great!

PDC 2008 OCT 049

PDC 2008 - Keynote Notes

Ray Ozzie, chief architect at Microsoft, opened the keynote. Here are my random notes:

Ray thanked everyone for coming to the event and stressed how important we all are in Microsoft's success. He then stressed his work as an ISV in the past and how he also sat in the audience like we are today.

PDC is about Microsoft's take on the revolutions happening in the world. It is about combining the best aspects of combining software along with the best aspects of services. Tomorrow Ray will talk on stage about Windows 7. Today is about back-end infrastructures. It is about data centers in the cloud.

"What's the big deal about the cloud?" - these concepts seemed to be around forever.

** It is quite interesting that Microsoft has seemed to take a not from the Apple presentation playbook. The slides they are using for Ray is not just slide after slide of bulleted list of items. Instead, it is just some simple images that he discusses through.

Applications are becoming more complex. The web is a key demand generation - communications with each other is now quite present in these applications. The web is now key to revenue for many companies.

He is now building a case for Microsoft's cloud services and data centers that are being planned. He is talking about how difficult it is for customers to set up all the data centers themselves and service a global market. Serving the world of the web will benefit from a system built for this purpose. Microsoft's own web sites grew up independently and organically. Ray then made a case that their experience with all these properties gave them the lessens learned for this next phase. This is a new tier in our infrastructures architecture.

  • The first tier is you - the most important .... :)
  • The second tier is the company
  • The third tier is the global infrastructure that Microsoft is proposing.

Microsoft wants to use their system experiences to be used by the world. He admits that Amazon was first with their services and he "tips his hat" to them for what they have done.

Announcing Windows Azure

This is the new name for Microsoft's Cloud Services. You can use your existing tools - Visual Studio, etc. You would expect an open environment for your work. You will also be able to use resources and capabilities from others. This needs to be different than other things Microsoft has done in the past. This is setting the stage for the next 50 years of systems. This is laying the new ground work for this.

New ways of mining the data. A new world of horizontal scale.

Windows Azure will be released today as a community technology preview (CTP). This will only have a small portion of what they are thinking. They are betting on this themselves and they will be moving their properties to the same systems. The Azure Services Platform will include things like:

  • Live Services
  • Microsoft .NET Services
  • SQL Services
  • SharePoint Services
  • Dynamics CRM Services

They will deal with federation services and more. We are getting access to this new CTP. The next speaker is the head of the cloud services infrastructure - interesting that he wore a suit with bright shiny red shoes. Ok .....

Windows Azure provides scalable hosting. Azure manages everything from the infrastructure. Azure manages all these complexities for you. They take care of every aspect of the data center for you.

** I wonder what hardware they are using for this?

Windows Azure takes care of automated service management. At the heart of Azure is the Fabric Controller - takes care of the management. ** Sounds like the Matrix, doesn't it?

Fabric Controller manages services, not just servers.

  • Model you service
    • Roles and groups
    • Channels and Endpoints
    • Interfaces
    • Configuration Settings

All service models are defined in an XML configuration file. When you interact with Azure - the code for your service and the service model that guides the fabric controller to manage the lifecycle of your app.

All Azure components are built to be highly available. No single processor can bring our system down. You work is replicated across multiple machines with no human intervention. You can easily build your service by relying on Microsoft's subsystems.

Developers will have a rich developer experience. You will use the same tools and you will be working locally at first (in a Cassini-like approach). All the cloud speakers have red shoes ... hmmmm.

Building a cloud service will give you two projects from Visual Studio. Your configuration project for transporting to the cloud and then a standard project that we are all aware. You can use the "cloud on your desktop" on your local machine. To publish to the cloud - right click on the project and select Publish and this will take you to the Azure site.

You will also get a "package file". Basically your DLL and configuration file.

Example is from Bluehoo.com by Jonathan Greensted. This is a mobile-based application. In his demo - he showed how he scaled to 20 servers from 2 by changing 2 to 20 in a browser and pressing save.

Azure is an open platform

  • Command line interfaces
  • REST protocols
  • XML file formats
  • Managed and native code
  • They welcome 3rd party-tools

Windows Azure

  • Functionality will be introduced in a staged way
  • Enterprise ready and hobbyist friendly

Now introduced is Bob Muglia - VP of tools and frameworks

This is the fifth generation of computing

  • 1970s - Monolithic
  • 1980s - Client/Server
  • 1990s - Web
  • Today - SOA
  • 2009+ Services

SOA is a core block for cloud computing. If you look at most SOA applications - most don't scale out well - they weren't designed for this. The idea of building them out in a scale-out way. If we design them to scale out in the beginning it will be a big difference.

Services Requirements

  • Interoperability, Business Processes
  • Identity and security
  • Data management and compliance
  • Services management

One of the goals of Azure is to make it possible for you to build your applications using these patterns. Reducing your costs - management costs, etc.

Microsoft .NET Services

  • Service Bus - allows you to connect your own-presence system to the cloud
  • Access Control - the need to have federated access that exist in a heterogeneous way. Allows federation across these other identity providers
  • Workflow Services - Having workflow that scales across multiple services.

Identity

  • Users control their own identities
  • Single, federated identity platform
  • open and interoperable
  • New services that build upon Active Directory - called "Geneva"

Want to make client-based access control as easy as possible.

Code name "Atlanta" which is a system center that allows you to see the stats within their system. They can see CPU utilization, server availability, average LSASS CPU utilization.

Another interesting change is that the Microsoft .NET logo has changed from the following:

clip_image002

Now the new logo is the following:

image

Not bad - the reason for the new logo is to tie it more to the cloud services offering - Azure. Much of those logos are blue focused as well. I like it.

«October»
SunMonTueWedThuFriSat
2829301234
567891011
12131415161718
19202122232425
2627282930311
2345678