Nov 6th Links: ASP.NET, ASP.NET AJAX, jQuery, ASP.NET MVC, Silverlight and WPF

Last week was our big PDC conference, and I’ve been busy catching up back at work this week.  I’m hoping to publish a bunch of new posts soon (including some on the PDC announcements we made).  Until then, here is the latest in my link-listing series.  Also check out my ASP.NET Tips, Tricks and Tutorials page and Silverlight Tutorials page for links to popular articles I’ve done myself in the past.

ASP.NET

  • Download Hotfix: False C# Compilation Errors for ASP.NET Code Behind Files with VS 2008 SP1: The C# team added support for live semantic errors with background compilation in VS 2008 SP1.  There were a few cases where this caused false errors to be shown with ASP.NET Web site projects.  You can fix these either by disabling live semantic errors (tools->options allows you to disable this), or by downloading a recent hotfix patch which is now public.  Omar Khan has a useful blog post with more details on it.

  • Examining ASP.NET 2.0’s Membership, Roles and Profile – Part 13: Scott Mitchell has another post in his great series of ASP.NET security articles.  This one covers how to create a login screen that allows admin users to log in as another user in the user database.  For more on ASP.NET security, also check out Joe Stagner’s recent ASP.NET Security Videos.

  • ASP.NET Patterns Developers Should Know: Alex Homer from the Patterns and Practices (PAG) team at Microsoft has a nice article that introduces a number of common design patterns (MVC and MVP, Repository, Singleton, etc) and how you can apply them within ASP.NET applications.  If you are interested in learning more about pattern based development I also highly recommend reading the Head First Design Patterns book (which has more than 250 positive reviews on Amazon).

ASP.NET AJAX and jQuery

  • Rich jQuery Intellisense with VS 2008: Last week we published a new jQuery intellisense file for VS 2008 that delivers super-rich and accurate javascript intellisense when using jQuery.  Jeff’s article describes how to download and start using it today.

  • ASP.NET and jQuery: Stephen Walther delivered an awesome talk on using jQuery with ASP.NET at the PDC conference last week.  You can now watch it online for free.  Click here to download his code samples and powerpoint presentation.

  • jQuery Primer Part 1 and Part 2: Karl Seguin has two nice posts that provide a quick overview of some of the basics of how to use jQuery.  Also check out Rick Strahl’s longer Introduction to jQuery article (which I’ve previously linked to) for a longer jQuery tutorial.

  • ASP.NET AJAX Futures: Bertrand Le Roy delivered an awesome talk on the new ASP.NET AJAX features coming soon at the PDC conference last week.  You can now watch it online for free as well as download his slides and code-samples.

ASP.NET MVC

  • Bin Deployable ASP.NET MVC: Phil Haack has a useful blog post that describes step-by-step how to enable \bin directory deployment of ASP.NET MVC.  This enables you to deploy ASP.NET MVC based applications on remote hosting servers that do not have ASP.NET MVC already installed (which means you don’t need them to run any setup or do extra steps for your application to work).

  • Donut Caching in ASP.NET MVC: Phil Haack has a great blog post that talks about how to implement substitution output caching with ASP.NET MVC.  I coined the name "donut caching" for this technique with a previous blog post I did on using substitution output caching with ASP.NET Web Forms.  Phil covers it for ASP.NET MVC.

  • Grouping Controllers with ASP.NET MVC: Phil Haack has another great post that covers how to segment a ASP.NET MVC application into multiple "areas" or "modules" – which can optionally be developed in separate projects and merged into one large master application.  Also check out Steve Sanderson’s follow-up post with more ideas on this topic.

Silverlight and WPF

  • Silverlight Toolkit Released: Last week at PDC we shipped the first release of the Silverlight Toolkit.  This is a free download that works with Silverlight 2, and delivers a whole slew of awesome controls and features (including new charting controls, new layout managers, treeview, viewbox, and more).  A must-have download for every Silverlight  developer.

  • Silverlight Unit Test Framework and Source Released: Jeff Wilcox shares all the great details about the release of our new Silverlight Unit Testing framework (which includes source that can be modified/reused however you want).

  • Updated WPF Performance Profiling Tool: The WPF team recently posted an update to their excellent WPF Performance Profiling Tool.  Definitely something to check out if you are doing WPF development.

  • WPF & Silverlight LOB Form Layout – Searching for a Better Solution: Karl Shifflett has another great WPF blog post that covers a cool way to perform flexible form layout for LOB scenarios.

Hope this helps,

Scott

Complete PDC08 List of Sessions and Powerpoint Decks

A big thanks to my good friend Thiago
(runs the NZ CSD User Group)
as he provided us on the OzTalk mailing list (list
dedicated to BizTalk/CSD user group members) with a list of URLs to grab all the sessions
+ ppts.

Load these URLS into something like Free Download Manager and go surfing 🙂

Thanks Thiago! My ISP isn’t happy with me at the moment…..over my limit….wonder
why 🙂

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/BB06.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/BB13.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/BB39.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/PC48.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/SYMP02.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/SYMP03.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/SYMP05.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/BB01.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/BB01.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/BB02.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/BB02.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/BB03.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/BB03.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/BB04.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/BB04.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/BB05.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/BB05.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/BB06.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/BB07.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/BB07.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/BB08.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/BB08.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/BB09.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/BB09.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/BB10.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/BB10.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/BB11.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/BB11.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/BB12.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/TL16.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/BB13.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/BB14.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/BB14.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/BB15.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/BB15.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/BB16.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/BB16.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/BB18.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/BB18.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/BB19.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/BB19.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/BB20.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/BB20.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/PC54.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/BB22.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/BB23.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/PC49.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/BB24.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/TL31.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/BB25.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/TL14.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/BB26.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/SYMP06.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/BB49.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/BB27.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/BB28.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/BB28.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/TL37.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/BB29.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/BB30.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/BB30.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/BB31.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/BB31.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/BB32.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/BB32.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/BB33.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/BB33.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/TL21.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/BB34.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/BB35.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/BB35.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/BB36.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/BB36.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/BB37.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/TL49.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/BB38.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/BB38.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/BB29.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/BB40.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/BB40.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/BB41.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/PC16.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/TL42.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/BB42.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/BB43.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/TL29.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/BB44.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/BB42.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/KYN01.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/TL47.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/BB46.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/BB46.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/BB47.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/BB12.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/PC14.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/TL45.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/TL35.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/PC55.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/BB51.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/BB51.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/BB52.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/TL39.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/ES04.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/BB53.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/BB54.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/TL09.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/BB55.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/BB55.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/BB56.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/BB25.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/PC23.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/BB57.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/BB58.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/BB58.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/ES25.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/BB59.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/ES01.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/TL04.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/ES32.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/ES02.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/ES03.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/ES03.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/TL30.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/ES04.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/PC31.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/ES06.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/ES07.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/ES07.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/ES09.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/ES10.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/TL24.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/ES10.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/ES11.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/ES11.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/ES12.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/PC10.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/ES13.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/ES13.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/ES14.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/ES14.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/ES16.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/PC11.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/TL28.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/BB41.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/ES17.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/ES02.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/ES19.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/ES19.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/ES20.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/ES20.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/ES21.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/PC11.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/ES22.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/ES21.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/ES23.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/TL09.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/PC07.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/ES24.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/ES25.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/ES17.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/PC21.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/ES29.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/ES30.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/TL57.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/ES31.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/PC26.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/PC22.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/ES32.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/BB49.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/TL54.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/KYN03.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/PC54.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/PC01.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/PC02.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/BB26.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/TL58.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/PC03.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/TL18.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/PC04.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/PC05.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/PC05.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/TL15.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/BB44.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/PC51.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/PC07.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/PC10.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/BB24.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/TL18.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/BB52.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/TL34.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/PC52.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/PC13.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/PC13.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/PC14.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/BB43.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/TL40.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/PC06.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/PC48.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/BB53.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/PC17.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/TL06.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/PC18.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/SYMP01.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/TL60.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/PC19.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/PC20.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/PC20.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/BB47.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/TL48.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/PC12.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/PC22.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/PC18.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/BB22.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/PC29.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/PC24.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/PC25.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/PC25.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/PC26.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/TL08.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/PC27.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/ES30.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/TL59.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/PC29.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/TL32.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/PC58.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/PC31.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/PC02.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/PC32.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/TL58.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/PC33.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/PC33.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/TL30.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/TL33.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/PC35.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/PC35.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/PC39.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/BB23.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/TL35.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/TL55.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/TL50.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/PC41.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/PC51.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/TL13.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/PC43.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/TL27.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/PC44.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/PC06.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/PC45.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/TL34.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/PC43.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/ES22.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/PC47.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/PC58.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/TL31.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/PC49.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/BB54.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/PC50.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/PC50.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/ES09.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/PC59.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/PC52.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/TL07.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/PC53.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/PC53.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/TL56.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/TL13.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/SYMP02.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/PC56.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/PC59.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/TL25.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/ES16.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/TL03.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/PC46.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/ES23.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/BB56.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/TL51.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/TL24.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/TL19.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/TL44.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/TL01.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/TL21.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/SYMP06.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/TL28.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/TL01.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/TL11.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/BB39.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/TL03.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/PC23.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/PC19.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/TL32.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/ES24.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/PC17.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/PC56.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/TL06.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/PC30.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/PC46.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/ES15.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/TL10.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/BB37.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/ES12.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/TL10.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/BB45.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/TL11.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/TL12.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/PC03.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/KYN02.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/TL08.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/TL14.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/PC40.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/PC40.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/TL15.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/TL52.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/PC24.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/TL17.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/SYMP04.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/TL59.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/SYMP01.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/TL19.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/TL38.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/BB48.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/TL20.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/TL48.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/PC44.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/TL16.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/PC27.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/TL42.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/TL23.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/PC15.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/TL22.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/PC41.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/PC34.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/TL26.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/PC15.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/PC21.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/TL52.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/BB59.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/PC45.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/TL40.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/BB34.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/TL23.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/TL26.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/BB27.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/TL22.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/SYMP05.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/TL27.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/ES29.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/TL33.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/PC42.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/PC55.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/BB45.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/PC47.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/TL36.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/ES15.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/PC12.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/TL37.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/BB48.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/TL38.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/TL39.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/TL29.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/SYMP04.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/TL54.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/PC34.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/ES06.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/TL12.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/TL43.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/TL44.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/TL20.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/TL45.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/ES01.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/TL46.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/TL46.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/TL04.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/PC39.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/TL47.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/TL36.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/SYMP03.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/TL17.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/ES31.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/TL50.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/PC30.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/PC01.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/TL56.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/PC42.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/PC16.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/TL02.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/PC04.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/TL55.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/TL07.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/TL49.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/TL51.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/TL43.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/BB57.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/TL25.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/TL02.pptx

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/PC32.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/TL60.wmv

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/TL61.wmv

Toronto Seminar on a great new Healthcare integration solution

For those of your involved in the healthcare sector, be sure to check out an upcoming event being held by one of our partners in the Toronto region. Dapasoft is a BizTalk partner with deep roots in the healthcare sector and they have developed a great new solution for healthcare integration.  Corolar, developed by Dapasoft, is a solution for healthcare integration built around four major components, and embodies their unique methodology for integration projects. Corolar is completely optimized for HL7 integration projects, and is the product of years of experience and a deep understanding of the integration environment. (www.corolar.com)


Corolar is the only solution of its kind available and provides tremendous value-add service from the integration experts at Dapasoft.


Dapasoft’s methodology concepts are seamlessly integrated via the components in Corolar and can be summarized in three simple phases:


Standardize based on best practices repository.
Document and report on HL7 integration requirements.
Accelerate delivery of HL7 integration solutions.


This seminar will take place over a half day.  The formal invite along with the agenda and a link to register are included below:


Healthcare Integration Simplified


 


Register now to attend this information session with a focus on tools, methodologies and best practices to simplify and accelerate Healthcare Integration solutions. Come and learn from real-world success stories where Microsoft technologies are applied to transform Healthcare delivery in Canada.


 


https://www.clicktoattend.com/global/invitation.aspx?code=13106


 


Dapasoft has partnered with Microsoft to deliver this Healthcare event. Dapasoft is a core BizTalk partner in the Healthcare vertical, and we will introduce a new Healthcare integration offering based on Microsoft .NET technologies to simplify and accelerate integration solutions.


 


This event will be held on November 20, 2008 starting at 9:00 AM at the MSN Office in downtown Toronto


 


MSN – Microsoft Network Canada


Ernst and Young Tower in the Toronto-Dominion Centre


222 Bay Street, Suite 1201


Toronto, ON


 


8:00 AM                Welcome & Reception


9:00 AM                Seminar Begins


12:00 PM              Lunch / Networking


 


We are excited to have Gaston Roy, the CIO of Sudbury Regional Hospital to present and discuss successful Regional integration of 20+ sites across Northern Ontario with a shared Meditech platform and a common BizTalk integration infrastructure.


 


We are also pleased to have Rick Lambert, System Integration Consultant at Markham Stouffville Hospital to discuss the many challenges with Healthcare integration; and how Microsoft .NET technology has helped to provide real-world solutions.


 


Please click the link above to register for this event. Please also feel free to forward to any colleagues that might be interested.


Flander’s introduction to M in "Oslo"

Flander’s introduction to M in "Oslo"

As I explained in my Introduction to "Oslo", the "Oslo" modeling platform comes with three main components: the repository, the modeling language (M), and the modeling tool ("Quadrant"). M is probably the hardest of the three to get your head around.

One of the reasons it's hard to get your head around M is because it's multifaceted — it can serve different purposes — and the different use cases aren't immediately obvious when you first jump in. In an attempt to make things clearer, my fellow instructor Jon Flanders has produced a nice introduction to M video that shows how M can be used as a simpler language for generating database tables. Check it out here.

introtom-300

By the way, we now have a central landing page for our screencasts produced by Pluralsight instructors. We intend to continue growing this collection of free screencasts over time.

Content from the Canadian Connected Systems Conference

We’ve been to Vancouver and Toronto so far and lots of people have been asking about the presentations that we delivered at the Connected Systems Conference.  We’re uploading them now to a skydrive site and you should be able to access them at


For the Toronto slides:


http://cid-ece4536d84e10155.skydrive.live.com/browse.aspx/Connected%20Systems%20Conference%202008/Final%20Slides%20-%20Toronto


For the Vancouver slides:


http://cid-ece4536d84e10155.skydrive.live.com/browse.aspx/Connected%20Systems%20Conference%202008/Final%20Slides%20-%20Vancouver


The site should be open for anyone to download the presentations and you won’t need a password or ID.  It may take us a day to get all of the presenters to upload their decks, so if you don’t see the one you wanted, give it a day and then check back.


Cheers and keep on BizTalking


Peter

Screencast: Using the WCF Receive Activity in a workflow

Screencast: Using the WCF Receive Activity in a workflow

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)

 

WF_WCFReceive_Screen

 

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. 

"Oslo" and the future of BizTalk Server

"Oslo" and the future of BizTalk Server

“Oslo” is a new modeling platform being developed by Microsoft that promises to simplify the way we design, build, and manage systems on Windows. Check out my last post on Introducing "Oslo" for more details.

Because CSD also includes the teams responsible for Windows Communication Foundation (WCF), Windows Workflow Foundation (WF), and BizTalk Server, it stands to reason that “Oslo” is related to these technologies to some degree. It’s also reasonable to question what future impact, if any, “Oslo” might have on your applications that were built using these CSD technologies.

There are many similarities between the current version of BizTalk Server and some of concepts that “Oslo” tries to address. These similarities raise some understandable questions about Microsoft’s future roadmap for BizTalk Server. There have even been rumblings of a complete BizTalk Server rewrite on top of the “Oslo” modeling platform. Given what a complete rewrite typically means to a product, this would probably not sit well with most enterprise customers who have made serious investments in BizTalk Server and are counting on a stable future.

In order to help answer these concerns, Microsoft recently announced their plans for the next version of BizTalk Server, which will carry the moniker BizTalk Server 2009 (instead of the previously planned “R3” title), and clarified the future roadmap for the product. They announced that BizTalk Server 2009 will focus on the following improvements/additions: updated Windows platform support (e.g., Windows Server 2008, SQL Server 2008, and Visual Studio 2008), improved service enablement, a built-in UDDI registry, improved B2B integration, increased developer productivity, and even Hyper-V support. Notice there was no mention of "Oslo" in the list of new features.

Microsoft also made it clear that they plan to continue releasing a new version of BizTalk Server approximately every two years along with interim service packs as needed. They seem genuinely committed to maintaining the stability of backwards-compatibility of the product. Microsoft has assured customers that even with “Oslo” on the horizon, the charter for BizTalk Server remains consistent – it allows the Microsoft application platform to connect and interoperate with other kinds of systems (e.g., LOB applications, legacy systems, RFID devices, and B2B standards). BizTalk Server will remain focused on these core strengths and will not be rewritten for “Oslo” until it can value for their customers.

Microsoft has emphasized that BizTalk Server will follow a disciplined, evolutionary path to ease customer adoption of the newer platform technologies while continuing to build on the current mature BizTalk Server architecture. They have also promised that BizTalk customers won’t be forced to migrate to a newer version of the product before they are ready, and they have committed to providing backwards compatibility for applications built against previous BizTalk Server versions.

Furthermore, BizTalk customers will be able to take advantage of the “Oslo” modeling platform benefits – without any architectural changes to the product – by simply service-enabling their BizTalk solutions and composing those BizTalk services into composite “Oslo” applications using the modeling platform components.

So if you’re a BizTalk customer and “Oslo” is making you nervous, you can relax. Microsoft doesn’t have immediate plans to redesign BizTalk Server around “Oslo” from what I understand. The product team will remain focused on adding new features and capabilities requested by customers, and they’ll take a longer-term approach for incorporating new “Oslo”-driven features when that makes sense.

The BizTalk team will have to decide, like everyone else, if the “Oslo” modeling platform brings enough value to customers to warrant changes that might impact customers in the future. If the business value is evident, customers will want it. Otherwise, customers simply won’t put up with it.

What's probably more likely in the shorter term is some convergence between BizTalk Server and the new "Dublin" extensions that were also announced at PDC. "Dublin" provides a hosting and management experience for WCF and WF applications that will remind you a lot of BizTalk Server. I don't know of any details but it seems like an obvious path forward. I'll write more about "Dublin" in a separate post.

Semi-short video on M – aka M is like an Onion

Semi-short video on M – aka M is like an Onion

 

I spent some time the last few days recording a short screen cast on M.  You
can view it here:

Intro
to M
(~ 39 minutes)

One thing I would say about M is that it may be different things to different people. 
This video is just one example of what you might do with M.

I say in the title that "M is like an Onion" as an homage to Shrek (if you
haven’t seen this movie look here – Ogres
are like Onions. 

It isn’t because M smells, but because M has layers.  There is the whole "M". 
You can split that up into MSchema, MGrammar, and MGraph.  Each part might be
useful.  And any one of them has a number of different interesting scenarios.  

In this scenario my concept was "I’m a .NET developer, I create tables in a database
to hold my application data, so how might I use M?".



Check out my new book on REST.

Introducing "Oslo"

Introducing "Oslo"

At this year’s PDC, Microsoft announced a new technology called “Oslo”. This article aims to help you understand the vision of “Oslo”, how it fits into the bigger picture as a Microsoft developer, and some of the key features it will ultimately provide in the years ahead.

What is “Oslo”?

“Oslo” is a new modeling platform being developed by the Connected Systems Division (CSD) at Microsoft. CSD includes the teams responsible for Windows Communication Foundation (WCF), Windows Workflow Foundation (WF), BizTalk Server, and other related technologies. The “Oslo” modeling platform promises to simplify the way we design, build, and manage systems using these CSD technologies, as well as potentially many others down the road. It’s an incredibly ambitious endeavor by Microsoft to finally tackle the modeling space.

The initiative encompasses an entire group of forthcoming products and technologies that will be released by CSD over time. In order to lay the technical foundation for the “Oslo” modeling platform, CSD will first ship a new version of the .NET Framework and Visual Studio – currently referred to as .NET Framework 4.0 and Visual Studio 2010 – containing some key updates to WCF and WF that make it possible to author declarative workflows and services (think of these as XAML-based “models”).

In addition to these advances, the “Oslo” modeling platform provides a revolutionary model-driven approach for building distributed applications. The modeling platform consists of three main components: the “Oslo” modeling language (also known as “M”), the “Oslo” repository, and the “Oslo” modeling tool (also known as “Quadrant”), described here:

Repository

A store for distributed application “metadata”. The data in the repository describes the entities that make up your system, which other “Oslo” components can take advantage of to simplify the user experience for the different stakeholders involved.

Modeling Language (“M”)

A new text-based data modeling language, designed for developers, for describing the data stored in the repository and for generating SQL. The repository will come with numerous pre-defined schemas that represent common distributed application constructs. “M” also provides a grammar for creating custom Domain Specific Languages (DSL).

Modeling Tool (“Quadrant”)

A new visual editor for interacting with the data found in the repository. It provides a “visual” experience for the less technical stakeholders. You can both view & edit repository data using this tool. It even supports custom views for different stakeholders.

In a nutshell, developers use the modeling language to define new models – they could be data models, workflow models (e.g., XAML-based workflows), or even IT infrastructure models. Models are ultimately stored in the repository. The various stakeholders (analysts, architects, developers, and IT pros) can use the “Oslo” modeling tool to interact with the models found in the repository.

Runtime environments can then be built on top of the “Oslo” repository for executing models. One of the first runtimes to build on the “Oslo” modeling platform will be “Dublin”, the codename for some new capabilities being packaged into Windows within the “Application Server” role (it may end up being loosely referred to as the Windows Application Server). “Dublin” provides an enterprise-level hosting platform for WCF and WF applications and it will eventually use “Oslo” to simplify the deployment, scale-out, and various operations and management tasks (final details TBD).

Other Microsoft products and technologies are expected to build on “Oslo” to provide other runtimes. A few that have already been announced include Microsoft System Center (Operations Manager) and Team Foundation Server (TFS) in Visual Studio Team System. It’s important to note that the next version of BizTalk Server – BizTalk Server 2009 – will release well before “Oslo” so it will not include “Oslo” integration in the 2009 release.

Microsoft hasn’t yet provided official dates for when these various “Oslo”-related pieces will be released. All we know is that first they’ll release .NET Framework 4.0 and Visual Studio 2010, and then at some point after they’ll release the “Oslo” modeling platform and the first version of “Dublin”. PDC attendees received an initial “Oslo” CTP – they handed out at VPC at the show – for everyone else, keep your eyes on MSDN and the Microsoft Connect site. There will be a public Visual Studio 2010 CTP at some point but unfortunately, it may not contain the WCF and WF 4.0 bits according to my sources. It’s still unclear at what point WCF and WF 4.0, “Oslo”, and “Dublin” will be made publicly available.

The “Oslo” Modeling Platform

A typical distributed application is a complex beast. Part of this complexity stems from the fact that there are many moving parts – different types of data, different servers and environments, and different line-of-business applications running on different platforms – creating a complex heterogeneous environment to manage. In addition, there are numerous stakeholders involved in a typical distributed application – business analysts, enterprise architects, developers, and IT professionals – all of whom must work together to accomplish the goals of the system. Unfortunately different stakeholders have different concerns and priorities. This makes it difficult for the business to move forward towards common goals, especially when the technology is fighting against the business each step of the way.

For example, when someone notices that a key SLA isn’t being met, how does one go about tracking down the problem within a large distributed application? Which business process is it related to? Who is the business analyst responsible for that particular business process? What application actually supports the business process and what server is it running on? And more specifically, what component or service within that application is ultimately responsible for the problem preventing the business from meeting the SLA? Given today’s technologies, situations like this can be extremely difficult to resolve – yet they’re all too common – welcome to the wonderful world of distributed applications.

What many organizations need is a platform that addresses the complexities of distributed applications head-on. They need a platform that allows analysts to model business data and processes, architects to design the system, and developers to implement system components, while collaborating effectively with one another along the way. And perhaps more importantly, they need a platform that provides visibility into the applications and tools that make it easy to manage the system especially when problems arise. It should facilitate identifying problems, tracking down the cause, and resolving things quickly. They need a platform for managing the distributed application lifecycle more effectively.

This is precisely the type of support that the “Oslo” modeling platform promises to provide. “Oslo” provides the technical foundation for designing, building, and managing distributed applications while improving collaboration across the various stakeholders. Ultimately, the full “Oslo” vision will be realized by the various products that build on the “Oslo” platform like Windows Application Server (“Dublin”), Microsoft System Center (Operations Manager), Team Foundation Server (TFS), and potentially BizTalk Server. If successful, “Oslo” may radically change the face of distributed applications in the years ahead.

Understanding “Models”

The term “model” often comes with negative connotations. This is because the promise of “model-driven” architectures has long been touted but never fully-realized. The various attempts always seem to start with some great hype, but that hype quickly fizzles away once organizations try putting it to use. Hopefully that will not be the case with the “Oslo” platform. Ultimately, the success of “Oslo” will be judged by the companies that put it to use and are able to measure real business value.

There’s a lot of baggage that comes with the term “model”. It’s a term that can actually mean different things to different people. When Microsoft uses the term “model”, they’re using the term in the broadest sense – it’s an abstract representation of something – it could take many forms such as a picture, written text, or perhaps a concrete schema definition. Because of the real issues surrounding the term “model”, Microsoft often uses the term “schema” instead of “model”. So in the context of “Oslo”, when you hear the term “model” or “schema”, they’re probably referring to the same thing.

You can think of “Oslo” models as distributed application “metadata” or, in other words, data that describes the distributed application itself. One of the great lessons we’ve learned over the past few decades is that metadata is incredibly valuable to a platform. The more data we make available within our code, the more possibilities we open up to the runtime during execution. For example, a runtime can inspect the data found within our code to make execution and behavioral decisions dynamically.

We’ve experienced an incredible evolution of metadata technology over the last decade – from traditional DLLs, to COM type libraries, to .NET metadata attributes, and culminating in XAML in .NET 4.0 – each transition has moved us closer to the vision of “code as data”. A declarative workflow service, encoded in XAML, is nothing more than data that can be treated as code within a WF runtime. And since it’s just data, it can also be queried, tooled, stored, and deployed in a lot of different ways.

The repository is a place to store declarative programs along with other types of distributed application metadata – you can store models for things like IT infrastructure (e.g., physical machines and their environments), business processes (e.g. workflows), and even service level agreements (SLA). “Dublin”, on the other hand, is a runtime environment for deploying, executing, and managing these models (primarily XAML-based workflows, which are also considered “models” by “Oslo”).

The fact that you can actually “run” a model sets the “Oslo” modeling platform apart from those of the past. This completely removes the gap between the model and the resulting code that is often problematic in today’s modeling environments. “Oslo” makes it possible for a variety of different stakeholders to collaborate on the same model definition, which can be executed in a model runtime without losing any fidelity. In this sense, “Oslo” gives you a more direct path for getting thoughts out of your head and into a running system. As Microsoft likes to put it, “Oslo” attempts to move from a world where models describe the application to a world where models are the application.

Ultimately, models sit at the heart of the “Oslo” platform. You store models in the “Oslo” repository and stakeholders interact with models found in the system through the “Oslo” Visual Editor (“Quadrant”). And when you need to extend the “Oslo” repository with domain specific models, your developers can use “Oslo” modeling language (“M”) to define them. Let’s dig into each one of these below.

The “Oslo” Repository

The repository is really the central nervous system of the “Oslo” modeling platform. It’s what the various stakeholders and system components look at to figure out what to do. It enables everyone to work from a common information set, thereby improving communication and cross-stakeholder collaboration.

Ultimately, the repository is just a SQL Server database that contains a bunch of tables and rows. Developers can use the “Oslo” modeling language to define new models to be incorporated into the repository. However, the “Oslo” modeling platform will initially ship with numerous pre-defined models common to all distributed applications, thereby reducing the need for custom models to some degree. The repository makes some exciting things possible. It’s ultimately what allows different stakeholders in a distributed application to collaborate with one another throughout the application lifecycle.

For example, the analysts can define the data models, business processes, and SLAs that drive the business, without getting into any technical details (they’ll typically do this by using the “Oslo” modeling tool we’re about to discuss). They can also define the events they’ll want to monitor and track over time. All of this information is stored in the repository. At the same time, the IT pros can describe the infrastructure landscape (e.g., data centers, clusters, computers, etc) and store that information in the repository. Developers can then access the models in the repository and implement them with Visual Studio using declarative WCF and WF code. Once they’re done, they’ll store their XAML-based models back in the repository. An architect can then define an application model for how the various software models should be deployed onto the IT infrastructure and store the resulting model in the repository.

Once the repository contains these valuable models, IT pros can use Windows Application Server (“Dublin”) to deploy, execute, monitor, and manage the application across a set of managed servers. While the application is running, the business analysts will be able to gather valuable tracking information and business analytics. And when problems arise, IT pros can identify problems through the monitoring and tracking features, and figure out who to talk to by navigating the repository.

What I’ve just described is the long-term vision for the “Oslo” repository – the initial release will have a much more model scope in terms of functionality (so everything I’ve described here may not be possible in v1). Once TFS and System Center support “Oslo”, we’ll get closer to the full “Oslo” vision.

The “Oslo” Modeling Tool (“Quadrant”)

The other major component that makes up the “Oslo” modeling platform is the “Oslo” modeling tool – also referred by its codename of “Quadrant”. The goal of this tool was to provide an intuitive visual user experience for interacting with the models found in the repository. For example, “Quadrant” can be used to view data models, business processes, or even IT infrastructure models with appropriate views for each type. The tool also highlights the relationships between different models, making it easy to navigate and explore all of the valuable information found in the repository.

“Quadrant” was designed to be highly customizable for the different types of stakeholders involved in a distributed application. Every model in the repository comes with a default view but users can create custom views while they’re using the tool, in ways that are important to each stakeholder.

In addition to viewing information found in the repository, “Quadrant” also makes it possible for users to “edit” repository information. This will be the primary user experience for less technical users (like business analysts and IT pros) to add information to the repository or to make necessary changes in response to system feedback without having to work with the modeling language (“M”) directly. It also gives developers an easier way to track things down and find models of interest within the repository.

Without a tool like “Quadrant”, the “Oslo” modeling platform wouldn’t have be complete. The initial version seems to have great potential for bridging the gap between the stakeholders in a distributed application, and it’s great to see Microsoft investing in it up front. Hopefully this tool will continue to evolve into something that makes “Oslo” truly shine in the world of model-driven development.

The “Oslo” Modeling Language (“M”)

The “Oslo” modeling language – also referred to as “M” – is a developer-centric language for defining models without using a visual editor but without getting too bogged down in details either. “M” was specifically designed for developers to type and read, and it was meant to provide a nice middle ground between the worlds of visual modeling tools (which many developers don’t like) and the very low-level worlds of T-SQL and XAML. The primary reason Microsoft invented “M” was because their developers needed something like it for defining the myriad of models that will ship within “Oslo” and according to Microsoft, their developers didn’t want to work directly with T-SQL or a visual modeling tool.

It’s important to note that “M” does not mandate how data is stored or accessed, nor does it mandate a specific implementation technology. Rather, “M” was designed to allow users to write down what they want from their data without having to specify how those desires are met against a given technology or platform. However, the models are ultimately stored in the “Oslo” repository, which is a SQL Server database so we’ll need some tools for translating the “M” definitions into SQL constructs.

Once you’ve defined a model using “M”, you can use the tools found in the “Oslo” SDK to generate the resulting SQL and a repository installation package. The SDK comes with several tools for working with “M” models. There’s a tool for compiling “M” files into installable packages. And there’s another tool for installing models into the repository. The SDK also comes with a Notepad-style editor called Intellipad (IPad) targeted at developers working with “M” files (it’s actually more like Emacs than Notepad). It provides features like syntax highlighting, validation, and a command mode for using the "Oslo" SDK tools within an integrate buffer window.

If you’re savvy with SQL, you can actually bypass “M” and write data straight into the repository but I don’t expect that to be very common given the repository’s inherent complexity. Also, the repository will ship with a bunch of predefined models common to all distributed applications, further reducing the need for custom models. Hence, using “M” won’t be a requirement for building “Oslo” applications.

You’ll only need to use “M” when you wish to extend the “Oslo” platform with domain-specific models. You can use “M” to define a variety of different models – new data models, business process models (workflows), or even IT infrastructure models (describing physical hardware). You can even use “M” to define custom DSL's to further simplify the authoring of domain-specific models, which is one of the most compelling use cases in my opinion). You could use “M” to define a DSL for authoring domain-specific workflows that makes perfect sense to business workers.

Summary

“Oslo” provides a powerful new platform for designing, developing, and managing distributed applications on the Windows platform with key features that target unifying stakeholders, increasing visibility, and simplifying various development and management tasks. Whatever your role happens to be – whether business analyst, architect, developer, or IT pro – “Oslo” has something to offer you.

However, it’s important to note that you’re seeing a very early glimpse of “Oslo” in its longer-term roadmap. There’s a lot of work left to do on the “Oslo” front and the real business value won't become fully evident until other products have successfully used it to provide additional capabilities. Remember, “Oslo” is a platform for other things to build on. As a result, it probably won’t be very useful to you right now unless you’re an ISV looking for a new business opportunity. Before “Oslo” becomes immediately actionable at large, it needs to directly translate into decreased costs, additional capabilities, or improved business agility, and that's probably going to take some time for Microsoft to pull off.

There are numerous teams at Microsoft anxiously engaged in making this happen by using “Oslo” to improve their capabilities. Some of these include Windows Application Server (“Dublin”), Microsoft Systems Center, and TFS. Once they ship “Oslo” enabled versions, the business value of “Oslo” should become much clearer. It’s just hard to say at this point exactly when that might come to fruition. As always, “Oslo” could be the start of something big, and then again, it could just be another blip on the radar of “model-driven” hype. I guess only time will tell.

Additional Resources