论文部分内容阅读
摘要:本文介绍了移动计算的特点,根据目前无线网络和移动设备应用程序设计的局限性,提出了基于J2ME+Agent的多线程的移动应用平台的设计方案,并引入了中间件思想。本文最后把该方案应用一个面向移动用户的云南省大型仪器协作共用网,从而证实了该平台在移动系统环境中具有较高的适应性和良好的使用性。
关键词:移动计算;MAP;J2ME;MIDP;无线消息API(WMA);Agent
中图分类号:TP391文献标识码:A文章编号:1009-3044(2007)06-11640-02
1 引言
随着经济的发展和3G时代的来临,人们越来越多的利用信息技术来拓展企业新业务,想随时随地能按自己的意愿使用网络资源。目前,全国及各省大型仪器协作共用网是全国各单位仪器共享,快速,合理利用的一个信息系统,但它们不能用移动设备访问系统。因此,针对它们的问题和移动设备计算能力弱和无线网络覆盖范围小,带宽很低而且连接不稳定的局限性,我们提出了基于J2ME和Agent的多线程的云南大型仪器协作共用网移动应用平台的设计方案[1]。
2 YNSISS系统
YNSISS系统,即云南大型仪器协作共用网,可以通过个人电脑,移动终端或手机短信方式访问。该系统由九大功能组成:公共信息,仪器使用管理,系统管理,预约服务,网上办事,统计信息管理,管理决策分析,短信反馈服务,省内科技力量、国内外仪器设备生产厂商信息采集子系统。
3 移动计算
移动计算(Mobile Computing)[2]是移动通信、便携设备和计算机网络等技术的融合产生了一门新兴的技术,利用移动终端通过无线和固定网络与远程服务器交换数据的分布式计算环境。一个典型的移动计算系统的物理结构包含以下几个部分 :(1)有线骨干网络;(2)固定结点(或称固定主机);(3)移动服务支持结点(mobile support station)。
移动计算的软件系统包括以下几个部分:(1)移动终端上的移动操作系统;(2)客户端应用软件;(3)服务器端应用软件或数据库;(4)移动中间件[3]。
4 Agent概述
Agent的研究起源于人工智能领域,模拟人类行为和关系,具有一定智能并能够自主运行和提供相应服务的程序[4]。当采用Agent方式时,请求服务的客户端Agent移动到服务器提供的Agent上下文环境中,客户Agent和服务器Agent都在此上下文环境进行交互。同时,中间结果和冗余信息不必在网络上传输.这样一方面可以减少网络开销,另一方面又可以克服网络传输延时的影响。最后,客户Agent把处理结果传回给客户端[5]。
图1 移动计算系统结构
图2 Agent概念模型
5 移动应用平台的设计和实现
5.1移动客户端
移动客户端主要是由移动设备终端和运行在终端设备上的用户Agent构成,用户Agent负责组织人机交互,代替移动用户通过无线网络同中间层平台进行交互。我们选择目前被移动设备厂商最为广泛支持的J2ME作为开发用户Agent的平台,以满足多种移动设备的兼容性。用户Agent提供了数据的本地存取,这样用户可以在断开网络连接的时候做一些本地处理,然后在网络恢复的时候继续应用的过程。
5.2服务器端
它主要是运行在固定网络上能为移动客户端Agent和应用服务器之间的交互起到连接和支持作用的软件平台,它主要由无线消息服务器和代理Agent组成。无线消息服务器其主要职责是为无线设备和固定网络之间提供消息存储和转发。其功能有:
(1)无线消息的接收/发送。无线消息服务器与移动设备的交互信息都被组织成格式化的消息,通过无线消息的接收/发送接口实现消息的实际传送。
(2) 消息管理。每一次应用的会话过程提供消息解析、暂存以及管理,当此过程完成之后,它将自动清除该过程的相关纪录。
(3) 消息存储区。所有的与应用会话过程相关的消息,都以预定义的格式存储在消息存储区,以供查询使用。
图4 服务器端结构
5.3提高系统性能
由于移动计算本身的特点,网络带宽、连接的稳定性、终端的处理器速度都会给系统的效率带来限制,因此在J2ME应用中要使系统高效运行,除了Agent方法外,必须采用一些特殊的处理技术。
(1)缓存(caching)技术
可以把调用过的数据暂存到终端的内存里,以后调用时就不必再次处理和进行无线连接。这种方法可以有效缓解带宽和无线连接不稳给系统带来的影响。
(2)压缩(compression)技术
当数据量很大时(比如图形处理),对数据进行压缩是必要的。
(3)合理利用内存
由于手机的内存很小,Java回收系统有时并不能及时的对不需要的资源内存回收,须手动编写回收程序,以便内存更快的释放出来。
(4)多线程机制(thread)[6]
6 应用实例——云南省大型仪器协作共用网
我们先在SAMSUNG_WTK20:SGH-Z130)模拟器上,采用了JZME和移动信息设备简表MIDP2.0实现了用户Agent,利用Oracle10g数据库来设计消息缓冲池,采用Weblogic9.0服务器作为无线消息服务器的核心引擎,其它信息管理模块都是使用JSP/Servlet实现。
图5 典型的多线程的移动系统设计
根据系统的应用流程,我们设计了用户登录,仪器查询,预约,更新等模块。通过这个实例验证了基于Agent的移动应用框架的可行性,并得到了一些和移动应用系统的设计、部署相关的实践经验,为我们进一步研究奠定了基础。
图6 设备终端(SAMSUNG_WTK20:SGH-Z130)运行后的界面
7 小结
我们分析了移动计算的特点,提出了基于Agent的移动应用平台的设计方案,并在一个实例系统中应用了这个框架设计思想。但无线网络和移动计算设备等技术在不断的发展中,关于移动计算领域的研究也越来越多,我们将拓展移动应用领域在以下几个方面作进一步的研究:(1)移动监控系统;(2)移动应用安全。
参考文献:
[1]Mascolo C.Capra L.Zachariadis S.Emmerich W.A Data-SharingMiddleware for Mobile Computing Int.Journal on Personal andWireless Communication.
[2]M Weiser.The Computer for the 21 st Century[J].Scientific American,1991.
[3]陶先平,吕建,马晓星,胡昊.移动Agent系统基准模型的研究[J].电子学报,2002.
[4]Michael Wooldridge, Nicholas RJennings.Intelligent Agents:Theory and Practice,Cambridge Unicersity Press 1995.
[5]张云勇,刘锦德.移动agent技术[M].清华大学出版社,2003,9月第1版.
[6]Thinking in Java(Three Edition) ,Bruce Eckel, Prentice Hall 2004.
本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。
关键词:移动计算;MAP;J2ME;MIDP;无线消息API(WMA);Agent
中图分类号:TP391文献标识码:A文章编号:1009-3044(2007)06-11640-02
1 引言
随着经济的发展和3G时代的来临,人们越来越多的利用信息技术来拓展企业新业务,想随时随地能按自己的意愿使用网络资源。目前,全国及各省大型仪器协作共用网是全国各单位仪器共享,快速,合理利用的一个信息系统,但它们不能用移动设备访问系统。因此,针对它们的问题和移动设备计算能力弱和无线网络覆盖范围小,带宽很低而且连接不稳定的局限性,我们提出了基于J2ME和Agent的多线程的云南大型仪器协作共用网移动应用平台的设计方案[1]。
2 YNSISS系统
YNSISS系统,即云南大型仪器协作共用网,可以通过个人电脑,移动终端或手机短信方式访问。该系统由九大功能组成:公共信息,仪器使用管理,系统管理,预约服务,网上办事,统计信息管理,管理决策分析,短信反馈服务,省内科技力量、国内外仪器设备生产厂商信息采集子系统。
3 移动计算
移动计算(Mobile Computing)[2]是移动通信、便携设备和计算机网络等技术的融合产生了一门新兴的技术,利用移动终端通过无线和固定网络与远程服务器交换数据的分布式计算环境。一个典型的移动计算系统的物理结构包含以下几个部分 :(1)有线骨干网络;(2)固定结点(或称固定主机);(3)移动服务支持结点(mobile support station)。
移动计算的软件系统包括以下几个部分:(1)移动终端上的移动操作系统;(2)客户端应用软件;(3)服务器端应用软件或数据库;(4)移动中间件[3]。
4 Agent概述
Agent的研究起源于人工智能领域,模拟人类行为和关系,具有一定智能并能够自主运行和提供相应服务的程序[4]。当采用Agent方式时,请求服务的客户端Agent移动到服务器提供的Agent上下文环境中,客户Agent和服务器Agent都在此上下文环境进行交互。同时,中间结果和冗余信息不必在网络上传输.这样一方面可以减少网络开销,另一方面又可以克服网络传输延时的影响。最后,客户Agent把处理结果传回给客户端[5]。
图1 移动计算系统结构
图2 Agent概念模型
5 移动应用平台的设计和实现
5.1移动客户端
移动客户端主要是由移动设备终端和运行在终端设备上的用户Agent构成,用户Agent负责组织人机交互,代替移动用户通过无线网络同中间层平台进行交互。我们选择目前被移动设备厂商最为广泛支持的J2ME作为开发用户Agent的平台,以满足多种移动设备的兼容性。用户Agent提供了数据的本地存取,这样用户可以在断开网络连接的时候做一些本地处理,然后在网络恢复的时候继续应用的过程。
5.2服务器端
它主要是运行在固定网络上能为移动客户端Agent和应用服务器之间的交互起到连接和支持作用的软件平台,它主要由无线消息服务器和代理Agent组成。无线消息服务器其主要职责是为无线设备和固定网络之间提供消息存储和转发。其功能有:
(1)无线消息的接收/发送。无线消息服务器与移动设备的交互信息都被组织成格式化的消息,通过无线消息的接收/发送接口实现消息的实际传送。
(2) 消息管理。每一次应用的会话过程提供消息解析、暂存以及管理,当此过程完成之后,它将自动清除该过程的相关纪录。
(3) 消息存储区。所有的与应用会话过程相关的消息,都以预定义的格式存储在消息存储区,以供查询使用。
图4 服务器端结构
5.3提高系统性能
由于移动计算本身的特点,网络带宽、连接的稳定性、终端的处理器速度都会给系统的效率带来限制,因此在J2ME应用中要使系统高效运行,除了Agent方法外,必须采用一些特殊的处理技术。
(1)缓存(caching)技术
可以把调用过的数据暂存到终端的内存里,以后调用时就不必再次处理和进行无线连接。这种方法可以有效缓解带宽和无线连接不稳给系统带来的影响。
(2)压缩(compression)技术
当数据量很大时(比如图形处理),对数据进行压缩是必要的。
(3)合理利用内存
由于手机的内存很小,Java回收系统有时并不能及时的对不需要的资源内存回收,须手动编写回收程序,以便内存更快的释放出来。
(4)多线程机制(thread)[6]
6 应用实例——云南省大型仪器协作共用网
我们先在SAMSUNG_WTK20:SGH-Z130)模拟器上,采用了JZME和移动信息设备简表MIDP2.0实现了用户Agent,利用Oracle10g数据库来设计消息缓冲池,采用Weblogic9.0服务器作为无线消息服务器的核心引擎,其它信息管理模块都是使用JSP/Servlet实现。
图5 典型的多线程的移动系统设计
根据系统的应用流程,我们设计了用户登录,仪器查询,预约,更新等模块。通过这个实例验证了基于Agent的移动应用框架的可行性,并得到了一些和移动应用系统的设计、部署相关的实践经验,为我们进一步研究奠定了基础。
图6 设备终端(SAMSUNG_WTK20:SGH-Z130)运行后的界面
7 小结
我们分析了移动计算的特点,提出了基于Agent的移动应用平台的设计方案,并在一个实例系统中应用了这个框架设计思想。但无线网络和移动计算设备等技术在不断的发展中,关于移动计算领域的研究也越来越多,我们将拓展移动应用领域在以下几个方面作进一步的研究:(1)移动监控系统;(2)移动应用安全。
参考文献:
[1]Mascolo C.Capra L.Zachariadis S.Emmerich W.A Data-SharingMiddleware for Mobile Computing Int.Journal on Personal andWireless Communication.
[2]M Weiser.The Computer for the 21 st Century[J].Scientific American,1991.
[3]陶先平,吕建,马晓星,胡昊.移动Agent系统基准模型的研究[J].电子学报,2002.
[4]Michael Wooldridge, Nicholas RJennings.Intelligent Agents:Theory and Practice,Cambridge Unicersity Press 1995.
[5]张云勇,刘锦德.移动agent技术[M].清华大学出版社,2003,9月第1版.
[6]Thinking in Java(Three Edition) ,Bruce Eckel, Prentice Hall 2004.
本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。