`
grantbb
  • 浏览: 271907 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

OpenSocial功能及优缺点介绍

    博客分类:
  • WEB
阅读更多

OpenSocial 是 一组用于创建在网络上运行的社交应用程序。OpenSocial 的 目标是:通过提供一个可在许多不同的环境中使用的通用API ,让 更多的应用程序可以被更多的用户访问。开发人员可以使用标准的javascripthtml 创建应用程序,这些应用程序可在已应用的OpenSocial 的社交网站上运行。

  1. OpenSocial 整 体上一般由下面的几个部分组成:
    • OpenSocial 容 器

    提交OpenSocial API 服务的网站称之为OpenSocial 窗 口,它暴露OpenSocial API ,这些API 包括jsrest 等风格的调用服务。

    • Gadget 容 器

    social app 一般是通过open social 中的gadget 规范提供的xml 文件完成编写的,xml 文件中可以定义展示的htmljavascript 执行代码,这些xml 文件由gadget 容器来完成解析,并转化为html 页面以呈现给用户。支持open social 的社交网站提供这个容器,开发人员将开发的OpenSocial app(xml) 提交给容器,由容器实现将OpenSocial 应 用提供给用户使用。

    • OpenSocial app

    指由第三方开发人员开发的社交应用,应用一 般由xml 文件组成。它们通过javascript 调用OpenSocial 提供的标准通用API 来和社交网站进行交互。由xml 文件组成的OpenSocial 应用如果要和第三方网站进行通讯一般也只能通过javascriptajax 调用来完成。它运行于社交网站提供的Gadget Container 中。

    另一种类型的OpenSocial 应用是通过rest 接口和社交网站进行通过,以完成和社交网站的交互。OpenSocial 应用运行于自己独立的服务器上,可以采用各种编程语 言。

    OpenSocial结构

  2. OpenSocial 开放的数据

    OpenSocial 提 供了标准通用的javascript apirest/rpc 等接口来支持小应用和容器的交互能力。通过这些标准的javascript apirest api ,小应用可以读取社交网站提供的下面各类数据:

    • People:

      People提 供对用户信息的访问接口,它包含了用户的基本信息或其他一扩展的信息。如People对 应的人的姓名、邮件、兴趣爱好及他所拥用的物品等信息。

    • 关系

      关系数据提供了一个人和其他人的关系的数据接口。关系接口并不局限于查看自己的 好友关系,也可以查看其他人的一些好友关系。

    • 动态

      提供查找一个人的活动记录。这些活动可以包含容器自身的交互,这些活动可以包含 容器自身的交互(例如,更新您的个人资料或安装新的小工具),也可以包含与 OpenSocial 应用程序的交互(例如,为您的好友发送虚拟礼物或在游戏中创造新的高分)。

    • 持久化存储

      一些第三方开发的小应用需要将用户和应用交互的信息保存下来,以便下次使用来提 高用户体验。OpenSocial 容器提供数据保存及查询能力, 以增强应用的定制能力。

  3. OpenSocial 的 优点

    <!-- @page { margin: 2cm } P { margin-bottom: 0.21cm } -->
    • OpenSocial 是 开放的,并由几大互联巨头支持,因此在技术及开发支持上都有着强大的后盾。对于开发人员来说将会有更多的文档及相关的技术人员支撑降低开发上的成本和难 度。

    • 由于对社交网络数据并互接口的标准化,使第三方开发的小应用在开发后,经过少量 的改动,甚至于不用任何变动即可部署到不同的社交网站中。

    • 小应用是由htmljavascript 编写而成,因此会使应用的hosting 会非常的容易方便,只要将编写的xml 上传到一个互联网能访问的一个url 上即可,且对服务器没啥特别的要求。

    • 对于社交网站,支持OpenSocial 标准,使网站支持第三方的小应用更为简单。通过提供的 容器,可以很方便的将支持OpenSocial 标准的小应用引入 到自己的网站中,而且这样的小应用资源也将会越来越丰富。

    • 可以通过简单的htmljavascript 来实现逻辑较为简单的小应用。也可以通过REST 接口来实现运行于自己服务器的较为复杂的小应用。

    • 由于容器提供了用户身份的认证方法及相关的开发API ,使开发者更容易开发基于OpenSocial 的应用,也使社交网站更容易开放自身的API

  4. OpenSocial 的 缺点:

    • 安全性不知道算不算一个缺点了,由于关于opensocial 的安全性资料也比较少,很难作出一个断定。但由于调用 接口是javascript ,从目前撑握的情况来看。实现安全性 主要是靠签名的方式,实现单一,难以找到更的好方法。

    • 虽然社交网站都号称支持OpenSocial ,但出于各种考虑,大多数都只支持了其中的部分功能及 数据,这方面包括数据的开改性,功能的实现等。

    • OpenSocial 的 标准成熟度应该来说还是不够的,版本的升级一般会伴随着较多的接口变动,使支持OpenSocial 在 支持新标准时往往需要做更多的事情,这也导致了各网站对标准的支持往往不一样,使小应用为了适应在各网站上运行而需要做更多的事情。

    • 对于想支持OpenSocial 的社交网站来说,目前成熟的OpenSocail 容器也没有,开源的shindig 还处于开发版中,在稳定性及性能上都有待验证。同时它的相关 文档基本上没有,如果使用则要靠阅读代码的方式,使开发的难度增加。同时如果完全由自己来编写容器,我想花的成本会更大。

  5. 一个想支持OpenSocial 的网站应该需要做些什么?

    • 需要充分理解和熟悉OpenSocial 规范及它的更深层含义。

    • 确定数据的开放性。标准里规定的哪些数据对象及每个数据对象里的哪些属性可以提 供给开发者。

    • 编写OpenSocial 容 器,或者使用现成的OpenSocial 容器,目前我只发现一个 还不太成熟的Shindig

    • 实现OpenSocial 容 器里的SPI ,集成网站和OpenSocial 容器,以便提供OpenSocial 服务。

    • 考虑第三方应用如何和网站进行集成。

分享到:
评论

相关推荐

    opensocial-python-client

    opensocial-python-client

    opensocial container实现分析

    通过OpenSocial API,开发者能够方便地获取和更新这些数据,从而实现丰富的社交互动功能。 总结来说,OpenSocial提供了一种标准化的方法来构建跨社交网络的应用,降低了开发成本,增强了应用的可移植性。虽然各个...

    OpenSocial资料

    - **功能介绍**:Shindig不仅支持OpenSocial API,还兼容Google Gadgets标准,为开发者提供了一个全面的开发框架。 - **社区贡献**:Shindig作为一个开源项目,鼓励社区成员积极参与代码贡献和问题解决。 ### 结论 ...

    OpenSocial 希望对你们有好处

    1. **API介绍**:OpenSocial API 提供了一组JavaScript和RESTful HTTP接口,允许开发者访问用户数据、朋友列表、活动流等社交信息。它还包括了 Gadgets(小部件)API,用于在社交网络上嵌入互动式组件。 2. **...

    OpenSocial规范

    容器是实施OpenSocial规范的社交网络平台,它们提供API给应用开发者,使得应用能够与平台的用户数据、社交图谱和其他功能交互。应用则是在容器中运行的小型软件模块,可以是游戏、工具或者任何可以增强社交体验的...

    Opensocial Sample

    开发者可以通过XML定义gadget的界面和JavaScript逻辑,实现丰富的交互功能。 3. **RESTful服务**:OpenSocial使用REST(Representational State Transfer)架构,允许开发者通过HTTP请求获取和修改数据。这种设计...

    Opensocial简介.pdf

    Opensocial简介.pdf

    opensocial-java-client-1.0.zip

    在实际应用中,开发者可以利用OpenSocial Java客户端库创建各种社交功能,如好友推荐系统、活动日历、照片分享等。同时,它也可以与服务器端框架集成,如Spring或Struts,实现更复杂的业务逻辑。 总之,"opensocial...

    Wrox.OpenSocial.Network.Programming.Apr.2009.pdf

    在这一章节中,作者详细介绍了OpenSocial平台的背景、目标和核心功能。OpenSocial是一个开源的社交网络应用程序框架,它允许开发者创建跨多个社交网络平台运行的应用程序。这一章节可能涵盖了OpenSocial的历史、其对...

    OAuth in OpenSocial 序篇

    OAuth在OpenSocial中的应用是社交网络和开放API领域的一个重要话题。OAuth是一种授权协议,它允许第三方应用在用户授权的情况下,安全地访问其在其他服务上的数据,而无需获取用户的登录凭证。OpenSocial则是一个...

    opensocial java版shindig引用的jar包1

    OpenSocial 是一个开源标准,旨在帮助开发者创建可以在任何社交网络平台上运行的应用程序。Java 版 Shindig 是 OpenSocial 的实现之一,它提供了一个服务器端的框架,使得开发者可以使用 Java 语言开发这些社交应用...

    Backbone.OpenSocial:用于骨干数据持久性的OpenSocial适配器

    骨干开放社交AppDataStore AppDataStore是用于Backbone数据持久性的OpenSocial适配器。 它代替了Backbone.Sync()来处理保存到OpenSocial容器的AppData存储中。用法包含Backbone.js之后,包含Backbone.OpenSocial....

    aipo-opensocial:用于在 Aipo 中运行 Aipo 应用程序的 OpenSocial 容器

    这个项目不仅支持基本的OpenSocial规范,还可能包含了对Aipo特定功能的集成,从而增强用户交互和社区建设。 OpenSocial是由Google发起的一项开放标准,旨在统一社交网络应用的开发接口,让开发者可以编写一次应用,...

    OpenSocial.rar_钩子与API截获_Windows_Unix_

    5. **插件系统**:开发者可以利用这些技术创建插件系统,使得第三方开发者可以扩展OpenSocial应用的功能,而无需修改核心代码。 至于提供的"OpenSocial.doc"文件,它可能是OpenSocial API的详细文档,涵盖了如何...

    gadget-react:一个用react编写的opensocial小工具(使用create-react-app)

    在React中编写的OpenSocial小工具介绍这是创建用于在opensocial容器中托管的opensocial小工具的示例项目。 该项目是通过引导的。 有关如何执行常见任务的信息,请参见最新版本的create-react-app指南。脚步首先安装...

    opensocial-gadget-with-angularjs-sample

    opensocial-gadget-angularjs-sample 这是一个与angular.js一起使用的opensocial小工具示例,适用于infoScoop OpenSource V4.0。 如何使这项工作 从下载infoscoop-4.0.0.0-quickstart并安装它。 转到管理员页面&gt;小...

Global site tag (gtag.js) - Google Analytics