con 307 developing manageable wcf services chris peiris | avanade rory primrose | avanade
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
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
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
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
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.