This page lists all the books and articles I have written.



SOA with .NET and Windows Azure: Realizing Service-Orientation with the Microsoft PlatformThis book covers a number of topics on Service Oriented Applications with a focus on the Microsoft technology stack. Many authors got together to write this book. I wrote the chapter on REST.

 Effective REST Services via .NET: Microsoft produces a number of mechanisms that allow a developer to create an consume RESTful services. This book covers all of them and explains when each option is best and how to use those options. Kenn and I cover everything from low level WebRequests through integration with WPF/Silverlight and WCF. This book has been getting great reviews and compliments.

Creating and Consuming Web Services with Visual Basic: Everything you ever wanted to know about .NET Web services and how they work. This book skims over the basics and explains the Microsoft technology. Great explanations of asynchronous Web services, serialization, etc.

SOAP: Cross Platform Web Service Development Using XML: From what I understand from readers, this book’s biggest value is that it explains SOAP and WSDL very well. The rest is just a bonus. It also includes a case study showing a fairly large application that leverages Web services to connect a heterogeneous system: Java, .NET, and COM.

 Windows Shell Programming: Everything you ever wanted to know about screen savers, control panel applications, and namespace extensions. The biggest value in this book is probably the code libraries. The book is primarily an explanation of how the shell works and how the libraries I wrote work to make shell extensions easy.


InformIT.com articles

MSDN articles

At Your Service articles (in reverse, chronological order):

  • Versioning Options. October 15, 2002. I walk through the steps of implementing a new version of a Web service, showing how to add extra methods, change method signatures, and update the data model. (11 printed pages)
  • Using SOAP Faults. September 20, 2002. I show how to use SOAP Faults to deliver the appropriate level of detail to the developer at development time, and to the customer while the Web service is in production. (14 printed pages)
  • Splitting up WSDL: The Importance of targetNamespace. July 19, 2002. Explores how to use Microsoft Visual Studio .NET to split up the WSDL into component pieces based on the XML namespace. This allows for reuse of the XML Schema definitions and WSDL elements. (13 printed pages)
  • Sharing Types. June 25, 2002. This column addresses a common problem with Microsoft® Visual Studio® .NET Web service development: sharing data types across Web services.
  • Merging Web Service Results. May 21, 2002. Takes a look at how to take results from multiple Web services that implement the same interface and merge them into one result set.
  • Evolving an Interface. April 8, 2002. Shows how to take a WSDL in interface and evolve it in a way that won’t break existing clients. This article is the platform neutral version of Versioning Options.
  • Building Clients That Use Industry Standard WSDL. March 5, 2002. Follows on to the February 2002 articles on building Industry Standard WSDL. This one shows how to build clients that can switch amongst endpoints that all implement the same Web service interface.
  • Building Industry Standard WSDL. February 4, 2002. Discusses how a group would go about creating a WSDL interface for use on many platforms to be implemented by many different organizations.
  • A Sneak Peak at Favorites Phase II. January 2, 2002. Gives a preview of the Favorites Web service, Phase II. This isn’t my most interesting work by a long shot.
  • Designing Your Web Service for Maximum Interoperability. December 5, 2001. Discusses how to build a Web service in order to maximize your interoperability on other platforms. This article has one bit of information that is out of date today. Today, it is actually easier to design a Web service to do document/literal encoding than rpc/encoded encoding. Why? WS-I.org’s Basic Profile v1.0 states that document/literal is the way to go. Pretty much everyone has started letting their rpc/encoded work go by the wayside.
  • Web Service Description and Discovery Using UDDI, Part II. October 17, 2001. Shows how to use the UDDI API for .NET to connect to a Web service.
  • Interoperability Testing. August 15, 2001. Discusses ways of making sure that your Web service is ready to work with other toolkits. This article walks the Favorites Service through its paces using Java, Perl, and Python.
  • Documenting Your Web Service. July 24, 2001. Discusses the things you should provide in Web service documentation.
  • Designing the Contract. June 6, 2001. Looks at how one goes about designing a Web service interface.

Favorites Service Articles(in reverse, chronological order). Please note that it seems that the Favorites service has been expunged from the MSDN’s memory. I had to use the wayback machine to get these articles.

  • Getting the Most Out of Your WSDL. July 2002. Outlines headers and structured data updates to the Favorites Service sample Web Service to take better advantage of SOAP, and XML Schema added for displaying favorites and report information to the Web Service definitions. (15 printed pages)
  • Troubleshooting Web Services. August 2001. This article provides troubleshooting tips for Web Services in general, and for the Favorites Service in particular. (14 printed pages)
  • The Favorites Service Reporting Service. August 2001. This article describes the Favorites Service reporting mechanism, providing a detailed look at the two types of reports available to licensees: the URI Usage report and the Service Usage report. (19 printed pages)
  • Licensing and Security Design. May 2001. This article covers the database organization and security and licensing design behind the Favorites sample Web Service. (12 printed pages)
  • Licensing a Web Service. May 2001. This article discusses the issues involved with licensing a Web Service and the licensing decisions made in the design of the Favorites sample Web Service. (11 printed pages)
  • Auditing a Web Service. May 2001. This article details how the MSDN Architectural Samples Team went about selecting items to audit and how these choices influenced the data collected. It also discusses how auditing was integrated into the Favorites Service sample application. (6 printed pages)
  • Building the Source. May 2001. This article describes the fundamental steps that were involved in building the Favorites Service. (11 printed pages)

Other Articles(in reverse, chronological order):

  • Understanding WS-Security. October 2002. This article looks at how to use WS-Security to embed security within the SOAP message itself, exploring the concerns WS-Security addresses: authentication, signatures, and encryption. (14 printed pages)
  • HTTP Security and ASP.NET Web Services. August 2002. HTTP-based security mechanisms are currently the best way to keep your Web services secure. Learn how to secure a Web service using a combination of features found in Microsoft IIS and Microsoft ASP.NET. (14 printed pages)
  • Securing Web Services with ISA Server. February 2002. Create a Web Service whose security is handled by Microsoft ISA Server: look at the Web Service and what it allows callers to do, create a client application that will call Web Methods, and create an ISA Server extension to secure the Web Service. (26 printed pages)
  • An XML Overview Towards Understanding SOAP. November 2001. This article explains what you need to know about XML in order to understand SOAP. You will learn the basics about Uniform Resource Identifers, XML, XML Schema, and XML Namespaces. (23 printed pages)
  • Microsoft .NET and Windows XP COM+ Integration with SOAP. October 2001. This article describes how to expose existing COM+ applications over SOAP using Microsoft Windows XP and the .NET Framework. An accompanying downloadable application will allow you to follow along with the article and perform the same actions on your own machine. (8 printed pages)
  1. Leave a comment

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: