what is new in wcf 4.0?
DESCRIPTION
How do you improve the Config Model? Where to use Windows Server AppFabric? How to provide a RoutingService in the Framework? How to enable dynamic apps with Discovery?TRANSCRIPT
![Page 1: What is new in WCF 4.0?](https://reader033.vdocuments.us/reader033/viewer/2022061214/549a09dcb479590a4a8b4609/html5/thumbnails/1.jpg)
What’s New in WCF 4
Ed PintoProgram ManagerMicrosoft Corporation
FT13
![Page 2: What is new in WCF 4.0?](https://reader033.vdocuments.us/reader033/viewer/2022061214/549a09dcb479590a4a8b4609/html5/thumbnails/2.jpg)
Agenda
> Improvements to things you do today> Configuration> Monitoring
> New scenarios enabled> Routing> Discovery
![Page 3: What is new in WCF 4.0?](https://reader033.vdocuments.us/reader033/viewer/2022061214/549a09dcb479590a4a8b4609/html5/thumbnails/3.jpg)
Endpoint Configuration in 3.x
vdir2
Web.config
Echo.svc
A B C
Servicehttp://host
vdir2
vdir1
![Page 4: What is new in WCF 4.0?](https://reader033.vdocuments.us/reader033/viewer/2022061214/549a09dcb479590a4a8b4609/html5/thumbnails/4.jpg)
Default Endpoints
Echo.svc
A B C
Service
Scheme Binding
http:// BasicHttpBinding
… …
Protocol Mapping
ServiceHost.AddDefaultEndpoints()
vdir2
Echo.svc
http://host
vdir2
vdir1
![Page 5: What is new in WCF 4.0?](https://reader033.vdocuments.us/reader033/viewer/2022061214/549a09dcb479590a4a8b4609/html5/thumbnails/5.jpg)
Web.config
Default Bindings
A B C
Service
vdir2
Echo.svc
http://host
vdir2
vdir1
<system.serviceModel> <bindings> <basicHttpBinding> <binding name="" maxBufferSize="2147483647" maxReceivedMessageSize="2147483647"/> </basicHttpBinding> </bindings></system.serviceModel>
Endpoint using BasicHttpBinding picks up default binding configuration from higher in the config hierarchy
![Page 6: What is new in WCF 4.0?](https://reader033.vdocuments.us/reader033/viewer/2022061214/549a09dcb479590a4a8b4609/html5/thumbnails/6.jpg)
Web.config
Default Behaviors
A B C Bv
Service
vdir2
Echo.svc
http://host
vdir2
vdir1
<system.serviceModel> <behaviors> <serviceBehaviors> <behavior> <serviceThrottling maxConcurrentCalls="32"/> </behavior> </serviceBehaviors> </behaviors></system.serviceModel>
A Service or Endpoint picks up default behaviors from higher in the config hierarchyWeb.
config
![Page 7: What is new in WCF 4.0?](https://reader033.vdocuments.us/reader033/viewer/2022061214/549a09dcb479590a4a8b4609/html5/thumbnails/7.jpg)
Web.config
Default Behaviors
A B C Bv
Service
http://host
<system.serviceModel> <behaviors> <serviceBehaviors> <behavior> <serviceMetadata httpGetEnabled="true"/> </behavior> </serviceBehaviors> </behaviors></system.serviceModel>
Behaviors from higher in the config hierarchy are merged with behaviors in a local config file
Bv
vdir2
Echo.svc
vdir2
vdir1
Web.config
![Page 8: What is new in WCF 4.0?](https://reader033.vdocuments.us/reader033/viewer/2022061214/549a09dcb479590a4a8b4609/html5/thumbnails/8.jpg)
Default Config
demo
![Page 9: What is new in WCF 4.0?](https://reader033.vdocuments.us/reader033/viewer/2022061214/549a09dcb479590a4a8b4609/html5/thumbnails/9.jpg)
Windows Server
.NET Framework
Windows Server AppFabric
Services
Management Tools
IIS/WAS
Workflows
Windows Server AppFabric(formerly codename “Dublin”)
Runtime DatabasesPersistence Monitoring
HostingPersistenc
eCachingMonitoring
IIS Manager Modules
PowerShell
> Set of integrated technologies for building, scaling, and managing web and composite apps that run on IIS
> Ships as part of 2010 Wave
![Page 10: What is new in WCF 4.0?](https://reader033.vdocuments.us/reader033/viewer/2022061214/549a09dcb479590a4a8b4609/html5/thumbnails/10.jpg)
Monitoring WCF Appswith the Windows Server AppFabric
WCF Application
WCFAnalytic
Trace
WCFMessageLogging
DiagnosticTrace
ETW
.svclog
EventCollector
Extensions toIIS Manager
MonitoringDB
PowerShellcommand-
lets
![Page 11: What is new in WCF 4.0?](https://reader033.vdocuments.us/reader033/viewer/2022061214/549a09dcb479590a4a8b4609/html5/thumbnails/11.jpg)
Configuration and Monitoring with the Windows Server AppFabric
demo
![Page 12: What is new in WCF 4.0?](https://reader033.vdocuments.us/reader033/viewer/2022061214/549a09dcb479590a4a8b4609/html5/thumbnails/12.jpg)
Message Pump as a Service
Scenarios> Basic Message Routing> Protocol Bridging> Service Aggregation> Versioning> …
Concerns> Connection State> Security> Delivery Failure> Transactions> …
Message Pump
Inbound Channel Outbound Channel
RoutingService: A Message Pump Service for you to host, extend, and enjoy!
Routing Service
RoutingService
![Page 13: What is new in WCF 4.0?](https://reader033.vdocuments.us/reader033/viewer/2022061214/549a09dcb479590a4a8b4609/html5/thumbnails/13.jpg)
Message Routing
Client
TimeService
Routing
Service
Echo
IRequestReplyRouter
BasicHttp
http://routinghost/routerABC
Supported Message Exchange Patterns
Multicast
Interface
Request Reply, Sessionful Request Reply
No IRequestReplyRouter
OneWay Yes ISimplexDatagramRouter
Sessionful OneWay Yes ISimplexSessionRouter
Sessionful Duplex Yes IDuplexSessionRouter
![Page 14: What is new in WCF 4.0?](https://reader033.vdocuments.us/reader033/viewer/2022061214/549a09dcb479590a4a8b4609/html5/thumbnails/14.jpg)
Message Routing
MessageFilter Endpoint
action == http://PDC/Echo Echo
action == http://PDC/GetCurrentTime
TimeService
Client
TimeService
Routing
Service
Echo
Filter On MessageFilter
Action ActionMessageFilter
Address header AddressMessageFilter
Address header – longest prefix matching
AddressPrefixMessageFilter
Endpoint Name EndpointNameMessageFilter
No Filter – matches everything MatchAllMessageFilter
Logical And of two filters StrictAndMessageFilter
XPath expression XPathMessageFilter
Custom Custom
Replaceable atRuntime
![Page 15: What is new in WCF 4.0?](https://reader033.vdocuments.us/reader033/viewer/2022061214/549a09dcb479590a4a8b4609/html5/thumbnails/15.jpg)
Protocol Bridging
Client Service
Routing
Service
BasicHttp Net.TcpSOAP 1.1 SOAP 1.2
![Page 16: What is new in WCF 4.0?](https://reader033.vdocuments.us/reader033/viewer/2022061214/549a09dcb479590a4a8b4609/html5/thumbnails/16.jpg)
Security
Client Service
Routing
Service
Message sent usingClient Identity
Message sent usingRouting Service IdentityMessage sent usingClient Identity
Impersonation using WindowsIdentityToken
![Page 17: What is new in WCF 4.0?](https://reader033.vdocuments.us/reader033/viewer/2022061214/549a09dcb479590a4a8b4609/html5/thumbnails/17.jpg)
Error Handling
Client
BackupEcho
Service
Routing
Service
EchoService
MessageFilter
Endpoint
AlternateEndpoints
action == http://PDC/Echo
Echo BackupEchoService
![Page 18: What is new in WCF 4.0?](https://reader033.vdocuments.us/reader033/viewer/2022061214/549a09dcb479590a4a8b4609/html5/thumbnails/18.jpg)
RoutingService
demo
![Page 19: What is new in WCF 4.0?](https://reader033.vdocuments.us/reader033/viewer/2022061214/549a09dcb479590a4a8b4609/html5/thumbnails/19.jpg)
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
![Page 20: What is new in WCF 4.0?](https://reader033.vdocuments.us/reader033/viewer/2022061214/549a09dcb479590a4a8b4609/html5/thumbnails/20.jpg)
Ad-hoc Discovery
Hello
Hello
Chat App:Steve
Chat App:Ed
Chat App:Jurgen
Hello
Steve Online
Steve Online
![Page 21: What is new in WCF 4.0?](https://reader033.vdocuments.us/reader033/viewer/2022061214/549a09dcb479590a4a8b4609/html5/thumbnails/21.jpg)
Ad-hoc Discovery
Chat App:Steve
Chat App:Ed
Chat App:Jurgen
Probe
Probe
Probe ProbeMatch
ProbeMatch
![Page 22: What is new in WCF 4.0?](https://reader033.vdocuments.us/reader033/viewer/2022061214/549a09dcb479590a4a8b4609/html5/thumbnails/22.jpg)
Ad-hoc Discovery
Bye
Bye
Chat App:Steve
Chat App:Ed
Chat App:Jurgen
Bye
Steve Offline
Steve Offline
![Page 23: What is new in WCF 4.0?](https://reader033.vdocuments.us/reader033/viewer/2022061214/549a09dcb479590a4a8b4609/html5/thumbnails/23.jpg)
Managed Discovery
Probe
ProbeHello
Probe
Hello
ProbeMatch
Jurgen
Chat App:Jurgen
Chat App:Steve
Proxy Availabl
e
Discovery Proxy
![Page 24: What is new in WCF 4.0?](https://reader033.vdocuments.us/reader033/viewer/2022061214/549a09dcb479590a4a8b4609/html5/thumbnails/24.jpg)
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
![Page 25: What is new in WCF 4.0?](https://reader033.vdocuments.us/reader033/viewer/2022061214/549a09dcb479590a4a8b4609/html5/thumbnails/25.jpg)
Description
Discovery
Runtime
Discovery
Behaviors
Discovery Service &
Client
Announcement Service &
Client
Discovery Proxy
Contracts
Discovery ContractAnnouncement
ContractFind Criteria
Endpoint Discovery Metadata
Discovery Service
Extension
Dynamic,Discovery, andAnnouncement
Endpoints
![Page 26: What is new in WCF 4.0?](https://reader033.vdocuments.us/reader033/viewer/2022061214/549a09dcb479590a4a8b4609/html5/thumbnails/26.jpg)
Discovery
demo
![Page 27: What is new in WCF 4.0?](https://reader033.vdocuments.us/reader033/viewer/2022061214/549a09dcb479590a4a8b4609/html5/thumbnails/27.jpg)
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
![Page 28: What is new in WCF 4.0?](https://reader033.vdocuments.us/reader033/viewer/2022061214/549a09dcb479590a4a8b4609/html5/thumbnails/28.jpg)
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
![Page 29: What is new in WCF 4.0?](https://reader033.vdocuments.us/reader033/viewer/2022061214/549a09dcb479590a4a8b4609/html5/thumbnails/29.jpg)
YOUR FEEDBACK IS IMPORTANT TO US!
Please fill out session evaluation
forms online atMicrosoftPDC.com
![Page 30: What is new in WCF 4.0?](https://reader033.vdocuments.us/reader033/viewer/2022061214/549a09dcb479590a4a8b4609/html5/thumbnails/30.jpg)
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/learnBuilt by Developers for Developers….
![Page 31: What is new in WCF 4.0?](https://reader033.vdocuments.us/reader033/viewer/2022061214/549a09dcb479590a4a8b4609/html5/thumbnails/31.jpg)
© 2009 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.
![Page 32: What is new in WCF 4.0?](https://reader033.vdocuments.us/reader033/viewer/2022061214/549a09dcb479590a4a8b4609/html5/thumbnails/32.jpg)