con 307 developing manageable wcf services chris peiris | avanade rory primrose | avanade

29
CON 307 CON 307 Developing Manageable Developing Manageable WCF Services WCF 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

Upload: randolph-mcdaniel

Post on 26-Dec-2015

217 views

Category:

Documents


0 download

TRANSCRIPT

CON 307CON 307Developing Manageable Developing Manageable WCF ServicesWCF Services

CON 307CON 307Developing Manageable Developing Manageable WCF ServicesWCF Services

Chris Peiris | AvanadeChris Peiris | Avanade

www.chrispeiris.comwww.chrispeiris.com

Rory Primrose | AvanadeRory Primrose | Avanade

www.neovolve.comwww.neovolve.com

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 Integrating Windows Management InstrumentationInstrumentation

Tracing and Logging - SvcTraceViewerTracing and Logging - SvcTraceViewer

Performance MonitoringPerformance Monitoring

Summary and QuestionsSummary and Questions

CTO Key Performance CTO Key Performance IndicatorsIndicators Dependable (secure & preserve Dependable (secure & preserve

integrity)integrity) ResponsiveResponsive Predictable Predictable Measure ProductivityMeasure Productivity Enterprise ModelsEnterprise Models

ZachmanZachman TOGAFTOGAF MS Motion MS Motion

Three Key TakeawaysThree Key Takeaways Unified Programming modelUnified Programming model WCF become the unified communication WCF become the unified communication

mechanism mechanism ROI is delivered by a well managed efficient ROI is delivered by a well managed efficient

system – NOT the cutting edge snazzy system – NOT the cutting edge snazzy marketing materialmarketing material

Unified Programming ModelUnified Programming Model

The SOA JourneyThe SOA Journey

Point-to-PointMessage Based

Microsoft & SOAMicrosoft & SOA

Provides the best integrated, cost Provides the best integrated, cost effective, interoperable, and scalable SOA effective, interoperable, and scalable SOA PlatformPlatform

Windows Servers, BizTalk Server, SQL Windows Servers, BizTalk Server, SQL Server, .NET Framework, Visual Studio .NET, Server, .NET Framework, Visual Studio .NET, CSF,…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?

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 Do we have unified MS offering to compliment MS Server technology?compliment 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 Unified API to invoke ALL windows server technologytechnology

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

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

ReconfigurationReconfigurationROIROI

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 Much of what you’ve had to code in the past is now done for you in the frameworkfor you in the framework

You’ll get manageable Web Services with WCF even if You’ll get manageable Web Services with WCF even if you don’t code for manageabilityyou don’t code 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 Now that you don’t need to write timer code to determine latency, throughput, error rates…latency, throughput, error rates…

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

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

Coding a WCF Service - The Coding a WCF Service - The BasicsBasics

Service ContractService ContractContracts are interfacesContracts are interfaces

ServiceServiceImplements the contract to provide business Implements the contract to provide business logic for the server endpointlogic for the 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 Implements a UI to consume the service for the client endpointclient endpoint

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 Integrating Windows Management InstrumentationInstrumentation

Tracing and Logging - SvcTraceViewerTracing and Logging - SvcTraceViewer

Performance MonitoringPerformance Monitoring

Summary and QuestionsSummary and Questions

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

# 1 – The Configuration # 1 – The Configuration SystemSystem# 1 – The Configuration # 1 – The Configuration SystemSystem

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 Integrating Windows Management InstrumentationInstrumentation

Tracing and Logging - SvcTraceViewerTracing and Logging - SvcTraceViewer

Performance MonitoringPerformance Monitoring

Summary and QuestionsSummary and Questions

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

#2 – WMI Objects#2 – WMI Objects#2 – WMI Objects#2 – WMI Objects

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 Integrating Windows Management InstrumentationInstrumentation

Tracing and Logging - SvcTraceViewerTracing and Logging - SvcTraceViewer

Performance MonitoringPerformance Monitoring

Summary and QuestionsSummary and Questions

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

#3 - Tracing and Message #3 - Tracing and Message LoggingLogging#3 - Tracing and Message #3 - Tracing and Message LoggingLogging

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 Integrating Windows Management InstrumentationInstrumentation

Tracing and Logging - SvcTraceViewerTracing and Logging - SvcTraceViewer

Performance MonitoringPerformance Monitoring

Summary and QuestionsSummary and Questions

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

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

Offers comprehensive monitoring of Offers comprehensive monitoring of services currently runningservices currently running

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

Remote performance monitoringRemote performance monitoring

#4 –Performance Counters#4 –Performance Counters#4 –Performance Counters#4 –Performance Counters

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 Integrating Windows Management InstrumentationInstrumentation

Tracing and Logging - SvcTraceViewerTracing and Logging - SvcTraceViewer

Performance MonitoringPerformance Monitoring

Summary and QuestionsSummary and Questions

WCF Benefits from Managing WCF Benefits from Managing ServicesServices

Improves Custom DevelopmentImproves Custom Development

Improves Enterprise IntegrationImproves Enterprise Integration

Improves Information Improves Information Management/CollaborationManagement/Collaboration

Improves Business IntelligenceImproves Business Intelligence

Protects Business StrategyProtects Business StrategyIncreases agilityIncreases agility

Decreases costsDecreases costs

Increases process transparencyIncreases process transparency

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

Questions?Questions?

ResourcesResources

At Tech Ed 2006

CON308 (.NET 3.0) Windows Communication Foundation: Building Secure ServicesCON310  (.NET 3.0) Windows Communication Foundation: Designing Bindings and ContractsCON316  (BTS) Integration of BizTalk Server 2006 and Windows Workflow Foundation.CON412  (.NET 2.0) Framework 2.0: Integration Inside Out!

Links / Blogs / Books

http://www.netfx3.com/WCF Virtual LabsChris 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

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