"Change is inevitable. Change is constant."
-- Benjamin Disraeli
In software development, everyone expects change. Change is inevitable. Its constant. Its the law of the land. The Disraeli Principal and all that. This is true through the development of software.
Once software reaches maturity, and is released, then our expectations of change shift radically. A new law takes effect, one almost diametrically opposed to the first:
"Users hate change."
-- anonymous
How we manage that change can make all the difference in the world.
In developing WCF services, we have a new option for mitigating change to a service endpoint, contract or behavior: the WCF Routing Service.
The WCF Routing Service is available with Microsoft .NET 4.0 and can be best described as a out of the box soap router for WCF.
What can I do with a soap router you might ask?
With a intermediate software router you can perform:
- Protocol Bridging
- Content Based Routing
- Access Control
- Unified Exception Handling
- Logging
- Load Distribution / Balancing
- just about anything you can think of, both good and bad
Over the next few posts, I’ll be introducing myself to the scenarios supported by the WCF Routing Service and sharing what I find along the way, along with how I might use them in the real world scenarios I’m currently working in. The features I’m most interested in are:
- Part 2: Protocol Bridging
- Part 3: Content Based Routing
- Part 4: Access Control
If your looking for something now go check out the documentation on the WCF Routing Service.
If your looking at how to kick it old school, then check out Building a WCF Router, Part 1 and Part 2 by Michele Bustamante.