OpenSocial - OpenSocial

OpenSocial
Deschideți Logo Social.png
Eliberarea inițială 1 noiembrie 2007 ; Acum 13 ani  ( 01.11.2007 )
Versiune stabila
2.5.1 / 30 august 2013  ( 30.08.2013 )
Scris in Java , PHP , C # , JavaScript , HTML
Tip Cadrul aplicațiilor web
Licență Licență Apache 2.0
Site-ul web opensocial .org

OpenSocial este o specificație publică care definește un mediu de găzduire componentă (container) și un set de interfețe comune de programare a aplicațiilor (API-uri) pentru aplicații bazate pe Web . Inițial, a fost conceput pentru aplicații de rețea socială și dezvoltat de Google împreună cu MySpace și o serie de alte rețele sociale. Mai recent, a devenit adoptat ca mediu de execuție de utilizare generală pentru a permite componentelor neacredibile și parțial de încredere de la terțe părți să ruleze într-o aplicație web existentă. Fundația OpenSocial sa mutat pentru a integra sau a sprijini numeroase alte tehnologii Open Web . Aceasta include OAuth și OAuth 2.0, Fluxuri de activități și Contacte portabile , printre altele.

A fost lansat pe 1 noiembrie 2007. Aplicațiile care implementează API-urile OpenSocial sunt interoperabile cu orice sistem de rețea socială care le acceptă. La lansare, OpenSocial a adoptat o abordare unică pentru dezvoltare. Pe măsură ce a devenit mai robustă și baza de utilizatori s-a extins, OpenSocial a modularizat platforma pentru a permite dezvoltatorilor să includă doar părțile platformei de care avea nevoie.

Pe 16 decembrie 2014, W3C a emis un comunicat de presă, „OpenSocial Foundation Moving Standards Work to W3C Social Web Activity”, afirmând că OpenSocial nu va mai exista ca entitate separată și a încurajat comunitatea OpenSocial să continue activitatea de dezvoltare prin intermediul W3C Social Web Activitate în grupul de lucru pentru rețelele sociale și în grupul de interes social . Fundația OpenSocial a declarat că „comunitatea va avea șanse mai mari de a realiza un web social deschis prin discuții la o singură organizație, iar consiliul de administrație al Fundației OpenSocial consideră că lucrul ca parte integrată a W3C va contribui la atingerea mai multor comunități care vor beneficia de deschiderea standarde sociale. " La 1 ianuarie 2015, opensocial.org a început să redirecționeze toate solicitările de pagină către https://www.w3.org/blog/2014/12/opensocial-foundation-moves-standards-work-to-w3c-social-web-activity / .

Structura

Image
Structura OpenSocial

Bazat pe HTML și JavaScript , precum și pe cadrul Google Gadgets , OpenSocial include mai multe API-uri pentru aplicații software sociale pentru a accesa date și funcții de bază pe rețelele sociale participante . Fiecare API abordează un aspect diferit. De asemenea, include API-uri pentru contactarea serviciilor terțe arbitrare de pe web utilizând un sistem proxy și OAuth pentru securitate.

În versiunea 0.9 OpenSocial a adăugat suport pentru un limbaj bazat pe etichete . Acest limbaj este denumit OSML și permite accesul bazat pe etichete la datele din API-urile OpenSocial care anterior solicitau o cerere asincronă din partea clientului. De asemenea, a definit un sistem bogat de șabloane de etichete și a adoptat un limbaj de expresie bazat pe limbajul de expresie Java .

Începând cu versiunea 2.0, OpenSocial a adoptat suport pentru formatul Activity Streams .

Istorie

fundal

OpenSocial este descris în mod obișnuit ca o alternativă multiplataforma mai deschisă față de platforma Facebook , un serviciu proprietar al popularului serviciu de rețea socială Facebook .

Dezvoltare

Despre OpenSocial s-a zvonit că ar face parte dintr-o inițiativă mai largă de rețele sociale de către Google, numită în cod „Maka-Maka”, care este definită ca „prieten intim cu care se primește și se dă liber” în limba hawaiană .

Implementare

Un proiect open-source , Shindig , a fost lansat în decembrie 2007, pentru a oferi o implementare de referință a standardelor OpenSocial. Are sprijinul Google, Ning și altor companii care dezvoltă programe software OpenSocial. Parserul Myspace OpenSocial a fost lansat ca proiect Negroni în ianuarie 2011 și oferă o implementare bazată pe C # a OpenSocial.

Apache Rave este o platformă extensibilă ușoară și bazată pe standarde deschise pentru utilizarea, integrarea și găzduirea caracteristicilor, tehnologiilor și serviciilor legate de OpenSocial și W3C Widget. Acesta va oferi, de asemenea, capacități puternice de personalizare, colaborare și integrare a conținutului, precum și o instalare rapidă de înaltă calitate, precum și va fi ușor de integrat în alte platforme și soluții.

Atât Shindig, cât și Apache Rave nu mai sunt în dezvoltare și au fost retrași de fundația Apache.

Utilizare

Site-urile web ale întreprinderilor, precum Friendster , hi5 , LinkedIn , MySpace , Orkut și Salesforce.com sunt utilizatori principali ai OpenSocial.

Friendster

Friendster a implementat API-uri din versiunea 0.7 a specificației OpenSocial, facilitând lansarea pe Friendster a aplicațiilor OpenSocial existente care utilizează versiunea 0.7 și ajunge la cei peste 75 de milioane de utilizatori ai Friendster. Friendster intenționează, de asemenea, să sprijine API-uri OpenSocial suplimentare în următoarele luni, inclusiv noile API-uri 0.8.

hi5

hi5 atinge suportul Widgetbox pentru OpenSocial pentru a avea acces la alegerea widgeturilor web pe care Widgetbox le oferă.

Spatiul meu

Myspace Developer Platform (MDP) se bazează pe API-ul OpenSocial. Sprijină rețelele sociale pentru a dezvolta widgeturi sociale și interacționale. Poate fi văzut ca un răspuns la platforma dezvoltatorului Facebook.

Probleme de securitate

Sprijin OpenSocial inițială cu experiență în vulnerabilități de securitate, cu un dezvoltator amator autoproclamat demonstrând exploateaza de RockYou gadget pe Plaxo , și de Ning rețele sociale folosind iLike gadget. După cum a raportat TechCrunch la 5 noiembrie 2007, OpenSocial a fost rapid spart. Timpul total pentru a sparge iLike-ul bazat pe OpenSocial pe Ning a fost de doar 20 de minute, atacatorul putând adăuga și elimina melodii din lista de redare a unui utilizator și accesa informațiile despre prietenii utilizatorului.

Hasel și Iacono au arătat că „specificațiile OpenSocial erau departe de a fi cuprinzătoare în ceea ce privește securitatea”. Au discutat despre diferite implicații de securitate în contextul OpenSocial. Au introdus posibile vulnerabilități în integritatea și autentificarea mesajelor, confidențialitatea mesajelor și gestionarea identității și controlul accesului.

Versiuni de lansare

Critica eliberării inițiale

Deschis la mare fanfară în știri, OpenSocial nu a funcționat bine la început; a rulat doar pe Orkut deținut de Google și numai cu un număr limitat de gadgeturi, returnând erori pentru alte gadgeturi. Alte rețele încă studiau implementarea cadrului.

Pe 6 decembrie, TechCrunch a urmat un raport al fondatorului MediaPops, Russ Whitman, care a spus „Deși am fost inițial foarte entuziasmați, am învățat în mod greu cât de limitată este cu adevărat lansarea”. Russ a adăugat că „componentele funcționale de bază” lipsesc și că „scriere o dată, distribuire largă” nu a fost corectă.

Legendă:    Întrerupt    Actual

Versiune Data de lansare Note de lansare
2.5.1 30 august 2013  ( 30.08.2013 ) Vizualizați notele de lansare
2.5.0 28 august 2012  ( 28.08.2012 ) Vizualizați notele de lansare
2.0.1 23 noiembrie 2011  ( 23.11.2011 ) Vizualizați notele de lansare
2.0.0 18 august 2011  ( 18.08.2011 ) Vizualizați notele de lansare
1.1.0 18 noiembrie 2010  ( 18.11.2010 ) Vizualizați notele de lansare
1.0.0 9 martie 2010  ( 09.03.2010 ) Vizualizați notele de lansare
0.9.0 15 aprilie 2009  ( 15.04.2009 ) Vizualizați notele de lansare
0.8.1 25 septembrie 2008  ( 25-09-2008 ) Vizualizați notele de lansare
0,8,0 27 mai 2008  ( 27.05.2008 ) Vizualizați notele de lansare
0,7,0 25 ianuarie 2008  ( 25.01.2008 ) Vizualizați notele de lansare
0.6.0 21 decembrie 2007  ( 21.12.2007 ) Vizualizați notele de lansare
0,5,0 9 noiembrie 2007  ( 09.11.2007 ) Vizualizați notele de lansare

Versiunea 2.5.1

Modificări aduse API-ului REST au fost făcute pentru a aborda mai multe probleme care necesitau modificări în specificațiile OpenSocial, astfel încât să poată fi folosită de Open Mobile Alliance .

Versiunea 2.5.0

Au fost adăugate containere comune care furnizau „un set de servicii comune pe care dezvoltatorii de containere le pot folosi pentru funcții precum apeluri de apel pentru evenimente din ciclul de viață al gadgetului în browser, experiențe încorporate, gestionare de selecție și gestionare de acțiuni”. Un nou API de metadate oferă aplicațiilor OpenSocial posibilitatea de a se adapta la capacitățile diferitelor containere OpenSocial. WAP Extensia de autentificare a fost descurajată.

Versiunea 2.0.1

Suportul OAuth 2.0 a fost finalizat în această versiune de OpenSocial.

Versiunea 2.0.0

OpenSocial a introdus suport pentru fluxurile de activitate . JSON a apărut deoarece formatul de date preferat și suportul pentru ATOM au fost depreciate. Formatul gadgetului a fost simplificat pentru a da posibilitatea de a defini o bibliotecă de șabloane în cadrul unei specificații gadget. Deși nu a fost finalizat, au fost puse la dispoziție bazele pentru suportul OAuth 2.0.

Versiunea 1.1.0

Ca răspuns la nevoile mediului de afaceri, OpenSocial a adăugat suport pentru scenarii avansate de mashup. A permis gadgeturilor să „își transmită mesaje în siguranță într-un mod cuplat în mod slab”. Această nouă caracteristică a fost denumită Comunicare inter-gadget.

Versiunea 1.0.0

OpenSocial a recunoscut că abordarea „unică pentru toți” pe care o adoptă nu va funcționa pentru diversele tipuri de site-uri web care adoptaseră platforma. Pentru a rezolva această problemă, OpenSocial s-a modularizat în patru module de conformitate: Core API Server, Core Gadget Server, Social API Server și Social Gadget Server. Acest lucru a permis unui dezvoltator să aleagă și să aleagă modulele pe care doreau să le folosească în timp ce utilizează alte servicii care nu fac parte din OpenSocial. Au fost introduse extensii pentru a permite dezvoltatorilor să extindă containerele OpenSocial.

Versiunea 0.9.0

Ca răspuns la feedback și observație a modului în care dezvoltatorii foloseau API-ul, această versiune s-a axat pe „dezvoltarea, testarea și implementarea aplicațiilor mai ușoare și mai rapide, reducând în același timp curba de învățare pentru noii dezvoltatori de aplicații”. API-ul OpenSocial Javascript a fost simplificat pentru a-l ușura, păstrând în același timp puterea vechiului API Javascript. Conținutul proxy a fost introdus pentru a elimina necesitatea dezvoltatorilor de a rezolva limitările anterioare AJAX. Conținutul proxy permite preluarea unui conținut de pe un URL și afișarea acestuia într-o etichetă <Content>. Ca răspuns la o utilizare obișnuită a trimiterii de date către un server la distanță imediat după o solicitare, OpenSocial 0.9.0 a introdus canalizarea datelor. Canalizarea datelor permite dezvoltatorului să specifice datele sociale de care va avea nevoie aplicația și să pună datele imediat la dispoziție. Șabloanele OpenSocial au fost introduse pentru a crea UI bazate pe date, cu o separare de markup și logică programatică. OpenSocial Markup Language (OSML Markup) este un nou set de etichete standardizate pentru a îndeplini sarcini comune sau pentru a efectua în condiții de siguranță operațiuni în mod normal nesigure în cadrul șabloanelor. OSML este extensibil. Dezvoltatorii pot crea o bibliotecă cu propriile etichete personalizate.

Versiunea 0.8.1

Această versiune minoră a pus un accent major pe protocoalele de la server la server, întrucât „schema Persoană a fost aliniată la efortul de contacte portabile și a fost adăugată o propunere opțională RPC”. Protocolul JSON-RPC a fost adăugat pentru a spori funcționalitatea de la server la server. Protocolul RESTful care a fost introdus în v0.8.0 a suferit o revizuire amplă cu mai multe câmpuri adăugate, modificate și șterse.

Versiunea 0.8.0

OpenSocial a modificat specificațiile pentru containere pentru a implementa un API RESTful . Multe dintre modificările API OpenSocial Javascript au făcut această versiune incompatibilă cu versiunile anterioare. Gadgeturile existente au continuat să folosească v0.7.0. După actualizarea gadgetului, acesta va folosi v0.8.0. Securitatea s-a îmbunătățit odată cu introducerea autorizației OAuth și a canalizării HTML și a evenimentelor din ciclul de viață al containerelor. Datele de persistență au fost stocate în JSON .

Versiunea 0.7.0

Lansat ca „prima iterație care poate susține pe deplin aplicații sociale bogate”. A adăugat mai multe câmpuri standard pentru informații de profil, posibilitatea de a trimite un mesaj pentru a instala o aplicație, un șablon de activitate pentru a controla notificările de activitate despre ceea ce au făcut utilizatorii și un API de persistență simplificat pentru a utiliza fluxuri în loc de aplicație globală și cu instanță date. Un alt anunț major a venit de la Apache Shindig . Apache Shindig a făcut ca gadgeturile să fie deschise. În coordonare cu acest anunț, OpenSocial 0.7.0 a introdus specificațiile gadgetului pentru ca dezvoltatorii să își poată defini gadgeturile folosind API-ul gadgetului.

Versiunea 0.6.0

Securitatea a fost un accent mare în versiunea 0.6.0. Controalele de autorizare au fost înăsprite pentru a împiedica un gadget să returneze informații dacă nu este autorizat să facă acest lucru. Au fost adăugate noi clase, cum ar fi clasa Environment pentru a permite unui gadget să răspundă diferit în funcție de mediul său și clasa Surface pentru a sprijini navigarea de la o suprafață la alta. Clasa Activități a fost simplificată pe baza nevoilor dezvoltatorilor, iar clasa Stream a fost depreciată.

Versiunea 0.5.0

Google a anunțat lansarea OpenSocial cu o pre-lansare a versiunii 0.5.0. Deși instabilă, această API a introdus „diverse DTD XML, interfețe Javascript și alte structuri de date” pe platforma OpenSocial.

Referințe

linkuri externe

  • Shindig Shindig a fost o implementare open source a specificației OpenSocial și a specificațiilor gadgeturilor.