首页 > 范文大全 > 正文

浅析使用Opensocial开发SNS应用

开篇:润墨网以专业的文秘视角,为您筛选了一篇浅析使用Opensocial开发SNS应用范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要:由Facebook引发的SNS(Social Network Service,社会化网络服务)风靡全球,让我们看到了在新一轮互联网革命中人的力量。“草根文化”、“病毒式传播”让我们越来越多地感受到,人、社会、网络的结合所产生的巨大价值和无限可能。如何将人的力量最大化,让更多的人参与价值的积聚过程,开放平台无疑是最好的方式。该文阐述了什么是SNS开放平台、SNS产业链中的各个角色以及OpenSocial产生的背景与现状。

关键词: SNS; Opensocial; 社交网络;开放平台; Facebook; 第三方应用; 容器; Shindig

中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2012)28-6676-03

1 概述

数字革命总是会引领着新的技术出现,并展现出新的时代特征,这个周期大约是十年。从上世纪70年代的大型计算机,80年代的个人计算机,90年代的互联网,到如今的社交网络,我们正在经历着第四次数字革命时代。

社交网络吸引了全球超过7.5亿的网名,知名的社交网络有国外的Facebook、Twitter、LinkedIn,国内的人人网、开心网等成百上千的网站。互联网很以很快的速度在人们不知不觉中从过去的以“内容为中心”向“以人为中心”过渡了,这些社交网站符合人们与生俱来的诉求:人们希望参与,发表自己的意见,更快更直接。

本文首先社交网络平台的特点和形式,然后介绍Opensocial技术,简述开发SNS网站的一般方法过程。

2 SNS开放平台

SNS(Social Network Service)意指社会化网络服务,即具有社会化特性的网络服务,它囊括了人与人之间的社会关系架构和交流过程,以及一系列人与人之间的活动场景(如交互游戏、特定的分享方式和途径等)。

我们熟知的Facebook、人人网、开心网等,都提供了人与人之间的社会关系架构,这种架构基于“六度分隔理论”(Six Degrees of Separation)的核心假设──“朋友的朋友是朋友”,以此构建交流和分享的关系链和关系网。这些SNS平台提供多种让用户交互的方式,如聊天、发送消息、影音、文件分享、博客、讨论群组等,并且有丰富的应用,构建活动场景,供用户在不同的场景中进行交互(见图1)。

在SNS平台中,提供丰富的应用,这些应用往往专注于提供某种活动场景,如“开心农场”应用提供一个菜园种植的活动场景,“转帖”应用提供将感兴趣的内容分享给朋友的场景。这些让人与人之间通过特定的场景进行交互的应用,我们称之为社会化应用(Social Application)。

社会化应用运行的环境,我们称之为容器(Container),一个SNS平台,必定要包含运行社会化应用的容器,提供应用的展示空间,并提供一些接口实现应用与容器、应用与用户信息之间的交互。SNS平台的应用容器是否允许第三方应用加入,是我们界定这个平台是否是SNS开放平台的基本标准。

3 SNS产业链中的角色

随着SNS的流行,越来越多的人成为了SNS产业链中的一员。你和你周围的人,大部分都至少在SNS产业链中扮演了用户的角色

在众多的SNS用户中,有一部分特别活跃的用户,他们每天有大部分的时间在使用SNS,他们活跃地转帖,让他的好友可以看到他分享的丰富内容;他们频繁地发送消息和赠送虚拟礼物给好友,拉动了用户的交互活动;他们尝试各种新鲜的SNS应用,并将应用推荐给自己的好友。

从CNNIC公布的数据可以看到,SNS平台的营收上,约80%的收入来自网络广告,广告商是这个产业链中的供血机。

平台运营商,也就是我们常见的SNS平台服务商,他们维护用户数据和人与人之间的关系,整合各种资源,为用户提供社会化网络服务。

SNS平台的收费服务,离不开在线支付服务提供商的支持。本地的、便捷的在线支付服务,是实现SNS平台收费服务的基础。图2给出了SNS产业链中的各个角色的示意图。

4 什么是opensocial

4.1 OpenSocial产生的背景和目的

SNS平台开放API,允许第三方应用加入,改变了社会化应用的形态,图3反映了这种变化。在这之前,社会化应用往往以社会化网站的形式存在,如我们熟悉的twitter、大众点评网等等,他们在提供一套交互场景的同时,还需要管理用户信息。由于各个社会化网站功能单一,用户往往会对很多不同类型的社会化网站感兴趣,但他们不得不在每个社会化网站进行用户注册。繁杂的注册过程,也导致了社会化网站发展缓慢。而事实上,社会化应用的交互场景和用户管理是两个可以分离的部分。让SNS平台来管理用户以及用户关系,应用开发者则可以把更多的精力投入在应用特性和交互场景的开发上。对用户来说,只需在sns平台中“安装”自己感兴趣的应用,就可以享受不同的交互场景。

2007年11月,Google了OpenSocial项目。OpenSocial并不是一个SNS平台,而是一套标准,是对SNS平台的开放API接口的抽象,提供诸如用户资料、朋友信息、新鲜事等的一组相同的API。所有支持OpenSocial技术标准的SNS平台,都能提供统一的社会化数据服务。应用开发者只需使用OpenSocial API进行一次开发,就可以将应用在所有支持OpenSocial的SNS平台中,如图4。

4.2 OpenSocial与SNS平台和应用之间的关系

OpenSocial定义了一系列协议、标准和接口,用于将应用、容器和其他客户端融合在一起。OpenSocial是基于Web的,如果你是一个Web开发者,那么,你可以开发一个Social应用,将它放入一个SNS平台。你的应用可以使用OpenSocial的接口,访问社会化网络服务平台提供的用户信息。应用集成在SNS平台的页面中展示,使用OpenSocial的Javascript接口平台交互。使用OpenSocial接口开发出来的应用,将不局限于某一个SNS平台,只要是支持OpenSocial的容器,都可以加入和运行这个应用,我们将这样的应用称为OpenSocial应用。

一个SNS平台,如果可以集成OpenSocial应用,我们就称其为OpenSocial容器。作为一个OpenSocial容器,需要实现OpenSocial标准中描述的接口。开源项目Apache Shindig可以帮助SNS平台快速地实现OpenSocial接口。Shindig目前在Apache基金会的孵化器项目下, Shindig实现了渲染Gadgets、请求、响应REST和RPC请求的代码。将Shindig集成在SNS平台中,实现OpenSocial的服务接口(Service Provider Interface,SPI),就可以让OpenSocial应用连接SNS平台中的数据。这些接口包括:获取用户信息、存储和读取用户活动(新鲜事)、存储和读取数据、发送消息等。

SNS平台也可以将信息提供给经授权的其他网站或应用使用。这将使用户可以通过某些桌面应用程序、手机应用访问自己在SNS平台中信息。对用户来说,这将给他们提供更便捷的访问途径、更友好和更面向数据本身的服务,而不受制于平台。OpenSocial的REST和RPC协议,可用于实现从SNS平台向应用程序传输用户数据、朋友列表、新鲜事。应用程序可以是各种桌面应用程序,或是其他网站、手机应用程序,OpenSocial提供了PHP、Java、.NET、Ruby、Python客户端类库,可供基于这些平台开发的应用使用。使用Java客户端类库,可以实现通过Android手机访问SNS数据。另外,使用Objective-C客户端类库,可以开发基于iPhone的Social应用。OpenSocial使用OAuth实现Social信息的授权访问。

4.3 OpenSocial与开发者

Social应用的开发者,可以使用OpenSocial的Javascript接口编写基于HTML和Ajax的Social应用,还可以使用Flash/Flex技术,开发用户界面更友好的富Internet应用。

使用OpenSocial的客户端类库,可以开发桌面应用和移动应用与SNS平台交互。目前提供的客户端类库有:

1)OpenSocial PHP客户端类库;

2)OpenSocial Java客户端类库(包含Android手机支持和例子);

3)OpenSocial .NET客户端类库;

4)OpenSocial Ruby客户端类库;

5)OpenSocial Python客户端类库;

6)OpenSocial Objective-C客户端类库(包含iPhone手机支持和例子);

7)OpenSocial ActionScript Library (ActionScript Library that calls JavaScript OpenSocial API)。

5 结论

SNS开放平台,是由用户的社会关系架构、交互工具和提供活动场景的第三方应用组成,SNS平台的繁荣离不开丰富的第三方应用。在SNS平台被用户充分了解和广泛认同下,SNS平台也逐渐趋于同质化,让一个应用可以在多个SNS平台成为了应用开发者的诉求。OpenSocial的出现解决了这个问题,它是平台与应用之间的桥梁,提供SNS平台的基本接口。开发者可以使用OpenSocial开发社会化应用,在SNS平台中,也可以开发桌面或手机应用程序,获取SNS平台中的用户信息。

参考文献:

[1] 贝尔.SNS网站构建[M].北京:机械工业出版社,2011.

[2] 刘鹏.云计算[M].2版.北京电子工业出版社,2011.

[3] .社交网络(SNS)技术基础与开发案例[M].北京:人民邮电出版社,2012

[4] (美)史宗玮, 张小伟(译).社交网络时代:SNS引发商务与社会变革[M].2版.北京:人民邮电出版社,2011.

[5] 李翔昊.SNS浪潮:拥抱社会化网络的新变革[M].北京:人民邮电出版社,2011.

[6] 郭应寿.Opensocial简介[J].程序员,2008(7).

[7] 马荣霞. SNS网站发展现状及盈利趋势研究[J].苏州大学,2012(6).

[8] 金璐.我国SNS网站的发展现状、问题及完善策略研究[J].郑州大学,2012(4).