account service contacts service contacts service client

33
Best Practices for Testing, Deploying and Managing WCF Solutions in the Big Enterprise Jesus Rodriguez Chief Architect, Tellago, Tellago Studios, Inc

Upload: dorothy-horton

Post on 27-Dec-2015

283 views

Category:

Documents


6 download

TRANSCRIPT

Page 1: Account Service Contacts Service Contacts Service Client

Best Practices for Testing, Deploying and Managing WCF Solutions in the Big Enterprise

Jesus RodriguezChief Architect, Tellago, Tellago Studios, Inc

Page 2: Account Service Contacts Service Contacts Service Client

About Me..…Chief Architect Tellago and Tellago Studios, IncMicrosoft Architect AdvisorMicrosoft MVPOracle SOA ACESpeaker, authorLead architect SO-Awarehttp://weblogs.asp.net/gsusx

Page 3: Account Service Contacts Service Contacts Service Client

Agenda

Exploring WCF Challenges in real world SO solutionsPatterns, Techniques and Tools to enhance WCF-based solutionsDemo, Demo, Demo, Demo…..Q&A

Page 4: Account Service Contacts Service Contacts Service Client

What to expect

400 level sessionLots of codeReal world best practicesContinuous dialog

Page 5: Account Service Contacts Service Contacts Service Client

If you hate code….

Page 6: Account Service Contacts Service Contacts Service Client

Real World Challenges, Real World Solutions

Page 7: Account Service Contacts Service Contacts Service Client

Sample Scenario

Account Service

ContactsService

CRM System

Client

Page 8: Account Service Contacts Service Contacts Service Client

Things that will drive you insane in SO solutions

Service VersioningRemove Endpoint-Coupling Between Services and ClientsManaging WCF ConfigurationWCF Services AvailabilityMonitoring ServicesSecurity && Identity Management

Page 9: Account Service Contacts Service Contacts Service Client

There are solutions

Page 10: Account Service Contacts Service Contacts Service Client

Service Versioning

Page 11: Account Service Contacts Service Contacts Service Client

ChallengesVersioning services imposes large degrees of changes on the clientsMultiple 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 ServiceClient

Service v2

Page 12: Account Service Contacts Service Contacts Service Client

demo

Implementing Intelligently Available WCF Services Using WS-Discovery

Page 13: Account Service Contacts Service Contacts Service Client

Remove Endpoint-Coupling Between Services and Clients

Page 14: Account Service Contacts Service Contacts Service Client

ChallengesClients are dependent on WCF endpoint changesHigh availability requires the deployment of expensive hardware solutions

Solution: Use WS-Discovery to adapt to endpoint changes

Service

ServiceClient

WS-Discovery Probe, Match

WS-Discovery Probe, MatchX

Page 15: Account Service Contacts Service Contacts Service Client

demo

Implementing Intelligently Available WCF Services Using WS-Discovery

Page 16: Account Service Contacts Service Contacts Service Client

WCF Configuration Management

Page 17: Account Service Contacts Service Contacts Service Client

ChallengesComplexityEnforcing reusability and consistency across services, clients and environments

Solution: Centralize WCF configuration

Service

Configuration Repository

Client

GET service/configGET client/config

Page 18: Account Service Contacts Service Contacts Service Client

demo

Centralizing WCF Configuration

Page 19: Account Service Contacts Service Contacts Service Client

WCF Service Availability

Page 20: Account Service Contacts Service Contacts Service Client

Challenges

Identifying when a service is availableAvoiding the need for executing service logic

Solution: Implement a Ping Operation Invoker

ServiceClient

Ping

Ping Operation Invoker

Ping Response

Page 21: Account Service Contacts Service Contacts Service Client

demo

Pinging WCF Services

Page 22: Account Service Contacts Service Contacts Service Client

Service Activity Monitoring

Page 23: Account Service Contacts Service Contacts Service Client

ChallengesInstrument the message exchange between client and servicesCollect near real time metrics about the service runtime behaviorTrack the data exchange between clients and services

Solution: Enable and extend service tracking using the Windows Server AppFabric

Service

Client

Tracking DB

AppFabric

Message Tracking Inspector

Tracking Data Service

Page 24: Account Service Contacts Service Contacts Service Client

demo

Monitoring WCF Services

Page 25: Account Service Contacts Service Contacts Service Client

Other things that might drive you crazy Security Identity managementService dependency modelingInteroperability GovernanceTesting

Page 26: Account Service Contacts Service Contacts Service Client

SummaryAdopting WCF in big SO solutions can introduce some interesting challengesThe extensibility of the WCF programming model together with well established patterns, tools and techniques that can help to address those challengesStart small, iterate, adopt what makes sense for your organization

Page 27: Account Service Contacts Service Contacts Service Client

Thanks!!!

[email protected]://tellago.comhttp://tellagostudios.comhttp://weblogs.asp.net/gsusx

Page 29: Account Service Contacts Service Contacts Service Client

Resources

www.microsoft.com/teched

Sessions On-Demand & Community Microsoft Certification & Training Resources

Resources for IT Professionals Resources for Developers

www.microsoft.com/learning

http://microsoft.com/technet http://microsoft.com/msdn

Learning

http://northamerica.msteched.com

Connect. Share. Discuss.

Page 30: Account Service Contacts Service Contacts Service Client

Complete an evaluation on CommNet and enter to win!

Page 31: Account Service Contacts Service Contacts Service Client

Scan the Tag to evaluate this session now on myTech•Ed Mobile

Page 32: Account Service Contacts Service Contacts Service Client

© 2011 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to

be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS

PRESENTATION.

Page 33: Account Service Contacts Service Contacts Service Client