近几年互联网的一个发展重点是社交网站。Facebook、linkedin、开心网等这些社交网站在短时间内便聚集了巨量的用户数量、社交网络数据、应用数量和应用数据。在这些网站上,应用从设计之初就考虑了社交网络的存在。结果是优秀的应用和数据通过社交网络的病毒式传播得到更快的共享。开发人员从中得到启发,重新思考如何使用社交数据来重新设计应用,更好的实现协作;如何重新组织应用内容和数据,更好的分享;如何使用社交网络实现产品的营销等。越来越多的组织在考虑使用社交应用的形式来提供服务和数据。
OpenSocial 标准通过观察社交网站的数据,抽取了基本的社交概念:Person、Relation、Activity、ActivityStreams[部分 OpenSocial 容器支持]、AppData、Gadget。OpenSocial 标准提供了统一的 API 来访问社交网站的数据:Person、Activity、ActivityStreams、AppData 数据。
- Person:表示社交网站中的用户数据,包括姓名、地址等 Profile 信息。OpenSocial 有两个特殊的用户:OWNER 和 VIEWER。VIEWER 表示当前登陆页面的用户。OWNER 表示创建页面的用户。
- Relation:表示社交网站中人际关系,例如朋友或者同事关系。OpenSocial 有两个特殊的关系用户组:OWNER FRIEND 和 VIEWER FRIEND。Relation 定义了 Person 之间的联系,是社交网站的基石。
- Activity:描述社交网站中活动或者事件,包括标题和内容。
- ActivityStreams:描述社交网站中的 activity stream,包括一系列 activity entry。Activity entry 描述了 Actor 指定的用户通过 Verb 指定的动作对 Object 指定的对象的行为。Activity entry 可以来自不同的类型。ActivityStreams 提供了一种社交数据聚合的机制。
- AppData:提供了社交网站中应用持久化数据的支持。不同的应用,不同的用户的 AppData 是隔离的。
- Gadget:描述社交网站中的应用。Gadget 通过 OpenSocial JavaScript API 和社交网站交互。
Catpic是.NET平台上的一个开源OpenSocial 容器规范实现,并提供托管OpenSocial小工具 -简单的HTML和JavaScript应用程序,可以嵌入在网页和其他应用程序的能力。小工具是使用OpenSocial小工具API和基本的网络技术,如XML,JavaScript的,Flash。Catpic的小工具服务器由以下几部分组成:
- OpenSocial Container: OpenSocial容器的公共规范,它定义一个组成部分托管环境(容器)和一组通用的应用编程接口(API)的社交网络的基于Web的应用程序的执行情况
- Gadget Container JavaScript: JavaScript核心基础一般的小工具功能。 这个JavaScript管理安全,通信,UI布局和功能扩展。默认情况下使用Apache的Shindig实施的。
- Gadget Rendering Server: 用来渲染的小工具XML转换成JavaScript和HTML的容器,通过容器的JavaScript暴露。 这部分是写在.NET和通用模块,可通过自定义的替换/扩展。
Catpic提供:
- OpenSocial容器:人,活动,活动流,信息
- 谷歌小工具规范的实施
- gadgets主机平台的能力,独立组件 - 小工具
- 充分NET实现在服务器端。
- 可扩展的自定义模块
- 简单地集成到现有的ASP.NET / ASP.NET MVC应用程序通过的NuGet包(开发中)
具体内容参照文章Socialize your ASP.NET application with OpenSocial 和网站 http://catpic.codeplex.com/。
相关文章:
OpenSocial 开发实践,第 1 部分: OpenSocial 初探
OpenSocial 开发实践,第 2 部分: Apache Shindig 概览
OpenSocial 开发实践,第 3 部分: Gadget 之间的通信以及如何使用 OAuth 协议