OpenSocial

Из Википедије, слободне енциклопедије

OpenSocial je javna specifikacija koja definiše komponente hosting okruženja i niz zajedničkih aplikativnih programskih interfejsa za web-based aplikacije. U početku je dizajniran za Aplikacije društvenih mreže i razvijen je od strane Google-a zajedno sa Majspejs-om i brojnim drugim društvenim mrežama. U novije vreme usvojen je kao opšta upotreba dužine trajanja okruženja za omogućavanje nepouzdane i delimično pouzdane komponente iz trećih lica da rade u postojećoj aplikaciji. Open Social fondacija takođe podržava brojne druge otvorene web aplikacije. Ovo uključuje Oauth i Oauth 2.0, protok aktivnosti i prenosni kontakt, između ostalih.

Društvena mreža

Pušten je 1.novembra 2007.[1] Glavna ideja Open Social tehnologije je u tome da web aplikacije pisane pomoću Open Social API-ja budu interoperabilne sa bilo kojim social network sistemom koji je takođe zasnovan na Open Social-u. Pomoću ove tehnologije mogu se kreirati tzv. kontejneri (container) koji predstavljaju social networking sisteme kao što su iGoogle, MySpace, Ning, Orcut, Linkedln, Hi5 i drugi i aplikacije koje se mogu ugraditi u kontejnere. Koncept je sličan Facebook konceptu, ali ipak postoje suštinske razlike. U slučaju Facebook-a, jedini kontejner je Facebook i aplikacije se mogu izvršavati isključivo na Facebook-u. Open Social podrazumeva da bilo koji social network sistem može biti Open Social kontejner, i svaka Open Social aplikacija se može izvršavati na bilo kojem od njih.

Struktura[уреди]

Na osnovu HTML i Java Script, kao i Google Gadgets okvir, Open Social obuhvata više APIs funkcija za društveni softver aplikacijama da pristupe podacima društvene mreže. U verziji 0.9 Open Social je dodao podršku za jezik [2] Ovaj jezik se naziva OSML i omogućava tag-based pristup podacima iz Open Social APIs s tim što se prethodno pošalje zahtev klijentu. Takođe definiše oznaku šablon sistema i usvaja jezički izraz zasnovan na Java Expression Language. Cilj Open Social-a je da korišćenjem zajedničkih API-ja bude kreirano što više različitih aplikacija koje će biti dostupne svim korisnicima i koje će biti korišćene u različite svrhe. Web developeri mogu kreirati aplikacije korišćenjem standardnog JavaScript-a i HTML-a, a te aplikacije se mogu izvršavati na biloj kojoj platformi na internetu koja se temelji na Open Social API-jima. Takva platforma (kontejner) daje developerima mogućnost da pristupe social informacijama (informacije o korisnicima, njihovim aktivnostima, prijateljima itd.). U okviru API-ja postoje metode za pristup ovakvim informacijama koje su u kontekstu datog kontejnera.

OpenSocial platforma (kontejner)[уреди]

Da bi jedan sajt bio Open Social kontejner potrebno je ispuni određene uslove:

  • Kao prvo, mora da implementira sve metode iz sledećih JavaScript fajlova Open Social API-ja
  • Mora da koristi samo određene mehanizme proširenja za bilo kakvu vrstu specifične nadogradnje kontejnera

Ukoliko postoji potreba da kontejner sadrži neke posebne osobe, aktivnosti ili neke druge objekte, polja sa ovakvim objektima moraju biti definisana u okviru enum strukture i namespace-u kontejnera i da bi aplikacije mogle da manipulišu njima okruženje im mora odobriti pristup ovakvoj vrsti “posebnih” polja.

  • Mora da zadovoljava Gadgets API specifikaciju

Ukratko, ovo se ondosi na rukovanje 3 vrste zahteva:Gadget Rendering Request, Gadget Metadata Request i JavaScript Request. Za JavaScript API-je, potrebno je implementirati gadgets core JavaScript API.

  • Mora da obezbeđuje podršku za RESTful Protocol specifikaciju

Što znači da kontejneri podržavaju predstavljanje podataka u JSON, XML i AtomPub obliku. Open Social koristi HTTP GET metodu za preuzimanje podataka, PUT za izmene (update), POST za kreiranje novog objekta (osobe, aktivnosti ili podataka aplikacije), DELETE za brisanje.

  • Mora da obezbeđuje podršku za RPC Protocol specifikaciju

RPC protokol je alternativa za RESTful protokol, podržava istu reprezentaciju podataka kao i REST, samo je malo više privržen JSON-u.

OpenSocial aplikacija (gadget)[уреди]

Da bi neka aplikacija(gadget) mogla da se pokrene, neophodno je da se ugradi u neki od Open Social kontejnera. Većina web sajtova koji su Open Social kontejneri, koristi Apache Shinding Reference implementaciju. Reference implemenacija predstavlja standard po kojem se ravnaju sve ostale implementacije. Apache Shinding Reference implementacija je Open Source standard za Open Social. Sadrži server-side i client-side kod. Nakon implementacije, on će Open Social kontejneru omogućiti renderovanje Open Social gedget-a u pretraživaču.

OpenSocial veze[уреди]

Kreiranje veza između korisnika je ključna stavka u prelazu multi-user aplikacije u socijalnu mrežu. Veze omogućavaju korisnicima da međusobno interaguju, dele različite vrste informacija, da dele informacije u različitim formama i budu stalno u kontaktu. Postoje dva načina predstavljanja grupa ljudi u OpenSocial-u. To su: VIEWER_FRIENDS i OWNER_FRIENDS. Tako da su, na primer u trentuku kada posmatrate profil nekog svog prijatelja, VIEWER_FRIENDS vaši prijatelji, a OWNER_FRIENDS prijatelji vašeg prijatelja čije profil posmatrate. Ukoliko posmatrate svoj profil VIEWER_FRIENDS i OWNER_FRIENDS biće i jedno u drugo vaši prijatelji. Ukoliko kontejner podržava “anonymous profile browsing” (koncept koji zabranjuje korisnicima interneta koji nemaju nalog na datoj socijalnoj mreži da pristupaju podacima o kosrisnicima socijalne mreže), aplikacija neće biti u mogućnosti da pristupi informacijama u okviru VIEWER_FRIENDS parametra. Važno je istaći da VIEWER i OWNER ne moraju biti u bilo kakvoj vezi. Dakle, VIEWER i OWNER mogu biti prijatelji, ali ukoliko posmatrate profil nekog korisnika socijalne mreže kojeg nemate u listi prijatelja, nema veze između vas koji ste VIEWER i onog sa druge strane koji je OWNER. Za pristup informacijama o prijateljima prijatelja (“friends of friends”) koriste se upiti koji vraćaju NETWORK_DISTANCE parametar. Slično tome OpenSocial kontejneri mogu imati podršku i za upite koji vraćaju informacije o prijateljima koji su prijatelji prijatelja (“friends of friends of friends”).

Aktivnosti[уреди]

Za vođenje evidencije o toku aktivnosti koje su korisnici OpenSocial kontejnera, OpenSocial ima definisanu js klasu opensocial.Activity. Ove aktivnosti mogu biti interakcija sa kontejnerom (kao što je npr. update-ovanje izgleda profila ili informacija na profilu, ugradnja novog gadget-a i slično) i interakcija sa OpenSocial aplikacijom (slanje virtualnih poklona prijateljima na socijalnoj mreži ili beleženje novog high score-a prilikom učešća u nekoj igri).

Istorija[уреди]

Razvoj[уреди]

Priša se da je deo većeg socijalnog umrežavanja inicijativa Googla-a pod šifrom "Maka-Maka", koja se definiše kao značenje "intimni prijatelj sa kojim je jedan od uslova primanje i davanje slobodno" na Havajskom.[3]

Implementacija[уреди]

Inicijalna podrška Open Social Propusta u bezbednosti, sa ličnim opisom, amaterski programer demonstrira eksploatisanje od uređaja RockYou na Plaxo i od Ning društvenih mreža pomoću uređaja iLike.

Pozadina[уреди]

Open Social se obično opisuje kao otvorenija višeplatformska alternativa Fejsbuk platforma, vlasnički servis od popularnog socijalnog mrežnog servisa Fejsbuk-a. Korišćenjem Open Socket[4][5] , korisnik može da pokrene Open Social uređaj unutar Fejsbuk-a.

Vidi još[уреди]

Reference[уреди]

  1. „Google Launches OpenSocial to Spread Social Applications Across the Web”. Google. 2007-11-01 Приступљено 2007-10-31. 
  2. „OpenSocial Specification Release Notes” Приступљено 2011-08-18. 
  3. „maka.maka”. Nā Puke Wehewehe ʻŌlelo Hawaiʻi. Ulukau: The Hawaiian Electronic Library Приступљено 2007-11-01. 
  4. „OpenSocket on Facebook | Facebook”. Apps.facebook.com Приступљено 2013-01-11. 
  5. „OpenSocket”. OpenSocket Приступљено 2013-01-11. 

Spoljašnje veze[уреди]

Literatura[уреди]