La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

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

Presentazioni simili


Presentazione sul tema: "Introduzione a Windows Communication Foundation Pierre Greborio PEWay Microsoft MVP – Solutions Architect."— 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 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 E framework che permette di sviluppare velocemente applicazioni SOA Nasce dallesperienza di: Nasce dallesperienza di: ASP.NET Web Services ASP.NET Web Services Web Services Enhancement (WSE) Web Services Enhancement (WSE).NET Remoting.NET Remoting Enterprise Services (COM+) Enterprise Services (COM+) MSMQ (System.Messaging) MSMQ (System.Messaging)

6 Service model ClientService

7 Endpoint ClientService Endpoint Bv

8 ABC ClientService ABCABCABCABC AddressBindingContract Bv Behavior Bv

9 Echo Service

10 Address E lindirizzo del servizio E lindirizzo del servizio E unistanza di EndpointAddress E unistanza di EndpointAddress Contiene: Contiene: Uri Uri Identity (opzionale) Identity (opzionale) Headers (opzionale) Headers (opzionale)

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

12 Binding predefiniti BindingInterop Security Default SessionTransactionsDuplexStreaming BasicHttpBindingBasic Profile 1.1NoneNon/a One-way only WSHttpBindingWSMessageOptionalYesn/a WSDualHttpBindingWSMessageYes n/a NetTcpBinding.NETTransportOptionalYes One-way only NetNamedPipeBinding.NETTransportYes One-way only NetMsmqBindingMSMQTransportNoYesNo NetMsmqBinding.NETTransportYes No WSFederationBindingWS-FederationMessageYes NoYes

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

14 Contract Duplex

15 Architettura Applicazione Service Model Messaging

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

17 Track Behavior

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

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

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

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

22 Who is

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

24 Auditing WCF permette di loggare gli eventi legati alla sicurezza (successo e/o fallimento) WCF permette di loggare gli eventi legati alla sicurezza (successo e/o fallimento) Lauditing avviene a due livelli: Lauditing avviene a due livelli: Servizio - durante lautenticazione dellutente Servizio - durante lautenticazione dellutente Messaggio – durante la verifica della firma digitale e crittografia Messaggio – durante la verifica della firma digitale e crittografia

25 Who is

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

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

28 Image Transfer

29 Reliable session Garantisce che i messaggi arrivino tutti a destinazione Garantisce che i messaggi arrivino tutti a destinazione E possibile pretendere che lordine di arrivo corrsisponda allordine di partenza E possibile pretendere che lordine di arrivo corrsisponda allordine di partenza

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

31 Distributed Transaction

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

33 Sum

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

35 Monitor

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

37 Riferimenti Programming Indigo ISBN Programming Indigo ISBN Forum ugidotnet.beta.winfx Forum ugidotnet.beta.winfx ndigo/default.aspx ndigo/default.aspx


Scaricare ppt "Introduzione a Windows Communication Foundation Pierre Greborio PEWay Microsoft MVP – Solutions Architect."

Presentazioni simili


Annunci Google