vdir2 Web. config Echo. svc A A B B C C vdir2 vdir1.

32
What’s New in WCF 4 Ed Pinto Program Manager Microsoft Corporation FT13

Transcript of vdir2 Web. config Echo. svc A A B B C C vdir2 vdir1.

What’s New in WCF 4

Ed PintoProgram ManagerMicrosoft Corporation

FT13

Agenda

> Improvements to things you do today> Configuration> Monitoring

> New scenarios enabled> Routing> Discovery

Endpoint Configuration in 3.x

vdir2

Web.config

Echo.svc

A B C

Servicehttp://host

vdir2

vdir1

Default Endpoints

Echo.svc

A B C

Service

Scheme Binding

http:// BasicHttpBinding

… …

Protocol Mapping

ServiceHost.AddDefaultEndpoints()

vdir2

Echo.svc

http://host

vdir2

vdir1

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

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

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

Default Config

demo

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

Monitoring WCF Appswith the Windows Server AppFabric

WCF Application

WCFAnalytic

Trace

WCFMessageLogging

DiagnosticTrace

ETW

.svclog

EventCollector

Extensions toIIS Manager

MonitoringDB

PowerShellcommand-

lets

Configuration and Monitoring with the Windows Server AppFabric

demo

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

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

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

Protocol Bridging

Client Service

Routing

Service

BasicHttp Net.TcpSOAP 1.1 SOAP 1.2

Security

Client Service

Routing

Service

Message sent usingClient Identity

Message sent usingRouting Service IdentityMessage sent usingClient Identity

Impersonation using WindowsIdentityToken

Error Handling

Client

BackupEcho

Service

Routing

Service

EchoService

MessageFilter

Endpoint

AlternateEndpoints

action == http://PDC/Echo

Echo BackupEchoService

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

Hello

Hello

Chat App:Steve

Chat App:Ed

Chat App:Jurgen

Hello

Steve Online

Steve Online

Ad-hoc Discovery

Chat App:Steve

Chat App:Ed

Chat App:Jurgen

Probe

Probe

Probe ProbeMatch

ProbeMatch

Ad-hoc Discovery

Bye

Bye

Chat App:Steve

Chat App:Ed

Chat App:Jurgen

Bye

Steve Offline

Steve Offline

Managed Discovery

Probe

ProbeHello

Probe

Hello

ProbeMatch

Jurgen

Chat App:Jurgen

Chat App:Steve

Proxy Availabl

e

Discovery Proxy

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

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

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 atMicrosoftPDC.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/learnBuilt by Developers for Developers….

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