account service contacts service contacts service client

Post on 27-Dec-2015

284 Views

Category:

Documents

6 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

Jesus RodriguezChief Architect, Tellago, Tellago Studios, Inc

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

Agenda

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

What to expect

400 level sessionLots of codeReal world best practicesContinuous dialog

If you hate code….

Real World Challenges, Real World Solutions

Sample Scenario

Account Service

ContactsService

CRM System

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

There are solutions

Service Versioning

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

demo

Implementing Intelligently Available WCF Services Using WS-Discovery

Remove Endpoint-Coupling Between Services and Clients

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

demo

Implementing Intelligently Available WCF Services Using WS-Discovery

WCF Configuration Management

ChallengesComplexityEnforcing reusability and consistency across services, clients and environments

Solution: Centralize WCF configuration

Service

Configuration Repository

Client

GET service/configGET client/config

demo

Centralizing WCF Configuration

WCF Service Availability

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

demo

Pinging WCF Services

Service Activity Monitoring

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

demo

Monitoring WCF Services

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

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

Thanks!!!

jesus.rodriguez@tellago.comhttp://tellago.comhttp://tellagostudios.comhttp://weblogs.asp.net/gsusx

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.

Complete an evaluation on CommNet and enter to win!

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

© 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.

top related