New Immissions/Updates:
boundless - educate - edutalab - empatico - es-ebooks - es16 - fr16 - fsfiles - hesperian - solidaria - wikipediaforschools
- wikipediaforschoolses - wikipediaforschoolsfr - wikipediaforschoolspt - worldmap -

See also: Liber Liber - Libro Parlato - Liber Musica  - Manuzio -  Liber Liber ISO Files - Alphabetical Order - Multivolume ZIP Complete Archive - PDF Files - OGG Music Files -

PROJECT GUTENBERG HTML: Volume I - Volume II - Volume III - Volume IV - Volume V - Volume VI - Volume VII - Volume VIII - Volume IX

Ascolta ""Volevo solo fare un audiolibro"" su Spreaker.
CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
Privacy Policy Cookie Policy Terms and Conditions
Servizio di directory - Wikipedia

Servizio di directory

Da Wikipedia, l'enciclopedia libera.

Un Servizio di directory è un programma o un insieme di programmi che provvedono ad organizzare e memorizzare informazioni su reti di computer e su risorse condivise disponibili tramite la rete. Il servizio di directory fornisce anche un controllo degli accessi sull'utilizzo delle risorse condivise in modo da favorire il lavoro dell'amministratore di sistema. I servizi di directory forniscono uno strato di astrazione tra le risorse e gli utenti.

Si parla direttamente di directory riferendosi alla struttura di dati ordinata dove viene immagazzinata dell'informazione.

Indice

[modifica] Differenze con i database relazionali

Una directory è spesso erroneamente considerata un database. In realtà si tratta di un tipo di database molto particolare, un database specializzato, che ha caratteristiche differenti dai tradizionali database relazionali. Per prima cosa una directory per sua stessa natura riceve quasi esclusivamente accessi in lettura; la fase di scrittura è limitata agli amministratori di sistema o ai proprietari delle singole informazioni. Per questo motivo, le directory sono ottimizzate per la lettura, mentre i tradizionali database relazionali devono supportare sia la lettura sia la scrittura dei dati (ad esempio in un sistema di prenotazioni aeree o in applicazioni bancarie). Ne consegue che le directory non sono adatte per immagazzinare informazioni aggiornate di frequente. Ad esempio, il numero di processi in coda in fase di stampa non va memorizzato in una directory, visto che per offrire una dato accurato il numero deve essere aggiornato continuamente. La directory può invece contenere l’indirizzo di una stampante remota che è inserita nel processo di stampa; una volta trovata la stampante con una ricerca nella directory, si può ottenere poi il numero di processi in attesa. L’informazione nella directory (indirizzo della stampante) è statica, mentre il numero richiesto è dinamico e quindi non adatto per stare in una directory. Un’altra differenza tra directory e database relazionali è che la maggior parte delle implementazioni di directory non supporta le transazioni. Sono comunque supportate nel LDAP, anche se sono limitate a transazioni tra directory LDAP e non includono altre transazioni, come operazioni tra database. Le transazioni sono operazioni atomiche, cioè che devono essere eseguite interamente o non eseguite per niente, come ad esempio avviene per le operazioni bancarie di trasferimento di denaro. I tradizionali database relazionali di solito supportano queste transazioni, che però complicano la loro implementazione. Un’altra importante differenza sta nel metodo di accesso alle informazioni. La maggior parte dei database relazionali supporta un metodo d’accesso potente e standardizzato che è SQL. SQL permette aggiornamenti e interrogazioni elaborati a discapito delle dimensioni del programma e della complessità dell’applicazione. Le directory invece, in particolare le directory LDAP, usano un protocollo di accesso semplificato e ottimizzato che può essere usato in applicazioni snelle e relativamente semplici. Visto che le directory non hanno l’intento di fornire lo stesso numero di funzioni di un tradizionale database relazionale, possono essere ottimizzate per consentire a più applicazioni di accedere ai dati in grandi sistemi distribuiti nel modo più rapido possibile.

[modifica] Directory client e server

L’accesso alle directory di solito utilizza il modello di comunicazione client/server. Un’applicazione che vuole leggere o scrivere informazioni in una directory non vi accede direttamente, ma invoca una funzione o un’interfaccia (API, application programming interface) che genera l’invio di un messaggio ad un altro processo. Questo secondo processo accede alle informazioni della directory per conto dell’applicazione che ne ha fatto richiesta via TCP/IP. La porta TCP/IP di default è 636 per le comunicazioni sicure crittografate e 389 per le comunicazioni non crittografate. Il risultato dell’operazione di lettura o di scrittura è restituito quindi all’applicazione. Una richiesta è di solito fatta dal directory client, e il processo che cerca l’informazione nella directory è chiamato directory server. In generale, i server forniscono un servizio specifico ai client. Qualche volta un server può diventare un client di altri server, per ottenere le informazioni necessarie per soddisfare la richiesta. Client e server possono risiedere o meno sulla stessa macchina. Un server può soddisfare diversi client; più server possono eseguire richieste in parallelo. Si possono avere anche code di processi quando i server sono occupati mentre stanno eseguendo un’altra richiesta. Un API definisce l’interfaccia di programmazione che un particolare linguaggio usa per accedere ad un servizio. Il formato e il contenuto dei messaggi scambiati tra client e server deve rispettare un protocollo concordato, come LDAP.

[modifica] Tipi di directory

Una directory può essere locale o globale, a seconda se si tratti di un area limitata o estesa all’universo di interesse, che può essere un’azienda, una nazione o tutto il mondo. I client che accedono ad una directory possono essere locali o remoti. I client locali si trovano nello stesso edificio, o comunque possono accedere alla stessa LAN. I client remoti possono invece trovarsi in qualsiasi punto del pianeta. Una directory inoltre può essere centralizzata o distribuita, a seconda che si tratti di un server in un solo posto o di più server sparsi. Quando una directory è distribuita, le informazioni contenute possono essere partizionate o replicate. Quando l’informazione è partizionata, ogni directory server contiene una parte di informazione unica e non sovrapponibile. Cioè ogni entry della directory è contenuta in uno e un solo server. Una delle tecniche di partizione è quella di usare riferimenti LDAP; questi permettono agli utenti di rivolgere le richieste LDAP a server differenti. Quando l’informazione è replicata, la stessa entry è contenuta in più server. In una directory distribuita ci possono essere informazioni partizionate e replicate insieme. La distribuzione dei directory server e la modalità in cui i dati sono partizionati o replicati determina il livello di prestazione e di disponibilità della directory.

[modifica] Vantaggi nell’uso di una directory

Una directory specifica per un’applicazione contiene solo le informazioni richieste da quella particolare applicazione e non è accessibile da altre. Poichè un servizio di directory che soddisfi tutte le funzioni risulta complesso da realizzare, le directory specifiche hanno un campo limitato. Probabilmente contengono solo uno tipo specifico di informazioni, non consentono ricerche generali, non supportano replicazione e partizione, e non hanno un corredo completo di strumenti per l’amministrazione. Una directory specifica per un’applicazione può essere semplice come un insieme di file di testo editabili, o può essere strutturata invece in un formato particolare non documentato. In un tale ambiente, ogni applicazione crea e gestisce la propria directory specifica, il che diventa presto un vero problema a livello amministrativo. Ad esempio, lo stesso indirizzo e-mail può essere presente in più applicazioni; mantenere aggiornate copie multiple della stessa informazione e la loro sincronizzazione è difficile, specialmente quando si ha a che fare con diverse interfacce e diversi amministratori di sistema. Occorre una directory comune indipendente dall’applicazione. Se gli sviluppatori di applicazioni possono essere sicuri dell’esistenza di una servizio di directory, le directory specifiche non sono più necessarie. Comunque una directory comune deve far fronte ai problemi rilevati sopra. Deve essere basato su uno standard aperto che sia supportato da diverse piattaforme. Deve essere accessibile attraverso uno standard API. Deve essere espandibile in modo da poter accettare i tipi di dati richiesti da applicazioni specifiche e deve garantire una piena efficienza senza richiedere risorse eccessive, soprattutto quando si tratta si sistemi piccoli. Poichè più utenti e applicazioni faranno accesso e si riferiranno alla directory comune, deve essere anche robusta, sicura e scalabile. Una volta che viene realizzata una directory di questo tipo, l’attenzione si può rivolgere interamente allo sviluppo dell’applicazione anzichè occuparsi delle directory specifiche per l’applicazione stessa. Così come ci si appoggia al protocollo TCP/IP evitando di occuparsi così dei problemi della comunicazione di basso livello, allo stesso modo qui si può contare su servizi di directory potenti e con ogni funzionalità. Per accedere all’infrastruttura della directory comune, il protocollo da utilizzare è LDAP. Come HTTP e FTP, LDAP è diventato parte indispensabile della suite di protocolli per Internet. Quando le applicazioni accedono ad una directory standard comune realizzata nella maniera opportuna anzichè utilizzare directory specifiche, l’amministrazione ridondante e costosa può essere eliminata e i rischi di sicurezza sono più controllabili. Figura 1. Più applicazioni accedono alla stessa entry. Il vantaggio è che il dato è tenuto e conservato in un unico posto. Varie applicazioni possono usare attributi individuali di una entry per differenti scopi, sempre che abbiano l’autorizzazione a farlo. Immagazzinare dati in una directory e condividerla tra le applicazioni permette di risparmiare tempo e denaro contenendo lo sforzo amministrativo e le risorse di sistema impegnate. Il numero di applicazioni che supportano le directory LDAP è in costante crescita.

[modifica] Note

Static Wikipedia (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2007 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2006 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu

Static Wikipedia February 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu