Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
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
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.