PDC 2009 – .NET Developers Short Review and Bleeding Edge Download Links

This years PDC was great. I think the big deal this year was “Integration”. I’ve never seen so many bits working together at such an early state.

I’ll walk through what I’ve seen and provide some detailed information plus the corresponding downloads I’ve found. It is insane, how many CTPs and Betas Microsoft offers right now.

These are the topics I will cover. Click to jump to the corresponding section.

Visual Studio 2010 + .NET Framework 4

I’ll start with Visual Studio, because it spans all of it.

In the last years especially Visual Studio was lagging behind. It didn’t even have good support for debugging LINQ in C# – what could we then expect from integration with other products from Microsoft.

But now Visual Studio comes not only with an improved debugger, but also with many, many new project templates, enhanced deployment features for web and SharePoint, an extension manager bound to an online extension gallery, and many-many more features.

Maybe the reason for the more integrated development environment is the huge improvement in Visual Studio Extensibility. Download the SDK if you plan to write your own plugins.

If you want to know more about the “.NET Framework 4.0”, Google has a good coverage on “C# 4.0”, “Windows Workflow 4.0”, “Windows Communication Foundation 4.0”, “Entity Framework 4.0” …


Silverlight 4

Maybe the announcements around Silverlight 4 were the biggest. The Silverlight team has made incredible progress in the last couple years. With Silverlight 4 they seem to eliminate most of the drawbacks it had compared to WPF. I can’t see yet where this goes, but a Silverlight OS could absolutely be a nice answer to the Chrome OS. And then we are back to terminals and mainframes.

Among the new features are a better out-of-the-browser experience including full-trust mode. Also new is webcam and microphone access, a richtext/html editor and a browser control. The browser control can also embed flash. And it can be used as a brush, in other words, it lets you run YouTube videos while applying any Silverlight effects.


Entity Framework 4

After the entity framework came out in V1, many of the industry’s thought leaders called it a joke. The team has tried to incorporate most of that Feedback in EF V2 (Called V4 to align with .NET 4).

Together with the .NET Framework 4 Beta 2 and the Futures CTP you get code-only and model-first including SQL schema generation. There are also alot improvements in the designer and the query performance. Haven’t really checked out the details so far.


OData / WCF Data Services (neé “Astoria”)

The Open Data Protocol (OData) has been developed to support a convention-oriented REST-style API over data of any kind. It builds on atom/pub and adds optional metadata, querying and projections. Using the .NET OData Client (WCF Data Services) you can use LINQ against any OData source. Sharepoint 2010 will expose all data via OData. Any application that uses the Entity Framework can very simply expose it’s data over the protocol.

Also SQL Server Excel PoverPivot (neé Gemini) supports OData and lets you interact with huge amounts of data the Excel-way.


SQL Server Modelling (neé “Oslo”)

In a couple of sessions Doug, Chris, Don and Chris showed the new features in the November CTP. The team has made some progress, although it is easy to see, that they have much homework left. Some of the new features are the better Visual Studio Integration, a ASP.NET MVC project supporting “M” for the M in MVC, debugging support in DSLs, richer right-hand grammar productions, support for views in “Quadrant”. Also the Modeling Services where officially announced to be part of SQL Server in some future release.

I’ll spend a new post on more of the changes soon.

Also, today I think, that Quadrant will not replace the DSL Tools in Visual Studio. Those have made much progress and will rather be improved and merged with “M”.


Office and Sharepoint 2010

No matte who I asked, nobody liked SharePoint development so far. From what I’ve seen this might change in the future. There has been much focus on the developer experience for SharePoint customization. Deployment and packaging seems to be much more fluent, and the horrible SharePoint web service interfaces will be superseded by the new generic OData implementation over lists and libraries. There is also better support for embedding Silverlight, and Microsoft finally promises a good user experience even when using Firefox or Safari.

I just like Office 2010, but I haven’t done any customization for Office since the good old VBA times. I think the web-versions of Office built into SharePoint are really cool. They allow collaborative editing like in Google Docs. I’ll check out this stuff soon!


SQL Server 2008 R2

In the last couple of weeks I had to do a lot with SQL Server. The thing is, still devs do not care much about new SQL Server versions. They do rather talk about persistence ignorance. Even the Xml/XQuery implementations well the hosting of the CLR inside the SQL Engine did not really touch the developers hearts.

But often the heart of the application is data. And the more you have to do with it with fast response times, the closer you’ll have to operate on it. Another argument is, that Microsoft emerges the brand “SQL” from a relational RDBMS engine to a data platform including Analysis Services, Reporting, Integration Services, and so on …

Some of the new features are StreamInsight, the Excel PoverPivot plugin and more…


AppFabric (neé “Dublin” and “Velocity”)

“Dublin” was Microsofts promise to deliver a more manageable Application Server for .NET, WF and WCF solutions. But since it was announced there were no public CTPs or anything that we could have played around with.

At the same time “Velocity”, a memory cache, has had more publicity.

Those two are now merged in the AppFabric, promising a reliable host for the workflow foundation runtime and hopefully in the future a good replacement for NT services.

There have been rumors, that it enters the space of EAI, that BizTalk tried to cover so far. But the promise is, that they have different intents and will play nicely together.


Windows Azure

I’m not into it yet. But it looks promising. Let me just provide the links to the downloads I found.


.NET Service Bus

The .NET Service Bus is really interesting stuff. Somebody explained it as “Skype knowledge in a box”. This means, the .NET Service Bus helps you to set up secure duplex communication channels through firewalls and routers. It just leads your calls through the NAT jungle.

What you simply do, is creating a public namespace on “the internet”, where you then register your WCF service. Clients may then access your service through the Azure Cloud. Bye, bye DMZ!!

You can also use it to negotiate the connection details and then have it set up a direct TCP/IP connection between your server and the calling client.

In both modes, you’ll also be able to send messages to your clients, through all this expensive infrastructure that is intended to avoid those scenarios 🙂

The .NET Service Bus is part of the .NET Services SDK which also contains the Access Control Service and Workflow Services in the cloud.


Windows Identity Foundation (neé “Geneva”)

Federated claims-based security. Everybody is talking about it. After Microsoft tried to reach through with Card Space and Live ID, this finally seems to be their answer to OpenID.

I’ll definitely take some time digging into it. I’m also interested in how it interacts with the SQL Server Modeling Services for System.Identity.


    Windows 7

    Windows 7 is great! What I’m interested in most, is multi-touch. I think this will be the default for every monitor and notebook in just a couple of years.

    If you find any nice multitouch enabled applications, please give me a hint at http://multitouch-apps.com.


    Have fun!


    Tired of hearing “M” is to “T-SQL” what X is to Y…

    I have heard a couple of variations of these analogies. I do not like them. I think they are simply absurd.

    At last PDC, “M” was to “SQL” what C is to Assembler. This year it was, what VB is to C. And now I even read this:

    The code name “M” language is like a more manageable (though more limited) form of Transact-SQL, the language normally used to describe data schema and values.

    Kraig Blockschmidt, Microsoft Data Development Technologies: Past, Present, and Future 

    “M” has some overlaps with T-SQL, ok. But far from every concept in “M” can be translated into T-SQL. What about structural subtyping? Types without identities? Polymorphic references and function arguments? Languages/DSLs? Ordered collections? Lot’s more.

    And only a very small, although useful subset of T-SQL maps to “M”. Also most of the translation to SQL is opinionated, not natural.

    What the schema and values part of M compares much more to, is XML and XSD.

    Would you even try to compare XML to T-SQL?

    List of Windows 7 Multitouch Applications and Games

    After it was hard for me to find any multitouch applications on google or bing, I decided to at least collect those I find on a list and accept submissions for that list.

    Some day, I’ll create a multi-touch enabled multi-touch application gallery at http://multitouch-apps.com. But until then enjoy what I’ve found so far and please comment you submissions.

    Open here: The Ultimate List of Multitouch Applications

    24. November 2009: Ko- und Kontravarianz bei Bonn-to-Code

    Beim nächsten Bonn-to-Code-Usergroup-Treffen halte ich einen Kurzvortrag zu Ko- und Kontravarianz in C#.

    Sneak Peak

    Eines der meistbegrüßten Features aus .NET 4 und gleichzeitig eines der am wenigsten verstandenen. Leicht dahergesagt, dass Argumente von Methoden und Delegates schon immer kontravariant waren. Und dass in C# 4.0 jetzt noch sichere Ko- und Kontravarianz für generische Typparameter hinzukommt. Und weil man das mit Ko- und Kontra so schnell verwechselt heißt es jetzt einfach "out" und "in". Oder war das andersrum? Nicht ganz sicher?

    Ich kann schonmal so viel verraten, dass ich mich sogar an selbstgemalten Bildchen versuchen werde. Außerdem kommen Tiger und Schlangen vor!


    Weitere Themen

    • M und die "Oslo" Plattform Benjamin Gopp
    • Kurzvortrag: Umgang mit .NET Assemblies Thomas van Veen

    Mehr Informationen

    PDC 2009 – Sessions I plan to attend

    PDC09Bling_BeforeAfter_136 Maybe someone shares my interests, and if not, this is for my own reference 🙂

    Monday 10:00 AM (Pre-Conference Workshops)

    Architecting and Developing for Windows Azure

    Chris Auld in Petree Hall C

    Gain the skills to architect and develop real-world applications using Windows Azure. Going beyond ‘demo-ware’ we examine the theory and technical implementation of large scale elastic applications. …


    Microsoft Technology Overview

    Michele Leroux Bustamante in 515A

    Developers have increasingly more on their minds and on their plates. Though Microsoft Visual Studio and the Microsoft .NET Framework both provide tools that yield an overall increase in productivity …


    Software in the Energy Economy 

    Juval Lowy in 408A

    Come learn the developer skills and expertise required to take advantage of the next boom in software – the energy economy. Understand key enabling technologies and design patterns that will prepare …

    Sorry. Don’t know yet. Originally I planned to go to Michele…

    Tuesday (First Conference Day)

    8:30 AM – 10:30 AM:  Keynote
    11:00 AM

    Data Programming and Modeling for the Microsoft .NET Developer

    Don Box, Chris Anderson in 403AB

    Come see this code-centric talk that focuses on the advances being made in tools, languages, and frameworks that simplify how to model, consume, or produce data. Hear about the future of data …

    12:30 PM

    Concurrency Fuzzing & Data Races

    Sebastian Burckhardt, Madan Musuvathi in 515B

    Learn about two concurrency tools from Microsoft Research: "Cuzz" and "FeatherLite". Cuzz (for Concurrency Fuzzing) is a tool that significantly improves the concurrency coverage achieved with …

    1:30 PM

    Microsoft Application Server Technologies: Present and Future

    Anil Nori in Hall F

    Hear how Microsoft is evolving its application server technologies to address the challenges of building, deploying, and managing composite applications in Windows Server and Windows Azure. See how …

    3:00 PM

    Evolving ADO.NET Entity Framework in Microsoft .NET Framework 4 and Beyond

    Shyam Pather, Chris Anderson in Petree Hall D

    Come see how the ADO.NET Entity Framework enables new capabilities to leverage multiple development approaches, for example the use of code-first, model-first, and database-first. Hear how, regardless …

    4:30 PM

    Behavior-Driven Development vs. Test-Driven Development: What’s What?

    Dennis Doomen in 309

    Automated testing is a hot item these days and Microsoft is jumping on board with ASP.NET MVC and Visual Studio 2010. Test-Driven Development and Behavior-Driven Development both try to significantly …

    Wednesday (Second Conference Day)

    8:30 AM – 11:00 AM: Keynote
    11:30 AM

    Microsoft Perspectives on the Future of Programming

    Butler Lampson, Erik Meijer, Don Box, Jeffrey Snover, Herb Sutter, Burton Smith in Petree Hall C

    Come hear from several of the Microsoft senior technical leaders about the future of programming, programming languages, and tools.

    Or. Hm. Isn’t this the future vision? Anyways.

    Building Data-Driven Applications Using Microsoft Project Code Name "Quadrant" and Microsoft Project Code Name "M"

    Chris Sells, Douglas Purdy in 408B on Wednesday at 11:30 AM

    Come learn how to use "Quadrant" and "M", part of the Microsoft data platform, to interact with Microsoft SQL Server databases in rich new ways, including dynamic views and multi-user editing. See how …

    12:00 – 01:30 Germans @ PDC 09 – Lunch

    Sign up here:

    1:00 PM ( I’ll be late )

    Microsoft Project Code Name “M”: The Data and Modeling Language

    Don Box, Jeff Pinkston in 408A on Wednesday at 1:00 PM

    Come review how to use “M” to build a DSL and author data schema, then hear how we’re going to make “M” more relevant to you, the Microsoft .NET developer. Explore the future of “M” where DSL, schema, …

    2:00 PM

    3:15 PM

    4:30 PM

    Exception Management – Handling and Reporting Exceptions Effectively

    Paul Sheriff in 309 on Wednesday at 4:30 PM

    There are many ways to handle exceptions in .NET. What do you do to ensure that exception information is not lost? How do you report exceptions to your end-user and to your system administrator? This …


    Extending the Microsoft Visual Studio 2010 Code Editor to Visualize Runtime Intelligence

    Bill Leach, Gabriel Torok in 408B on Wednesday at 4:30 PM

    Come see how PreEmptive Solutions built an editor extension for Visual Studio 2010 that provides in-line visualizations of usage and stability data collected from applications in production via …

    5:30 PM – 7:00 PM: Ask The Experts
    7:00 PM – 9:00 PM: GeekFest

    Thursday (Third Conference Day)

    8:30 AM

    Optimizing for Performance with the Windows Performance Toolkit

    Michael Milirud in 502A

    The Windows Performance Toolkit (WPT) is constantly used by the Windows team to build an optimized Windows OS. Come and see how the Windows Performance team used the WPT throughout the Windows 7 …

    10:00 AM

    What’s New for Windows Communication Foundation 4

    Ed Pinto in Petree Hall D

    Learn about the investments made in Windows Communication Foundation 4 that add new capabilities for service composition and reduced configuration and deployment complexity. Discover how improvements …

    11:30 AM

    Workflow Services and “Dublin”

    Mark Fussell in Petree Hall D

    Learn how to use Windows Workflow Foundation (WF) 4, Windows Communication Foundation (WCF) 4, and “Dublin” to build and manage scalable, reliable, and highly-available applications. Discover the …

    12:45 PM

    BOF @Lunch: Fear and Loathing in IT Security

    in 309

    Wherever we look we find security threats that are made out to be the end of the world as we know it. The problem is that there is a lot of wolf-crying going on in this space. Is this part of your job …

    1:45 PM

    Application Server Extensibility with Microsoft Project Code Name “Dublin” and Microsoft .NET Framework 4

    Nicholas Allen in Petree Hall D

    .NET 4 and “Dublin” provide new application hosting, tracking, and persistence capabilities. Learn the benefits of different hosting options and how to choose the right option for your scenario. Learn …

    3:00 PM

    Automating "Done Done" in the Team Workflows with Microsoft Visual Studio Ultimate and Team Foundation Server 2010

    Brian Randell, Jamie Cool in Petree Hall D

    Learn how Visual Studio Team System (VSTS) 2010 automates the validation of code quality and enriches the interaction between developers and testers on a software team. Explore how the VSTS 2010 …

    That’s it! I’ll be there on Friday too, so if anybody want’s too hook up during the conference or on Sunday or Friday, just email me to lars@corneliussen.de!