基于RIA和云存储的Web2.0 OS设计与实现

2012-08-15 02:02季志远
网络安全与数据管理 2012年6期
关键词:联合开发服务器端网页

季志远

(华北电力大学 计算机学院,河北 保定071000)

Web2.0 OS(Web2.0-based Operating System)是一种新型的用户定制的Web应用软件,结合Web2.0技术,通过浏览器为用户提供模拟桌面操作系统的平台,综合桌面系统的强交互性和Web应用的灵活性,为用户带来全新的使用体验。现有的Web OS多采用JavaScript技术开发,对于不同浏览器需要不同的操作方式,因此兼容性差,运行效率低。

基于RIA的Flash/Flex联合开发很好地解决了Java-Script在构建Web OS中存在的问题。Flash和Flex是明确定位于富互联网应用开发的技术,拥有丰富的语言机制,完善的开发环境和强大的通信能力,并且由于基于RIA技术,可以实现真正的跨平台,是实现Web OS的最佳方案。

1 系统分析与设计

1.1 Flash和Flex联合开发技术简介

Flash和Flex是Adobe公司推出的开发富互联网应用程序的工具,包括MXML声明式语言和ActionScript面向对象语言,程序最后都可编译为SWF文件,在安装了Flash Player插件的浏览器中都可以运行,因此大大降低了对客户端的配置要求,提高了运行效率。

Flash侧重于动画设计,可以为用户提供丰富的视觉体验,能够实现用户定制等功能,因此作为本OS的界面开发工具。而Flex侧重于功能设计,拥有可复用的功能组件,可以实现在线存储、文档编辑等Flash难以实现的功能,因此作为本OS的功能开发工具。在Flash和Flex联合开发中,两种软件工具相互配合,分开设计,然后将Flex中实现的功能模块移植到Flash中,再统一编译,最后实现界面与功能的统一[1]。

1.2 系统结构设计

系统结构采用Web应用中经典的三层结构:表现层、业务逻辑层和数据存储层,如图1所示。其中,表现层提供人机交互界面,使用Flash和Flex联合开发实现;业务逻辑层负责处理表现层发送过来的请求;数据存储层包括文件系统和数据库系统,提供系统数据的管理和存储。

1.3 系统服务器端设计

系统服务器端的主要功能包括接受用户请求、业务逻辑处理和存储支持。选择PHP语言进行服务器端开发,Web服务器使用Apache,使用 MySQL存储用户注册和使用信息。结合ActionScript和JavaScript中通信机制,进行数据通信,实现业务逻辑处理功能[2]。

服务器端存储设备使用云存储设计思想,提供云存储服务。大量的高容量存储设备通过集群NAS构架连接成云状网络结构,提供高速上传和下载的外部接口,为高速运行Web OS提供了硬件支持,如图2所示。

1.4 数据通信机制设计

本系统包括OS与网页数据通信机制和网页与云存储端通信机制这两个关键技术。通信过程分为以下两种情况:

(1)当系统软件(SWF文件)进行查询、添加、删除数据库操作时,由 SWF向 PHP页面发送 sendAndLoad()请求,等待PHP进行数据库处理并返回数理结果给SWF文件。如图3所示。

(2)当系统软件(SWF文件)进行显示数据库内容操作时,由 SWF向 PHP发送Load()请求,PHP将数据库内容解析成XML格式后由SWF文件进行加载和显示,完成整个通信过程。如图4所示。

2 系统功能实现

2.1 功能自由定制机制

Web2.0相比于Web1.0的优势是强大的用户交互性。基于Web2.0的OS中用户既是系统的使用者,又是系统的创造者。为了实现用户交互,本OS中预留了丰富的定制空间,用户可以根据个人爱好添加或删除功能,数据信息会在用户关闭 OS时,由ActionScript中 send()命令操控PHP网页对数据库进行数据增删和保存,并把保存是否成功的信息返回给OS,完成整个功能自由定制过程。如图5所示。

2.2 文件存储、显示和下载机制

文件存储、显示和下载机制的前提是服务器端已安装好pdf2swf软件和wmv2swf软件。文件存储和下载的过程如图6所示。

(1)文件上传和显示:用户点击上传按钮触发上传事件,ActionScript中 ExternalInterface()命令操控 PHP网页中的JavaScript打开本机文件浏览器,并将文件上传给数据库,完毕后PHP操控服务器端,将上传内容利用pdf2swf(或 wmv2swf)软件中“-o+‘目的文件夹’”命令把源文件转换为SWF格式,以便于在OS中显示。最后PHP网页返回上传是否成功的信息给SWF,并在OS中调用文件进行显示,由此实现在线看书、影音功能。

(2)文件下载:用户点击下载按钮触发下载时间,Ac tionScript中打开已上传的源文件下载地址即可进行下载。

2.3 天气、新闻信息更新机制

本系统通过调用新浪提供的天气、新闻数据接口获取天气和新闻等实时信息,通过ActionScript中onLoad()命令加载接口网页,并转换成XML格式文件以便OS进行信息调用。如图7所示。

本网页操作系统混合使用了Flash/Flex联合开发、XML、PHP、MySQL等技术,结合 Web2.0和云存储的设计思想,前端设计和模块功能分开进行处理,充分利用了上述技术在客户端、服务器端的开发优势,解决了JavaScript构架造成的运行问题。作为一款基于RIA的Web2.0 OS系统,具备了影音娱乐、实时信息更新、文件存储下载以及人性化的功能定制等功能,既有良好的用户体验,又有良好的可定制性和兼容性,可以作为用户的网上娱乐、网上存储和网上办公平台,并可以此作为基础平台开发相应的SWF格式软件,通过应用软件扩展系统功能,增强了系统的扩展性。

[1]梁文新.Flex+PHP RIA应用开发实战详解[M].北京:清华大学出版社,2010.

[2]张仿彦.PHP项目开发全程实录[M].北京:清华大学出版社,2008.

猜你喜欢
联合开发服务器端网页
基于HTML5与CSS3的网页设计技术研究
Linux环境下基于Socket的数据传输软件设计
超1.2亿!益鑫泰用了15年证明,产品联合开发和技术创新才是企业壮大的王牌
水平井、直井联合开发压力场及流线分布研究
基于CSS的网页导航栏的设计
基于HTML5静态网页设计
基于URL和网页类型的网页信息采集研究
中国恩菲与紫金矿业联合开发设计的国内首个难选冶黄金加压预氧化项目投产
基于Qt的安全即时通讯软件服务器端设计
基于Qt的网络聊天软件服务器端设计