La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Introduzione a Windows Communication Foundation

Presentazioni simili


Presentazione sul tema: "Introduzione a Windows Communication Foundation"— Transcript della presentazione:

1

2 Introduzione a Windows Communication Foundation
Pierre Greborio PEWay Microsoft MVP – Solutions Architect

3 Nota Tutto il codice che vediamo in questa sessione è basato su WinFX CTP di dicembre 2005

4 WinFX

5 Che cos’è WCF ? E’ framework che permette di sviluppare velocemente applicazioni SOA Nasce dall’esperienza di: ASP.NET Web Services Web Services Enhancement (WSE) .NET Remoting Enterprise Services (COM+) MSMQ (System.Messaging)

6 Service model Client Service

7 Endpoint Client Service Endpoint Bv Endpoint Bv Endpoint Endpoint Bv

8 “ABC” Client Service Address Binding Contract Behavior A B C Bv A B C

9 Echo Service

10 Address E’ l’indirizzo del servizio E’ un’istanza di EndpointAddress
Contiene: Uri Identity (opzionale) Headers (opzionale)

11 Binding Contiene le informazioni di come il servizio cominichi con il mondo Si occupa di transazioni, gestione della sessione, sicurezza,... Esistono 8 tipi di binding predefiniti E’ possibile creare custom binding

12 Binding predefiniti Binding Interop Security Default Session
Transactions Duplex Streaming BasicHttpBinding Basic Profile 1.1 None No n/a One-way only WSHttpBinding WS Message Optional Yes WSDualHttpBinding NetTcpBinding .NET Transport NetNamedPipeBinding NetMsmqBinding MSMQ WSFederationBinding WS-Federation

13 Contract Specifica che cosa il servizio comunica con il mondo
Vi sono tre tipi di contratto: Service contract (ie. WSDL) Message contract (ie. SOAP) Data contract (ie. Xml Schema)

14 Contract Duplex 14

15 Architettura Applicazione Service Model Messaging

16 Architettura adattativa
Outgoing CLR Type Integration Transaction Behavior Security Channel TCP Transport Codice Incoming CLR Type Integration Transaction Behavior Instancing Behavior Security Channel TCP Transport Service Model Layer Messaging Layer

17 Track Behavior 17

18 Hosting Un servizio WCF può “vivere” in differenti tipi di host
IIS (solo protocollo HTTP) Windows application (Windows service, console application, windows application) Web Application Service (IIS 7)

19 Sicurezza WCF gestisce sia la sicurezza lato server che lato client
La gestione della sicurezza riguarda 5 temi: Transfer security Firma digitale Crittorafia Autenticazione Access control Autorizzazione Auditing

20 Transfer security La sicurezza è gestibile a due livelli:
Transport (es. HTTPs) Message (es. WS-Security) Trasport mode è adatto per l’interoperabilità ma è applicabile solo point-to-point Message mode è end-to-end ma è meno efficiente E’ possibile applicarli entrambe

21 Autenticazione E’ basato sul concetto di credenziale
La credenziale è sia il dato che la prova di possesso. Le credenziali si possono usare a due livelli: Trasporto (None, Basic, Digest, Ntlm, Windows, Certificate) Messaggio (None, Windows, Username, Certificate, Infocard)

22 Who is 22

23 Autorizzazione L’autorizzazione è il processo di verifica se un utente ha il permesso di accedere ad una risorsa Si basa su attributi: PrincipalPermissionAttribute

24 Auditing WCF permette di loggare gli eventi legati alla sicurezza (successo e/o fallimento) L’auditing avviene a due livelli: Servizio - durante l’autenticazione dell’utente Messaggio – durante la verifica della firma digitale e crittografia

25 Who is 25

26 Affidabilità Affidabilità significa: WCF propone tre soluzioni:
Non perdo i messaggi per strada ! Viene rispettato l’ordine di invio. Non dipendo da problemi “esterni” WCF propone tre soluzioni: Code Reliable session Transazioni

27 Code Si appoggia a MSMQ L’operazione deve essere one-way
Disponibile anche senza connettività MSMQ MSMQ 27

28 Image Transfer 28

29 Reliable session Garantisce che i messaggi arrivino tutti a destinazione E’ possibile pretendere che l’ordine di arrivo corrsisponda all’ordine di partenza <bindings> <wsHttpBinding> <binding name="Binding1"> <reliableSession enabled="true" ordered="true" /> </binding> </wsHttpBinding> </bindings>

30 Transazioni Due modelli a confronto
Transazioni atomiche Più semplice Fortemente accoppiato Compensazione Più complesso Debolmente accoppiato Bisogna scegliere il modello in base al contesto E’ basato sul protocollo WS-AtomicTransaction

31 Distributed Transaction
31

32 Session E’ possibile far uso delle sessioni per mantenere uno “stato”
L’uso della sessione deve essere gestito con il ciclo di vita del servizio E’ possibile condividere la stessa sessione fra più client (SharedSession)

33 Sum 33

34 Diagnostica e monitoring
Performance counter Classi ed eventi WMI Tracing 34

35 Monitor 35

36 Integrazione WCF è integrabile bidirezionalmente con:
MSMQ ASP.NET XML web services Enterprise Services (COM+) E’ fondamentale definire in modo corretto il binding ed il modello di serializzazione Scrivendosi un custom channel è possibile integrarsi con tutto: .NET Remoting Java RMI 36

37 Riferimenti Programming Indigo ISBN 0-7356-2151-9
Forum ugidotnet.beta.winfx 37


Scaricare ppt "Introduzione a Windows Communication Foundation"

Presentazioni simili


Annunci Google