The era of service-orientation has created a need for a robust set of distributed development features that can help to facilitate the delivery of loosely coupled application components. The differences between Web services and services have never been more evident. The need to continually focus on platform independence remains, but the deficiencies of the existing ASMX programming stack are crippling. WCF Beta 1 shows promise as the most flexible programming model for hosting service-oriented application components.
The enterprise strength features available within WCF will allow applications to be built more freely as aggregates. Transaction flow, reliable messaging, and industry standard security will allow systems to be delivered free of the limitations seen in SO development today. WCF provides the design time flexibility to focus on contracts and API definition. What WCF does not do is enforce good SO design. It will take discipline when designing services to see the full benefits of WCF in a service-oriented architecture.
WCF will make delivering and consuming services easier in the near future. This simplification will put the responsibility back on architects to focus on good design practices. It is still very easy to build services that are tightly coupled and will never see the benefits of service-orientation. In a future article, I will focus on the process of defining service boundaries and delivering reusable services through a normal application delivery schedule.
References
1. Programming Indigo The Code Name For The Unified Framework For Building Service-Oriented Applications On The Microsoft Windows Platform By David Pallman, Microsoft Press 2005