blogs.conchango.com

welcome to the conchango blogging site
Welcome to blogs.conchango.com Sign in | Join | Help
in Search

Simon Evans' Blog

My blog covers the technology areas I focus on here at Conchango, namely Architecture using the .NET Framework, ASP.NET, WCF and Agile development practices.

PDC08 : One week on

PDC went by in a flash. Of all the conferences I've ever had the privilege to attend, it was by far the most intense, in terms of hours, subject matter and variety of new software to consider. For all of these reasons, I chose not to blog whilst I was there. I wanted to chew on what I had seen before blogging about any of the technologies covered.

With the sheer weight of new technologies being unveiled, I decided to pick my subject matter carefully. Therefore, whilst I'm interested in Windows 7 as a consumer, it matters less to me as a .NET developer. That said, it looks like we might be getting the first decent version of Windows in a while judging by what we've seen in terms of performance improvement. I wanted to attend some PLINQ content, but it just clashed with more important content.

Apart from that, I got around all the content that was important to me. I went to several sessions on .NET Services, WCF / WF 4.0, C# 4, Dublin and Oslo, so here's a quick review of the best of what I saw....

WF / WCF 4.0

I was genuinely surprised by how good WF 4.0 looks. In fact, I'd say it was the best thing I saw at PDC in many ways. This was surprising to me, because I never liked WF 3 or 3.5, because it did not feel finished, and had some fundamental flaws like:

  • Poor performance
  • Lack of persistence control
  • Lack of transaction control
  • No correlation support
  • Poor threading model for parallel tasks
  • Weird XOML based markup
  • Not really tied in nicely with WCF (even in 3.5)
  • Host problems

So it was great to hear Microsoft say that they agreed! Reading between the lines it is clear that WF4 is a complete rewrite. Microsoft already claim that it is between 10 and 100 times faster than WF 3.5. Persistance control (complete with message box and tracking databases), transactions, correlation and threading have all been addressed and the object model (now under the System.WorkflowModel) now feels very natural to anyone who has used WCF to a point where they feel like the same framework. And for anyone who's used to WPF and Silverlight, you can now model workflows in XAML (including building your own designers - nice). All of this coupled with what was shown (e.g. not much) of Dublin (the new Windows Application Server) make me conclude that hosting issues have also now been addressed.

All this is very encouraging and would also seen to point to the end of BizTalk Server as a product in the long run.

It was great to see how WCF 4 seems more like an evolution than revolution, underscoring just how "right" this technology is. The main developments here are around more out of the box bindings, including support for SOAP over UDP. I think its fair to expect richer REST support in WCF 4 as again XAML based tooling support for all the WPF people out there. Like WF 4, this all just feels like the framework is a more coherent and unified universe.

Dublin

Not much real software was shown, but from what I could work out, Dublin seems best described as an on premise application server, providing the host scaffolding for WF and WCF services. Its built on top of IIS and WAS, but comes complete with persistence store and tracking database for WF 4 workflows, as well as deep SCOM support and tracing features. Finally, it appears .NET has an application server!

.NET Services

All part of the Windows Azure vision, .NET Services comprises of the .NET Service Bus and Workflow Services. The best way to look at these are WCF and WF in the cloud. In fact... this is one of the best things about .NET Services; if you know how to write a WCF service or WF workflow you already are 90% of the way towards understand how to build services for Microsoft's cloud vision. More importantly, this enables on premise services to be rapidly ported to cloud services without needing a rewrite, preserving and enterprises investment.

The most impressive feature of the Service Bus is the way the whole Relay mechanism works; the bus works out the appropriate message topology based on the subscribers network configuration. So, if a direct connection can be established, the relay will establish a direct connection between publisher and subscriber. Additionally, you can configure the bus to decide to most appropriate communications protocol to use. So, if the subscriber can communicate using Binary encoding over RDP, the relay with use this instead of HTTP. This is all great stuff that most developers will not consider when building middleware (normally just reverting to HTTP because its easiest to configure).

Workflow services are just WF... although these are currently WF 3.5, which is a bit disappointing given all I have seen of WF 4. I'm sure this will change in the near future though.

Published 06 November 2008 21:24 by simon.evans

Comment Notification

If you would like to receive an email when updates are made to this post, please register here

Subscribe to this post's comments using RSS

Comments

No Comments

Leave a Comment

(required) 
(optional)
(required) 
Submit

About simon.evans

Simon is a Managing Consultant for Conchango in the UK, part of EMC Consulting Services. He is an expert in .NET development, and more specifically in WCF and ASP.NET, having participated in several Microsoft early adoption programs. Simon believes deeply that a broad understanding of key technology concepts is an essential foundation to being a gifted designer and builder of solutions.
Powered by Community Server (Personal Edition), by Telligent Systems