making wcf simple
DESCRIPTION
This presentation covers best practices for developing WCF applications in the real world.TRANSCRIPT
Chief Architect, Tellago, Tellago Studios, Inc
http://weblogs.asp.net/gsusx
Service Versioning
Remove Endpoint-Coupling Between Services and Clients
Managing WCF Configuration
WCF Services Availability
Monitoring Services
Security && Identity Management
Versioning services imposes large degrees of changes on the clients
Multiple versions of the same services might need to be running side by side
Solution: Use WCF Routing Service to abstract the communication across different service versions
Service v1
Routing Service Client
Service v2
Clients are dependent on WCF endpoint changes
High availability requires the deployment of expensive hardware solutions
Solution: Use WS-Discovery to adapt to endpoint changes
Service
Service
Client
WS-Discovery Probe, Match
WS-Discovery Probe, Match
Complexity
Enforcing reusability and consistency across services, clients and environments
Solution: Centralize WCF configuration
Service
Configuration Repository
Client
GET service/config GET client/config
Identifying when a service is available
Avoiding the need for executing service logic
Solution: Implement a Ping Operation Invoker
Service Client
Ping
Ping Operation Invoker
Ping Response
Instrument the message exchange between client and services
Collect near real time metrics about the service runtime behavior
Track the data exchange between clients and services
Solution: Enable and extend service tracking using the Windows Server AppFabric
Service
Client
Security
Identity management
Service dependency modeling
Interoperability
Governance
Testing
Adopting WCF in big SO solutions can introduce some interesting challenges
The extensibility of the WCF programming model together with well established patterns, tools and techniques that can help to address those challenges
Start small, iterate, adopt what makes sense for your organization
Thanks!!!
[email protected] http://tellago.com http://tellagostudios.com http://weblogs.asp.net/gsusx
www.microsoft.com/teched www.microsoft.com/learning
http://microsoft.com/technet http://microsoft.com/msdn
http://northamerica.msteched.com