Servizio di directory: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
TekBot (discussione | contributi)
m Coordinamento Template: Sostituzione stub
+F
 
(60 versioni intermedie di 41 utenti non mostrate)
Riga 1:
{{SF|informatica|giugno 2024}}
Un '''Servizioservizio di directory''', in [[informatica]], è un [[programma (informatica)|programma]] o un insieme di programmi che provvedono ad organizzare, gestire e memorizzare [[informazione|informazioni]] sue [[risorsa informatica|risorse]] centralizzate e condivise all'interno di [[rete telematica|reti di computer]] e(es. su risorse[[server]] condiviseo [[mainframe]]), rese disponibili agli utenti tramite la rete. Ilstessa, serviziofornendo dianche directoryun fornisce[[Lista anchedi uncontrollo degli accessi|controllo degli accessi]] sull'utilizzo delle risorse condivise in modo dastesse favorireutile ilal lavoro dell'[[amministratore di sistema]]. I servizi di directory forniscono dunque uno strato di astrazione intermedio tra le risorse da una parte e gli utenti dall'altra.
 
== Differenze con le basi di dati relazionali ==
Il servizio di directory non va confuso con il [[database]] che questo gestisce e amministra. Il servizio di directory è l'interfaccia che gestisce gli accessi ai dati contenuti nel database della directory. É l'autorità centrale che sovraintende all'autenticazione delle varie risorse e gestisce le identità e le relazioni fra le varie entità della rete garantendone l'autenticità e la correttezza delle transazioni.
Una [[directory]] viene considerata, per analogia, un [[database]] organizzato, da un punto di vista logico, secondo una modalità gerarchica. Si tratta di un particolare tipo di database, un database specializzato, che ha caratteristiche differenti dai tradizionali [[database relazionale|database relazionali]].
 
Per prima cosa, una directory, per sua stessa natura, riceve quasi esclusivamente accessi in [[lettura]]; la fase di [[scrittura]] è limitata agli [[amministratore di sistema|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 [[applicazione (informatica)|applicazioni]] bancarie).
[[de:Verzeichnisdienst]]
 
[[en:Directory service]]
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 (processo)|stampa]] non va memorizzato in una directory, visto che per offrire un 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.
[[fr:Annuaire]]
 
[[he:שירות ספרייה]]
Un'altra differenza tra directory e database relazionali è che la maggior parte delle implementazioni di directory non supporta le [[transazione (database)|transazioni]], ovvero operazioni atomiche, che devono essere eseguite interamente o non eseguite per niente, come ad esempio avviene per le operazioni bancarie di trasferimento di denaro. Sono comunque supportate nel [[Lightweight Directory Access Protocol|LDAP]], anche se sono limitate a transazioni tra directory LDAP e non includono altre transazioni, come operazioni tra database. I tradizionali database relazionali di solito supportano queste transazioni, che però complicano la loro implementazione.
[[ja:ディレクトリ・サービス]]
 
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.
 
== 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 (reti)|porta]] TCP/IP di default è 636 per le comunicazioni sicure [[crittografia|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.
 
== Tipologie ==
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.
 
== Voci correlate ==
* [[Lightweight Directory Access Protocol]]
* [[OpenLDAP]]
* [[en:Directory service]]
* [[Gopher (informatica)]]
 
== Collegamenti esterni ==
* {{cita web|https://www.redbooks.ibm.com/redbooks/pdfs/sg244986.pdf|Ibm RedBook Understanding LDAP|lingua=en|formato=pdf}}
 
{{Controllo di autorità}}
{{Portale|informatica}}
 
[[Categoria:Sistemi informativi]]