1 引言
随着经济的发展和3G时代的来临,人们越来越多的利用信息技术来拓展企业新业务,想随时随地能按自己的意愿使用网络资源。目前,全国及各省大型仪器协作共用网是全国各单位仪器共享,快速,合理利用的一个信息系统,但它们不能用移动设备访问系统。因此,针对它们的问题和移动设备计算能力弱和无线网络覆盖范围小,带宽很低而且连接不稳定的局限性,本文提出了基于J2ME和Agent的多线程的共用网移动应用平台的设计方案。
2 移动计算
移动计算(MobileComputing),是随着移动通信、互联网、数据库、分布式计算等技术的发展而兴起的新技术。移动计算技术将使计算机或其它信息智能终端设备在无线环境下实现数据传输及资源共享。它的作用是将有用、准确、及时的信息提供给任何时间、任何地点的任何客户。这将极大地改变人们的生活方式和工作方式。一个典型的移动计算系统的物理结构包含以下几个部分:
(1)有线骨干网络;
(2)固定结点(或称固定主机);
(3)移动服务支持结点(mobilesupportstation)。
移动计算的软件系统包括以下几个部分:
(1)移动终端上的移动操作系统;
(2)客户端应用软件;
(3)服务器端应用软件或数据库;
(4)移动中间件。
3 Agent概述
Agent的研究起源于人工智能领域,模拟人类行为和关系,具有一定智能并能够自主运行和提供相应服务的程序。当采用Agent方式时,请求服务的客户端Agent移动到服务器提供的Agent上下文环境中,客户Agent和服务器Agent都在此上下文环境进行交互。同时,中间结果和冗余信息不必在网络上传输。这样一方面可以减少网络开销,另一方面又可以克服网络传输延时的影响。最后,客户Agent把处理结果传回给客户端。
4 移动应用平台的设计和实现
4.1 移动客户端
移动客户端主要是由移动设备终端和运行在终端设备上的用户Agent构成,用户Agent负责组织人机交互,代替移动用户通过无线网络同中间层平台进行交互。我们选择目前被移动设备厂商最为广泛支持的J2ME作为开发用户Agent的平台,以满足多种移动设备的兼容性。用户Agent提供了数据的本地存取,这样用户可以在断开网络连接的时候做一些本地处理,然后在网络恢复的时候继续应用的过程。
4.2 服务器端
客户端Agent和应用服务器之间的交互起到连接和支持作用的软件平台,它主要由无线消息服务器和代理Agent组成。无线消息服务器其主要职责是为无线设备和固定网络之间提供消息存储和转发。其功能有:
(1)无线消息的接收/发送。
无线消息服务器与移动设备的交互信息都被组织成格式化的消息,通过无线消息的接收/发送接口实现消息的实际传送。
(2)消息管理。
每一次应用的会话过程提供消息解析、暂存以及管理,当此过程完成之后,它将自动清除该过程的相关纪录。
(3)消息存储区。
所有的与应用会话过程相关的消息,都以预定义的格式存储在消息存储区,以供查询使用。
4.3 提高系统性能
由于移动计算本身的特点,网络带宽、连接的稳定性、终端的处理器速度都会给系统的效率带来限制,因此在J2ME应用中要使系统高效运行,除了Agent方法外,必须采用一些特殊的处理技术。
(1)缓存(caching)技术可以把调用过的数据暂存到终端的内存里,以后调用时就不必再次处理和进行无线连接。这种方法可以有效缓解带宽和无线连接不稳给系统带来的影响。
(2)压缩(compression)技术当数据量很大时(比如图形处理),对数据进行压缩是必要的。
(3)合理利用内存由于手机的内存很小,Java回收系统有时并不能及时的对不需要的资源内存回收,须手动编写回收程序,以便内存更快的释放出来。
(4)多线程机制(thread)
5 小结
本文分析了移动计算的特点,提出了基于Agent的移动应用平台的设计方案,并在一个实例系统中应用了这个框架设计思想。无线网络和移动计算设备等技术在不断的发展中,关于移动计算领域的研究也越来越多,移动应用领域也将在移动监控系统和移动应用安全方面有所拓展。