I'm currently writing a custom SMS sender activity that I'll add to our SharePoint 2007 solutions. The .NET 2.o provider modell gives me the opportunity to write and apply different SMS sender providers for different mobile operators/gateways without changing the how the windows workflow activity itself is going to work. The activity becomes VERY simple, while all the details are hidden in the providers.
To get me started on writing the activity I used the following introduction; How to write a Custom Workflow Activity (or for even more help on writing custom activities "How to write a Designer Component") . For a good theoretical basis I've "scanned" (to be read in detail later) the book "Essential Windows Workflow Doundation, by Shukla and Schmidt.
The book "ASP.NET 2.0 Security, Membership and Role Management", by Stefan Schackow gives an excellent overview (and details!) on how the Provider model is applied in ASP.NET, and how it can be utilized in new applications. Several design patterns are in use; Strategy, Factory, Singleton, and Faqade. Check out and download the code (see chapter 9) to se how easy new providers can be implemented.
More on writing activities: To get an overview: http://www.ideseg.com/AddCustomWorkflowActivitiesToSharePointDesignerPart1.aspx Details: http://www.ideseg.com/AddCustomWorkflowActivitiesToSharePointDesignerPart2.aspx