基于J2ME的手机邮件系统的研究
摘 要:分析了无线数据服务和邮件服务模式的演变,讨论了系统整体方案的选择,通过对J2ME架构的研究和分析,提出了基于J2ME的系统解决方案;制定了HBWMP通讯协议;最后对系统的设计和实现方案进行了总结,为下一步的研究奠定了基础。
关键词:J2ME;SMS;无线数据服务;无线邮件系统;HBWMP协议
中图分类号:TN925+.93 文献标识码:A
在Internet飞速发展的今天,互联网已经成为了网上生活的基本工具,它不仅用于浏览网上的信息,还成为信息发布、商务活动的媒介。同时,随着有线网络的不断发展,移动无线网络也在飞速发展着,从最早的模拟通信技术,到现在的数字通信技术,第二代、第三代网络,移动无线网络的传输速度越来越快,以语音传输为主的传输也在逐渐向数据传输发展。如果移动无线网络能够与Internet系统相连,则可以方便、低廉地将信息传输到世界上任何地方,真正做到随时随地,在任何设备上进行存取信息。其应用前景十分的广阔。因此,如何将有线Internet系统与无线系统相结合,成为一个热门课题。
目前,无线数据服务模式也是多种多样,如SMS, EMS, WAP, MMS, JAVA,BREW等,基于这些模式上的信息服务也得到了爆炸性的发展。而互联网提供了多种多样的服务,其中电子邮件服务以方便、快捷的特征成为人们对内、对外交流的一个重要途径。所以很有必要通过移动无线网络来收取有线互联网上的邮件,使邮件成为各种信息传输的综合平台。本文正是在这样的背景下进行了基于J2ME的无线邮件系统的研究。
1 无线数据服务
1.1 手机上的嵌入式系统
嵌入式处理器的功耗、体积、成本、可靠性、速度、处理能力、电磁兼容性等方面均受到各种制约。和通用的计算机不同,嵌入式系统的硬件和软件都必须高效率的设计。手机是嵌入式系统中极具有代表性,也是目前应用最为广泛的嵌入式系统之一。而来自销量占全球手机总额80%的手机制造商支持的Symbian OS,掌上电脑巨头Palm的Palm OS,开放的Linux与微软的Windows CE,在通信与计算机融合通往3G的路上,嵌入式手机操作系统也在不断发展。
1.2 无线数据传输技术
蜂窝移动通信行业的发展有很多种模式,主要是码分多址(CDMA)技术和全球移动通信系统(GSM)。然而这两种都是从模拟技术向数字技术发展而来的。出现的技术以代来划分的话,1G是指语音的模拟传输,2G是指语音的数字传输,2.5G是指语音的数据传输和有限的带宽数据,3G是指多媒体在宽带上的数字传输。而无线数据服务是指建立在2G以及2G以上传输技术的服务。
1.3 无线数据服务模式
无线数据服务是指利用在无线移动网络上进行数据传输的各种应用服务,如各种信息服务:通过“PUSH”技术将股票价格、新闻、彩票中奖信息、交通信息等广泛的信息、内容发送给移动电话用户;地理位置服务:让用户可以查询所在地周围的地理位置信息,比如寻找最近的旅店,查询附近道路信息,或者进行特定人的位置跟踪;移动电子商务:通过移动终端进行在线的电子商务交易,如在线购物、在线支付、移动炒股以及移动E-mail服务、移动聊天等。
无线数据服务的模式主要有SMS, EMS, WAP, MMS, JAVA和BREW。
1.4 无线电子邮件模式演变
随着手机、PDA等无线设备的不断普及,无线网络与有线网络的不断融合,人们对随时随地收发邮件的要求越来越高。无线电子邮件也在不断的发展中。2002年随着SMS的流行,开始出现了SMS电子邮件服务,由于SMS限制了每条短信的长度,所以SMS主要用于邮件通知,当一封新邮件到达时,以短信的形式发送到收件人手机,告知发件人,主题等信息。2003年初随着GPRS和CDMAlx这些2.5G网络的正式运行,出现了MMS邮箱,用户可以通过手机互相发送文字、图片、声音混合形式的MMS邮件。进入2004年,有线与无线邮件平台的不断整合,人们逐渐对强大的无线邮件系统客户端提出了需求,传输内容也以多媒体、流媒体为主。
1.5 问题的引出
邮件已经在人们的生活中成为一个不可缺少的工具,但目前人们的应用还是以有线邮件为主,无论是客户端邮件,还是Web邮件都不能满足用户随时随地收取邮件的要求。这时就产生了无线邮件服务,最初的SMS只能以单一文字为主,到目前MMS可以进行多媒体内容的传输,无线邮件在不断地发展。但是人们希望在手机上能像有线网络中进行客户端邮件服务,能够保存收发的邮件,能够离线浏览,同时也能够有短信通知,地址本同步,邮件过滤等功能,这些就需要一个有线无线邮件平台的整合。
2 基于J2ME的无线邮件系统模型
我们的目标是设计一种基于J2ME的无线邮件系统的模型,并使之具有如下特点:透明性、智能化、界面友好、可扩展性、模块化、可靠性。
在无线邮件系统模型中,可以根据功能角色的不同,将系统划分为几个部分:手机用户(手机客户端),系统管理员,协议转换代理PCA。
根据对系统的功能分析,我们可以明确整个无线邮件系统由手机客户端、协议转换代理、邮件服务器、Web服务器组成,其网络示意图见图1。手机用户通过无线网络经过移动网关与协议转换代理相连,协议转换代理是整个系统的中心,它通过有线网络与邮件服务器、Web服务器相连,系统管理员和普通用户可以通过Internet连接Web服务器进行系统管理以及浏览Web邮件。
通过对无线邮件系统模型的网络结构示意图分析,我们可以发现整个系统从功能上分为两大块:手机邮件客户端,应用服务器端。手机邮件客户端属于嵌入式开发,要实现上述功能需求,目前有3种实现方法:基于手机操作系统平台,BREW平台以及J2ME平台的开发。我们主要研究基于J2ME平台的开发。
J2ME平台有着平台无关性,丰富的网络功能,内置的安全模型,动态的应用程序部署,图形化的用户界面等特点,使之作为手机邮件客户端的首选开发平台。应用服务器端的开发与手机客户端相对应,选用SUN公司的J2SE平台。J2SE平台不但具有跨平台和实现其他系统集成的特性,而且还提供了诸如JSP, Servlet, JavaMail等多种Internet应用技术支持。J2SE平台在以下几个方面与本系统相对应:
(1)本系统需要具有在各种平台上运行的能力,这样便于应用程序在不同平台间的移植,Java语言可以保证程序的可移植性。
(2)本系统需要有强大的Web支持以实现B/S模式的应用,这些支持任务可以用JSP和Servlet轻松完成。
(3)本系统是一个从有线网络上的应用到无线网络上的应用结合的模型,SUN公司提供了从嵌入式开发到企业级开发的一整套解决方案。
综上所述,整套无线电子邮件系统的开发采用SUN公司的Java 2平台,应用服务器端的实现采用J2SE,手机客户端采用J2ME开发。
3 通讯协议制定和实现
J2ME中CLDC提供了一套用于网络的平台独立连接框架,提供了一种分层的连接接口,它的实现操作系统由具体的设备简表提供。MIDP通过提供支持HTTP的HttpConnection框架来实现扩展CLDC的一般连接框架的作用。所有支持MIDP的手机都要求支持HTTP,这主要是因为HTTP既可以通过使用基于IP的协议(如TCP/IP),也可以通过使用非IP协议(如WAP)来实现。无线邮件系统中,作为客户端的手机需要与作为应用服务器端的PCA进行通讯,而J2ME框架中支持了HTTP协议,HTTP协议又是一个防火墙友好协议,为此制定了一个基于HTTP协议之上的HBWMP无线邮件协议。
3.1 HBWMP协议
HBWMP无线邮件协议是一个描述手机客户端和协议转换代理PCA之间相互交换信息来访问邮件服务器的协议,手机客户端通过HBWMP协议能够进行邮件收发,上传下载地址簿,注册/注销等功能。协议的主要设计目标是简单性和可扩展性,简单性是指能够方便客户端和PCA的解析,可扩展性是指当手机客户端需要增加一个与PCA之间通讯的功能时,可以很方便地对协议进行扩展,而不影响之前约束。
3.2 HBWMP消息体结构
HBWMP消息体采用了分层嵌套的结构,见图2。整个HBWMP消息体由MMail Headers和MMail
Content组成,然后嵌入HTTP消息的Message Body,与HTTP Headers组成了HTTP消息体。HTTP
Headers包括general-header, request-header, response-header,
entity-header 4种,都是用相同的格式表示,一个字段名后面跟着“:”,然后是字段的值。
http-messag=http-headers blankline http-content
blankline=CRLF
http-headers=(http-request/http-reply) *(http-option)
http-request=http-method url http-version-tag
http-method=“POST”
http-version-tag=“HTTP/1 .1”
http-reply=http-version-tag http-reply-code http-reply-desc
http-option=....
MMail Headers定义的格式类似于MMail
Headers,为了解析的简单和传输字节量的最小,采用“字段名:字段值”的方式。
MMail -message=MMail -headers blankline MMail -content
blankline=CRLF
MMail -headers=field -name:[field-value]
field -name=token
field -value = text or combinations of token, separators, and
quoted-string
MMail Content是由Email Headers和Email body组成,Email
Headers是通过简化了RFC2822中定义的Email Header,抽取了必需的字段。Email
body目前支持显示jpg, png格式图片的附件,其他类型的附件只是提取它的文件名,所以采用了简化的MIME Part
Headers和MIME Part Body格式组成了Email Body。
MMail-content=Email-headers blankline Email-Body
Blankline=CRLF
Email-headers=field -name[field-value]
Email-body=Mimepart-headers blankline Mimepart-body
Blankline=CRLF
4 系统总结和展望
本文构建了一个基于J2ME的无线邮件系统,制定了协议转换代理PCA与手机客户端之间的通信协议,本系统有如下几个显著特点:
(1)有线网络与无线网络的无缝结合。本系统最大的贡献是通过E-mail将有线网络和无线网络进行了无缝的结合,使用户能够无论在移动环境还是在有线环境中,都能方便地享受邮件服务。同时本系统采用了新邮件到达短信通知,邮件客户端同时能够接受目前流行的MMS彩信,这些都是有线网络与无线网络结合的体现。
(2)系统的扩展性强,维护方便。系统采用MVC的模式进行建模,将系统按照模型、视图、控制器分离,使实现代码具有清晰可读性,而且易于扩展系统的功能。HBWMP协议的消息结构采用了分层嵌套的体系结构,为以后的通讯协议的扩展提供了方便。
(3)系统的可移植性。在本系统中,大部分的工作都在应用服务器端完成,手机客户端主要用于浏览,而服务器端是按照J2SE的规范开发的,所以,整个系统具有操作系统平台的可迁移性。
(4) 客户端友好的使用界面。
系统后续展望:
(1)网络传输过程中的压缩。目前本系统中的协议转换代理PCA与手机客户端通讯的协议HBWMP是明文传输的,随着对网络速度传输的要求越来越高,在以后的系统改进中,HBWMP将采用传统LZW算法进行压缩传输。在服务器端和客户端将增加一个压缩解压缩模块,这样能够有效地提高网络传输速度和节省网络通信费用。
(2)支持附件文件类型的改进。手机客户端程序所能够支持的显示邮件的附件类型还是比较少,目前仅支持.TXT文本和.PNG,.JPG,.GIF等图片类型。在系统以后的功能扩展中,将会加入对PDF,WORD, ZIP等格式附件的直接读取。
*本文为山东省中青年优秀科学家奖励基金资助项目(项目号:03BS009)
参考文献
[1] 焦祝军,张威.J2ME无线通信技术应用开发[M].北京:北京希望电子出版社,2004.
[2] Paul Tremblett. J2ME无线Java应用开发[M].北京:人民邮电出版社,2004.
第一作者简介:孟文生,男,1981年5月生,现为山东师范大学信息管理学院2003级在读硕士研究生,山东省济南市,250014.
本文来源:科技情报 作者:山东师范大学信息管理学院 孟文生,王 红
关于 J2ME 的相关解决方案
- 2007-06-13J2ME平台下基于手机定位实现的移动GIS导航系统
- 2007-04-13基于MVC模式的J2ME应用程序框架设计
- 2006-11-22基于J2ME的手机邮件系统的研究
J2ME 相关产品动态
J2ME 相关方案厂商
快乐大本营
无线时代来临,移动产业生态系统将发生一些根本变化。今日头条推荐“芯片是嵌入式4G技术的关键 产业生态系统将发生变化”。
想了解嵌入式开发工具的市场情况吗?先来体验下我们的在线调查吧!填写调查问卷。

