Eclipse 环境下的 OpenSocial 开发:通过 Shindig SPI 扩展创建自己的 OpenSocial 容器
2010-05-31 00:00:00 来源:WEB开发网如清单 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
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 容器。
Tags:Eclipse 环境 OpenSocial
编辑录入:爽爽 [复制链接] [打 印]- ››Eclipse+SVN+Google Code配置过程
- ››eclipse中开发android程序时,打开layout配置文件自...
- ››Eclipse快捷键大全
- ››Eclipse Helios 之旅:看看 Eclipse 的最新同步发...
- ››Eclipse和MyEclipse的关系
- ››Eclipse 环境下的 OpenSocial 开发:通过 Shindig...
- ››Eclipse 向导机制扩展 -- 实现可定制的向导
- ››Eclipse 中的 EJB V3.0 数据库持久化
- ››Eclipse 常用快捷键
- ››Eclipse 插件开发 -- 深入理解菜单(Menu)功能...
- ››Eclipse 插件开发-如何扩展 WTP Wizard
- ››Eclipse Android 开发环境 搭建
更多精彩
赞助商链接