- OpenSocial
-
OpenSocial ist eine Sammlung an Programmierschnittstellen für Anwendungen in webbasierten sozialen Netzwerken. OpenSocial wird von Google entwickelt und wurde am 1. November 2007 veröffentlicht.
Anwendungen, welche die OpenSocial-API nutzen, sind mit jedem anderen sozialen Netzwerk interoperabel, welches dieses auch unterstützt, so können Funktionen von Seiten wie MySpace und Friendster miteinander verknüpft werden. Zum Start von OpenSocial sind aus Deutschland lediglich das Business Netzwerk XING und der Einladungs- und Ticketservice amiando dabei.[1]
Seit Dezember 2009 wird die OpenSocial-API auch von StudiVZ, SchülerVZ und MeinVZ unterstützt.[2]
Inhaltsverzeichnis
Technik
OpenSocial besteht im Wesentlichen aus zwei Teilen. Zum einen aus der OpenSocial-API, die Schnittstellen für den einheitlichen Zugriff auf das soziale Netzwerk bereitstellt. Die API selbst, besteht wiederum aus 3 Kernkomponenten.
- Data ermöglicht den Zugriff und Austausch von Personendaten.
- People erlaubt den „Blick“ auf den sozialen Graphen aus „Sicht“ einer Person. Somit lassen sich zum Beispiel personenspezifische Beziehungen (sog. Relationships) abfragen.
- Activities für die textbasierte Kommunikation zwischen Personen
Zum anderen besteht OpenSocial aus den sogenannten OpenSocial Gadgets, die mittels der OpenSocial-API Inhalte aus dem sozialen Netzwerk beziehen und beschreiben, wie diese vom Webbrowser darzustellen und zu verwalten sind. Technologisch betrachtet basieren OpenSocial Gadgets auf den Google Gadgets und erweitern diese um nicht-proprietäre Schnittstellen für den Zugriff auf die OpenSocial-API mittels JavaScript-Funktionen oder das OpenSocial-REST-Protokoll. Prinzipiell bestehen Gadgets aus einem XML-Grundgerüst, welches HTML-Text, JavaScript-Code und eventuelle CSS-Referenzen kapselt.
Beide Komponenten zusammen ermöglichen eine einfachere, einheitliche und interoperable Möglichkeit zur Entwicklung von Anwendungen im Kontext des Social Networking, sogenannter Social-Apps. OpenSocial-Anwendungen sollen deshalb die bisher proprietär entwickelten Lösungen ersetzen.
OpenSocial-Applikationen
Die Entwicklung von OpenSocial-Applikationen erfolgt mittels offener Standards wie z. B. HTML, XML und JavaScript. Alle OpenSocial-Anwendungen benötigen für ihre Ausführung und Anzeige einen sogenannten Container. Dieser dient den Applikationen dabei als eine Art Laufzeitumgebung, welche die OpenSocial-API integriert. Es werden prinzipiell drei Typen (sogenannte Social Design Patterns) von Applikationen unterschieden.
- Social Mashups
OpenSocial-Applikationen dieser Art sind äußerst schmal konzipiert und kombinieren lediglich Inhalte und Funktionen anderer Applikationen mittels RSS oder AJAX. Die Ausführung erfolgt innerhalb des sozialen Netzwerks, wobei kein externer Server als Container notwendig ist. Der Vorteil besteht in der guten Skalierbarkeit bezüglich der Ressourcen, deren eingeschränkte Verfügbarkeit jedoch stets beachtet werden muss. Für die Entwicklung von Social Mashups kann (kombinierbar) HTML, JavaScript, CSS, OpenSocial Templates und Flash genutzt werden.
- Social Application
Anwendungen dieses Typs können eine sehr umfangreiche Funktionalität zur Verfügung stellen und werden im Gegensatz zu den Social Mashups auf einem externen Server gehostet, der als Container für die Verarbeitung und das Rendering der Daten zuständig ist. Ein solches Server-Projekt wurde von der Apache Software Foundation mit dem Namen Shindig entwickelt und vorangetrieben. Der Nachteil einer solchen Social Application besteht in der schlechten Skalierbarkeit bezüglich der Ressourcen, da bei großer Popularität der Anwendung (nicht zuletzt wegen des Funktionsumfangs) die Kapazitätsgrenzen des Servers schnell erreicht sein können. Realisieren lässt sich eine Social Application durch eine Vielzahl von Möglichkeiten, unter anderem HTML, JavaScript, CSS, OpenSocial Templates, Flash, PHP, Python, Java, Perl, .NET oder Ruby.
- Social Website / Social Mobile Application
Diese Applikationen werden außerhalb des sozialen Netzwerks ausgeführt. Dennoch tragen beide die Bezeichnung „Social“, da sie Daten aus sozialen Netzwerken mittels der OpenSocial-API über die REST- oder RPC-API beziehen. Der Nutzer erteilt dazu mittels OAuth direkt den Zugriff auf seine Daten.
OpenSocial REST-Protokoll
Das OpenSocial REST-Protokoll wurde für die Kommunikation zwischen Servern konzipiert und ermöglicht den Austausch von Personendaten, Beziehungsinformationen und Aktivitäten zwischen OpenSocial-Hosts oder Containern. Ein Beispiel hierfür sind OpenSocial-Anwendungen die nicht mehr nur als Gadgets ausgeführt sondern serverseitig erzeugt werden und z. B. mittels JSP oder ASP über das REST-Protokoll auf Daten eines OpenSocial-Containers zugreifen. Somit lassen sich auf eine Person, inhaltlich „maßgeschneiderte“ Applikationen realisieren. Weiterhin profitieren Entwickler von einer Vielzahl bereits vorhandener Client-Utility-Bibliotheken der gängigsten serverseitigen Sprachen wie z. B. Java, PHP oder Ruby, die durch die REST-API zur Verfügung gestellt werden.[3]
Geschichte
Entwicklung
Berichten zufolge steht hinter OpenSocial der Webentwickler Brad Fitzpatrick, der Gründer von LiveJournal. Nachdem er im Jahr 2005 die Firma Danga Interactive, welche LiveJournal betreibt, Six Apart verkaufte, entwickelte Fitzpatrick OpenID. Im Jahr 2007 verließ Fitzpatrick Six Apart, um weiter an der Integration sozialer Netzwerke für Google zu arbeiten.
Gerüchteweise ist OpenSocial ein Teil eines größeren Projekts Googles zum Thema soziale Netzwerke namens „Makamaka“, was hawaiisch „enger Freund mit dem man im freien Austausch steht“ bedeutet.[4]
Implementierungen
Derzeit existieren über 20 Container, die OpenSocial integrieren. Aufgrund der Popularität sozialer Netzwerke ist mit einer steigenden Anzahl zu rechnen. Eine aktuelle Liste der verfügbaren Implementierungen und der jeweils verwendeten OpenSocial-Release findet sich unter [1]. Neben bekannten Vertretern wie MySpace, StudiVZ oder XING für Nutzer, existieren auch einige Container speziell für Entwickler und deren Bedürfnisse.
Hintergrund
OpenSocial wird als eine plattformunabhängige Alternative zu Facebook genannt.
Nachdem Facebook im Mai 2007 begann, Schnittstellen zu veröffentlichen und zu erlauben, dass Dritte Anwendungen für Facebook schreiben, wurde Facebook als Herausforderer von Google angesehen, ein universelles „Web-Betriebssystem“ zu etablieren.
Weblinks
- Googles OpenSocial-Website
- Open Social Widget/Gadget Directory
- OpenSocial Tutorial Site
- OpenSocial White Paper
Quellen
Wikimedia Foundation.