Windows Communication Foundation WCF - PowerPoint PPT Presentation

windows communication foundation wcf l.
Skip this Video
Loading SlideShow in 5 Seconds..
Windows Communication Foundation WCF PowerPoint Presentation
Windows Communication Foundation WCF

play fullscreen
1 / 15
Download Presentation
montana
Views
Download Presentation

Windows Communication Foundation WCF

Presentation Transcript

  1. Windows Communication Foundation (WCF) Jim Fawcett CSE775 – Distributed Objects Spring 2007

  2. References • Introducing WCF, David Chappell, www.davidchappell.com/IntroducingWCFv1.2.1.pdf • Using three diagrams from this reference • Programming Indigo, David Pallmann, Microsoft Press, 2005 • Pro WCF, Peiris and Mulder, Apress, 2007

  3. What is WCF? • Integration of several Microsoft Technologies: • Web services (ASMX) • Web service extensions (WSE) • WS-Security • WS-Reliability • WS-Addressing • .Net Remoting • MSMQ messaging • COM+ Transactions

  4. Chappell, ibid, pg 14

  5. Channel Model • WCF supports three types of channel activity: • Asysnchronous one-way • Request, wait for reply • Full duplex two-way

  6. Structure • Service • Contract • Service contract – RPC Interface • Data contract – Type serialization • Message contract – Soap message • Binding • Transport – HTTP, TCP, MSMQ, … • Channel type – one-way, duplex, request-reply • Encoding – XML, binary, MTOM (msg trans optim mech) • WS-* protocols – WS-Security, … • Address • http://someURI • net.tcp://someOtherURI • net.msmq://stillAnotherURI

  7. Chappell, ibid, pg 25

  8. Channel Interfaces • public interface IOutputChannel : IChannel{ void Send(Message msg); } • public interface IInputChannel : IChannel{ Message Receive(); } • public interface IDuplexChannel : IOutputChannel, IInputChannel {} • public interface IRequestChannel : IChannel{ Message Request(Message msg); } • public interface IReplyChannel : IChannel{ IRequestContext ReceiveRequest(); } • public interface IRequestContext : Idisposable{ Message RequestMessage { get; } void Reply(Message msg); }

  9. Service Contract • <%@ ServiceHost Language=“C#” Service=“MyService” %>[ServiceContract]public interface IMyService{ [OperationContract] string Hello( string name);}public class MyService : IMyService{ public string Hello(string name) { return “Hello “ + name; }}

  10. Hosts • WCF Services can be hosted in: • Internet Information Services (IIS) • Very similar to web services • Windows services • Exposing windows service in style of WS • Console and Winform applications • New style for socket like functionality

  11. Monitoring Services • Message Logging • WCF Performance counters • Calls, CallsOutsantding, CallsErrored, … • SecurityCallsNotAuthenticated, … • TxCommitted, TxAborted, … • RMSessionsStarted, RMSessionsFaulted, … • Windows Management Instrumentation (WMI), a COM technology

  12. Other Topics • WCF Security • Credentials and claims (evidence) • Transport-level security • Message-level security • Federated security model • Authorization • Auditing

  13. Reliable Messaging • ReliableSession enabled • Implemented at the SOAP level not TCP packet • Very similar to TCP functionality • Messages not sent are held in a Transfer Window cache • Will have problems with large messages • MSMQ Binding • Needs microsoft platforms on both ends • Supports store and forward

  14. Other Features • WCF Supports transactions • ACID properties • Atomicity • composite operations treated as a unit • Consistency • Operations succeed or the system is returned to prior state • Isolation • Each transaction is independent and isolated from other transactions • Durability • If an operation succeeds it becomes durable, e.g., committed to a database or other persistant store

  15. Conclusion • Convergence of programming models • Desktop Application • Web Application • Windows Services • Flexible hosting options • Flexible abstractions