BlogJava 联系 聚合 管理  

Blog Stats

文章档案


hanbing

1  引言

    移动学习是指利用无线移动通信网络技术以及无线移动通信设备(如移动电话、个人数字助理PDA、Pocket PC等)获取教育信息、教育资源和教育服务的一种新型学习形式[1]。利用移动互联技术尤其是3G技术的发展应用,可以实现瞬间上网和永远在线,使信息获取更加便捷,信息处理更加实时、高效。目前可以实施的移动学习基本上有基于短消息的移动学习、基于连接浏览的移动学习和基于校园无线网络的准移动学习三种形式[3]
    WAP(Wireless Application Protocol)无线应用协议。它在互联网与移动通信间建立了统一的开放式协议。与传统的WWW通信类似,WAP采用客户机(B/S)服务器模式[3]。目前WAP技术已经成为移动终端访问无线信息服务的主要标准,其运用学习领域的结果就是基于连接浏览的移动学习。

2  WAP系统框架

    WAP系统框架主要由三部分组成:①移动客户端:指安装有微浏览器的无线终端设备(如手机),能够对WAP网页进行显示、解释、执行;②WAP网关:完成HTTP协议向无线Internet传输协议(WSP/WTP  Wireless Session Protocol/ Wireless Transaction Protocol)的转换,并对无线Internet内容进行压缩(WML Encoder)和编译(WML script Compiler);③Web服务器,与一般的Internet站点的区别仅仅是在网页编写上采取的语言有所不同,它采用WML/XHTML语言。

3  WAP协议体系结构

    WAP的体系结构与Internet/ WWW的体系结构十分相似,如图1所示。层叠排列的WAP协议体系为无线装置的应用开发提供了可扩展、可延伸的环境。每一层协议或其它服务和应用程序可与它下一层协议直接对话。通过精心设置的一系列接口,外围服务和应用程序可以利用WAP体系提供的各种功能,包括直接使用会话层、交易层、安全层、传输层等[4]


图1  WAP协议体系结构

    在WAP的协议栈中包含有以下的协议:
    WAP Wireless Application Protocol
    WAE Wireless Application Environment
    WML Wireless Markup Language
    WTA Wireless Telephony Application
    WTAI Wireless Telephony Application Interface
    WSP Wireless Session Protocol
    WTP Wireless Transaction Protocol
    WTLS Wireless Transport Layer Security
    WDP Wireless Datagram Protocol
    URL Universal Resource Locator
    WAP1.x协议不直接采用有线互联网上的HTTP/TLS/ TCP协议,而采用了WSP/WTP/WTLS/WDP协议,这些协议造成了不能通过手机直接访问Internet。随着网络,特别是终端的发展,移动网络与固定网络在传输性能上的差异减小,2001年,WAP Forum推出最新版本WAP2.0。WAP2.0在协议实现上更接近成熟协议(TCP、HTTP),为保证对WAPl.2的手机的兼容,WAP2.0采用双协议栈架构:包括WAPl.2协议栈和WAP2.0协议栈。在WAPl.X引进的WAP协议栈的基础上,WAP2.0新集成了XHTML,TCP/IP,HTTP l. I(超文本协议)和传输安全层(TLS/SSL)等标准,在这些标准的支持下,新增数据同步、多媒体大容量信息服务、统一存储接口等新业务和应用。

4  关键技术分析

4.1  WML文件表单数据的提交与动态生成

    由于WML1.X 不支持FORM 标记,用<postfield>完成表单数据的提交。如下:
id:<input name="id" type="text" /><br/>
password:<input name="password"type="password"/>
<do label="go"><go href="login_confirm" method="post">
<postfield name="id" value="$(id)"/>
<postfield name="password" value="$(password)"/>
</go>
</do>
    提交方式仍然可为 GET 与POST。动态生成WML文件需要在页面的开头设置MIME类型如利用JSP 或SERVLET:<%@ page contentType="text/vnd.wap.wml;charset= gb2312"%>或response.setContentType("text/vnd.wap.wml");并将输出的标记限制在WML微型浏览器可接受的范围内[5]。如JSP动态生成WML文件结构如下:
<?xml version="1.0" ?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<%@ page contentType="text/vnd.wap.wml;charset=gb2312" %>
<wml>
<head>
<meta http-equiv="Cache-Control" content="max-age=0" forua="true" />
</head>
<card>
……
</card>
</wml>

4.2  数据库连接与连接池

    Java语言通过JDBC(Java DataBase Connection)技术访问数据库。Java应用程序访问数据库的过程是:①装载数据库驱动程序;②通过JDBC建立数据库连接;③访问数据库,执行SQL语句;④断开数据库连接[6]。但使用这种模式存在问题:首先,每一次Web请求都要建立一次数据库连接都得花费时间,而且系统还要分配内存资源。对于频繁的进行数据库连接操作势必占用很多的系统资源,网站的响应速度必定下降,严重的甚至会造成服务器的崩溃。其次,对于每一次数据库连接,使用完后都得断开。否则,如果程序出现异常而未能关闭,将会导致数据库系统中的内存泄漏,最终将不得不重启数据库。还有,这种开发不能控制被创建的连接对象数,系统资源会被毫无顾忌的分配出去,如连接过多,也可能导致内存泄漏,服务器崩溃。解决办法是利用数据库连接池。就是为数据库连接建立一个“缓冲池”。预先在缓冲池中放入一定数量的连接,当需要建立数据库连接时,只需从“缓冲池”中取出一个,使用完毕之后再放回去。可以设定连接池最大连接数来防止系统无尽地与数据库连接。更为重要的是可以通过连接池的管理机制监视数据库的连接的数量、使用情况,为系统开发、测试及性能调整提供依据。JDBC的API中没有提供连接池的方法。一些大型的Web应用服务器如BEA的WebLogic和IBM的WebSphere等提供了连接池的机制,但是必须有其第三方的专用类方法支持连接池的用法。
    连接池包括一个连接池类(DBConnectionPool)和一个连接池管理类(DBConnetionPool Manager)。连接池类是对某一数据库所有连接的“缓冲池”,主要实现以下功能:①从连接池获取或创建可用连接;②使用完毕之后,把连接返还给连接池;③在系统关闭前,断开所有连接并释放连接占用的系统资源;④还能够处理无效连接(原来登记为可用的连接,由于某种原因不再可用,如超时和通讯问题),并能够限制连接池中的连接总数不低于某个预定值和不超过某个预定值。

4.3  汉字乱码问题解决

    由于Web程序编译器和数据库默认内码不同,在显示、传递和处理汉字时会出现乱码。以下有几种方法:
    (1)在Web服务器中设置MIME表text/vnd.wap.wml后加上“;charset=charset_name”,如charset=gb2312。这是实现汉字显示的基本要求。
    (2)在设计动态WAP网页时,页面间数据传递会出现汉字显示乱码,可以在程序中将返回类型指明所使用的字符集。在JSP程序中,按以下方式写: request.setCharacterEncoding("gb2312");
    (3)用字符转换工具来转换。将你的程序代码转换为UTF8或UNICODE。可对数据库与应用程序内码不同而产生的乱码进行处理[7]。如:
name=new String(name.getBytes("iso-8859-1"),"GBK");

5  学生成绩手机查询系统实现

5.1  MVC系统开发模式

    MVC模式是Web应用开发的重要设计模式。 MVC最初由Smalltalk设计,该模型将功能划分为相互关联的3个组件:模型(Model)、视图(View)和控制器(Controller)[8]。本系统采用MVC模式来开发的基于JAVA平台的Web应用程序,其体系结构如图2所示。


图2  MVC模式图

    模型表示应用程序的业务逻辑,是应用程序的核心,包括保证应用程序各组件的事务整合、维护并快速获取应用数据,支持事务工作流的协调及在已有应用程序中集成新的应用组件等。可以把事务逻辑模块封装为JavaBean或EJB,将业务规则封装到组件中有利于测试、改进质量和促进重用。视图实现模块的外观,它是应用程序的外在表现。它的主要功能是根据事务逻辑模块处理结果生成返回至客户端的页面。JSP很适合编写动态页面,是开发页面模块的最好选择。控制器接受用户请求,把用户数据传给业务逻辑模块,并调用相应的业务逻辑模块进行处理,最后根据用户所需要的响应,调用相应的视图模块生成结果页面返回浏览器。它将模型和视图联系在一起。一般控制器是Servlet来实现的,控制模块主要是控制程序流程的,并不需要向客户端输出信息。

5.2  系统实现

    系统实现WAP网站是: WINDOWS XP 操作系统;TOMCAT 5 Web服务器Microsoft SQL Server 数据库;WinWAP for Windows 3.2 浏览器和NOKIA series 60 Content Authoring SDK模拟器。其体系框架如图3所示。


图3  WAP技术浏览器连接体系框架

    用户录入用户名和密码验证正确后进入成绩查看模块,如不正确返回错误提示信息。利用协作图可以表述类操作的实现和收发消息的对象结构组织,用其表示用户登录及信息查看功能的模块消息过程和文件类之间组织如图4所示。

图4  系统协作图
    考虑核心代码表现会大大增加篇幅,关键代码在技术分析中也有说明,SERVLET与数据库技术在本系统中属于一般应用技术故不再加以说明。学生成绩查询系统实现NOKIA series 60 Content Authoring SDK 模拟屏幕截图如图5所示。

图5  系统模拟屏幕截图

6  结束语

    移动学习是继数字化学习后出现的又一新学习模式,是教育技术领域研究的又一个新热点。随着移动通信技术以及Internet技术的进一步发展,WAP 与WWW 必然还要趋向一致。如何充分有效地使用无线技术和移动计算设备来辅助教学和学习将会成为移动学习研究的中心。

参考文献

[1]叶成林,徐福荫,许俊.移动学习研究综述[J]. 电化教育研究2004,(3):12-19
[2]李玉斌 .移动学习的内涵、方式及其对远程教育的意义研究[J].现代远程教育研究 2005,(1): 30-34
[3]叶成林. WAP技术在远程教育中的应用[J]. 电化教育研究,2002,(5): 36-39
[4]任立刚.下一代无线标记语言WML 2.0[J].  通讯世界,2002,(5) : 66-67
[5]赵高丽 .基于WAP技术的无线校园信息门户系统设计[J].河南科技学院学报,2006,(4):77-79
[6] Chris Tull .WAP 2.0 Development ISBN0-7897- 2602-5 [M].Que March 07,2002
[7]Wireless Markup Language Version 2.0 Wireless Application ProtocolWAP-238-WML-20010911- a[EB/ OL] http://www.wapforum.org/what/copyright.htm
[7]陈蓉西.JSP 在移动数据库连接池的实现[J].  微计算机信息,2006,(7-3):27-229
[8]WILLIAN CRAWFORD. J2EE 设计模式[M].北京:中国水利出版社,2005.4


转自http://www.studa.net/yingyong/080430/16032744.html
posted on 2008-08-21 14:57 睡得惊动了党 阅读(493) 评论(0)  编辑  收藏

只有注册用户登录后才能发表评论。


网站导航: