Twin Cities .NET User Group - A lap around Microsoft .NET Services

by Matt Milner 20. November 2008 10:41

I'm happy to be giving a talk at the upcoming Twin Cities .NET User Group on December 4 at the Microsoft office.  I'll be talking about the Microsoft .NET Services component within the newly announced Azure Services Platform.  I'm going to cover the Service Bus, Workflow Service and Access Control Service.  We'll have several demos and I'll be providing all the code.  Stop by if you want an early look at this emerging technology. 


General Musings

MSDN Developer Conference - Jan 13 in Minneapolis

by Matt Milner 20. November 2008 10:18

For those of you in the Twin Cities area that missed the PDC, don't fret, we've got the highlights for you.  The MSDN Developer Conference is coming to Minneapolis on Jan 13 with a full day of Azure, WPF/Silverlight, and coverage of "Oslo" and VS 2010.  I'll be talking on one of my favorite new technologies, ADO.NET Data Services and SQL Data Services (SDS) at the end of the day.  Lots of great content; sign up and come join us!


If you are not in the Twin Cities area, check the web site for other locations around the US. 


General Musings

Screencast: Using the WCF Receive Activity in a workflow

by Matt Milner 4. November 2008 19:07

My latest screencast in the Windows WF developer screencast series has been loaded up as of this morning.  In this session, I discuss the basics of using WF to implement an operation in a WCF service, or using WF as the implementation of a WCF service by using the Receive activity.  I show you how to use this activity to implement an operation processing the input parameters and returning the result.  In addition, I do a quick walk through of using the WorkflowServiceHost class to host the workflow service and expose an endpoint for client applications to call. 


Endpoint Screencasts - Using the WCF Receive Activity in Windows Workflow Foundation (WF)




Previous screencasts in this series can be found on the screencast section of the Pluralsight website. You will also find short screen casts on other technologies both current (e.g. WCF) and future ("Oslo") on this page. 


Windows Workflow Foundation

PDC Keynote Day 2: Windows 7

by Matt Milner 28. October 2008 06:00

Today we got to see Windows 7 (the first time for me and many others) which had some cool features in the user experience around the taskbar and notification area.  There are also new features around quickly jumping to certain documents and applications, managing window layouts, and managing documents using libraries.  Libraries seem like a combination of search and folders to make it easier to find your files. The search capabilities are more easily surfaced as well.  In fact, it seems like a lot of Windows 7 is about making it easier to do things in Windows that you could previously do, and improving the user experience.  I think this is critical to competing with Apple as the one thing they really excel at is the user experience.  There are improvements in home networking connecting all your devices automatically and allowing for scenarios where I can for example load some music from another PC and play it on my home audio system, controlling it all from my laptop.  Pretty cool stuff for the home user. 

The taskbar stuff is pretty cool and generally the UI improvements are nice and should make working on Windows a lot better.  We also got to see some of the touch features in Windows 7 (including using it with a new version of MS Paint -woo hoo), which I think is most relevant for tablets, which most people don't have.  I just don't see a lot of people using touch on a monitor on their desktop.  What do you think?  Am I missing something here? 

Homegroup is a cool new feature that simplifies connecting a machine to all the devices in your home network.  Even if you bring your work laptop home, it can participate as a client without comprising the security of the work files on the laptop.  Smart thinking on the part of the team. 

Other interesting features:

  • BitLocker on USB - lose that USB thumbdrive?  No problem.
  • VHD mounting and creation- built right into the disk manager allows for creating VHD from disks or attach one as a drive.  Steven S also said you can boot Windows 7 from a VHD and also use something similar to "undo disks where I can reset that drive for development.
  • Multi-monitor/remote desktop - Easier ability to show on projector with "windows + p" and true multi-monitor support when using remote desktop
  • UAC settings - now on a continuum so I can pick how strong I want the UAC to be. 


Scott Guthrie

New WPF Controls like DataGrid, Ribbon, DatePicker, etc.  Integration into Windows 7 using XAML which looked really easy. 

Visual Studio 2010 built on WPF providing better multi-monitor support, better designers.  Sweet demo showing WPF Control embedded into the text editor and enabling rich visualization of comments including linkable bug identifiers that enable a pop up WPF control that shows the bug details from TFS.  Having WPF embedded into VS is going to enable a LOT of very cool developer tools from MS, third parties and the community. 

All of this is based on the Managed Extensibility Framework (MEF) which I haven't totally groked yet, but sounds pretty powerful not just in VS but in other applications as well. 


Tesco (biggest grocery retailer in the world) showed off a great WPF application built for customers to help manage meal planning, buying groceries, getting them delivered, etc.  They also showed off a cool feature where they put a soda can in front of the web cam, grabbed the UPC from the can and then used that to bring up the product and add it to the cart.  Very cool example. 

  • IIS Smooth Streaming - new feature in IIS 7 that provides the bit rate throttling much like what MS used for the Olympics site. 
  • netflix now using Silverlight for their instant view (which will make my wife the Mac user happy). 
  • Great new suite of Silverlight controls shipping with source. 
  • New Silverlight designer in VS 2010 sharing the codebase with the WPF design surface
  • New release of Silverlight coming with better media support and the ability to run Silverlight in and OUT of the browser.


David Treadwell (Live Framework / Mesh)

Mesh service becoming part of Live Services platform including data synch, device management and building applications on top of the live system.  He announced the Live Operating Environment (consistent across devices -cloud, mobile, pc, etc.) and Live Programming model. 

Demo of a very cool use of Live Mesh culminating with a picture being taken on a phone, synched to a desktop and shared though synch with another desktop version of the application.  Also showed simple access to devices, folders, and contacts. 

Another cool demo from BBC using their iPlayer and POC of mesh integration with devices and contacts.  Super cool example where they started watching a show on the desktop, then it was synched to the mobile phone where it not only downloaded the show, but started playing where he stopped watching on the desktop. 

  • Mesh support for mobile 6 and Mac coming in the beta later this week.


Office 14 Web Applications

WOW - huge announcement involving Web versions of Word, Excel, PowerPoint, and OneNote.  This means a user on the web can view and edit files in these applications in the browser.  Demo showed adding a picture/content to a onenote notebook on the desktop and it showed up seconds later in the web version of the notebook with no refresh.  I guess this is Software + Services!  Very nice. This even works with Windows Mobile where OneNote can run. 

Web applications will work on IE, Firefox and Safari, but also provides a rich Silverlight experience.  I'm actually excited about Office again. 


General Musings

"Geneva" identity framework

by Matt Milner 28. October 2008 04:10

I sat in on a session today that showed off the "Geneva" set of identity tools.  I have to say that the presentation was very well done as it showed how easy it was to take a normal ASP.NET application that was using .NET constructs like IsInRole and PrincipalPermission to do dynamic display and authorization of actions.  Caleb then took that app and enabled the "Geneva" tools on it by running a wizard which updated the web.config and configuring the STS to identify the application and it's requirements for claims.  Then, without changing any code, he ran the application again and the user experience didn't change!  On the one hand, not very exciting, it worked just the same, but when you think about it, he claim enabled the application and the user continued to get integrated login and authorization continued to work.  The claims were being populated by AD and included the group membership so IsInRole and PrincipalPermission continued to work. 

Now, just using a different way to do authz wouldn't be that exciting if it still just used AD and only worked for internal users.  So Caleb next configured a partner organization with a trust relationship, mapped their claims to those the application needed, and logged in as an external user (with no account needed in the local domain) and the application again needed no code changes!  The user had the right access based on the claims from the partner organization and the app continued to work. 

Finally, the demo included two cool features.  First, to enable CardSpace, Caleb just checked a box on the STS and it was good to go.  The issues of authz were all abstracted from the application.  The application did not have to think about where the claims were coming from, it just programmed to the claims.  Finally, the demonstration showed how the web application could use delegation to call a web service.  The web application was enabled for delegation and was able to take the users credentials (claims) and call the STS to get claims for the service. 

The whole "Geneva" framework includes the STS or service, the framework components you can use in your applications/services and then an update to CardSpace as well.  If you are interested in claims based identity (hint: you should be if you are not) then check out the "Geneva" information and download the betas today. 


General Musings

PDC Keynote- Day 1

by Matt Milner 27. October 2008 08:45

Ray Ozzie set the stage by talking about how cloud computing is all about moving to the next level of web applications and services that need to reach your customers.  The traditional data center model takes a lot of resources to manage all of the data centers, servers, etc. involving dealing with resources like electricity, networking, local laws, etc.  Microsoft, and other cloud vendors can help meet these challenges by using their skills and experience in managing data centers, as well as their deep pockets, to build out the infrastructure, tools, and services to help meet this demand. 

Windows Azure is the new name for Windows in the cloud.  It provides a core set of services in the cloud including storage, workflow, messaging, and live services.  The best part is that developers get to use Visual Studio to build the applications - there is a real focus on using existing tools for building cloud applications.  Steve Marx did a simple demo showing how a developer can just build an ASP.NET application in Visual Studio using a new project / solution template RUN AND DEBUG LOCALLY, then publish it to the cloud and run it on the MS data center servers.  I think the killer here is the developer story.  I've used services from Amazon and others for cloud computing, but I think Microsoft has a real chance here to blow them all away if building and deploying applications is as easy as it looks (and appears it is).  A more detailed demo showed off a fun little application called BlueHoo that uses Windows Azure as the backbone for a social networking type site based on Bluetooth connectivity between mobile devices. 

Bob Muglia talked a bit about Microsoft .NET Services including messaging (Service Bus), access control and workflow.  A lot of this is the evolution of BizTalk Services which I talked about recently at the Heartland Developer Conference.  These provide a set of core services that developers can use in their applications to take advantage of the scale and reliability of the data center as well as advanced capabilities around messaging and identity when crossing internet and enterprise boundaries. 

Identity Services - incorporates tightly with Active Directory to provide a great management and interoperability story for federated identity that is easier to manage and enables support for single sign-on and other identity services. 

Microsoft SQL Services is the new name for the SQL Server Data Services (SSDS) as it will shortly include more of the SQL features like reporting and analysis.  Another interesting offering planned is to have a ton of reference data (think list of states, postal codes, e.g.) available as part of the data services so you don't have to buy and/or create all of that data. 

Bob also talked about a project under development called "Atlanta" that is built in the System Center family, built on Windows Azure, and using Microsoft .NET Services to send data to the cloud and storing it in Microsoft SQL Services.  He also showed using a new chart control in Silverlight displaying data queried from Microsoft SQL Services and then showed off a SQL Report using rich charts and gauges, again pulling data from Microsoft SQL Services.  Pretty cool new stuff, and it is nice to see them integrating with and building on current tools and servers so it is not all new for developers. 

For me, the best thing about the new cloud services is the way it leverages .NET and the current technologies and I'm impressed with the effort to make the developer experience really rich and simple for building cloud services. 

Dave Thompson finished up by talking about SharePoint Services and CRM online and how developers can build components for these technologies.  The idea is that for many businesses, they spend a lot of time managing services like SharePoint, exchange, etc. and that is not their core business.  With the online services, Microsoft handles upgrades, patching, threat/security management, scale, etc.  Also, instead of buying hardware and server licenses, you pay as you go for how much you use so the cost is not prohibitive for small businesses.  Two key challenges/capabilities Dave talked about are extending the services just like we can extend the server products, and federated identity so a user can be managed in Active Directory and the Microsoft Services Connector links those to a Microsoft Services identity.  This provides single sign-on for the user where they don't even know they are using an online service in some cases.  For extending the systems, Exchange provides web services you can use, SharePoint online can use SharePoint Designer, web parts, etc. CRM provides web services as well and you can take advantage of data modeling and presentation capabilities. 


General Musings

Slides and Demos from Heartland Developers Conference

by Matt Milner 21. October 2008 06:48

I had the pleasure of presenting at both the Minneapolis and Omaha Heartland Developers Conference this year.  This is a great conference in the central region where national and regional speakers participate to create a great conference offering.  I did a presentation on BizTalk Services in both cities and the slides and demos have been posted so you can download and play with those.  You'll need to setup a account and update the configuration files with your username and password.  The SDK is also available on the site when you sign up for an account. 


In Omaha, I also did a presentation on Windows PowerShell for .NET Developers.  In addition to the slides and the sample cmdlet, I've included my PowerShell profile with the functions showing some usage of script to convert Word and PowerPoint files to XPS or PDF and the zip related functions (thanks to David Aiken for the originals). 


Finally, the IIS Snap-in that I showed with the provider can be downloaded from  This only works with IIS 7 on Vista or Server 2008. 


For those that attended, I hope you enjoyed the talks and have fun with the samples.  For those that didn't, check out HDC next year! 


General Musings

Microsoft's Next Gen application server offering: "Dublin"

by Matt Milner 1. October 2008 09:26

Microsoft announced today the details of upcoming features that will be added to Windows Server 2008 to provide a rich host for WCF Services and WF workflows.  In addition, the announcement provides some information about upcoming features in the .NET Framework v4.0 including.  I'm extremely excited to have a host process for WCF and WF applications out of the box with management features for my services and workflows.  This has been a big detractor for many customers looking at adopting these technologies.  The great thing is that this host technology is integrated with IIS so I don't have yet another management story or some specialized application server, I get to leverage all the work the IIS team did to make IIS 7 and the tooling so great. 


With WCF and building workflow services, having the correlation components is a huge step forward and addresses one of my biggest gripes with the correlation available today.  It's a very exciting time to be building connected systems on the Microsoft platform.  As more information is released at PDC, I'll start blogging about some of the new features and capabilities in the framework and using "Dublin" as a host.  That's right, I said I'd actually start blogging some technical information.  :) 


Check out the information about what's coming and look for more information to come out of the Professional Developer's Conference (PDC)


BizTalk Server | Windows Workflow Foundation | Windows Communication Foundation

Screencast: Using persistence services in Windows WF

by Matt Milner 1. October 2008 07:32

My latest screencast in the Windows WF developer screencast series has been loaded up as of this morning.  In this session, I discuss the basics of add persistence services into the workflow runtime using code or configuration.  Additionally, to show off the power of this feature in Windows WF, I use two different host processes sharing a persistence store: the first host starts a workflow and then it persists, while the second host picks up the workflow after its configured delay and resumes the processing.


Endpoint Screencasts - Using Persistence Services in Windows Workflow Foundation (WF)




Previous screencasts in this series:

  • Running workflows in your .NET applications
  • Your first state machine workflow
  • Your first sequential workflow

    RSS feed of all screencasts in the series


    Windows Workflow Foundation

    Screencast: Running workflows in your .NET applications

    by Matt Milner 24. September 2008 09:04

    My latest screencast is up on the show on Channel 9.  In this screencast I cover the basic steps to host workflows in your applications.  I cover the basic hosting steps in a console application, then jump in and run a workflow in an ASP.NET application. 

    Screencasts: Running Workflows in your NET Applications




    Previous screencasts:


    RSS feed of all screencasts in the series


    Windows Workflow Foundation