The best of WCF 4.0 Damir Dobric MVP-Connected System Developer Microsoft Connected System Division Advisor Visual Studio Inner Circle member http://developers.de, damir.dobricd@daenet.eu
Preduvjeti Good knowledge of WCF & .NET
Agenda Where we are today Simplified Configuration (demo) File-Less Activation (demo) Multiple Site Bindings (demo) Standard Endpoints (demo) Service Discovery (demo) Routing Service (demo)
Where we are today Capabilities & Complexity Time Entity/Capability Utility/Messaging Process/Activity Enterprise SOA Distributed Transactions Discovery Choreography Svc Modeling Metadata Mgmt. Capabilities & Complexity Large Messages Management Workflow Security Versioning Interoperability Deployment Data Access Validation Contract Design Time Capability Time http://msdn.microsoft.com/en-us/library/bb491121.aspx
Applications and Services Reusable Code as Library Reusable Code Application 1 Technology A Reusable Code as Service Technology C Application 2 Technology B Application Service
Simplified Configuration <?xml version="1.0" encoding="utf-8" ?> <configuration> </configuration> <bindings> <basicHttpBinding> <binding> <security mode="TransportCredentialOnly"> <transport clientCredentialType="Windows"></transport> </security> <readerQuotas/> </binding> </basicHttpBinding> </bindings> </system.serviceModel>
Protocol Mapping <protocolMapping> <add scheme="http" binding=”customBinding” /> </protocolMapping> <bindings> <customBinding> <binding name=„Leave this Empty!!"> <textMessageEncoding messageVersion="Soap11WSAddressing10" /> <httpTransport /> </binding> </customBinding>
Multiple Site Bindings <?xml version="1.0"?> <configuration> <system.serviceModel> <serviceHostingEnvironment multipleSiteBindingsEnabled="true" /> </system.serviceModel> <system.web> <compilation targetFramework="4.0" debug="true"/> </system.web> </configuration>
File-Less Activation <?xml version="1.0"?> <configuration> <system.serviceModel> <serviceHostingEnvironment> <serviceActivations> <add relativeAddress="~/MyService.svc" service="MyServiceClass, MyServiceAssembly, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/> </serviceActivations> </serviceHostingEnvironment> </system.serviceModel> <system.web> <compilation targetFramework="4.0" debug="true"/> </system.web> </Configuration>
Service Discovery DISCOVERY_PORT 3702 [IANA] IPv4 multicast Address 239.255.255.250 IPv6 multicats Address :FF02::C (link-local scope).
Discovery – Managed Mode
Routing Service
Useful links Discovery MSDN: http://blogs.msdn.com/discovery/archive/2009/05/29/discovery-overview.aspx Damir’s Blog: http://developers.de/blogs/damir_dobric/archive/2008/10/19/ws-discovery-messaging-enhancements-in-net-4-0.aspx WCF discovery Team Blog: http://blogs.msdn.com/discovery/ WF & WCF Samples http://www.microsoft.com/downloads/details.aspx?FamilyID=35ec8682-d5fd-4bc3-a51a-d8ad115a8792&displaylang=en AppFabric: http://msdn.microsoft.com/appfabric Endpoint blog: http://blogs.msdn.com/endpoint/
Recap Services, Workflows, Processes, Composite Apps, IoC with services. Configuration simpler, but still complex File-Less Activation Multiple Site Bindings Standard Endpoints Intelligent Service Discovery simplifies deployment Routing Service: Protocol Bridging and Fallback endpoints
The best of WCF 4.0 Thank You Damir Dobric MVP-Connected System Developer Microsoft Connected System Division Advisor Visual Studio Inner Circle member http://developers.de, damir.dobricd@daenet.eu Thank You