David Truxall, Ph.D. Principal Consultant NuSoft Solutions
WCF Basics Create A Basic Service Error Handling Security Reliability
The next-generation platform for distributed systems A pillar of the Microsoft.NET Framework 3.0 Build WCF services in Visual Studio 2005 using any .NET Language Intelligent code editing, IDE Extensions for WCF, debugging, re-factoring, code snippets, etc. Runs on Microsoft Windows Vista Microsoft Windows XP Microsoft Windows Server 2003 Codename “Indigo”
Unification of Technologies Abstraction of service code from the transport layer Interoperability WS-* specification support Service-Oriented Development Loose Coupling Developer efficiency Configuration file based Attribute based
.asmx web services are still there Only Http
Client Service Message Endpoint Endpoint Endpoint
Client Service Message Address Binding Contract (Where) (How) (What) A B C A B C A B C
Three levels of abstraction expressed in WSDL Address – Location of the service Uri Can be dynamic Binding – How to talk to the service Programmatic or config file based Contract – What the service does Interface based
Consists of: Protocol Server Name Port Path Logical address does not have map to a physical file, except in IIS
A collection of operations that specifies  what  the Endpoint communicates to the outside world Identified by Name and Namespace Duplex Contracts Server can call client WSDualHttpBinding Data and Service components
Specification  of how the client and server will communicate Multiple endpoints possible for a service Predefined Bindings Configuration file based Custom Bindings
BasicHttpBinding WSHttpBinding WSDualHttpBinding WSFederationBinding NetTCPBinding NetPeerTCPBinding NetNamedPipeBinding NetMsmqBinding MsmqIntegrationBinding
Create the contract Interfaces and implementations Data Contracts Service Contracts Host the service Configure bindings Create a client
 
SOAP Faults CLR Exceptions converted to  FaultException Strongly-typed  FaultException Part of Contract Unexpected Messages UnknownMessageReceived  event Attacks/Probes Out-of-date proxy
 
Transport Level Security Message Level Security Authentication and Authorization
Secure Sockets Layer (SSL) More efficient More configuration Interoperable with ASP.Net Web Services
Certificates X.509 SOAP Message Security
Enterprise Active Directory Windows Authentication Windows Token Role Provider Basic Authentication Impersonation Internet SqlMembershipProvider SqlRoleProvider Windows Cardspace Authorization via Attributes [PrincipalPermission(SecurityAction.Demand, Role=&quot;WarehouseStaff&quot;)] public List<string> ListProducts() {…}
WS-ReliableMessaging Specification No duplication Resend lost messages Sequencing Buffers and re-orders received messages Replay Detection Nonces
Postings at my blog: http://dotnetjunkies.com/WebLog/davetrux/ Aaron Skonnard WCF Wiki http://pluralsight.com/wiki/default.aspx/Aaron/WindowsCommunicationFoundationWiki.html Link aggregation on TheServerSide.Net http://www.theserverside.net/tt/articles/showarticle.tss?id=WCFSpecial&asrc=EM_NLN_1081699&uid=2446223
WCF Basics Create A Basic Service Error Handling Security Reliability
 

Windows Communication Foundation

  • 1.
    David Truxall, Ph.D.Principal Consultant NuSoft Solutions
  • 2.
    WCF Basics CreateA Basic Service Error Handling Security Reliability
  • 3.
    The next-generation platformfor distributed systems A pillar of the Microsoft.NET Framework 3.0 Build WCF services in Visual Studio 2005 using any .NET Language Intelligent code editing, IDE Extensions for WCF, debugging, re-factoring, code snippets, etc. Runs on Microsoft Windows Vista Microsoft Windows XP Microsoft Windows Server 2003 Codename “Indigo”
  • 4.
    Unification of TechnologiesAbstraction of service code from the transport layer Interoperability WS-* specification support Service-Oriented Development Loose Coupling Developer efficiency Configuration file based Attribute based
  • 5.
    .asmx web servicesare still there Only Http
  • 6.
    Client Service MessageEndpoint Endpoint Endpoint
  • 7.
    Client Service MessageAddress Binding Contract (Where) (How) (What) A B C A B C A B C
  • 8.
    Three levels ofabstraction expressed in WSDL Address – Location of the service Uri Can be dynamic Binding – How to talk to the service Programmatic or config file based Contract – What the service does Interface based
  • 9.
    Consists of: ProtocolServer Name Port Path Logical address does not have map to a physical file, except in IIS
  • 10.
    A collection ofoperations that specifies what the Endpoint communicates to the outside world Identified by Name and Namespace Duplex Contracts Server can call client WSDualHttpBinding Data and Service components
  • 11.
    Specification ofhow the client and server will communicate Multiple endpoints possible for a service Predefined Bindings Configuration file based Custom Bindings
  • 12.
    BasicHttpBinding WSHttpBinding WSDualHttpBindingWSFederationBinding NetTCPBinding NetPeerTCPBinding NetNamedPipeBinding NetMsmqBinding MsmqIntegrationBinding
  • 13.
    Create the contractInterfaces and implementations Data Contracts Service Contracts Host the service Configure bindings Create a client
  • 14.
  • 15.
    SOAP Faults CLRExceptions converted to FaultException Strongly-typed FaultException Part of Contract Unexpected Messages UnknownMessageReceived event Attacks/Probes Out-of-date proxy
  • 16.
  • 17.
    Transport Level SecurityMessage Level Security Authentication and Authorization
  • 18.
    Secure Sockets Layer(SSL) More efficient More configuration Interoperable with ASP.Net Web Services
  • 19.
    Certificates X.509 SOAPMessage Security
  • 20.
    Enterprise Active DirectoryWindows Authentication Windows Token Role Provider Basic Authentication Impersonation Internet SqlMembershipProvider SqlRoleProvider Windows Cardspace Authorization via Attributes [PrincipalPermission(SecurityAction.Demand, Role=&quot;WarehouseStaff&quot;)] public List<string> ListProducts() {…}
  • 21.
    WS-ReliableMessaging Specification Noduplication Resend lost messages Sequencing Buffers and re-orders received messages Replay Detection Nonces
  • 22.
    Postings at myblog: http://dotnetjunkies.com/WebLog/davetrux/ Aaron Skonnard WCF Wiki http://pluralsight.com/wiki/default.aspx/Aaron/WindowsCommunicationFoundationWiki.html Link aggregation on TheServerSide.Net http://www.theserverside.net/tt/articles/showarticle.tss?id=WCFSpecial&asrc=EM_NLN_1081699&uid=2446223
  • 23.
    WCF Basics CreateA Basic Service Error Handling Security Reliability
  • 24.