320 likes | 423 Views
FT13. What’s New in WCF 4. Ed Pinto Program Manager Microsoft Corporation. Agenda. Improvements to things you do today Configuration Monitoring New scenarios enabled Routing Discovery. Endpoint Configuration in 3.x. http://host. Service. vdir1. vdir2. A. B. C. vdir2. Echo. svc.
E N D
FT13 What’s New in WCF 4 Ed Pinto Program Manager Microsoft Corporation
Agenda • Improvements to things you do today • Configuration • Monitoring • New scenarios enabled • Routing • Discovery
Endpoint Configuration in 3.x http://host Service vdir1 vdir2 A B C vdir2 Echo.svc Web.config
Default Endpoints http://host ServiceHost.AddDefaultEndpoints() Service vdir1 vdir2 A B C vdir2 Echo.svc Echo.svc Protocol Mapping
Default Bindings <system.serviceModel> <bindings> <basicHttpBinding> <binding name=""maxBufferSize="2147483647" maxReceivedMessageSize="2147483647"/> </basicHttpBinding> </bindings> </system.serviceModel> http://host Service vdir1 Web.config A B C vdir2 vdir2 Echo.svc Endpoint using BasicHttpBinding picks up default binding configuration from higher in the config hierarchy
Default Behaviors <system.serviceModel> <behaviors> <serviceBehaviors> <behavior> <serviceThrottlingmaxConcurrentCalls="32"/> </behavior> </serviceBehaviors> </behaviors> </system.serviceModel> http://host Web.config Service vdir1 A B C vdir2 vdir2 Bv Echo.svc A Service or Endpoint picks up default behaviors from higher in the config hierarchy Web.config
Default Behaviors <system.serviceModel> <behaviors> <serviceBehaviors> <behavior> <serviceMetadatahttpGetEnabled="true"/> </behavior> </serviceBehaviors> </behaviors> </system.serviceModel> http://host Web.config vdir1 A B C Service vdir2 vdir2 Bv Bv Echo.svc Behaviors from higher in the config hierarchy are merged with behaviors in a local config file Web.config
Default Config demo
Windows Server AppFabric(formerly codename “Dublin”) Set of integrated technologies for building, scaling, and managing web and composite apps that run on IIS Ships as part of 2010Wave IIS Manager Modules Windows Server Windows Server AppFabric Management Tools PowerShell Services Workflows Hosting Persistence Monitoring Caching .NET Framework IIS/WAS Runtime Databases Persistence Monitoring
Monitoring WCF Appswith the Windows Server AppFabric Extensions to IIS Manager WCF Application • PowerShell • command- • lets WCF Message Logging WCF Analytic Trace Diagnostic Trace .svclog Monitoring DB Event Collector ETW
Configuration and Monitoring with the Windows Server AppFabric demo
Message Pump as a Service RoutingService Routing Service Message Pump Scenarios Concerns Connection State Security Delivery Failure Transactions … Inbound Channel Outbound Channel • Basic Message Routing • Protocol Bridging • Service Aggregation • Versioning • … RoutingService: A Message Pump Service for you to host, extend, and enjoy!
Message Routing Echo Client Routing Service TimeService A http://routinghost/router B BasicHttp C IRequestReplyRouter
Message Routing Echo Client Routing Service TimeService Replaceable atRuntime
Protocol Bridging Client Service Routing Service BasicHttp Net.Tcp SOAP 1.1 SOAP 1.2
Security Client Service Routing Service Message sent usingRouting Service Identity Message sent usingClient Identity Message sent usingClient Identity Impersonation using WindowsIdentityToken
Error Handling Echo Service Client Routing Service BackupEcho Service
RoutingService demo
Discovery • The ability to publish a service’s endpoint metadata and discover services using well defined criteria • Design time • Find available services • Runtime • Reduced Config • Location agility • Dynamic / self healing apps • WS-Discovery – Standard interoperable discovery protocol
Ad-hoc Discovery Steve Online Hello Hello Hello Steve Online Chat App:Steve Chat App:Ed Chat App:Jurgen
Ad-hoc Discovery ProbeMatch ProbeMatch Probe Probe Probe Chat App:Steve Chat App:Ed Chat App:Jurgen
Ad-hoc Discovery Steve Offline Bye Bye Bye Steve Offline Chat App:Steve Chat App:Ed Chat App:Jurgen
Managed Discovery ProbeMatch Probe Probe Hello Probe Hello Proxy Available Chat App:Steve DiscoveryProxy Chat App:Jurgen
Discovery Message Parts • Types • List of xs:QName • Contracts required by client or supported by target service • Scopes • List of xs:anyURI • Scopes required by client or in which target service resides • EndpointReference • wsa:EndpointReference • EndpointReference to the target service
Discovery Description Runtime Discovery Behaviors Discovery Service & Client Discovery Service Extension Announcement Service & Client Discovery Proxy Endpoints Dynamic, Discovery, and Announcement Contracts Discovery Contract Announcement Contract Find Criteria Endpoint Discovery Metadata
Discovery demo
Summary • WCF 4 continues to simplify service boundaries by • Improving the config model • Management and Monitoring is made easier with the Windows Server AppFabric • Providing a RoutingService in the framework • Enabling dynamic applications with Discovery
Additional Resources • Related Sessions • FT25: Microsoft Application Server Technologies: Present and Future - Tuesday, 1:30, Hall F – 153 • FT55: Developing REST Applications with the .NET Framework – Wednesday, 11:00 Hall E 151 • FT14: Workflow Services and Windows Server AppFabric - Thursday, 11:30 Petree Hall D • FT27: Application Server Extensibility with Microsoft .NET 4 and Windows Server AppFabric - Thursday, 1:45 Petree Hall D • Chalk Talks • Windows Server AppFabric: Monitoring and Management • Hands On Labs • Introduction to Workflow Services in .NET 4 • What’s new in WCF 4? • On the Web • WCF Developer Center • http://msdn.microsoft.com/wcf • http://msdn.microsoft.com/wcf/rest • Windows Server AppFabric Developer Center: http://msdn.microsoft.com/appfabric • Team Blog: http://blogs.msdn.com/endpoint • Nicholas Allen’s Blog: http://blogs.msdn.com/drnick
YOUR FEEDBACK IS IMPORTANT TO US! Please fill out session evaluation forms online at MicrosoftPDC.com
Learn More On Channel 9 • Expand your PDC experience through Channel 9 • Explore videos, hands-on labs, sample code and demos through the new Channel 9 training courses channel9.msdn.com/learn Built by Developers for Developers….