So we’re back from Microsoft Professional Developer Conference (PDC09) which was held at the Los Angeles Convention Center this past week.
The focus of PDC is future and emerging Microsoft technologies, product roadmaps, and industry trends – making it the premier, developer-focused Microsoft event. It is not held every year. The workshops, keynotes, and sessions were excellent with few exceptions and, as expected, there were a number of important announcements.
Unlike last year we didn’t come back with multiple gigabytes of pre-release bits; none in fact. Truth be told, though, with the rapid and open pre-release cycles on the many key products and technologies soon to release, any bits would be stale quickly. So get out to MSDN Developer Centers, CodePlex, and the like and pull down the latest as needed.
Take a look at the swag attendees did walk away with though (below)…
Key Themes and Announcements
By no means is this comprehensive but a punch list of key themes and announcements we, as professional developers and Microsoft technology consultants should keep an eye and provide feedback to the product teams on and share with our colleagues, customers, and the community.
“Three Screens and a Cloud”
Ray Ozzie, Microsoft Chief Architect, described Microsoft’s long-term cloud computing strategy as “three screens and a cloud”:
“A journey that started 4 years ago with our Software as a Service platform vision, now materializing. I believe that the world some number of years from now in terms of how we consume IT is really shifting from a machine-centric viewpoint to what we refer to as three screens and a cloud: the phone, the PC, and the TV ultimately, and how we deliver value to them.”
As a very satisfied iPhone user (a WinMo/HTC convert) and someone who has been less than blown away by the Xbox 360/Media Center story, there is work to be done here. As an architect and developer, I’m impressed by the leaps made by Microsoft; providing the tools, platforms, and technologies to deliver sophisticated, connected solutions. And as a consumer, I’m very excited and look forward to seeing the strategy play out to when “it all just works – seamlessly.”
Providing web-centric experiences, served by private clouds in data centers or by the worldwide, public cloud and extended through applications on your desktop, smartphones, and televisions certainly summarize the current software + services strategy. And Ozzie also let in that, along with the back-end – servers, tools, and cloud computing, and the experience at the top of the Microsoft stack – Windows, IE and Silverlight, Office, and SharePoint, that in Spring, at MIX 2010, Microsoft will make announcements about progress on the Windows Live Platform and about developing applications for the “next generation of the Windows phone.”
So given Microsoft’s commitment, and the tools now at hand, it is as much up to us as technologists to plan for and build solutions that leverage and deliver on the “n screens and a cloud” and “software + services” stories.
Cloud Computing: “Software + Services” 2.0
It was announced that Windows Azure will release in January, with billing starting in February 2010. The November release of the Windows Azure SDK, available now, includes updates to Windows Azure Tools for Microsoft Visual Studio, which extends VS 2008 (and included in VS2010 Beta 2) allowing us to easily model, develop and test, build, deploy, and run Web apps and services for Windows Azure.
The AppFabric: a Unified Development, Configuration Management, and Deployment Model
Today, application architecture, design, and tooling considerations are vastly different for on-premises versus cloud-based applications. Now using Visual Studio 2010 and leveraging the AppFabric, applications can be designed and built once, promoted across environments to either Windows Azure or on-premises infrastructure, and delivered securely to our customers; whatever deployment model, service level or scale they require.
In addition, Windows Azure capabilities such as VMs, along with AppFabric, provide us with flexible options for migrating existing on-premises .NET applications to public and private Windows Azure environments.
Windows Azure Platform AppFabric
The Windows Azure platform AppFabric provides secure connectivity as a service to help developers bridge cloud, on-premises, and hosted deployments. You can use AppFabric Service Bus and AppFabric Access Control to build distributed and federated applications as well as services that work across network and organizational boundaries.
From simple eventing scenarios to complex protocol tunneling, AppFabric Service Bus gives developers the flexibility to choose how their applications communicate, and to address the challenges of configuration and management of firewalls, NATs and dynamic IP, and disparate identity systems.
AppFabric Access Control enables simple, secure authorization for RESTful web services that federate with a variety of identity providers.
Windows Server AppFabric
Windows Server AppFabric is a set of integrated technologies that make it easier to build, scale and manage Web and composite applications that run on IIS. Windows Server AppFabric has these core capabilities:
For Web applications, AppFabric provides caching capabilities to provide high-speed access, scale, and high availability to application data. This feature was previously codenamed “Velocity”
For composite applications, AppFabric makes it easier to build and manage services built using Windows Workflow Foundation and Windows Communication Foundation. This feature was previously codenamed “Dublin.”
Project Sydney was announced at PDC. Sydney provides a means to connect existing on-premise or services behind the firewall with those running in the cloud on Windows Azure. Underlying the technologies are IPSec, IPV6, and Microsoft’s federated-identity capabilities (formerly codename “Geneva”).
Sydney can be used for a variety of business cases, such as allowing fail over of on-premises servers to the cloud (or vise versa), to running applications targeting on-premises and cloud deployments, and to synchronize on-premise and Azure-hosted databases, as examples.
Sydney is slated to go to beta early next year and to release in 2010.
Ray Ozzie announced the public alpha release of Microsoft’s Data Services in the Cloud. Microsoft codename Dallas allows developers and information workers to discover, purchase and manage data subscriptions in the Windows Azure platform. The “data-as-a-service” offering is an information marketplace that will deliver data, imagery, and web services from commercial data providers as well as public data sources from a single location, under a unified provisioning and billing framework.
A Silverlight application was shown using the NASA Mars Exploration Rover Mission Images dataset during the Day 1 keynote where attendees put on a set of silly 3D glasses handed out at registration.
Dallas is available now and surfaced at Microsoft PinPoint here.
Visual Studio 2010 and .NET 4
Visual Studio 2010 Beta 2 was released on October 19th, so attendees had nearly four weeks to preview prior to the borage of information provided during keynotes and in deep dive sessions at PDC.
Microsoft announced at PDC that Go Live licenses are available for Visual Studio 2010 and .NET 4. So if you’ve not gotten your hands on Visual Studio 2010, it’s time to dig in and socialize the value proposition of transitioning early with customers.
Visual Studio 2010 is a significant release and has been re-designed using WPF 4.0? Cameron Skinner described the dog-fooding process as painful at times but that (paraphrasing here): “there’s nothing like a dev. finding their own (or a colleagues) bug holding them up.” Noting (half jokingly) how quickly things get resolved.
A quote from the Day 1 keynote by Ray Ozzie sums up, for me, how the Windows, Office, and Visual Studio platform and tools continue to be at the heart of what is to come: “We at Microsoft have one simple strategy – that is to focus on leverage and seamlessness in everything we do.”
Of particular interest to me is the new architect tooling: UML Modeling projects (and strategy), MEF extensibility, and T4 goodness. T4 has been there since VS2K5 but seeing it in action in various open source frameworks, being baked in as an extensibility point (along with MEF) in Visual Studio for Entity Framework 4, and shown in various sessions really re-piqued my interest.
I spoke with Cameron Skinner and team, along with some other attendees, after his session “Code Visualization, UML, and DSLs” and as a practicing enterprise and solution architect (and agile practitioner) the direction being taken by the group is compelling; not only from a modeling perspective, but from a tooling and process automation perspective as significant improvements in TFS have been made.
Some of those Team Foundation Server innovations include:
Multi-project Collaboration (i.e. Team Project Collections)
Process automation improvements, including deep agile support and improved workflows
Truly innovative parallel development capabilities with branching and visualizations
Continuous integration ++
Project visibility and health
Deployment, provisioning, and management options
Be sure to take a look at these Visual Studio sessions.
Entity Framework 4
From what I saw in the whirlwind session “Evolving ADO.NET Entity Framework in .NET 4 and Beyond” by Shyam Pather and Chris Anderson there have been significant improvements . The room was packed so the interest was high. As an observation, session goers (including myself) were guarded going in and generally high-energy walking out. Though you see a combination of NHibernate, Castle Active Record, Unity, and Fluent NHibernate, you also see a lot of innovative new capabilities.
Some of those things we’ve been waiting for, and delivered, include model first (as well as round-trip) development, support for POCO and lazy loading, and improved separation of concerns allowing for, among other things, a better testing story.
I did fiddle a bit late night this week, and there seemed to be issues with inheritance, but will dig in deeper and share my experiences with those interested and in posts. As a steadfast NHibernate advocate, I look forward to the discussion here.
.NET 4 and C# Language Enhancements
.NET and C# 4 now includes the dynamic types, named and optional arguments, enhanced Office programmability, and variance. Some additional areas of interest include:
F# for functional programming
Application Compatibility and Deployment
Improved Security Model
Core New Features and Improvements
Communications and Workflow
There were sessions that hit on each of the areas listed so search the PDC and other sites for content; this is our bread and butter.
Office and SharePoint Development Enhancements
Office 2010 is now available in public beta and there are considerable, exciting improvements in Visual Studio 2010 allowing developers to more easily deliver rich business applications using Office. In addition, with Office Web Access (currently Office Live) developers will have real options to deliver connected solutions targeting both on-premises and in the cloud.
Here are links to SharePoint and Office PDC sessions.
VS Product Line-up Changes
Team System branding – no more: it was confusing. Now there is simply Visual Studio and Visual Studio Team Foundation Server and the Visual Studio product line-up has been streamlined. Now there are just three flavors: Professional, Premium, and Ultimate which provide progressively more capabilities. The new line-up doesn’t erase the price tag reality on the higher end but it is easier to understand. And hell the alternative is point solution fun-and-games; on the high-end with ridiculous price tags.
One significant item of note here is that TFS is now included (no limitations, e.g. Workgroup Edition). If you own VS2010 and MSDN then you own a TFS client and can deploy TFS for team use of any size.
So there’s too much on Visual Studio to punch list but I’ll follow-up with multiple posts with a value-focused perspective.
So I attended a number of Silverlight or UX-related sessions this year. Silverlight 3 was released only 4 months ago but general availability of Silverlight 4 public Beta was announced at PDC. Silverlight 4 provides improved connectivity to peripherals and improves the out-of-browser application options. Together with RIA Services and Prism, Silverlight 4 is a leap ahead for web deployed, core business applications.
Silverlight 4 is planned to release in the first half of 2010.
It was announced at PDC and RIA Services renamed WCF RIA Services. RIA Services simplifies building layered applications targeting Silverlight (and MVC), exposing WCF services and reducing the amount of work for service configuration, contract specification, data validation, and deployment; essentially UI domain services.
Here’s a link to Silverlight sessions and take a look at the Day 2 keynote by Scott Guthrie and team.
SQL Server 2008 R2
Another one of those hot off the presses technologies is SQL Server 2008 R2. Despite the naming it is a major release.
It was also announced that the tooling previously known as codename “Gemini” is now PowerPivot. This is something we need to take a look at along with the BI toolset that Microsoft has delivered along with the partner ecosystem. If you get a chance take a look the PDC workshop “Developing Microsoft BI Applications – the How and Why.” Andrew Brust did a great job of describing the BI landscape and provided pointed guidance on how to approach and transition your customers.
Here’s a link to SQL Server and BI sessions at PDC.
In case you haven’t noticed, Windows 7 was recently released. In addition to Windows 7 there were announcements about the Release of Windows Identity Foundation, Windows Azure, and the AppFabric.
Take a look at the Windows technologies related sessions here.
Microsoft PinPoint was announced. It is a one stop shop providing access to software solutions based on Microsoft technologies. PinPoint is a directory to discover applications, companies, and trusted technology partners through contextual searches; a sort of Apple App Store and Salesforce.com AppExchange rolled together.
“It’s All Data” – Oslo, SQL Server Modeling
So last but not least is something I focused on at last PDC – Oslo and more generally modeling. It was announced at PDC that Oslo has been renamed SQL Server Modeling and the team (along with XML) have been brought together under Data.
The MSDN Data Developer Center has been redesigned to not only include current and emerging data technologies but also roadmap and way early (or “future”) technologies like Oslo, which includes “M” – the language, Quadrant – the tooling, and SQL Server Modeling Services.
Keep an eye on these technologies and view related PDC sessions here.
The Swag, PDC Edition
During the day 2 keynote, Windows and Windows Live Division President Steven Sinofsky announced that attendees would receive an exclusive “PDC Edition” Acer Aspire 1420P Tablet PC designed by the Windows team, for PDC. It was funny watching folks streaming out of the keynote about a half hour early to get theirs, only to be turned away till later in the day.
The tablet’s not yet available to consumers, which make it even cooler, and the stacked configuration (for the nearly netbook form-factor) will allow developers to leverage many of the Windows 7 (64-bit, Ultimate) capabilities, including multi-touch. Take a look at some photos of it here at the Windows Team Blog and the specs here.
Session Videos and Downloads
Session videos, and in many cases the decks, are available publicly at microsoftpdc.com. We encourage you to get out there, download the video and content, and dig into these new technologies. I’d start with the keynotes so you can get a feel for Microsoft technology strategic direction and areas of focus, and then deep dive into the session.