WEB开发网
开发学院软件开发Java Eclipse 环境下的 OpenSocial 开发:通过 Shindig... 阅读

Eclipse 环境下的 OpenSocial 开发:通过 Shindig SPI 扩展创建自己的 OpenSocial 容器

 2010-05-31 00:00:00 来源:WEB开发网   
核心提示: 如清单 3 所示,fetchPeople 使用了 osapi 获得 OpenSocial 数据,Eclipse 环境下的 OpenSocial 开发:通过 Shindig SPI 扩展创建自己的 OpenSocial 容器(7),并把它们展示在 HTML 页面上,osapi 是一个轻量级的 Ja

如清单 3 所示,fetchPeople 使用了 osapi 获得 OpenSocial 数据,并把它们展示在 HTML 页面上。osapi 是一个轻量级的 JavaScript 类库,用于帮助客户端获得 OpenSocial 数据。显示该 Gadget 的 HTML 页面代码 (socialtest.html),请读者详见文章后面的资源类表,在这里我们就不一一列出。

现在,我们可以在 Eclipse IDE 中启动 Shindig, 在你的浏览器里输入地址:

http://localhost:8080/gadgets/files/samplecontainer/socialtest.html,打开 SocialAppTest Gadget,点击”Fetch people and friends”按钮,SocialAppTest Gadget 向本地 Shindig 请求数据,Shindig 从 socialtestdb.json JSON 文件中获取数据,返回给 Gadget, 并在浏览器中显示,如图 4 所示:

图 4. SocialAppTest Gadget
Eclipse 环境下的 OpenSocial 开发:通过 Shindig SPI 扩展创建自己的 OpenSocial 容器

RESTful 客户端实现

另外,我们还可以选择使用 Java 应用程序,通过 REST 协议获得 OpenSocial 数据,如清单 4 所示。

清单 4. RESTful Client 实现

 public class SocialAppTest { 
  private static final String BASE_URI = "http://localhost:8080/social/rest/"; 
   
  private static final String VIEWER_ID = "john.doe"; 
 
  public static void main(String[] args) { 
    OpenSocialClient client = new OpenSocialClient("SocialAppTest"); 
    client.setProperty(OpenSocialClient.Property.REST_BASE_URI, BASE_URI); 
    client.setProperty(OpenSocialClient.Property.VIEWER_ID, VIEWER_ID); 
    try { 
      OpenSocialPerson viewer = client.fetchPerson(VIEWER_ID); 
      System.out.println("Viewer: " + viewer.getId()); 
      Collection<OpenSocialPerson> friends = client.fetchFriends(viewer.getId()); 
      for (OpenSocialPerson friend : friends) { 
        System.out.println("Friend: " + friend.getId()); 
      } 
    } catch (Exception e) { 
      e.printStackTrace(); 
    } 
  } 
 } 

清单 4 的运行结果和 SocialAppTest Gadget 一样,显示当前的 Viewer 及其他的朋友。

结束语

通过本文,读者已经了解了如何使用 Shindig SPI 来将自己的 Social 数据适配到 Shindig 平台,也了解了如何构建客户端的应用来消费这些 Social 数据。

现在,我们不妨回头总结一下整个 OpenSocial 平台的系统结构。一般来说,OpenSocial 系统应用使用 OpenSocial   Gadget 作为应用前端,OpenSocial Gadget 类似于 iGoogle Gadget,不过增加了 OpenSocial 数据的访问能力。当然,你也可以使用基于 REST/RPC 协议构建的桌面 RCP 应用作为前端。而对于 OpenSocial 平台服务器端,也有两个选择,一则如本文所讨论的这样,利用成熟开源的,与 OpenSocial 规范相兼容的 OpenSocial 容器实现 ( 例如 Shindig),通过 SPI 扩展实现自己的 OpenSocial 容器,或者你从头开始实现 OpenSocial 规范相兼容的 OpenSocial 容器。

上一页  2 3 4 5 6 7 

Tags:Eclipse 环境 OpenSocial

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接