Sharing my personal study reference for the WCF cert. I added links to the MSDN docs where I could find a suitable place, please feel free to send me improvement suggestions (should it be put in a wiki page instead maybe?..). Enjoy!
Creating Services (20%)
-
Create service and operation contracts.
This objective may include but is not limited to: one-way, duplex, and request reply; creating and specifying fault contracts; configuration-based contracts; exposing service metadata; selecting serialization (e.g., data contract serializer vs. XML serializer)
This objective does not include: designing service and operation contracts; transactions, instantiation, security-related attributes
-
Create data contracts.
This objective may include but is not limited to: managing Known Types; controlling data serialization; using required and order attributes on data members; implementing versioning using IExtensibleDataObject; POCOs
This objective does not include: using custom serializer (ISerializationSurrogate)
-
Create message contracts.
This objective may include but is not limited to: body and header elements; using required and order attributes on members
-
Implement generic message handling.
This objective may include but is not limited to: creating a catch-all contract; reading and writing messages; working with properties; working with headers
This objective does not include: inheriting from Message class; using BodyWriter; creating Fault messages
-
Implement RESTful services.
This objective may include but is not limited to: accessing HTTP context; WebGet/WebInvoke, UriTemplates; JSON/POX
-
Create and configure a Routing service.
This objective may include but is not limited to: filters, static and dynamic, context-based routing, content-based routing; router interfaces
-
Create and configure a Discovery service.
This objective may include but is not limited to: configuring ad hoc and managed modes; Discovery scopes; service announcements
Hosting and Configuring Services (18%)
-
Create and configure endpoints.
This objective may include but is not limited to: default and standard bindings; custom bindings created from standard binding elements; standard endpoints; transports including HTTP, TCP, named pipes, UDP, MSMQ code-based service configuration; message encoding
This objective does not include: creating a custom binding element; creating new standard endpoints, loading configuration from a location other than the default application configuration file, security, transaction, reliable sessions
-
Configure Behaviors.
This objective may include but is not limited to: applying service, endpoint, and operation behaviors in configuration and code
This objective does not include: creating a custom behavior; creating and using dispatch behaviors,loading configuration from a location other than the default application configuration file
-
Implement self hosting.
This objective may include but is not limited to: configuring and instantiating a service host
This objective does not include: implementing a custom service host
-
Implement Web server hosting.
This objective may include but is not limited to: configuring IIS/WAS for WCF; deploying to IIS/WAS; file-less configuration; specifying a ServiceHost
This objective does not include: Windows Application Server
Consuming Services (18%)
-
Create a service proxy.
This objective may include but is not limited to: using a proxy class or channel factory to create a proxy; creating a proxy for an asynchronous communication; creating a proxy for a duplex communication
This objective does not include: SvcUtil command-line switches
-
Configure client endpoints.
This objective may include but is not limited to: standard bindings, custom bindings created from standard binding elements, configuring behaviors; code-based and configuration-based bindings; configuring addresses
This objective does not include: security; creating custom behaviors
-
Invoke a service.
This objective may include but is not limited to: invoking a service operation synchronously and asynchronously; handling service faults ; using the Message class; managing the life cycle of the proxy (open channels, close channels, abort channels, handle faulted channels); implementing duplex communication
-
Consume RESTful services.
This objective may include but is not limited to: access HTTP context; JSON/POX
-
Implement service Discovery.
This objective may include but is not limited to: configuring target scope; monitoring service announcements
Securing Services (17%)
Managing the Service Instance Life Cycle (13%)
-
Manage service instances.
This objective may include but is not limited to: per call; per session; single; code and configuration; activation and deactivation; durable services; throttling
-
Manage sessions.
This objective may include but is not limited to: code and configuration; session management attributes; throttling; reliable sessions; transport-level and application-level sessions; invoking a callback contract
-
Implement transactions.
This objective may include but is not limited to: distributed transactions; transactional queues;transaction flow; configuring transaction binding attributes; WS-AtomicTransaction (WS-AT); transactional behavior attributes at the service and operation level; using transactions in code
-
Manage concurrency.
This objective may include but is not limited to: single, multiple, and reentrant concurrency modes; SynchronizationContext and CallbackBehavior
This objective does not include: deadlocks and other multithreading issues
-
Manage consistency between instances, sessions, transactions, and concurrency.
This objective may include but is not limited to: possible combinations between instances, sessions, transactions, and concurrency (for example, instance mode single with concurrency mode multiple)
Monitoring and Troubleshooting Distributed Systems (14%)
This objective may include but is not limited to: WMI; performance counters; event logging