技术开发 频道

Eclipse环境下的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 容器。

0
相关文章