- First understand service orientation theory and why we need to rely so heavily on services in modern development. This study should include research into service-oriented architectures (SOAs) and how the SOAP protocol works at a high level. This should also cover how to effectively segregate your interfaces and what are appropriate levels of information. Keywords include: Coherency, consistency, cohesiveness, and designing for distribution.
- Follow this by learning the so called ABCs (Address, Binding and Contract) of the WCF framework, or stated differently the basics of WCF. Make sure you understand that a binding is merely a consistent, canned set of choices regarding the transport protocol, message encoding, communication pattern, reliability, security, transaction propagation and interoperability.
- Follow this up with a study of the hosting options in WCF. It includes not worrying about the creation and disposal of service, on-demand availability of web services, etc. But this approach has one major drawback in that protocols other than HTTP are not supported. WCF comes with the possibility of being invoked and used by protocols other than HTTP. So along with IIS, WCF can also be hosted in different ways so that its full power can be utilized (if required). Keywords here: IIS, WAS, and self-hosted Windows Services
- Then explore the various nuances of marking up the various contracts. This include the service contracts, data contracts, fault contracts, and message contracts. Tie this back to the understanding of how your markup will ultimately be translated to the WSDL contract and the XSD data contract types. You should at this stage also do some investigation into backward and forward compatibility.
- At some stage security will become a factor, so the next step would be to get comfortable with both message and transport security. At this stage it would be good to start tying your knowledge to the WS-* standards. More specifically the security standard.
- Follow this by a study of the different concurrency models and how to design WCF services for scalability.
- WCf is massively extensible and as such at this point start playing with behaviors and gain an in-depth knowledge of the framework's evaluation order.
- Play with service throttling
- Play with different protocols
By this stage you would be pretty proficient....