>
 Friday, March 23, 2007

I just spent the last week at SD West in San Jose...this year the conference was bigger than ever before! Thanks to everone that attended my tutorials and sessions, I really enjoyed the questions and discussions...as I hope you did. As promised, here is a list of all my resources from the conference talks. Enjoy!

 

Intro to Web Services (Tutorial)

  • Christian Gross and myself presented this one, discussing everything from POX, REST, RSS, SOAP/WSDL, WS* and SOA.
  • Code I demonstrated in this tutorial is from the .NET Web Services tutorial next.

.NET Web Services TODAY (Tutorial)

Microsoft Technology Avalanche (Tutorial)

Top 10 Web Service Standards You Need To Know

WCF Contracts and Versioning

  • Demonstrations in both of these talks are based on WCF code from my book here: http://www.thatindigogirl.com/LearningWCFCode.aspx
  • See \Security, \ReliableSessions, \Transactions in particular for the WS* discussion
  • See \DataContracts, \AdvancedSerialization, and \ServiceContracts for the contracts discussion

CardSpace

The Amazing World of Federated Security

3/23/2007 8:57 PM .NET | Speaking/Events | WCF | Web Services  | Comments [37]  |  View reactions  |  Trackback

I created a presentation in November of last year with the goal of helping folks make sense of the vast number of Microsoft technologies from development tools, language, data, windows, web and SOA development. This blog post holds the latest links to resources and code for each section.

System Requirements

The links below use the following technology platforms:

Development Tools

In this section I reviewed the stack of development tools and explained how to choose between them.

Language Enhancements

In this section I talked about moving from .NET 1.1 to 2.0, and discussed the key features of 2.0 that folks should be leveraging. Then, I focused on the language enhancements forthcoming with C# 3.0 and VB 9.0.

Demos:

Data Access

In this section I focused on data access technologies, designing the data access tier, and key features of ADO.NET 2.0, vNext and LINQ to give you some idea how to prepare for the next set of innovations.

Demos:

  • When you install ADO.NET vNext and LINQ there are literally 100s of samples that will really help you get up to speed here. I show a selection of these in this presentation.

Windows Development

In this section I review Windows Forms 2.0 innovations, primarily ClickOnce, and then talk about how to prepare for WPF, explaining the various deployment models. I also talk about practical approaches to choosing the right platform for your development efforts.

Demos:


Web Development

In this section I showed an ASP.NET sample application that illustrates key features of ASP.NET 2.0 and practical application of those features. Then we looked at AJAX and discussed trends on the Web compared to Windows development.

Popular AJAX Frameworks:

Demos:

Distributed System Programming

In this section I reviewed the typical use for earlier distributed computing technologies like remoting, enterprise services and ASMX web services with WSE, and compared them with WCF.

BPM and Workflow

In this section I discussed BPM, BizTalk and workflow and trends for BizTalk vNext.

DinnerNow

To pull it all together, there is a sample you can download here: www.dinnernow.com that illustrates all of the technologies in a practical example. It includes WCF, WF, WPF, AJAX, Vista gadgets and mobile apps.

3/23/2007 7:41 PM .NET | ADO.NET | ASP.NET | ClickOnce | Speaking/Events | WCF  | Comments [10]  |  View reactions  |  Trackback
 Saturday, March 03, 2007

I have at long last finished the final edits on my WCF book! Whew!

 

Now, you can get early access to the entire book online at O'Reilly here:

http://www.oreilly.com/catalog/9780596101626/

 

In addition, I have posted the code for the book, with instructions to set up examples, here:

http://www.thatindigogirl.com/LearningWCFCode.aspx

 

I hope you enjoy!

3/3/2007 2:28 AM  | Comments [7]  |  View reactions  |  Trackback

My sincerest thanks to both groups in Denver and Boulder for having me visit this week to talk about WCF. As promised here are the links to my slides from both talks:

WCF Overview

WCF Contracts and Versioning

 

As for the code, here is a link to all the code for my Learning WCF book:

Learning WCF Code

3/3/2007 1:37 AM Speaking/Events | WCF  | Comments [3]  |  View reactions  |  Trackback
 Sunday, November 12, 2006

Here are some the examples I demonstrated in this session.

DataContracts_Part1.zip (120.2 KB)

MultiContractService.zip (156.34 KB)

MultiContractService_UniqueServiceTypes.zip (161.4 KB)

IXmlSerializable1.zip (131.42 KB)

In addition, see my security samples IntranetWindowsAuthentication and InternetASPNETAuthentication from this blog entry: http://www.dasblonde.net/PermaLink,guid,aedadc3c-fba0-40b3-a17b-9e74a86b1edb.aspx

 

11/12/2006 7:19 AM DevConnections | Speaking/Events | WCF  | Comments [2]  |  View reactions  |  Trackback

Here's a link to all my security demos, including some extra demos on claims-based security and CardSpace.

http://www.dasblonde.net/PermaLink,guid,1217187f-fe16-4426-9e38-a26552baedda.aspx

11/12/2006 6:51 AM DevConnections | Security | Speaking/Events | WCF  | Comments [1]  |  View reactions  |  Trackback

Here are the code samples I illustrated in this session folks!

LocalizedWinFormsApp.zip (134.7 KB)

LocalizedSmartClient.zip (416.01 KB)

LocalizedGallery.zip (767.13 KB)

And don't forget my recent article on MSDN discussing custom resource providers.

http://www.dasblonde.net/PermaLink,guid,79c73c25-e58e-4494-8c6f-b73fa196f3a9.aspx

 

A big thanks to all the participated in this monstrous tutorial at Dev Connections. Whew, I can fully admit it was a lot of work to put all the information together in one place, but I hope that you got a lot out of it. For those that didn't attend, the goal of the tutorial was to provide an overview of the current state of the various technologies and tools for Microsoft developers, with an emphasis on the reasons for moving forward with each technology stack, and hopefully some enlightenment on when you might choose each technology. I'll be keeping this one day session current for future conferences, and for on-site sessions with clients. If you are interested in such a thing, contact me at IDesign: www.idesign.net.

Here are the resources I promised from the tutorial.

Development Tools

In this section I reviewed the stack of development tools and explained how to choose between them.

Language Enhancements

In this section I talked about moving from .NET 1.1 to 2.0, and discussed the key features of 2.0 that folks should be leveraging. Then, I focused on the language enhancements forthcoming with C# 3.0 and VB 9.0.

Demos:

Data Access

In this section I focused on data access technologies, designing the data access tier, and key features of ADO.NET 2.0, vNext and LINQ to give you some idea how to prepare for the next set of innovations.

Demos:

  • When you install ADO.NET vNext and LINQ there are numerous overview documents, tutorials, and samples that will really help you get up to speed here. These are the demos that I showed in the tutorial.

Windows Development

In this section I reviewed Windows Forms 2.0 innovations, primarily ClickOnce, and then talked about how to prepare for WPF and who should use it today.

Demos:


Web Development

In this section I showed an ASP.NET sample application that illustrates key features of ASP.NET 2.0 and practical application of those features. Then we looked at AJAX and discussed trends on the Web compared to Windows development.

Popular AJAX Frameworks:

Demos:

Distributed System Programming

In this section I reviewed the typical use for earlier distributed computing technologies like remoting, enterprise services and ASMX web services with WSE, and compared them with WCF.

BPM and Workflow

In this section I discussed BPM, BizTalk and workflow.

11/12/2006 6:37 AM ADO.NET | ASP.NET | ClickOnce | DevConnections | Speaking/Events | WCF | Web Services  | Comments [0]  |  View reactions  |  Trackback
 Thursday, October 26, 2006

As some of you may now, localization architcture is one of the subject areas that I have always enjoyed. THough I am in the midst of my WCF book, a few months ago I did wrap up a whitepaper for MSDN on the subject of custom resource providers and custom localization expressions. I also learned a lot in the process, with some great feedback from the product team, specifically Simon Calvert and Eilon Lipton, who pointed me in the right direction for how things work under the covers. In this article you'll learn about custom resource managers, storing resources in the database, accessing resources from external assemblies instead of using the App_GlobalResources directory, and creating custom localization expressions to tie it all together. I hope you enjoy this!

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnaspp/html/ExASPNET20RPM.asp

I'll be writing two follow up whitepapers in this series, a little later this year when I wrap up my book. The subject will be hooking the IDE to help you with your localization dev process and creating complex culture hierarchies that are customizable for personalization. Stay tuned!

10/26/2006 6:32 PM ASP.NET | Globalization  | Comments [29]  |  View reactions  |  Trackback
 Thursday, October 12, 2006

For those of you who are attending our .NET 3.0 roadshow (http://www.net3roadshow.com/) here are the updated code samples for my WCF Security and CardSpace talks. As I mentioned in each session, the code has changed since June/July CTP. These samples have been updated for RC1/Sept CTP.

http://www.dasblonde.net/downloads/wcf/CMPSecurityDemos.zip

Also, for those of you who attended the LA show, I forgot to mention that I know of a great job opportunity in Irvine, CA. The company is building a VERY interesting system based on all .NET 3.0 technologies and AJAX. They are hiring now, so if you are looking for this type of opportunity, email me and I'll connect you to explore further. mlb@idesign.net

-Michele

10/12/2006 11:01 PM WCF  | Comments [3]  |  View reactions  |  Trackback
 Monday, September 25, 2006

When you own both sides (client and service) it can be more effective for developers to share assemblies for shared types, instead of relying on proxy generation to duplicate types from WSDL. Furthermore, if you want to work with strongly typed collections at the client, and I don't mean BindingList<T>, you may want to specify which collection type.

Here's the SvcUtil command to make this a reality:

svcutil /d:d:\LearningWCF /noconfig /o:serviceproxy.cs /r:ContentTypes.dll /ct:System.Collections.Generic.List`1 http://localhost:8000

One of the reasons that I blogged this seamlingly obvious instruction is because I got caught using a single quote (List'1) instead of a backquote character (List`1) and things were not working quite right. I didn't see it (better glasses?) but Eugene on the WCF team helped me find my way. It's the little things that take up your time!

Cheers!


 

9/25/2006 11:07 PM WCF  | Comments [42]  |  View reactions  |  Trackback
 Thursday, September 21, 2006

I was intrigued by this forum discussion about attaching context to the lifetime of a service operation.

http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=733385&SiteID=1

Basically, the question is how to create the equivalent of the HttpContext we have with ASP.NET requests. The OperationContext is the closest we have to a request lifecycle, and it turns out you can add to the context by implementing IExtension<OperationContext>.

Attached is a sample: CustomContext.zip (91.4 KB)

Here's how it works:

  • I use a custom attribute at the service, that implements IServiceBehavior.

[ApplicationRequestContext]
public class HelloIndigoService : IHelloIndigoService

  • In IServiceBehavior.ApplyDispatchBehavior() I add a custom message inspector to the MessageInspectors collection for each endpoint. This makes it possible to intercept at the point messages are received, and just before reply messages are sent. In my example, the ApplicationRequestContextAttribue also implements IMessageInspector.

public void ApplyDispatchBehavior(ServiceDescription serviceDescription, ServiceHostBase serviceHostBase)
{
  foreach (ChannelDispatcher channelDispatcher in serviceHostBase.ChannelDispatchers)
  {
    foreach (EndpointDispatcher endpointDispatcher in channelDispatcher.Endpoints)
    {
      endpointDispatcher.DispatchRuntime.MessageInspectors.Add(this);
    }
  }
}

  • In IMessageInspector.AfterReceiveRequest() I add an instance of my ApplicationRequestContext to the OperationContext, like this:

OperationContext.Current.Extensions.Add(new ApplicationRequestContext());

  • In IMessageInspector.BeforeSendReply() I remove the instance of ApplicationRequestContext from the OperationContext. In my opinion, this step should not be necessary, but without it you will not have a chance to clean up what you created in the ApplicationRequestContext to speed up garbage collection.

OperationContext.Current.Extensions.Remove(ApplicationRequestContext.Current);

  • The IExtension<OperationContext> implementation has an Attach() and Detach() implementation. In Attach() you intitialize your context. In Detach(), cleanup.
  • Anywhere else in the application when you want access to the context, you get it from the OperationContext.Current. I provide a static member in the custom context to get this information:

public static ApplicationRequestContext Current
{
  get {return OperationContext.Current.Extensions.Find<ApplicationRequestContext>();}
}

Many thanks to Scott Mason on the WCF team for helping me find the right hooks for this purpose...

 

9/21/2006 9:36 PM WCF  | Comments [2]  |  View reactions  |  Trackback
 Tuesday, September 19, 2006

I just posted updates chapters for RC1. See my latest post here: http://www.thatindigogirl.com/PermaLink,guid,fc8b6627-11b6-49d9-81a9-c19c9a383b0f.aspx

 

9/19/2006 5:19 PM  | Comments [3]  |  View reactions  |  Trackback
    ON THIS PAGE
    SEARCH
    CATEGORIES
    ARCHIVES
    BLOGROLL

Designed by NUKEATION STUDIOS