29
CON 307 CON 307 Developing Manageable WCF Developing Manageable WCF Services Services Chris Peiris | Avanade Chris Peiris | Avanade www.chrispeiris.com www.chrispeiris.com Rory Primrose | Avanade Rory Primrose | Avanade www.neovolve.com www.neovolve.com

Tech Ed - Managing WCF Services:

  • Upload
    zubin67

  • View
    552

  • Download
    1

Embed Size (px)

Citation preview

Page 1: Tech Ed - Managing WCF Services:

CON 307CON 307Developing Manageable WCF Developing Manageable WCF ServicesServices

Chris Peiris | AvanadeChris Peiris | Avanade

www.chrispeiris.comwww.chrispeiris.com

Rory Primrose | AvanadeRory Primrose | Avanade

www.neovolve.comwww.neovolve.com

Page 2: Tech Ed - Managing WCF Services:

AgendaAgenda

Business Value of WCFBusiness Value of WCFWhat does a CTO expect from an integration What does a CTO expect from an integration technology?technology?

Unified Programming ModelUnified Programming Model

Why manage Services? Business value?Why manage Services? Business value?

Built in WCF Management FeaturesBuilt in WCF Management FeaturesConfiguration based - SvcConfigEditorConfiguration based - SvcConfigEditor

Integrating Windows Management InstrumentationIntegrating Windows Management Instrumentation

Tracing and Logging - SvcTraceViewerTracing and Logging - SvcTraceViewer

Performance MonitoringPerformance Monitoring

Summary and QuestionsSummary and Questions

Page 3: Tech Ed - Managing WCF Services:

CTO Key Performance IndicatorsCTO Key Performance Indicators

• Dependable (secure & preserve integrity)Dependable (secure & preserve integrity)• ResponsiveResponsive• Predictable Predictable • Measure ProductivityMeasure Productivity• Enterprise ModelsEnterprise Models

ZachmanZachmanTOGAFTOGAFMS Motion MS Motion

• Three Key TakeawaysThree Key TakeawaysUnified Programming modelUnified Programming modelWCF become the unified communication mechanism WCF become the unified communication mechanism ROI is delivered by a well managed efficient system – ROI is delivered by a well managed efficient system – NOT the cutting edge snazzy marketing materialNOT the cutting edge snazzy marketing material

Page 4: Tech Ed - Managing WCF Services:

Unified Programming ModelUnified Programming Model

Page 5: Tech Ed - Managing WCF Services:

The SOA JourneyThe SOA Journey

Point-to-PointMessage Based

Page 6: Tech Ed - Managing WCF Services:

Microsoft & SOAMicrosoft & SOA

Provides the best integrated, cost effective, Provides the best integrated, cost effective, interoperable, and scalable SOA Platforminteroperable, and scalable SOA Platform

Windows Servers, BizTalk Server, SQL Server, .NET Windows Servers, BizTalk Server, SQL Server, .NET Framework, Visual Studio .NET, CSF,…Framework, Visual Studio .NET, CSF,…

Connected Systems DivisionConnected Systems DivisionBizTalk ServerBizTalk Server

Business Activity MonitoringBusiness Activity Monitoring

Windows Communication FoundationWindows Communication FoundationWS-* compliantWS-* compliant

Windows Workflow FoundationWindows Workflow Foundation

How do we communicate with each other?How do we communicate with each other?

Page 7: Tech Ed - Managing WCF Services:

What Does WCF offer to the What Does WCF offer to the EnterpriseEnterprise

Where are we?Where are we?

Do we have unified MS offering to compliment Do we have unified MS offering to compliment MS Server technology?MS Server technology?

Can WCF be the answer?Can WCF be the answer?MQ = WCFMQ = WCF

EAI Message Broker = Biztalk V.NextEAI Message Broker = Biztalk V.Next

Mapping done by Biztalk MapperMapping done by Biztalk Mapper

Unified API to invoke ALL windows server technologyUnified API to invoke ALL windows server technology

Use Adapters (i.e. SAP, Oracle) for non MS productsUse Adapters (i.e. SAP, Oracle) for non MS products

Page 8: Tech Ed - Managing WCF Services:

TheTheHard/LongHard/Long(useful)(useful)PartPart

The The Fun/Short Fun/Short PartPart

The Life And Times…The Life And Times…

HUMANHUMAN

ConceptualizationConceptualization

ConceptionConception

BirthBirth

ChildhoodChildhood

Teen AngstTeen Angst

Productive YearsProductive Years

The Golden YearsThe Golden Years

SOFTWARESOFTWARE

Design/ArchDesign/Arch

DevelopmentDevelopment

DeploymentDeployment

ConfigurationConfiguration

TroubleshootingTroubleshooting

MonitoringMonitoring

ReconfigurationReconfigurationROI

Page 9: Tech Ed - Managing WCF Services:

The ChallengeThe Challenge

We are putting basic instrumentation, control We are putting basic instrumentation, control mechanisms, diagnostics “in the box” with WCFmechanisms, diagnostics “in the box” with WCF

Much of what you’ve had to code in the past is now done for you Much of what you’ve had to code in the past is now done for you in the frameworkin the framework

You’ll get manageable Web Services with WCF even if you don’t You’ll get manageable Web Services with WCF even if you don’t code for manageabilitycode for manageability

You can raise the bar for manageability!You can raise the bar for manageability!Now that you don’t need to write timer code to determine latency, Now that you don’t need to write timer code to determine latency, throughput, error rates…throughput, error rates…

What can you do with that same investment?What can you do with that same investment?

Page 10: Tech Ed - Managing WCF Services:

What Does WCF Offer?What Does WCF Offer?

Configuration driven Configuration driven

Implementing logging and tracingImplementing logging and tracing

Using performance counters Using performance counters WCF out of the boxWCF out of the box

Create custom countersCreate custom counters

WMI objects. WMI objects. Out of the boxOut of the box

Creating specified WMI objectsCreating specified WMI objects

Leveraging new .NET 3.0 utilitiesLeveraging new .NET 3.0 utilitiesConfiguration EditorConfiguration Editor

Trace ViewerTrace Viewer

Page 11: Tech Ed - Managing WCF Services:

Coding a WCF Service - The BasicsCoding a WCF Service - The Basics

Service ContractService ContractContracts are interfacesContracts are interfaces

ServiceServiceImplements the contract to provide business logic for Implements the contract to provide business logic for the server endpointthe server endpoint

Service instancingService instancing

HostHostHosts the service to make it available to clientsHosts the service to make it available to clients

Self-hosted servicesSelf-hosted services

ClientClientImplements a UI to consume the service for the client Implements a UI to consume the service for the client endpointendpoint

Page 12: Tech Ed - Managing WCF Services:

AgendaAgenda

Business Value of WCFBusiness Value of WCFWhat does a CTO expect from an integration What does a CTO expect from an integration technology?technology?

Unified Programming ModelUnified Programming Model

Why manage Services? Business value?Why manage Services? Business value?

Built in WCF Management FeaturesBuilt in WCF Management FeaturesConfiguration based - SvcConfigEditorConfiguration based - SvcConfigEditor

Integrating Windows Management InstrumentationIntegrating Windows Management Instrumentation

Tracing and Logging - SvcTraceViewerTracing and Logging - SvcTraceViewer

Performance MonitoringPerformance Monitoring

Summary and QuestionsSummary and Questions

Page 13: Tech Ed - Managing WCF Services:

Method #1 - The Configuration Method #1 - The Configuration SystemSystem

What goes in codeWhat goes in codeBusiness logicBusiness logic

What goes in configWhat goes in configContractsContracts

EndpointsEndpoints

BindingsBindings

BehaviorsBehaviors

DiagnosticsDiagnostics

Page 14: Tech Ed - Managing WCF Services:

# 1 – The Configuration System# 1 – The Configuration System

Page 15: Tech Ed - Managing WCF Services:

AgendaAgenda

Business Value of WCFBusiness Value of WCFWhat does a CTO expect from an integration What does a CTO expect from an integration technology?technology?

Unified Programming ModelUnified Programming Model

Why manage Services? Business value?Why manage Services? Business value?

Built in WCF Management FeaturesBuilt in WCF Management FeaturesConfiguration based - SvcConfigEditorConfiguration based - SvcConfigEditor

Integrating Windows Management InstrumentationIntegrating Windows Management Instrumentation

Tracing and Logging - SvcTraceViewerTracing and Logging - SvcTraceViewer

Performance MonitoringPerformance Monitoring

Summary and QuestionsSummary and Questions

Page 16: Tech Ed - Managing WCF Services:

Method #2 - WMI Objects Method #2 - WMI Objects

Allows a service to be queried by WMIAllows a service to be queried by WMI

Remote management for running servicesRemote management for running services

Remote monitoring for running servicesRemote monitoring for running services

Page 17: Tech Ed - Managing WCF Services:

#2 – WMI Objects#2 – WMI Objects

Page 18: Tech Ed - Managing WCF Services:

AgendaAgenda

Business Value of WCFBusiness Value of WCFWhat does a CTO expect from an integration What does a CTO expect from an integration technology?technology?

Unified Programming ModelUnified Programming Model

Why manage Services? Business value?Why manage Services? Business value?

Built in WCF Management FeaturesBuilt in WCF Management FeaturesConfiguration based - SvcConfigEditorConfiguration based - SvcConfigEditor

Integrating Windows Management InstrumentationIntegrating Windows Management Instrumentation

Tracing and Logging - SvcTraceViewerTracing and Logging - SvcTraceViewer

Performance MonitoringPerformance Monitoring

Summary and QuestionsSummary and Questions

Page 19: Tech Ed - Managing WCF Services:

Method #3 - Using Tracing and Method #3 - Using Tracing and Message Logging Message Logging

TracingTracingUsing SvcTraceViewer.exeUsing SvcTraceViewer.exe

WCF tracing supportWCF tracing support

Message LoggingMessage LoggingLogging custom messagesLogging custom messages

Page 20: Tech Ed - Managing WCF Services:

#3 - Tracing and Message Logging#3 - Tracing and Message Logging

Page 21: Tech Ed - Managing WCF Services:

AgendaAgenda

Business Value of WCFBusiness Value of WCFWhat does a CTO expect from an integration What does a CTO expect from an integration technology?technology?

Unified Programming ModelUnified Programming Model

Why manage Services? Business value?Why manage Services? Business value?

Built in WCF Management FeaturesBuilt in WCF Management FeaturesConfiguration based - SvcConfigEditorConfiguration based - SvcConfigEditor

Integrating Windows Management InstrumentationIntegrating Windows Management Instrumentation

Tracing and Logging - SvcTraceViewerTracing and Logging - SvcTraceViewer

Performance MonitoringPerformance Monitoring

Summary and QuestionsSummary and Questions

Page 22: Tech Ed - Managing WCF Services:

Method #4 - Performance Counters Method #4 - Performance Counters

WCF includes inbuilt counters that require no WCF includes inbuilt counters that require no coding effortcoding effort

Offers comprehensive monitoring of services Offers comprehensive monitoring of services currently runningcurrently running

Custom performance counter support with Custom performance counter support with minimal codeminimal code

Remote performance monitoringRemote performance monitoring

Page 23: Tech Ed - Managing WCF Services:

#4 –Performance Counters#4 –Performance Counters

Page 24: Tech Ed - Managing WCF Services:

AgendaAgenda

Business Value of WCFBusiness Value of WCFWhat does a CTO expect from an integration What does a CTO expect from an integration technology?technology?

Unified Programming ModelUnified Programming Model

Why manage Services? Business value?Why manage Services? Business value?

Built in WCF Management FeaturesBuilt in WCF Management FeaturesConfiguration based - SvcConfigEditorConfiguration based - SvcConfigEditor

Integrating Windows Management InstrumentationIntegrating Windows Management Instrumentation

Tracing and Logging - SvcTraceViewerTracing and Logging - SvcTraceViewer

Performance MonitoringPerformance Monitoring

Summary and QuestionsSummary and Questions

Page 25: Tech Ed - Managing WCF Services:

WCF Benefits from Managing WCF Benefits from Managing ServicesServices

Improves Custom DevelopmentImproves Custom Development

Improves Enterprise IntegrationImproves Enterprise Integration

Improves Information Management/CollaborationImproves Information Management/Collaboration

Improves Business IntelligenceImproves Business Intelligence

Protects Business StrategyProtects Business StrategyIncreases agilityIncreases agility

Decreases costsDecreases costs

Increases process transparencyIncreases process transparency

Page 26: Tech Ed - Managing WCF Services:

SummarySummary

WCF Apps are manageable out of the boxWCF Apps are manageable out of the boxDeployment flexibilityDeployment flexibility

SLA monitoringSLA monitoring

End to end diagnosticsEnd to end diagnostics

You can make them even betterYou can make them even betterCreate Management EndpointsCreate Management Endpoints

Add instrumentationAdd instrumentation

Build custom UI for adminsBuild custom UI for admins

Page 27: Tech Ed - Managing WCF Services:

Questions?Questions?

Page 28: Tech Ed - Managing WCF Services:

ResourcesResources

Links / Blogs / Books

http://www.netfx3.com/

WCF Virtual Labs

Chris Peiris – Professional WCF – Practical Microsoft SOA Implementation

Tom Archer - Determining Which Build of Windows Vista and .NET 3.0 Development Tools is Right for You -

Juval Lowy - Discover Mighty Instance Management Techniques For Developing WCF Apps, June MSDN Mag

At Tech Ed 2006

CON308 (.NET 3.0) Windows Communication Foundation: Building Secure Services

CON310 (.NET 3.0) Windows Communication Foundation: Designing Bindings and Contracts

CON316 (BTS) Integration of BizTalk Server 2006 and Windows Workflow Foundation.

CON412 (.NET 2.0) Framework 2.0: Integration Inside Out!

Page 29: Tech Ed - Managing WCF Services:

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