WFC_DotNetWindowsCommunicationFoundation.ppt

jeyap77755 3 views 15 slides Jul 18, 2024
Slide 1
Slide 1 of 15
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15

About This Presentation

WindowsCommunicationFoundation


Slide Content

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

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

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

Chappell, ibid, pg 14

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

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

Chappell, ibid, pg 25

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); }

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; }
}

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

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

Other Topics
WCF Security
–Credentials and claims (evidence)
–Transport-level security
–Message-level security
–Federated security model
–Authorization
–Auditing

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

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

Conclusion
Convergence of programming models
–Desktop Application
–Web Application
–Windows Services
Flexible hosting options
Flexible abstractions
Tags