2 移动学习应用系统架构
移动学习应用系统的开发分为浏览器/服务器(B/S)模式与客户端/服务器(C/S)模式。B/S 模式中,应用程序运行于服务器端,用户通过智能手机中的Web浏览器访问应用系统功能;而C/S 模式的应用分为服务端及客户端两部分,需要在手机中安装客户端,通过客户端访问服务端部署的应用系统功能。由于目前手机中的Web(或Wap)浏览器功能与桌面操作系统(例如Windows)的相比有较大差距,特别是界面还比较简陋,所以用户体验较差,这是目前B/S模式的手机应用系统的最大的缺陷。因此,我们选择了C/S模式的应用系统开发模式。由于目前存在多种主流智能手机操作系统,因此服务端应用必须考虑跨平台的问题。为此,我们采用了SOA 的架构,服务端采用.NET(或Java)技术以Web Service[3] 向客户端提供访问接口,数据以XML 或 JSON 格式传输,内容可以是HTTP(如图3)、SOAP(如图4) 或 Restful 数据,如下图所示:
图2 基于SOA的手机应用系统架构
采用Web Service 的优势对于C/S模式的移动应用系统来说是非常明显的,首先Web Service以HTTP 协议传输,各种智能手机平台都支持HTTP 协议,而且还利于穿透防火墙。另外服务端与客户端交换的数据为文本形式的XML,兼容各种客户端平台。XML 文本数据的格式可采用普通XML格式或SOAP(Simple Object Access Protocol)等,这主要考虑到各种智能手机平台均支持XML 数据甚至SOAP 数据的处理。
使用SOAP 数据格式的优势是可以使用第三方库(例如gSOAP/kSOAP[5])很方便地处理XML 数据,另外还可以通过WS-Security 规范对传输消息加密,保证数据安全。
|