stringtranslate.com

OpenSocial

OpenSocial — это общедоступная спецификация, описывающая набор общих интерфейсов прикладного программирования (API) для веб-приложений . Первоначально разработанный для приложений социальных сетей , он был разработан совместно Google , MySpace и другими социальными сетями. С тех пор она превратилась в среду выполнения , которая позволяет сторонним компонентам, независимо от их уровня доверия, работать внутри существующего веб-приложения.

OpenSocial Foundation интегрировал или поддержал различные технологии Open Web , включая OAuth и OAuth 2.0, потоки активности и переносимые контакты . С момента своего создания 1 ноября 2007 года [1] приложения, реализующие API OpenSocial, могут взаимодействовать с любой системой социальных сетей, которая их поддерживает.

OpenSocial изначально принял универсальный подход к разработке. По мере развития платформы и расширения базы пользователей она была модульной, что позволило разработчикам включать только необходимые компоненты платформы. [2] Orkut , клиент Google, первым поддержал OpenSocial. [3]

16 декабря 2014 года Консорциум Всемирной паутины (W3C) объявил, что OpenSocial Foundation переведет свою работу по стандартизации на W3C Social Web Activity. [4] Это эффективно интегрировало OpenSocial в рабочую группу W3C по социальным сетям и группу социальных интересов, тем самым растворив OpenSocial как отдельную организацию.

Состав

Структура OpenSocial [5]

OpenSocial, построенный на HTML и JavaScript , а также на платформе Google Gadgets , включает в себя множество API-интерфейсов, которые позволяют социальным программным приложениям получать доступ к данным и основным функциям участвующих социальных сетей . [6] Каждый API отвечает за свой аспект. [7] Спецификация также включает API для взаимодействия с произвольными сторонними сервисами в сети, используя прокси- систему и OAuth для обеспечения безопасности.

В версии 0.9 OpenSocial включила поддержку языка на основе тегов . [8] , известный как OSML. Этот язык облегчает доступ на основе тегов к данным из API OpenSocial, что ранее требовало асинхронного запроса на стороне клиента. Кроме того, была создана комплексная система шаблонов тегов и принят язык выражений, основанный на языке выражений Java .

Начиная с версии 2.0, OpenSocial начал поддерживать формат потоков активности . [8]

История

Фон

OpenSocial обычно описывается как более открытая кроссплатформенная альтернатива платформе Facebook , собственной службе популярной социальной сети Facebook . [9]

Разработка

Ходили слухи, что OpenSocial является частью более крупной социальной сети Google под кодовым названием «Мака-Мака» [10] , что на гавайском языке означает «близкий друг, с которым можно свободно получать и отдавать» . [11]

Выполнение

Проект с открытым исходным кодом Shindig был запущен в декабре 2007 года для обеспечения эталонной реализации стандартов OpenSocial. Он пользуется поддержкой Google, Ning и других компаний, разрабатывающих программное обеспечение, связанное с OpenSocial. Парсер Myspace OpenSocial был выпущен как проект Negroni в январе 2011 года и представляет собой реализацию OpenSocial на основе C# .

Apache Rave — это легкая расширяемая платформа на основе открытых стандартов для использования, интеграции и размещения функций, технологий и услуг, связанных с OpenSocial и W3C Widget. Он также обеспечит широкие возможности контекстно-зависимой персонализации, совместной работы и интеграции контента, а также высококачественную готовую установку, а также будет легко интегрироваться в другие платформы и решения. [12]

И Shindig, и Apache Rave больше не находятся в разработке и сняты с производства Apache Foundation.

Применение

Корпоративные веб-сайты, такие как Friendster , hi5 , LinkedIn , MySpace , Orkut и Salesforce.com , являются основными пользователями OpenSocial. [13]

Френдстер

Friendster развернул API версии 0.7 спецификации OpenSocial, что упрощает запуск существующих приложений OpenSocial, использующих версию 0.7, на Friendster и охват более 75 миллионов пользователей Friendster. Friendster также планирует в ближайшие месяцы поддерживать дополнительные API OpenSocial, включая новые API 0.8. [14]

привет5

hi5 использует поддержку Widgetbox для OpenSocial, чтобы получить доступ к выбору веб-виджетов, предоставляемых Widgetbox. [15]

Мое пространство

Платформа разработчиков Myspace (MDP) основана на API OpenSocial. Он поддерживает социальные сети для разработки социальных и интерактивных виджетов. Это можно рассматривать как ответ платформе разработчиков Facebook. [16]

Проблемы с безопасностью

Первоначальная поддержка OpenSocial обнаружила уязвимости в безопасности: разработчик-любитель, по его словам, демонстрировал эксплойты гаджета RockYou на Plaxo и социальных сетей Ning с использованием гаджета iLike . [17] Как сообщил TechCrunch 5 ноября 2007 г., OpenSocial был быстро взломан. Общее время взлома iLike на Ning на основе OpenSocial составило всего 20 минут, при этом злоумышленник смог добавлять и удалять песни в плейлисте пользователя, а также получать доступ к информации о друзьях пользователя. [18]

Хезель и Яконо показали, что «спецификация OpenSocial далека от полной в отношении безопасности». [19] Они обсудили различные последствия безопасности в контексте OpenSocial. Они представили возможные уязвимости в системах целостности и аутентификации сообщений, конфиденциальности сообщений, а также управления идентификацией и контроля доступа.

Версии выпуска

Критика первого выпуска

Открытая с большой помпой в новостях, OpenSocial поначалу работала не очень хорошо; он работал только на Orkut , принадлежащем Google , и только с ограниченным количеством гаджетов, возвращая ошибки для других гаджетов. Другие сети все еще рассматривают возможность внедрения этой структуры.

6 декабря TechCrunch опубликовал отчет основателя MediaPops Расса Уитмена, который сказал: «Хотя поначалу мы были очень взволнованы, мы на собственном горьком опыте поняли, насколько на самом деле ограничен выпуск». Расс добавил, что «основные функциональные компоненты» отсутствуют и что фраза «напиши один раз, распространяй широко» не соответствует действительности. [20]

Легенда:  Снято с производства  Текущий

Версия 2.5.1

Изменения в REST API были внесены для решения нескольких проблем, которые потребовали внесения изменений в спецификации OpenSocial, чтобы его мог использовать Open Mobile Alliance . [21]

Версия 2.5.0

Были добавлены общие контейнеры, предоставляющие «набор общих сервисов, которые разработчики контейнеров могут использовать для таких функций, как обратные вызовы событий жизненного цикла гаджетов в браузере, встроенные возможности, обработчики выбора и обработчики действий». [22] Новый API метаданных дает приложениям OpenSocial возможность адаптироваться к возможностям различных контейнеров OpenSocial. Расширение аутентификации WAP устарело.

Версия 2.0.1

Поддержка OAuth 2.0 была завершена в этой версии OpenSocial. [23]

Версия 2.0.0

OpenSocial представила поддержку потоков активности . JSON стал предпочтительным форматом данных, а поддержка ATOM была прекращена. Формат гаджета был упрощен, чтобы дать возможность определить библиотеку шаблонов в спецификации гаджета. [24] Хотя это еще не доработано, основа для поддержки OAuth 2.0 была заложена.

Версия 1.1.0

В ответ на потребности корпоративной среды OpenSocial добавила поддержку расширенных сценариев коллажей. Это позволило гаджетам «безопасно отправлять друг другу сообщения в слабосвязанной форме». [25] Эта новая функция получила название «Связь между гаджетами».

Версия 1.0.0

OpenSocial признала, что выбранный ею подход «один размер подходит всем» не будет работать для различных типов веб-сайтов, принявших эту платформу. Чтобы решить эту проблему, OpenSocial разделен на четыре модуля соответствия: Core API Server, Core Gadget Server, Social API Server и Social Gadget Server. [2] Это позволило разработчику выбирать модули, которые он хотел использовать при использовании других сервисов, не являющихся частью OpenSocial. Расширения были введены, чтобы позволить разработчикам расширять контейнеры OpenSocial.

Версия 0.9.0

В ответ на отзывы и наблюдения за тем, как разработчики используют API, эта версия была сосредоточена на том, чтобы сделать «разработку, тестирование и развертывание приложений проще и быстрее, одновременно сокращая время обучения для новых разработчиков приложений». [26] API OpenSocial Javascript был оптимизирован, чтобы сделать его облегченным, сохранив при этом мощь старого API Javascript. Прокси-контент был введен для того, чтобы разработчикам не приходилось обходить предыдущие ограничения AJAX. Прокси-контент позволяет извлекать контент из URL-адреса и отображать его в теге <Content>. В ответ на распространенное использование отправки данных на удаленный сервер сразу после запроса в OpenSocial 0.9.0 была введена конвейерная обработка данных. Конвейерная обработка данных позволяет разработчику указать социальные данные, которые потребуются приложению, и немедленно сделать эти данные доступными. Шаблоны OpenSocial были представлены для создания пользовательского интерфейса, управляемого данными, с разделением разметки и программной логики. Язык разметки OpenSocial (OSML Markup) — это новый набор стандартизированных тегов для выполнения общих задач или безопасного выполнения обычно небезопасных операций внутри шаблонов. OSML расширяем. Разработчики могут создать библиотеку собственных тегов.

Версия 0.8.1

В этом второстепенном выпуске основное внимание уделялось межсерверным протоколам, поскольку «схема Person была согласована с проектом Portable Contacts, и было добавлено дополнительное предложение RPC». [27] Протокол JSON-RPC был добавлен для повышения функциональности сервера между серверами. Протокол RESTful, представленный в версии 0.8.0, подвергся серьезной переработке: было добавлено, изменено и удалено несколько полей.

Версия 0.8.0

OpenSocial изменила спецификации контейнеров для реализации RESTful API . Многие изменения API OpenSocial Javascript сделали эту версию несовместимой с предыдущими версиями. Существующие гаджеты продолжали использовать версию 0.7.0. После обновления гаджет будет использовать версию 0.8.0. Безопасность улучшилась благодаря внедрению авторизации OAuth и очистки HTML, а также событий жизненного цикла контейнера. [28] Данные персистентности хранились в формате JSON .

Версия 0.7.0

Выпущен как «первая версия, которая может полностью поддерживать многофункциональные социальные приложения». [29] Добавлено несколько стандартных полей для информации профиля, возможность отправить сообщение для установки приложения, шаблон активности для управления уведомлениями об активности о том, что делают пользователи, а также упрощенный API постоянства для использования каналов вместо глобальных и экземпляров. -область данных приложения. Еще одно важное объявление поступило от Apache Shindig. Apache Shindig сделал гаджеты открытыми. В связи с этим объявлением в OpenSocial 0.7.0 представлены спецификации гаджетов, позволяющие разработчикам определять свои гаджеты с помощью API гаджетов.

Версия 0.6.0

В версии 0.6.0 большое внимание уделялось безопасности. Контроль разрешений был ужесточен, чтобы гаджет не возвращал информацию, если у него нет на это полномочий. Были добавлены новые классы, такие как класс Environment, позволяющий гаджету реагировать по-разному в зависимости от окружающей среды, и класс Surface для поддержки навигации с одной поверхности на другую. Класс Activity был упрощен в соответствии с потребностями разработчиков, а класс Stream устарел. [30]

Версия 0.5.0

Google объявила о запуске OpenSocial с предварительной версией версии 0.5.0. Хотя этот API был нестабильным, он представил на платформе OpenSocial «различные XML DTD, интерфейсы Javascript и другие структуры данных» [31] .

Рекомендации

  1. ^ «Google запускает OpenSocial для распространения социальных приложений в Интернете - Анонсы новостей - Новости от Google - Google» . googlepress.blogspot.com . Проверено 23 ноября 2015 г.
  2. ^ abc Марк Марум (1 января 2013 г.). «Примечания к выпуску спецификации OpenSocial 1.0.0». Гитхаб . Проверено 28 ноября 2015 г.
  3. ^ «OpenSocial открывает новую банку с червями» . CNET . Проверено 8 ноября 2023 г.
  4. ^ «OpenSocial Foundation переносит стандарты в социальную веб-активность W3C» . W3C . 16 декабря 2014 года . Проверено 17 декабря 2014 г.
  5. Хезель, Матиас (1 января 2011 г.). «Opensocial: инструмент для социальных приложений в Интернете». Коммун. АКМ . 54 (1): 139–144. дои : 10.1145/1866739.1866765. ISSN  0001-0782. S2CID  52805577.
  6. ^ «Open Social: новая вселенная социальных приложений по всей сети» . 2 ноября 2007 года. Архивировано из оригинала 2 ноября 2007 года . Проверено 25 ноября 2015 г.
  7. ^ "Фонд OpenSocial". Гитхаб . Проверено 25 ноября 2015 г.
  8. ^ ab «Примечания к выпуску спецификации OpenSocial». opensocial-resources.googlecode.com . Архивировано из оригинала 11 августа 2011 года . Проверено 23 ноября 2015 г.
  9. ^ Хелфт, Мигель; Брэд Стоун (31 октября 2007 г.). «Google и друзья объединяются на Facebook». Нью-Йорк Таймс . Проверено 31 октября 2007 г.
  10. Шонфельд, Эрик (29 октября 2007 г.). «Ответ Google Facebook: «Мака-Мака»». ТехКранч . Проверено 31 октября 2007 г.
  11. ^ "мака.мака". На Пуке Вехевехе Олело Гавайи . Улукау: Гавайская электронная библиотека. Архивировано из оригинала 18 сентября 2013 года . Проверено 1 ноября 2007 г.
  12. ^ «Open Social Foundation переносит работу по стандартизации в социальную веб-деятельность W3C» . Проверено 2 декабря 2015 г.
  13. ^ «Что такое OpenSocial? Определение в вебпедии» . www.webopedia.com . Проверено 23 ноября 2015 г.
  14. ^ «Friendster открывает платформу для разработчиков» . ПКМир . 28 октября 2007 года . Проверено 2 декабря 2015 г.
  15. ^ «hi5 Taps Widgetbox для поддержки OpenSocial и доступа к самому широкому в мире выбору виджетов». Science Letter, 9 сентября 2008 г.: 4265. Academic OneFile. Web». go.galegroup.com . Проверено 9 сентября 2015 г.
  16. ^ «Позвольте мне посмотреть мое приложение!». 5 февраля 2008 года. Архивировано из оригинала 9 февраля 2008 года . Проверено 5 февраля 2008 г.
  17. Аррингтон, Майкл (5 ноября 2007 г.). «OpenSocial снова взломали». ТехКранч . Проверено 6 ноября 2007 г.
  18. Аррингтон, Майкл (5 ноября 2007 г.). «OpenSocial снова взломали». ТехКранч . Проверено 24 июля 2010 г.
  19. ^ Хэзель, Матиас; Яконо, Луиджи Ло (31 мая 2010 г.). Декер, Барт Де; Шаумюллер-Бихль, Ингрид (ред.). Безопасность в службах социальных сетей, оснащенных OpenSocial . Конспекты лекций по информатике. Шпрингер Берлин Гейдельберг. стр. 40–52. дои : 10.1007/978-3-642-13241-4_5. ISBN 978-3-642-13240-7.
  20. Шонфельд, Эрик (6 декабря 2007 г.). «OpenSocial все еще не открыт для бизнеса»». ТехКранч . Проверено 24 июля 2010 г.
  21. ^ аб Марк Марум (1 января 2013 г.). «Примечания к выпуску спецификации OpenSocial 2.5.1». Гитхаб . Проверено 28 ноября 2015 г.
  22. ^ аб Марк Марум (1 января 2013 г.). «Примечания к выпуску спецификации OpenSocial 2.5.0». Гитхаб . Проверено 28 ноября 2015 г.
  23. ^ аб Марк Марум (1 января 2013 г.). «Примечания к выпуску спецификации OpenSocial 2.0.1». Гитхаб . Проверено 28 ноября 2015 г.
  24. ^ аб Марк Марум (1 января 2013 г.). «Примечания к выпуску спецификации OpenSocial 2.0.0». Гитхаб . Проверено 28 ноября 2015 г.
  25. ^ аб Марк Марум (1 января 2013 г.). «Примечания к выпуску спецификации OpenSocial 1.1.0». Гитхаб . Проверено 28 ноября 2015 г.
  26. ^ аб Марк Марум (1 января 2013 г.). «Примечания к выпуску спецификации OpenSocial 0.9.0». Гитхаб . Проверено 28 ноября 2015 г.
  27. ^ аб Марк Марум (1 января 2013 г.). «Примечания к выпуску спецификации OpenSocial 1.8.1». Гитхаб . Проверено 28 ноября 2015 г.
  28. ^ аб Марк Марум (1 января 2013 г.). «Примечания к выпуску спецификации OpenSocial 0.8.0». Гитхаб . Проверено 28 ноября 2015 г.
  29. ^ аб Марк Марум (1 января 2013 г.). «Примечания к выпуску спецификации OpenSocial 0.7.0». Гитхаб . Проверено 28 ноября 2015 г.
  30. ^ аб Марк Марум (1 января 2013 г.). «Примечания к выпуску спецификации OpenSocial 0.6.0». Гитхаб . Проверено 28 ноября 2015 г.
  31. ↑ ab Марк Хопкинс (9 ноября 2007 г.). «Предварительная версия контейнера OpenSocial». Машаемый . Проверено 28 ноября 2015 г.