What You Need To Know: WCF, WCF, ADO.NET SyncServices, and ClickOnce

I had a great time visiting with a great team at Verizon this week.  I was able to present on a number of technologies, including ADO.NET Sync Services, WCF, WF, and ClickOnce.  I was going to send this in an email, then I realized that there are some great bits in here that would appeal to a broader audience.  

Getting Started

I mentioned in the talk that just about everything I was showing came from the VS2008 Training Kit.  All of the demos and PowerPoints are available there.  My favorite stuff in there is the WCF and WF combination, which I showed (remember Workflow Services and Durable Services?).  There is also a great post that points to screencasts and getting started links for the VS2008 Training Kit.

I didn't show this off at all, but there is an accompanying version of the training kit called the VS2008 Training Kit Enhancements.  It is fairly web focused (includes materials on ASP.NET MVC, ASP.NET Dynamic Data, ASP.NET AJAX History, and ASP.NET Silverlight controls).  The two real gems in that package focus on ADO.NET Data Services and ADO.NET Entity Framework.  That's certainly some of the stuff that I intend on showing in follow-up sessions.

ADO.NET Sync Services

Marc Schweigert has a great set of demos and an accompanying webcast that shows ADO.NET Sync Services.  While most of the Sync Services demos I have seen use Windows Forms, Marc shows how easy it is to use with a very slick-looking WPF client and splits the tiers using a WCF service.  Marc's post includes a pointer to the SQLExpress database and the solution files.  Highly recommend this for anyone doing development with occasionally connected smart clients.

I also should point out that Daniel Moth has a good intro video that shows how to use the Visual Studio 2008 to create solutions using ADO.NET Sync Services.

ClickOnce

There's lots of good information on ClickOnce available on Microsoft.com.  I was even able to find a video on ClickOnce from several years ago that shows the basics behind ClickOnce. 

I mentioned in the talks that Microsoft uses ClickOnce widely throughout the company.  Someone asked about a case study... here is a good case study that shows Microsoft using ClickOnce for a program called HeadTrax.  I also noticed that Citrix is using ClickOnce in their GoToMeeting product during a recent webcast that I attended presented by a customer.

WCF

Wow, where to start on information on WCF?  The best place to start is the MSDN documentation for WCF.  It's incredibly well done.

There's a ton of it out there.  For instance, Alik Levin has been compiling a great list of resources just about WCF Security.  There's a great community site for WCF, including plenty of articles and samples.  Mike Taulty has done some great screencasts as well:

Kudos to these guys for a TON of great information on WCF available at https://wcfcommunity.com/Lists/VideosVirtual%20Labs/AllItems.aspx.

In short, there's a bunch of information on WCF out there that is easily discoverable.  I stronly recommend getting your hands dirty a bit with a couple of WCF Virtual Lab sessions:

  1. MSDN Virtual Lab: WCF Introduction - Building a WCF Service
  2. MSDN Virtual Lab: Visual Studio 2008- Integrating Windows Communication Foundation and Windows Workflow Foundation
  3. MSDN Virtual Lab: Building AJAX/JSON Services using WCF
  4. MSDN Virtual Lab: Syndication using Windows Communications Foundation

I love Virtual Labs because you get to use the latest technology in a virtual environment, meaning you don't have to install anything local on your machine... plus you get to work through a guided example.  It's a great way to get started and submerse yourself in the technology.  I find it's better to play around a little first, then read and learn more, then play some more.

Once you have some of the basics down, there are plenty of opportunities to drill in deeper.  In fact, here's 15 webcasts on various parts of WCF.

  1. MSDN Webcast: Windows Communication Foundation Top to Bottom (Part 01 of 15): Overview (Level 100)
  2. MSDN Webcast: Windows Communication Foundation Top to Bottom (Part 02 of 15): Contracts (Level 200)
  3. MSDN Webcast: Windows Communication Foundation Top to Bottom (Part 03 of 15): Contract Versioning (Level 200)
  4. MSDN Webcast: Windows Communication Foundation Top to Bottom (Part 04 of 15): Exceptions and Faults (Level 200)
  5. MSDN Webcast: Windows Communication Foundation Top to Bottom (Part 05 of 15): Bindings (Level 200)
  6. MSDN Webcast: Windows Communication Foundation Top to Bottom (Part 06 of 15): Hosting (Level 200)
  7. MSDN Webcast: Windows Communication Foundation Top to Bottom (Part 07 of 15): Messaging Patterns (Level 200)
  8. MSDN Webcast: Windows Communication Foundation Top to Bottom (Part 08 of 15): Instancing Modes (Level 200
  9. MSDN Webcast: Windows Communication Foundation Top to Bottom (Part 09 of 15): Concurrency, Throughput, and Throttling (Level 200)
  10. MSDN Webcast: Windows Communication Foundation Top to Bottom (Part 10 of 15): Security Fundamentals (Level 200)
  11. MSDN Webcast: Windows Communication Foundation Top to Bottom (Part 11 of 15): Federated Security (Level 200)
  12. MSDN Webcast: Windows Communication Foundation Top to Bottom (Part 12 of 15): Reliable Messaging (Level 200)
  13. MSDN Webcast: Windows Communication Foundation Top to Bottom (Part 13 of 15): Transactions (Level 200)
  14. MSDN Webcast: Windows Communication Foundation Top to Bottom (Part 14 of 15): Message Queuing (Level 200)
  15. MSDN Webcast: Windows Communication Foundation Top to Bottom (Part 15 of 15): Extensibility (Level 200)

Windows Workflow Foundation

Again, start with the MSDN docs for WF, they're really well done.  My buddy Joe Healy has a great video on Windows Workflow Foundation.  James Conard also has a great video on Windows Workflow Foundation key concepts

Again, I am a fan of Virtual Labs.  A word of caution, these are a bit out of date as they refer to using Visual Studio 2005... all of the workflow designer and debugger stuff is included in Visual Studio 2008 and you get a much better experience.  But, the information is still relevant as it's the same exact stuff you would do in Visual Studio 2008.

  1. ISV Virtual Lab: Introduction to Windows Workflow Foundation
  2. MSDN Virtual Lab: A Server Scenario Lab with Windows Workflow Foundation
  3. MSDN Virtual Lab: Introduction to Windows Workflow Foundation in Windows Vista
  4. Windows Vista: Introduction to Windows Workflow Foundation Virtual Lab - Partner

Once you get your hands dirty a bit, here's a bunch of webcasts.

  1. MSDN Webcast: Workflow Foundation Tools in Visual Studio 2008 (Level 200)
  2. MSDN Webcast: MSDN Unwrapped for Financial Services: Windows Workflow Foundation (Level 200)
  3. MSDN Webcast: Microsoft Windows Communication Foundation and Windows Workflow Foundation Tips and Tricks from Real World Projects (Level 400)
  4. MSDN Webcast: Creating a Sudoku Game with Windows Workflow Foundation (Part 2 of 3) (Level 200)