Windows Communication Foundation Stipe Ivan Latković
Me, myself and I FESB PhD Service-oriented online monitor DUMP Interests SOA OOAD etc.
How we got here
A unified programming model
The challenge...to radically simplify distributed application development
The response
WCF vs ASMX
Clients and services
SOAP message
Endpoints ClientService Where?How?What?
Bindings Protocol, reliability, encoding, security,...
Out of the box bindings BasicHttpBinding WSHttpBinding WS2007HttpBinding WSDualHttpBinding WSFederationHttp Binding WS2007FederationHttp Binding NetTcpBinding NetNamedPipeBinding NetMsmqBinding NetPeerTcpBinding WebHttpBinding MsmqIntegrationBinding
Address net.tcp://localhost:50000/MyService net.pipe://localhost/MyPipe net.msmq://localhost/MyService
Contracts
Message exchange patterns One-wayRequest-replyDuplex
Metadata exchange
Security Claims based end-to-end security X509, Username/Password, Kerberos, custom credentials... Message security Confidentiality and integrity Transport or message level Access to resources Authentication and authorization
Reliability and transactions End-to-end reliable messaging In-order guarantees Exactly once guarantees Transactions Guaranteed atomic success or failure across boundaries
Hosting IIS6 HTTP only WAS (Windows Activation Service) Can use any transport Supported in IIS7 Self hosting Can use any transport Console & WPF apps, Windows services, etc.
WCF tools WCF Configuration Editor WCF Service Host WCF Test Client SvcUtil SvcTraceViewer
Recommended books
Giveaway