недеља, 20. јул 2008.

Google alternativa XMLu

Kompanija Google je obelodanila da je kreirala open source projekat za izmenu formata podataka koji je nazvala Protocol Buffers.

Ovaj softver ima namenu da reši problem razmene informacija u šrikom opsegu formata između servera velikim brzinama. Takođe je dizajniran da omogući kompanijama kao što je Google da upgrade-uju softver na mrežu povezanih servera bez izazivanja zastoja u radu. Google koristi XML kao jezik za prenošenje poruka između svojih različitih servera. Ali problem je u tome što XML može da bude komplikovan za rad i što je još značajnije, kreira velike fajlove koje mogu da uspore performanse aplikacija.

Protocol Buffers je alternativni način da se opiše format podataka koji se šalju preko mreže ili skladište na hard drive-u. Za razliku od XML-a karakteriše ga kompaktan format i dizajniran je da bude jednostavan za upotrebu, navodi Kenton Varda iz Google-ovog softversko inženjerskog tima.

Protocol Buffers omogućava vam da definišete jednostavne strukture podataka u specijalno definisanom jeziku, zatim ih kompajlirate radi stvaranja klasa koje reprezentuju njihove strukture u jeziku prema vašem izboru. Ove klase dolaze kompletirane sa optimiziranim kodom da bi se omogućilo rasčlanjivanje i sastavljanje vaše poruke u ekstremno kompaktnom formatu.

Najbolje od svega je što su klase veoma lake za korišćenje: svaka od njih poseduje jednostavne „set“ i „get“ metode i vrlo lako omogućavaju sklapanje u kompletnu jedinicu ili rasčlanjivanje u nizove veoma malih veličina. Matt Cutts, softverski inženjer koji predvodi Google-ov Webspam tim, navodi da Protocol Buffers automatski generiše Java, Python ili C++ kod. O Protocol Buffers-u treba razmišljati kao o veoma kompaktnom načinu enkodovanja podataka u binarni format.

Programer može da napiše jednostavan opis protokla ili strukturiranih podataka a Google-ov kod će ih generisati u klase u C++, Java ili Python jezicima za čitanje, pisanje i rasčlanjivane protokola. Datim protokol buffer-om, možete ih pisati na disk, slati ih preko mreže ili uraditi brojne druge funkcije. Svaka kompanija srednje veličine će Protocol Buffers pronaći veoma korisnim. Softver je dostupan preko Apache Software licence 2.0. Protocol Buffers kao i mnoge druge stvari iza kojih stoji Google inženjerski tim ima veoma mnogo smisla.

XML je već duže vreme kritikovan upravo zbog svoje sporosti, koja je dovodila do kontroverznih pokušaja standardizovanja XML kompresovanja. Ali ima li Protocol Buffrs šansi da zameni XML. Ukoliko stvari sagledamo iz nekoliko uglova dobićemo i različita mišljenja. Ali jedno od njih preovlađuje.

Ukoliko dođe do snažnog ulaganja u XML, Protocol Buffers nema naročitog izgleda da ga zameni. Umesto toga, ova tehnologija će biti korišćenja u širokom opsegu od strane Google-a i sličnih kompanija za Web aplikacije koje imaju zaista veliku potrebu za efikasan način prevođenja podataka u višestruke formate. Google navodi da Protocol Buffers su već široko ispitani u okviru same kompanije i da su među zaposlenima naišli na veoma dobar prijem. Prema navodima ove kompanije Protocol Buffer je 10 puta manji i 20 do 100 puta brži od XML-a.