技术开发 频道

Eclipse环境下的OpenSocial开发

,  【IT168 文档

  前言:随着社交网络的不断发展,用户关系信息已经成为一类重要的网络数据。为了能使开发者在社交网络平台上开发出富体验的应用,充分挖掘和共享平台的用户关系数据,从而极大丰富 SNS 自身的功能,开放平台(OpenAPI)已经成为各主流社交网站的共同趋势。OpenSocial 为构建跨多个网站的社交应用程序提供了一组通用 API。开发人员可以自由使用包括 JavaScript、HTML 在内的标准的 Web 技术创建应用程序,用以访问社交网络的用户关系信息。Shindig 是 OpenSocial 规范的引用实现,旨在帮助 OpenSocial 开发人员快速构建自己的 OpenSocial 应用平台。本文通过实际的例子,指导读者如何在 Eclipse 环境下构建 / 编译 / 调试 Apache 的 Shindig Java 工程,及其如何通过 SPI 实现,把现有的用户关系数据适配到 Shindig 容器。

  什么是 OpenSocial

  OpenSocial 是基于开放标准的一组通用的 API,用于帮助 WEB 的开发者构建跨多个社交网站的可移植的社交应用程序。OpenSocial 提供开发者一套通用的 API,基于该通用 API 开发的社交应用程序可以运行在任意支持 OpenSocial 规范的社交网站上。

  关于更多的有关 OpenSocial 内容,请读者参见 www.opensocial.org.

  Apache Shindig

  Shindig 是 OpenSocial 规范的引用实现,其主要的组件包括 :

  Gadget Container JavaScript,OpenSocial Gadget 容器,客户端的 JavaScript 类库 (gadget.js),提供例如 UI Layout,Security, Communication 等相关的功能。

  Gadget Rendering Server,负责解析 Gadget XML, 转化成浏览器使用的 HTML/JavaScript/CSS。

  OpenSocial Container JavaScript,位于客户端的 OpenSocial 容器,也是 JavaScript 类库,提供 OpenSocial 相关的功能,例如存取 People, Activity, AppData 等相关的社交数据。

  OpenSocial Data Server,提供基于 Restful/RPC 协议的 Services,用于存取 People, Activity, AppData 等相关的社交数据

  图 1 是 Shindig 的服务器端架构图:

  图 1. Shindig Architecture( 引自 Chris Schalk@GoogleTM)  

OpenSocial定义及Apache Shindig

  从图 1 中可以看到,Shindig 基于 Java Servlet Stack 实现。GadgetRenderingServlet 负责 Gadget Rendering, 而 DataServiceServlet 和 JsonRpcServlet 实现 OpenSocial Data Server 中相对应的 Restful 及其 RPC 服务。JsonDbOpensocialService 通过实现 ActivityService, PersonService, AppDataService 三个接口向 Shindig OpenSocial 容器提供基于 Json 格式的 OpenSocial 数据。客户端的 Gadgets 可以使用标准的 OpenSocial API 访问到这些数据。

  关于更多的有关 Apache Shindig 内容,请读者参见 http://incubator.apache.org/shindig.

0
相关文章