Agenda
> Improvements to things you do today> Configuration> Monitoring
> New scenarios enabled> Routing> Discovery
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
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
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
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
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
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
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.
Top Related