订阅本站

Facebook中Fbml和IFrame的工作原理

中國壹石頭 发表于 2010-5-19 分类 我的新闻 | 发表评论

在Canvas Page中,用户创建的应用需要使用facebook支持的标签来展示应用的相关内容。Facebook目前支持的两种标记语言为FBML和IFrame。其中FBML为facebook平台提供的一种专门用于开发facebook canvas page的标记语言,由facebook官方开发。Iframe是标准Html中支持的标记语言格式。在canvas page中使用iframe和在一般html页面中使用iframe用法相同。本文主要讲述一下fbml和iframe的工作原理。

IFrame工作原理
Iframe是一种灵活的标记语言,当用户通过canvas page访问(http://apps.facebook.com/yourapp)iframe的时候,facebook会向该页面返回一系列的参数。这些参数中包含了用户的授权信息,当iframe获取到这些参数后,就可以正常访问facebook上的用户数据了。

fd62d3c2-5623-37ae-b042-4927657511eb

上图为iframe在facebook上的工作原理图。当用户访问你的应用时,facebook会验证该应用是否得到当前登录用户的授权,若该应用已经得到用户的授权,facebook向canvas callback url返回session key,应用接收到facebook的session key后就可以于facebook进行交互了。
在使用iframe时,facebook只充当一个权限验证的角色,当用户访问相关的iframe页面是,实际上是与部署了应用的服务器进行交互的,如果交互的内容需要用到facebook的信息时,应用服务器会调用facebook的相关接口来获取相关的数据内容。也就是说在canvas page中使用iframe时,用户的所有交互都是直接与应用服务器进行交互的,而不是直接与facebook进行交互,而与facebook的交互则是由应用服务器来完成的。

FBML工作原理

使用facebook开发canvas页面,和使用html开发一个属于自己的系统一样方便。开发者只需要在自己的页面中嵌入fbml就可以直接访问facebook上的相关信息。下面是FBML的工作原理图。

90e14cdf-2f4f-3c62-a58f-2cb3d1733b7c

从图中可以了解,当用户登陆后,只要用户授权了改应用,应用服务器就只和facebook进行交互,由facebook统一将返回的结果传递给用户浏览器。这里的facebook就相当一个容器,将应用服务器进行封装,用户使用该应用时的所有请求都是通过facebook来完成的。而不需要用户与应用服务器进行交互。

总结:
上面简单的介绍了facebook的canvas的两种不同的标记语言的工作原理。最后总结一下他们各自的优缺点:
iframe的优点:

可以使用普通html标记,编辑iframe和编辑一般的html页面类似
可以使用localhost进行调试,这点不同于FBML,FBML的调试必须要通过一个拥有独立IP的服务器,并且这台服务器可以正常的访问facebook。
在可以使用css,JavaScript。

FBML的优点:
可以提供比较人性化的url访问路径。
验证机制比较简单,只需要一个简单的标签即可。
方便快速的访问facebook上的多种标签。
加载速度比iframe要快。

Iframe和FBMl比较
Iframe的使用和普通的html frame用法相同,因此可以使开发者快速创建自己的应用,开发者可以使用localhost进行调试,而不需要专门部署自己的服务器。但访问速度不如FBML。如果需要访问facebook中的相关数据,还需要用到相关js库的支持。FBML的使用学习起来会有些难度,但是如果熟悉struts或者jsp的自定义标签的用法,FBML用起来也很方便。
FBML是facebook自身提供的标签库,当用户访问FBML的页面时,和访问一般的facebook相同,而不需要应用服务器做中转,因此访问速度会比较慢,FBML唯一的缺点就是测试时需要使用拥有独立IP的服务器。

超市项目数据库关系模型

中國壹石頭 发表于 2010-5-16 分类 我的新闻 | 发表评论

一、超市项目数据概念模型与数据表之间各属性对应关系图

用户帐号

713-412665a860c536fe[8]c1fc82bfe66272db6205e5234635d6fe[7]

员工信息表

713-412665a8617e4b18713-412665a83b95ceb2

员工服饰信息表

713-412665a861d0369d713-412665a83ed21c11

超市内场景

713-412665a862adb364713-412665a844d2de3f

超市内场景物品

713-412665a862d6a926713-412665a844901e57

超市外场景

713-412665a862f37c05713-412665a84c1845c9

超市外场景物品

713-412665a86314dbf8713-412665a84c57fcf7

超市信息表

713-412665a86337c049713-412665a850b9141a

邮件

713-412665a8635f31af713-412665a853f258bf

背包

713-412665a8638cb487713-412665a85792c5f9

 

二、数据库各表间数据查询关系图

1

超市重构各版本号

中國壹石頭 发表于 2010-5-11 分类 我的新闻 | 发表评论

第一次重构完成后,服务器项目所在svn的版本号为:3105

路径:svn://192.168.1.200/chengxu/newserver/web/SuperMarket_M1_R1