X.500

Soluție de pilot de serviciu director tip X.500 pentru România.

Acest articol prezintă un pilot de serviciu director tip X.500 pentru România, a cărui realizare constituie o încercare de a contribui la completarea peisajului informatic autohton cu un serviciu de rețea de certă necesitate. Inițial, nucleul de serviciu elaborat este orientat către repertorizarea resurselor tip instituție, persoană, serviciu din mediile științifice și tehnice românești.

Se supun atenției potențialilor beneficiari și potențialilor participanți la dezvoltarea lui: o succintă secțiune cu caracter preponderent teoretic (discutând conceptul de director, opțiunea pentru alinierea la standardul X.500, în particular la implementarea lui în mediul Internet, aspecte ale dezvoltării unui serviciu distribuit în context rețea etc.), o prezentare a soluției adoptate și a direcțiilor de extindere avute în vedere, cât și apelul de a sprijini acest demers.

Servicii director

Datorită existenței unei largi game de servicii tip „director“ (de exemplu: serviciul director al companiilor telefonice, DNS, Whois++, X.500), este dificilă formularea unei definiții acoperitoare.

O definiție mai concretă, oglindind o primă orientare în realizarea lui, ar putea fi: un serviciu director este un set de informații despre organizații, departamente, persoane, servicii etc. care poate fi accesat de o serie de entități (care, la rândul lor, pot fi organizații, departamente, persoane, servicii sau orice/oricine poate beneficia de asemenea informații).

O definiție mai generală se dă nu doar de dragul teoretizării, ci pentru a oglindi viziunea actuală asupra acestui tip de servicii.

Pe măsura accentuării tendințelor de integrare la nivelul rețelelor de calculatoare, s-a resimțit ca un impediment eterogenitatea metodelor de denumire (identificare) a unor entități din acest mediu (calculatoare, programe, persoane etc.). Prin conceptul de director, se reflectă intenția de a crea, printr-un spațiu de nume unificat, o entitate logică compusă din mai multe sisteme și deservind mai multe aplicații.

În accepțiunea cea mai generală, se poate spune că un director este o colecție de sisteme deschise, care cooperează pentru păstrarea unei baze de date logice, cu informații despre un set de obiecte din lumea reală. Utilizatorii directorului (persoane și programe) pot citi sau modifica informația sau o parte din ea, în limitele drepturilor de acces.

Se poate face o paralelă cu bazele de date, față de care un astfel de serviciu se distinge prin elemente specifice (informația este descriptivă, bazată pe atribute; informația este preponderent citită și mai rar actualizată (de aceea nu se implementează scheme de tranzacție complicate; proiectarea serviciilor are în vedere obținerea unui răspuns rapid, în urma explorării unui volum mare de date); pentru creșterea disponibilității și fiabilității, informațiile pot fi replicate, cu reducerea timpului de răspuns etc.).

Există diferite metode de a furniza servicii tip director. Ele diferă prin felurile de informații ce pot fi memorate în director, prin cerințele asupra modului în care aceste informații pot fi referite, interogate și actualizate, prin procedurile de protecție la accese neautorizate etc. Unele servicii director sunt locale, oferind servicii într-un context restrâns (de exemplu: serviciul „finger“ pe o singură mașină). Alte servicii sunt globale, deservind o zonă extinsă (până la întregul Internet). Serviciile globale sunt, în mod uzual, distribuite (datele rezidă pe mașini diferite care cooperează pentru realizarea serviciului). Tipic, un serviciu global definește un „spațiu de nume“ uniform, oferind o aceeași vedere asupra datelor, indiferent de punctul de accesare.

De ce X500 ?

Sunt în curs de dezvoltare câteva servere WWW românești, oferind accese spre servicii de tip director, nealiniate la standardul X.500.

Necesitatea elaborării unui serviciu director național, aliniat la acest standard OSI, derivă din mai multe considerente.

Există recomandări explicite, în documentele Internet, de a prefera standardul X.500 în implementarea unor servicii tip director.

Această orientare asigură perspective de integrare într-un serviciu european de anvergură (NameFLOW-Paradise, director internațional, standardizat conform X.500, distribuit, cu detalii de contact despre membri ai comunității științifice, o combinație de directoare organizate la nivel național, cuprinzând repere de contact pentru: peste un milion de persoane, mii de organizații din zeci de țări), ceea ce va asigura o reală vizibilitate internațională a datelor.

Există posibilități de a include și trata într-o manieră unitară mai multe tipuri de entități de interes (diversitatea de tipuri de obiecte prevăzută de acest standard asigură extinderea utilității sale dincolo de o simpl㠄agend㓠sau „carte de telefon electronică“).

Pentru a sugera spectrul larg de posibilități oferite în acest context, enumerăm câteva aplicații ce se pot dezvolta într-o infrastructură X.500: serviciu tip Yellow Pages (permițând căutarea după atribute ca: „scientific field of interest”, „job description”, „business activity”), legătură bidirecțională cu serviciul WWW (într-un sens, pentru consultare serviciu director de la nivelul unui serviciu WWW; în celălalt sens, pentru crearea unui director de pagini WWW, de exemplu: „homepage”-uri), distribuția cheilor de criptare publice (PGP sau PEM) (publicarea acestor chei în director elimină necesitatea unor schimburi de mesaje prin mail cu posesorul cheilor sau cu administratorul lui de mail și accelerează procesul de obținere a cheilor), rutare de mail tip X.400 (MTA-urile pot utiliza directorul pentru căutarea informației de rutare pentru mesajele pe care trebuie să le trateze), distribuire de identificatori EDI.

Astfel, un director poate acționa ca un punct unic de referință pentru o mare varietate de tipuri de date.

Tendințe

Pe măsura expansiunii Internet, până la omniprezența sa actuală, s-a pus și problema implementării standardului OSI X.500 (de fapt un întreg set de standarde, specificând diversele aspecte ale serviciului) în mediu TCP/IP. Software-ul care realizează această transpunere este foarte complex.

Pentru simplificarea context-ului software, s-a dezvoltat, de către IETF, inițial ca front-end pentru serviciul X.500, protocolul LDAP (Lightweight Directory Access Protocol). Acesta oferă acces X.500 la platforme care au numai suport TCP/IP. Server-ul LDAP este un server de protocol intermediar, care comunică cu clienții Internet, pe de o parte, utilizând protocolul ldap, bazat pe TCP și un DSA (Directory Service Agent), pe de altă parte, utilizând DAP (Directory Access Protocol, procedura de conectare a serverelor director de către clienți). Un subset al DAP X.500 este exportat clienților prin protocolul LDAP.

Protocolul LDAP nu suportă accesul la toate operațiile și facilitățile X.500, reținând doar acele caracteristici considerate de interes pentru utilizatorii tipici. Fiind o variantă simplificată, are avantajul unor solicitări mai modeste de memorie și timp de unitate centrală decât protocolul DAP propriu-zis.

Se poate considera, ca tendință majoră actuală în domeniu, recurgerea, în contextul preponderenței Internet / intranet, la soluții bazate pe LDAP. Aceasta însă, pe de o parte, prin simplificările aduse, favorizează dezvoltarea de directoare, dar, pe de altă parte, creează problema apariției, în acest fel, a unei multitudini de directoare dificil de integrat. Soluțiile potențiale, privitoare la directoarele LDAP izolate, ar putea combina ușurința de utilizare a LDAP cu infrastructura solidă definită în standardele X.500. Companii de referință (Lotus, Microsoft, Netscape, Novel) au anunțat suport pentru X500. Dacă nu se știe sigur cât de bine vor fi integrate modelul și protocoalele X500 în software-ul acestora, este cert că ele sunt în curs de furnizare de facilități LDAP native extensive în clienții, serverele și aplicațiile lor. Se estimează că, la sfârșitul anului 1998, vor fi mai multe servere LDAP decât X.500. In acest context general, se încearcă menținerea compatibilității și coexistenței dintre X500 și LDAP.

Alte tendințe ar fi: integrarea X.500 cu WWW, pentru furnizarea unor servicii director locale (organizațiile care subscriu la asemenea directoare, beneficiind de controlabilitatea asigurată de intranet și, totodată, de posibilitățile mai largi de informare oferite de Internet), și încercarea de a implica industria ca beneficiar și sprijinitor al dezvoltării acestui tip de serviciu.

Recomandări generale de dezvoltare a unui serviciu director

Dezvoltarea unui serviciu director implică o serie întreagă de aspecte tehnice, organizatorice și juridice.

La proiectarea unui astfel de serviciu, trebuie găsit un optim între extensiile permise de standarde și restricțiile impuse de respectarea unor prevederi legale.

Legislația privitoare la respectarea caracterului privat al unor informații, referitoare la persoane, diferă de la țară la țară, dar principiile de bază sunt asemănătoare.

Uniunea Europeană vizează standardizarea legislațiilor naționale în domeniu, cu asigurarea unui minim garantat de drepturi.

Trebuie definit clar un scop al înregistrării de tip persoană. Datele personale trebuie culese cu specificarea acestui scop și utilizate doar în acest scop. Ele trebuie să fie relevante, adecvate și să nu fie excesive în raport cu scopul propus. O autoritate supervizoare trebuie să fie anunțată de înregistrare.

Se recomandă utilizarea cu predilecție a acelor atribute care corespund menirii serviciului (de a facilita comunicarea între persoane). Unele autorități naționale recomandă renunțarea la atribute, precum „fotografie”, „băutură favorit㔠etc. Se recomandă evitarea unor detalii despre persoane gen origine etnică, opinii religioase sau politice, elemente ale vieții private etc.

Persoanele repertorizate își pot modifica intrarea corespunzătoare din serviciul director, dar într-un mod controlat, asigurându-se conformitatea cu regulile expuse până acum (pentru a nu i se putea imputa ulterior administratorului serviciului inserarea unor elemente necorespunzătoare).

Sunt definite măsuri tehnice și organizatorice de protecția datelor, prin atribuții ale controlorilor de date și implementatorilor de serviciu, care să asigure evitarea distrugerilor sau alterărilor voite sau accidentale.

Calitatea serviciului

Deși s-ar părea că, în contextul stadiului actual de demarare a constituirii unui astfel de serviciu în România, asigurarea unui anume nivel de calitate este o preocupare „de perspectivă“, pe principiul „întâi să avem ce perfecționa“, lucrurile nu se pot separa așa de simplu.

Este important de stabilit raportul dintre extinderea fondului de informație și calitatea serviciului. La o primă vedere, o organizație sau o persoană nu au un beneficiu direct din includerea în acest serviciu, deci nu vor solicita acest lucru. Trebuie ca acest serviciu să aibă o asemenea calitate încât să inspire încredere utilizatorilor, astfel încât aceștia să-l utilizeze preponderent față de alte surse de informare. In acest stadiu, a nu figura în director va putea fi resimțit ca un dezavantaj în activitățile concurențiale, presupunând că persoanele repertorizate vor fi contactate preferențial. Unii analiști consideră că este primordială atingerea unei „mase critice”, adică a unui fond de date suficient de bogat pentru a atrage interesul utilizatorilor și că manifestarea unor exigențe deosebite, încă din faza inițială, ar frâna constituirea rapidă (prin încărcări masive de date deja disponibile într-o formă aproape acceptabilă) a acestui fond minim obligatoriu. Totuși, este preponderentă opinia că nu sunt indicate derogările de la calitate în nici o etapă, deoarece serviciul poate stimula interesul numai dacă asigură o calitate corespunzătoare a informației.

In cazul serviciului director tip X.500 (și, în general, în cazul tuturor sistemelor distribuite), definirea unor parametri de calitate și monitorizarea acestora sunt probleme destul de complexe.

În primul rând, serviciul trebuie evaluat din perspectiva utilizatorului. Practic, acesta vede acest serviciu ca pe o sursă on-line de informații de contact, pe care o consultă în momentul în care are nevoie de astfel de informații. Dacă nu primește informația dorită în timp util, acesta poate renunța, căutând alte surse de informare (și, eventual, renunțând pe viitor la utilizarea acestui serviciu).

De aici derivă o serie de cerințe: disponibilitate permanentă, 24 de ore din 24 (fiind serviciu distribuit nu se poate defini noțiunea „timpul zilei“, utilizatorul și server-ul putând fi din zone diferite ale globului, deci din fusuri orare diferite), viteză de răspuns acceptabilă, fiabilitate, informații cât mai complete și exacte posibil, existența de date despre organizațiile și persoanele cu care un virtual utilizator ar dori să comunice, menținerea calității serviciului și în perioadele de tranziție (de exemplu, de aliniere la noi versiuni ale standardului).

S-a încercat stabilirea unui cadru de management al serviciului. S-au făcut propuneri de recomandări pentru stabilirea unor acorduri internaționale în domeniu - „Service Level Agreements” (SLA).

Soluție propusă

Dată fiind complexitatea deosebită și resursele necesare unei soluții software complete (bazată pe existența suportului oferit de pachetul ISODE), perfect compatibilă X.500, în mediu de tip Internet, o primă orientare va fi , în mod firesc, spre LDAP.

Dintre variantele de software de LDAP s-a ales cea disponibilă în domeniul public, adică implementarea „clasic㓠realizată la Universitatea Michigan. Dintr-o lucrare a unui specialist care a studiat comparativ varianta Michigan și varianta oferită de Netscape, rezultă că performanțele tehnice (în principal, viteza de acces) sunt similare, iar navigarea între nivele (departament, organizație, țară, lume) este mai simplă la varianta Michigan, superioritatea variantei comerciale (Netscape Directory Service (DS)) rezidând mai ales în facilitățile de întreținere și dezvoltare.

Pe baza software-ului de LDAP ales, se pot constitui o serie de configurații, cu diferite grade de complexitate:
• LDAP ca serviciu local; se utilizează varianta de server LDAP, numită slapd („stand-alone“ lapd), care va deservi numai domeniul local, fără nici o altă interacțiune cu alte servere director;
• serviciu local cu referințe X.500; se execută slapd pentru furnizarea serviciilor director pentru domeniul local și varianta ldapd pentru acces la lumea X.500 (nu e neapărată nevoie să se execute ldapd pe calculatorul local - se poate include o înlănțuire spre un server extern); aceasta este configurația utilizată în sistemul pilot propus (în care se prevede o legătură spre un server ldapd extern pentru tratarea nivelului „world“);
• serviciu complet, deservind domeniul local și asigurând legătura spre lumea X.500, prin intermediul unui server ldapd executat pe calculatorul local.

Am optat, în această primă abordare, pentru o arhitectură de acces la date, bazată pe interfațarea componentei slapd (serverul de protocol LDAP „stand-alone”) cu web500gw (gateway WWW – serviciu director X.500).

S-au adaptat aceste componente (produse din domeniul public, testate doar pentru anumite platforme și versiuni) pentru dezvoltarea unui sistem coerent pe o platformă convenabilă de tip Unix (stație Sun cu sistem de operare Solaris 2.5), cu asigurarea unui spectru larg de facilități: includerea unor atribute permițând tratări deosebite ca: asistare în trimitere de mesaj e-mail unei persoane, salt la o adresă URL, afișare de fotografie; funcții de citire, de căutare, de modificare on-line de către un utilizator a intrării proprii, pe baza unei parole; versiuni în limba română și în limba engleză.

S-a creat un server WWW cadru (http://www.ici.ro/x500.html), dedicat testării, utilizării, întreținerii și extinderii serviciului director. Acesta mijlocește căutarea (consultarea serviciului director), adăugarea unei noi intrări (apelând un „form” de asistare a introducerii on-line a unei intrări tip „person”, care formular, la rândul lui, apelează un program CGI care verifică sintactic datele introduse și le memorează într-un fișier, de unde pot fi preluate de administrator pentru verificare semantică și introducere în baza de date X.500), indicații pentru utilizator.

Pe seturile relativ mici de date disponibile, pe care a funcționat până în prezent, software-ul de acces implementat a funcționat corespunzător.

Se poate discuta oportunitatea demarării unor demersuri practice de a realiza un serviciu la nivel național, prin elaborarea unui nucleu software minimal (raportat la complexitatea serviciului definit de seria de standarde X.500).

Existența unui serviciu funcțional, disponibil oricui poate accesa Internet-ul la nivelul unui client WWW, va permite valorificarea imediată a unui prim fond de date și va impulsiona, printr-o ilustrare concretă a facilităților serviciului, activitatea virtualilor factori de realizare a unui serviciu național (de decizie, tehnici, furnizori de date etc.).

Chiar dacă ulterior, ca urmare firească a evoluției serviciului, vor apare elemente de perfecționare a suportului software (trecerea la soluții bazate pe mediul oferit de pachetul ISODE (care asigură stiva de protocoale ISO în context TCP/IP, deci compatibilitatea integrală cu X.500), distribuirea în servere și baze de date, situate pe diverse platforme din țară etc.), utilizarea, pentru o vreme, a unei soluții mai simple, poate fi utilă. Dată fiind complexitatea gestionării serviciului director X.500 în general (atât din punct de vedere tehnic cât și organizatoric) și datorită problemelor ce apar inerent la preluarea și adaptarea software-ului necomercial, este preferabilă o dezvoltare gradată. Bazele de date ale serviciului, astfel dezvoltat, pot fi preluate în viitor pentru a fi utilizate într-o arhitectură software mai evoluată.

În eventualitatea că această propunere va fi considerată de interes și cu perspective, aș vedea, ca pași următori suportați în limitele suportului software elaborat: acumularea unui fond de date convingător, la nivelul serverului actual, replicarea lui, crearea unei variante de distribuire prin realizarea unor servere locale (acolo unde există resurse tehnice și umane și posibilități de culegere și întreținere de date) și accesarea acestora prin intermediul serverului central.

Dincolo de rezolvarea problematicii tehnice, viabilitatea unui astfel de proiect este condiționată, hotărâtor, de tratarea corespunzătoare a aspectelor organizatorice și legale.

În acest stadiu, o activitate de certă oportunitate este acumularea și întreținerea de date, fapt pentru care fac apel la entuziaști de a sprijini demersul prezentat prin contribuții la extinderea omogenă și coerentă a fondului existent de date, prin repertorizarea, în primul rând, a celor mai reprezentative instituții și persoane din mediile tehnico-științifice românești.


BYTE România - februarie 1998


(C) Copyright Computer Press Agora