Gerben van Loon

Random thoughts on Microsoft Software Development and other related stuff

WCF Best Practice #4: Know your tools

In addition to the WCF Best Practices that are already around. WCF Best Practice #4: know your tools:

Tools from the SDK:
The framework sdk comes with quite some tools that are essential for the WCF developer:
They are listed here: http://msdn.microsoft.com/en-us/library/ms732015.aspx

Svcutil.exe, SvcConfigEditor.exe and SvcTraceViewer.exe will be your new best friends :)

REST starter kit
Toolkit from the WCF Team itself to help with building REST-full services:
http://aspnet.codeplex.com/wikipage?title=WCF%20REST&referringTitle=Home

AppFabric
Hosting part previously code named “Dublin”. When released will help with hosting and tracking and tracing your WCF Services.

Web Services Software Factory (WSSF)
WSSF by Microsoft’s pattern and practices (P&P) team can help with building WCF services. It contains visual designers to build services according to good practices. Check it out at http://servicefactory.codeplex.com

The tool is quite ok but I’m not an enormous fan of it. The designers don’t add a whole lot of abstraction to building WCF Services over code. Plus stuff that comes out from the P&P team is not officially supported. It will work with VS2010 but no guarantees for a longer lifecycle.

David Slot and I wrote an extension a while ago to hook WSSF one up with Enterprise Library: http://entlibextensionswssf.codeplex.com

Enterprise Library (EntLib)
EntLib has some nice integration with WCF for the following blocks:

1. Exception Handling Application Block
ExceptionShieldingBehavior can be specified on a service contract. Calls the Exception Handling Application Block to shield exceptions from the caller
Logging Application Block

2. Logging Application Block
EntLibLoggingProxyTraceListener can be configured to enable the Logging Application Block to process WCF trace events. XmlTraceListener can be used with the block to output events in the format consumable by WCF diagnostics tools.

3. Validation Application Block
ValidationBehavior can be specified on a service contract to enable validation of data contracts

Check out the EntLib documentation for the detailt. WCF info is listed under the documentation of the blocks under the “Key Scenarios” section. For the logging block the info is under the “Developing…” section.

WSCF.Blue
Helps when you want to do contract first development with WCF: http://www.codeplex.com/WSCFblue/

Approach and tool described here:
http://msdn.microsoft.com/en-us/magazine/ee335699.aspx

Additional tools on codeplex
Not familiar with these ones probably worth checking out:

http://wcfloadtest.codeplex.com
http://www.codeplex.com/WCFVisualizer
http://wcfcontrib.codeplex.com/
http://wcfsecurity.codeplex.com/
http://wcfextensions.codeplex.com/

Missing tools

Let me know if I missed some important tools.

Posted: Mon, Feb 1 2010 3:55 PM by Gerben van Loon | with 2 comment(s)
Filed under:

Comments

Gerben van Loon said:

Whooo... it's done! Had these articles in the pipeline for quite a while :-). They come from my years

# February 1, 2010 4:47 PM

Gerben van Loon said:

WCF is already around for a while, though best practices aren’t very well known in the developer

# February 2, 2010 8:49 AM
Leave a Comment

(required) 

(required) 

(optional)

(required) 


Please add 2 and 2 and type the answer here: