Marco Montanari, MSP Il Framework .net .net 3.0 .net 3.5 Web Services Introduzione generale Implementazione Microsoft WCF Il paradigma SOA secondo Microsoft I protocolli WS-* e la sicurezza nei WS C# C++ VB ... compiler IL code (+ metadata) compiler compiler compiler machine code loader verifier JIT compiler if (a > b) max = a; else max = b; IL_0004: ldloc.0 IL_0005: ldloc.1 IL_0006: ble.s IL_000c IL_0008: ldloc.0 IL_0009: stloc.2 IL_000a: br.s IL_000e IL_000c: ldloc.1 IL_000d: stloc.2 mov ebx,[-4] mov edx,[-8] cmp ebx,edx jle 17 mov ebx,[-4] mov [-12],ebx ... IL Intel code
13
Embed
Architetture Distribuite SOA WCF - unibo.it · Mono (per Linux) DotGNU Intel OCL (Open CLI Library) Y Base Class Library Common Language Specification Common Language Runtime Data
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Marco Montanari, MSP
Il Framework .net .net 3.0.net 3.5
Web ServicesIntroduzione generaleImplementazione Microsoft
WCFIl paradigma SOA secondo MicrosoftI protocolli WS-* e la sicurezza nei WS
Modificano il comportamento a run-time del servizioPartecipano alla creazione del canale e ne può modificare il comportamentoPer estendere WCFBehaviour: diversi tipi
Service (IServiceBehaviour)(e.g Tracing degli Endpoint)
AutorizzazioneVerifico i permessi in base alle credenziali
ConfidenzialitàI messaggi devono essere visibili solo al mittente e al destinatario
IntegritàNessuno deve poter manomettere i messaggi
CredenzialiInformazioni scambiate e Usata per stabilire mittente
ClaimsInfo relative ad che possono essere derivate dalle credenzialiPossono essere usati per access control, personalizzazione, auditing, etc.
Security ModeUtilizzato per specificare ed i meccanismi di sicurezza
Message, Transport o entrambi
Sono un serie di specifiche tese a definire degli standard per risolvere alcuni dei problemi dei Web Services
Scambio di messaggi SOAP indipendente dal trasporto (e.g NON solo HTTP)Sicurezza indipendente dal trasporto (e.g NON solo HTTPS)Transazioni tra Web Services...
Si basano su nuovi Header SOAP
Transport Level SecurityConfidenzialitàIntegritàAutenticazione
VantaggiCompatibilità con sistemi esistentiVeloce; implementabile con hardware
SvantaggiHop-to-hopSet limitato di credenziali e claimsDipendenza dal trasporto!Non è un approccio Serviced-Oriented
Transport LevelSecurity
PuraClient CertificateWindows AuthN
Servizi offertiAutenticazioneFirma digitaleEncryptionNon ripudioEvita i replay-attack
Specifica come inserire i security token (e.gcertificato X509) nel messaggio SOAP
SOAP-basedrelazioni fidate
Richiedendo e restituendo security tokens.Sfrutta un meccanismo di scambio di token
Ci sono diversi modelli di trustingci deve essere qualcuno che garantisce per un altro
Spesso sarà il client a richiedere che qualcuno lo presenti al server
tramite un Token) al Trust Server
Scopo: Facilitare le trust relationships tra aziendeFornite da terze partiSupporto di credenziali arbitrarieBenefici:
Delega del controllo del claim a specifiche applicazioni
RSTR11Cred
33
Security Token
Client Service
STS
RST
STS Security Token Service
RST Request Security Token
RSTR Request Security Token Response
T
T
T
22
Un semplice servizio
Quante istanze del servizio devono venire create?ConcurrencyModeal servizioInstanceContextMode: come devono essere create e distrutte le istanze del servizio
Come viene gestita la concorrenza?Multiple: più thread per ogni istanza di servizio. Bisogna gestire la concorrenza.Single: un solo thread che gestisce le rischieste, se è impeganto gli altri rimangono in attesaReentrant: usa un solo thread, ma può essere usato in scenari in cui un servizio chiama un secondo servizio,
Quante istanze di un servizio vengono create?PerCall: ad ogni chiamata viene creata una nuova istanza del servizioPerSession: una nuova istanza viene creata ad ogni sessione e questa non viene condivisa
Legata alla sessione del canaleSessione = insieme dei messaggi che fanno parte della stessa
Single: una sola istanza per tutti.
WCF è il futuro del distributed computing
WCF fornisce modello di programmazione per
la comunicazione applicativa unificato, semplice e potente