Writing

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

Books

SOA with .NET and Windows Azure: Realizing Service-Orientation with the Microsoft Platform — This 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 and 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.

Articles

InformIT.com

MSDN — At Your Service (reverse chronological)

  • Versioning Options — October 15, 2002. Walk through implementing a new version of a Web service: adding extra methods, changing method signatures, and updating the data model. (11 printed pages)
  • Using SOAP Faults — September 20, 2002. How to use SOAP Faults to deliver the appropriate level of detail to the developer at development time, and to the customer while in production. (14 printed pages)
  • Splitting up WSDL: The Importance of targetNamespace — July 19, 2002. How to use Visual Studio .NET to split up the WSDL into component pieces based on XML namespace, enabling reuse of XML Schema definitions and WSDL elements. (13 printed pages)
  • Sharing Types — June 25, 2002. Addresses a common problem with Visual Studio .NET Web service development: sharing data types across Web services.
  • Merging Web Service Results — May 21, 2002. 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. How to take a WSDL interface and evolve it in a way that won’t break existing clients. Platform-neutral version of Versioning Options.
  • Building Clients That Use Industry Standard WSDL — March 5, 2002. How to build clients that can switch amongst endpoints that all implement the same Web service interface. (continuation of the February 2002 article)
  • Building Industry Standard WSDL — February 4, 2002. How a group would go about creating a WSDL interface for use on many platforms, implemented by many different organizations.
  • A Sneak Peak at Favorites Phase II — January 2, 2002. Preview of the Favorites Web service, Phase II.
  • Designing Your Web Service for Maximum Interoperability — December 5, 2001. How to build a Web service to maximize interoperability on other platforms. Note: today document/literal encoding is the standard per WS-I Basic Profile v1.0.
  • Web Service Description and Discovery Using UDDI, Part II — October 17, 2001. How to use the UDDI API for .NET to connect to a Web service.
  • Interoperability Testing — August 15, 2001. How to make sure your Web service works with other toolkits. Walks the Favorites Service through its paces using Java, Perl, and Python.
  • Documenting Your Web Service — July 24, 2001. What you should provide in Web service documentation.
  • Designing the Contract — June 6, 2001. How to go about designing a Web service interface.

MSDN — Favorites Service Articles (reverse chronological)

These were expunged from MSDN; links go to the Wayback Machine.

  • Getting the Most Out of Your WSDL — July 2002. Headers and structured data updates to the Favorites Service to take better advantage of SOAP and XML Schema. (15 printed pages)
  • Troubleshooting Web Services — August 2001. Troubleshooting tips for Web Services in general, and for the Favorites Service in particular. (14 printed pages)
  • The Favorites Service Reporting Service — August 2001. The Favorites Service reporting mechanism and the two types of reports available to licensees. (19 printed pages)
  • Licensing and Security Design — May 2001. Database organization and security and licensing design behind the Favorites sample Web Service. (12 printed pages)
  • Licensing a Web Service — May 2001. Issues involved with licensing a Web Service and the licensing decisions made in the design of the Favorites sample. (11 printed pages)
  • Auditing a Web Service — May 2001. How the MSDN Architectural Samples Team selected items to audit and how those choices influenced the data collected. (6 printed pages)
  • Building the Source — May 2001. The fundamental steps involved in building the Favorites Service. (11 printed pages)

Other MSDN Articles (reverse chronological)