Let's Do It Romania - 24 Septembrie 2011



   

XML şi administraţia

   

În ciuda unor stângăcii, introducerea formatului XML în schimbul de date dintre societate şi administraţie este un mare pas înainte


Mircea Sârbu


Am câţiva prieteni şi foşti colegi care, prin natura activităţii lor, au o îndelungată experienţă a contactelor informatice cu ceea numim generic "administraţia". Prin intermediul lor am fost şi eu ţinut la curent cu evoluţiile din domeniu, cu anecdotica de rigoare şi -- inevitabil -- cu exasperările lor legate de tot felul de aberaţii care se petrec la frontiera dintre spaţiul public şi cel al funcţionarilor statului.

În ultima vreme, sursa enervărilor a fost legată de nişte rapoarte pentru un registru de evidenţă a salariaţilor iar brambureala a atras chiar şi atenţia presei de mare tiraj. Însă dincolo de chestiunile organizatorice, problema a cuprins şi nişte aspecte tehnice iar nedumerirea cea mai mare a stârnit-o noul format de raportare, care pentru mulţi era o noutate: XML. Adevărul este că, după atâţia ani în care am pledat pentru standardizarea schimbului de date în formate bazate pe XML, am receptat vestea aproape ca pe o victorie personală. Am încercat să explic în dreapta şi stânga că e posibil ca lucrurile să nu meargă bine "din prima" dar, în esenţă, este calea cea bună. Cum oamenii erau prea iritaţi ca să-mi asculte argumentele, această rubrică îmi pare potrivită pentru o scurtă explicaţie.

XML (eXtensible Markup Language) se trage dintr-un alt limbaj de marcare, numit SGML, inventat de un colectiv de la IBM condus de Charles Goldfarb. Iniţial, scopul acestuia era să rezolve o problemă locală. IBM era şi este o companie foarte mare şi neomogenă. Practic, fiecare departament folosea sisteme diferite, cu sisteme de operare diferite şi chiar cu codificări diverse, astfel că transferul de date era dificil. Iniţial Goldfarb a fost însărcinat să găsească o modalitate generală de transfer a documentelor juridice, însă rezultatul a fost mult mai puternic, fiind valabil pentru orice structuri de date. De fapt, SGML este un meta-limbaj, adică un mecanism prin care se pot crea limbaje de marcare specifice oricărei structuri (de pildă HTML este un limbaj de marcare descris în SGML) iar XML nu este decât un fel de SGML adaptat pentru internet.

Pentru a defini un limbaj particular e nevoie de o "gramatică" ce specifică în esenţă elementele şi modul în care acestea se înlănţuie, formând o ierarhie. De pildă, o piesă de teatru este o succesiune de acte, precedate eventual de un prolog şi urmate opţional de un epilog. Fiecare act este o succesiune de scene, fiecare formate dintr-o succesiune de replici. Desigur, mai intervin indicaţii regizorale, care pot fi plasate în diverse puncte din structură. Această descriere -- desigur, mult mai precisă -- constituie gramatica şi se exprimă formal într-o structură numită DTD (Document Type Description) sau, mai modern, într-o "schemă XML" (care are avantajul că este ea însăşi exprimată în XML). Avantajele sunt enorme şi provin din standardizare şi independenţa de structurile de stocare -- adică exact ingredientele care stau la baza unui schimb civilizat de date între diverse organizaţii şi administraţie.

Am fost solicitat să arunc o privire peste specificaţiile publicate pe situl www.inspectiamuncii.ro şi am început să înţeleg iritarea prietenilor mei. În primul rând, "specificaţia" este lipsită de o descriere formală (este doar un exemplu comentat), astfel încât gramatica poate fi doar dedusă. În al doilea rând, este în mod evident o structură tabelară transpusă destul de stângaci într-una ierarhică (de pildă, se păstrează referinţele prin chei primare şi chei străine -- în răspăr cu "spiritul" XML). Mi-ar fi plăcut ca situl să ofere şi un validator online, astfel ca măcar erorile formale să poate fi depistate înainte de a trimite rapoartele (noutate: chiar şi prin internet!). În fine, cred că măcar un manual în limba română despre ce-i XML şi ce vrea el ar fi fost extrem de util.

Acestea fiind condiţiile, lucrurile s-au petrecut cam aşa: prietenul meu a trimis datele şi le-a primit înapoi pe motiv că sunt greşite. După insistenţe, se obţine şi o descriere irelevantă a erorii iar în cele din urmă se constată că o adresă nu avea... număr! Desigur, gramatica ar fi lămurit chestiunea de la bun început iar validatorul ar fi depistat eroarea... Informaticienii de la ministerul muncii şi-au tras singuri un glonţ în picior atunci când nu le-au furnizat.

Oricum, insist să cred că introducerea formatului XML este un pas înainte şi nu pot decât să sper că exemplul va fi urmat. Ceva mai bine...


 

(Publicat în PC Magazine - mai 2007)

 

Copyright © 2007 Agora Media

Creative Commons License
This work is licensed under a Creative Commons License.