PočetnaSoftverKorisniReprezentiranje podataka

Reprezentiranje podataka


Kako na Internetu razmjenjivati podatke sa drugim osobama? Kako razmjenjivati podatke sa drugim sustavima? Koji je najbolji format za razmjenu podataka, te za prikaz istih?

Kako prikazati određene podatke osobi, a kako stroju, odnosno računalu? Možete pretpostaviti da će prikaz podataka biti različit i ovisiti će kome i kako ga treba prikazati. Vi kao osoba lakše čitate podatke kada su prikazani ili svrstani na jedan način, a računalo na drugi. U ovom tekstu ćemo se dotaknuti upravo te teme – kako prikazati podatke, koji su najbolji načini za to, te koje su prednosti i mane dotičnih pristupa prikazivanja podataka. Mi živimo u informacijskom svijetu gdje su podaci sve – kompanije trguju podacima, poslovanje se temelji na podacima, sami kreiramo određeni sadržaj, odnosno pohranjujemo podatke u računalo, skidamo podatke sa Interneta radi posla, zabave …

Piše: Boris Plavljanić

Podaci, informacije …

Prije nego se pozabavimo podacima treba razlikovati dva pojma – informaciju i podatke.

„Podatak je jednostavna neobrađena izolirana misaona činjenica koja ima neko značenje. Podatak je nematerijalne prirode, on jednostavno postoji u našim mislima i nema značenje unutar ili izvan svog postojanja ili o samom sebi pa se pridružuje značenju kojim opisujemo svojstva objekata. Može postojati u bilo kojem obliku bio upotrebljiv ili ne. Oblici podataka su zvučni, slikovni, brojčani i tekstualni. Bilježe se na njima sukladne načine.

Informacija je rezultat analize i organizacije podataka na način da daje novo znanje primatelju. Informacija je raznolikost poruka od pošiljatelja do primatelja. Ona postaje znanje kad je interpretirana, odnosno stavljena u kontekst ili kad joj je dodano značenje. Informaciju čine podaci kojima je dano značenje putem relacijskih veza, odnosno organizirani podaci koji su uređeni za bolje shvaćanje i razumijevanje. Značenje informacije može biti korisno, ali i ne mora.“

Iz navedenog teksta možete zaključiti da mi zapravo dobivamo informacije na Internetu, a ne podatke. Često se kaže podatak, a misli se na informaciju i obratno.

Tko dijeli informacije na Internetu?

Na Internetu mnoge kompanije i institucije dijele podatke sa svojim korisnicima, odnosno svim zainteresiranim stranama. U Hrvatskoj je taj trend još u povojima no svakim danom ide na bolje i sve je više dostupnih informacija koje možete besplatno preuzimati i koristiti. U svijetu je to već dugi niz godina praksa i ljudi se služe tim podacima kada im zatrebaju. Dapače – mnoge države zakonima reguliraju informacije i cilj im je potpuna transparentnost države i njenog poslovanja, otvoreni i dostupni podaci za sve građane te zemlje i tako dalje. To je slučaj kada govorimo o državnim institucijama. Kada govorimo o kompanijama, tada govorimo o njihovim API-jima putem kojih možete dobiti informacije, pristupiti određenim servisima koji će vam dostaviti tražene podatke … Tu se govori isključivo o komunikaciji dva ili više računala i dobivanje određenih podataka koje računalo zatraži od drugog računala.

Ono što dobivaju korisnici su najčešće neki statistički podaci od već spomenutih ustanova i oni se prikazuju u određenim formatima. Ista stvar je i sa računalima ali oni podatke dobivaju na drugačiji način i u drugačijem formatu.

Portal otvorenih podataka

Moramo odmah na početku spomenuti najnoviji portal Vlade RH na kojem možete dobivati određene podatke, a to je Portal otvorenih podataka Republike Hrvatske. On je jedan od primjera koje ćemo iskoristiti u ovom tekstu jer je prilično dobro napravljen i putem njega možete preuzeti podatke u raznim formatima i oblicima.

Portal otvorenih podataka Republike Hrvatske predstavlja podatkovni čvor koji služi za prikupljanje, kategorizaciju i distribuciju otvorenih podataka javnog sektora.

Cilj mu je poboljšati širenje javnih i otvorenih podataka putem jedinstvenog i centralnog mjesta te omogućiti izradu inovativnih nekomercijalnih i komercijalnih aplikacija koji bi te podatke koristile. Također se želi potaknuti intenzivnija suradnja s privatnim sektorom, poglavito u području informacijskih tehnologija te potaknuti poboljšanje elektroničkih javnih usluga kao i povećati transparentnost javne uprave.

Portal predstavlja svojevrsni katalog metapodataka (podataka koji pobliže opisuju skupove podataka) te pomoću njega korisnici putem pretrage lakše trebaju doći do željenog javnog podatka, odnosno informacije.

Uz ovakve portale često ćete naići i na pojam „otvorenih podataka“. Otvoreni podaci su podaci koje stvaraju tijela javne vlasti, a čijom se uporabom u komercijalne i/ili nekomercijalne svrhe može stvoriti dodana vrijednost ili ekonomska koristi. Primjeri takvih podataka su: geolokacijski podaci, prometni podaci, meteorološki podaci, podaci iz područja okoliša i tako dalje.
Otvoreni podaci u pravilu ne sadrže osobne podatke, ili drugim riječima, ukoliko su podaci zaštićeni Zakonom o zaštiti osobnih podataka, iste se ne smatra otvorenim podacima jer njihova objava nije dozvoljena. Tijela javne vlasti u Hrvatskoj, sukladno Zakonu u pravu na pristup informacijama, objavljuju registre i baze podataka ili informacije o registrima i bazama podataka iz njihove nadležnosti i načinu pristupa.
Da bi se podaci i informacije smatrali otvorenima, trebali bi biti objavljeni u obliku koji je računalno čitljiv i otvoren. Pod tim se podrazumijeva da ga stroj, odnosno računalo može samostalno pročitati i interpretirati neovisno o korištenoj platformi. I to je zapravo ono najvažnije – da računalo samo može povlačiti podatke i dobiti odgovor.

Prikaz podataka ljudima: HTML, XLS, tekst …

Kako je najlakše podatke prikazati ljudima? Postoji nekoliko načina, a spomenuti portal vam nudi te opcije. Ponavljamo, postoji jako puno portala i web stranica preko kojih možete skidati određene podatke, no nama je ovaj zanimljiv jer je nov i korak u dobrom smjeru kada govorimo o dostupnosti i transparentnosti podataka.

Vjerojatno biste zaključili da je najbolji način prikaza podataka običan tekst. Koju god da web stranicu otvorite vidjeti ćete hrpu teksta o razno raznim temama i logičan je zaključak da je to najbolji način prikaza podataka. I u mnogim slučajevima je jer su ljudi navikli čitati podatke kroz tekst. Pa i u ovom časopisu vi čitate tekstove uz koje nalazite slike, tablice i slično. No, to nas vodi do drugog načina prikaza podataka, a to su tablice. Tablice su vrlo praktične za prikaz podataka jer je u njima vrlo lako organizirati podatke i imate dvije dimenzije u kojima ih možete posložiti. Uostalom, svi smo se mi navikli služiti jednim od uredskih alata koji vam dozvoljavaju da podatke pohranjujete u tabličnom obliku pa ne čudi činjenica da je sve više podataka za preuzimanje upravo u tom obliku.
Ni ovaj portal nije izuzetak.

Ukoliko posjetite sekciju sa podacima (trenutačno se nalazi oko 100-injak različitih skupova podataka, a broj će rasti tokom vremena) vidjeti ćete da kraj mnogih stoji ikonica „XLS“. Ona označava mogućnost preuzimanja podataka u tabličnom obliku. Mnogi programeri ne vole parsirati podatke iz takvog dokumenta, no moguće je iskoristiti takve podatke. Iako, postoje i mnogo bolji načini za računalno preuzimanje i korištenje podataka. Ljudima je tablični oblik, kao što smo rekli, prilično lagan za čitanje i korištenje i zato je toliko rasprostranjen. HTML prikaz je prikaz podataka u obliku web stranice i prikladan je jedino za ljude koji žele pregledati određene podatke na računalu i to unutar web preglednika. Za razmjenu čistih podataka između dva računala HTML nije prikladan. HTML može imati jako puno tagova, odnosno elemenata koji služe za formatiranje teksta i zato nije prikladan za razmjenu između dva računala.

Komunikacija između računala: JSON, REST, XML, SOAP …

Kada govorimo o dobivanju podataka putem računala, odnosno preko mreže, mnogo je bolje podatke dobivati putem JSON paketa, REST servisa, XML-a, SOAP poruka … Mnoge aplikacije tako u realnom vremenu sa drugih izvora dobivaju podatke i prikazuju ih svojim korisnicima. Jedan od primjera su web stranice na kojima, recimo, imate prikaz vremenskih uvjeta – te stranice svakih X minuta ili sati pošalju poruku nekom serveru, dobiju podatke od njega i prikažu ih na web stranici. Ista stvar je i ovdje – ako želite neke od podataka sa otvorenog portala prikazivati na svojoj stranici, možete.

Možete ih povlačiti kako god želite, kada želite i sa bilo koje platforme i uz pomoć bilo kojeg programskog jezika. Dotični načini komunikacije između računala su univerzalni i opće prihvaćeni. Programski jezik koji ne može ovako komunicirati sa drugim servisima je loš programski jezik i takvih je malo danas u široj upotrebi. Većina popularnih jezika ima implementirane i gotove libraryje koje možete naučiti koristiti u sekundi, pa ako se bavite programiranjem a nikada niste slali JSON pakete – probajte. Jako dobra stvar, a lako ju je naučiti. No, vratimo se mi na dohvaćanje podataka.

JSON

JSON je skraćenica od JavaScript Object Notation i jedan je od najčešćih načina komunikacije. I bez obzira što u nazivu ima JavaScript, riječ je o nezavisnom formatu za razmjenu podataka koji omogućuje brzu i laku razmjenu podataka između dva uređaja. To mogu biti mobitel i server, mogu biti dva računala ili nešto treće. Podaci koji se nalaze u JSON paketu (objektu) su čitljivi i ljudima jer se sastoje od para atribut-vrijednost. Recimo „Godina: 24“, „Ime: Marko“, „Prezime: Horvat“, „Država: Hrvatska“ … JSON može prenositi razne tipove podataka kao što su brojevi, nizovi znakova, bool vrijednosti, niz objekata, objekte, null vrijednosti …

U odnosu na XML koji se još uvijek dosta koristi u razmjeni podataka, JSON je manji gotovo 25-30 posto. Možda se čini malo, no vjerujte nam da nije. Zamislite kada prenosite 1 MB podataka. 30 posto od toga je 300 kb. Na 10 MB to je 3 MB. Na 100 MB to je 30 MB. Što je veća količina podwataka u igri, to je ušteda veća. Postoje čak sustavi koji na dnevnoj bazi na taj način pošalju nekoliko gigabajta podataka i korištenjem JSON paketa uštede hrpu resursa i vremena. To je i jedan od razloga zašto unazad par godina popularnost XML-a pada, a JSON-a i dalje raste. Također, JSON paketi nemaju validaciju, nego ih možete slati kako želite, sigurniji su od XML-a, manji, brži je protok paketa … ne možemo se sjetiti niti jednog razloga zašto bismo koristili XML umjesto JSON-a. Jesmo li rekli da vam popularni programski jezici daju mogućnost da napravite JSON paket u sekundi?

XML

Extensible Markup Language ili XML je rašireni računalni jezik koji služi za kreiranje i dizajniranje web stranica, ali i za neke druge specifične radnje kao što je razmjena podataka između dva različita sustava. Većina računalnih sustava ima nekompatibilne podatke, odnosno podatke u različitim formatima pa je zato nastala potreba za jednim ovakvim jezikom i načinom razmjene podataka. XML je generički format za pohranu i strukturiranje podataka, te za njega postoji bezbroj alata i libraryja koji vam mogu pomoći u kreiranju XML-a, njegovoj distribuciji i čitanju. Očekivalo se da će sa rastom potreba na webu XML doživjeti globalni uspjeh i to se ostvarilo.

XML je jedno određeno vrijeme bio broj jedan kada se govorilo o razmjeni podataka na Internetu, no to nije dugo trajalo. Zašto? Kao što smo rekli, dolaze noviji, lakši i brži načini razmjene podataka, a i XML sam po sebi ima određenih ograničenja. Recimo, da biste slali i primali podatke od nekog sustava, morate imati određenu XML shemu. To znači da se točno mora znati koji atributi će se koristiti u razmjeni podataka, kako će biti strukturirani i slično. U nekim slučajevima je to dobro, no mnogima danas to ne odgovara. U svakom slučaju, postoje situacije u kojima je lakše koristiti XML, te situacije u kojima je lakše koristiti JSON. Da biste podatke dobili putem XML-a ili JSON-a, morate pozvati odgovarajući web servis koji će vam vratiti odgovarajući objekt kojeg ćete parsirati i iskoristiti za svoje potrebe.

REST

REST nije paket koji možete razmjenjivati sa sustavom nego je to stil slaganja računalnog sustava i načina na koji će se razmjenjivati poruke. Postoje „dvije“ arhitekture – SOAP i REST. REST je mnogo moderniji, lakši za implementirati i mnogo rašireniji od SOAP-a. REST i SOAP vam govore kako da kreirate svoj web servis. SOAP konzumira mnogo više bandwidtha i treba vam više „znanja“ da ga složite nego za REST. U svakom slučaju, REST koriste sve popularne kompanije iz nabrojanih razloga.

REST se bazira na cloud API-ju kojeg korisnici mogu pozivati. Takve servise recimo imaju Microsoft, Amazon, Google, Twitter … Možete bez ikakvih problema pozvati njihove API-je i probati dobiti određene podatke. Kada web servis koristi REST arhitekturu, često se naziva još i RESTful API ili REST API. API je skraćenica za Application Programming Interface. Što vam REST može vratiti? Može vam vratiti XML, JSON paket ili neki kompleksniji objekt kao što je recimo slika. Pojednostavljeno, kada pozovete web servis preko HTML metode on vam vraća određeni podatak i razne kompanije i ustanove koriste te servise kako bi korisnici mogli dohvatiti podatke. Kao što smo rekli – podatke je moguće recimo skinuti u tabličnom obliku. No zašto ih putem mreže ne biste skinuli na ovaj način? Preko REST servisa?

Kao što vidite, podatke je moguće interpretirati i prezentirati na mnogo načina. Ljudima je lakše čitati tekst i tablične podatke, a računalima one u JSON-u ili XML-u koje možete dobiti preko REST/SOAP servisa. Ako se baviet programiranjem, onda ste vrlo vjerojatno koristili jedan od takvih servisa jer komunikacija među sustavima najčešće ide preko web servisa koje pozivate kako biste dobili pristup serveru i dobili set podataka. Otvoreni portal vam nudi da putem API-ja komunicirate s njime i dohvatite podatke, no to još ne funkcionira najbolje i onako kako bismo mi željeli. Poneke podatke nije moguće dobiti u željenom obliku, neke podatke nam server ne vraća, a neke dobijete u svim mogućim formatima. Vjerujemo da će se s vremenom i ti problemi otkloniti jer je portal još uvijek u beta fazi.
(Dio podataka za ovaj tekst preuzet je sa Otvorenog portala – dana.gov.hr. Ukoliko želite više informacija o istome, molimo vas da posjetite spomenutu web adresu)

 


RELATED ARTICLES

Komentiraj

Please enter your comment!
Please enter your name here

- Advertisment -

Most Popular