tech ed - managing wcf services:
TRANSCRIPT
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
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
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
Unified Programming ModelUnified Programming Model
The SOA JourneyThe SOA Journey
Point-to-PointMessage Based
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?
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
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
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?
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 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
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
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 System# 1 – The Configuration System
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
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
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
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 Logging#3 - Tracing and Message Logging
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
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
#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 InstrumentationIntegrating Windows Management Instrumentation
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 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
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
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!
© 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.