一种基于Web的短信发送平台的设计与实现
2015-06-23黄秀文
黄秀文
(武汉纺织大学 现代教育中心,湖北 武汉 430074)
一种基于Web的短信发送平台的设计与实现
黄秀文
(武汉纺织大学 现代教育中心,湖北 武汉 430074)
比较了当前PC机上常用的短信发送方案,采用短信猫设计并实现了一个基于Web的短信发送平台,介绍了该系统的关键实现技术,给出了主要模块的设计和实现。
手机短消息;短信猫;短信平台
短信发送平台广泛应用于金融、工商、税务、电力、贸易、商业、旅游、政府、邮政、教育、证劵等行业,它能够全面提升企业的服务水平,提高客户的满意度,是很多企业的一种重要的营销手段。例如在房产领域,可用于楼盘信息宣传、优惠活动发布、物业收费通知、节日祝福等。在银行金融领域,可用于各种日常生活费用的代扣通知和汇款结果通知等。在教育领域,可用于招生信息、考勤提醒、缴费通知、节日/生日祝福等。在保险领域,可用于客户管理、续保通知、新险种通知、节日祝福等。在商场领域,可用于新品上市通知、特价商品提醒、会员、促销、打折信息发布、节日祝福等。手机短信作为“第五媒体”的地位,已经得到广泛的认同,拥有庞大的受众群体。
本文设计并实现了一种基于web的手机短信发送平台,该平台采用短信猫(GSM MODEM)技术,通过web网页的形式,实现了短信发送与接收、常用语管理、通信录管理、草稿箱管理、名片管理、系统设置等短信平台的大部分功能。
一、短信平台方案
1.web短信平台主要实现技术
目前,主要有三种常见技术可以在PC上实现web短信的收发:
(1)通过移动、电信、联通等运营商的短信网关来实现。该方法不需要增加任何硬件设备,只需要把PC机连接上互联网,再向相应的运营商申请短信网关服务,调用他们提供的API就可以了。这种方式在使用的时候虽然比较方便,但需要收取较高的费用,在网关繁忙时有可能短信无法及时送达。
(2)腾讯、百度、阿里巴巴等一些网站都提供了短信收发功能,用户可以直接调用这些功能来实现自己短信的收发。这种方法所需的资源虽然较少,但是自身的业务系统依赖于提供短信服务的网站,无法将短信收发功能无缝集成到企业的信息管理系统中,扩展性较差。
(3)通过短信猫来实现在PC机上的手机短信收发。这种方式只需要增加特定的短信猫硬件设备,日后运营由自己控制,运营费用低,对AT指令和串口编程的知识运用熟练就可以实现。
2.短信猫
短信猫是一种特殊的电子设备,在里面插入手机SIM卡后就可以像手机一样用来收发短信。短信猫一般通过USB、串口、网口或者数据线等多种方式与电脑相连,通过企业自行开发的短信平台来实现短信的收发。由于短信猫更专注于短信的收发,因此收发短信的速度比手机更快,可靠性更高,在企业应用中相当广泛。标准的短信猫包括短信猫硬件和短信猫二次开发包两个部分。
短信猫硬件是一个非智能的纯粹硬件设备,设备中包含了基于无线GSM技术的工业级的短信模块,它是实现短信收发功能的主要电子元件。短信猫插入各类运营商的手机SIM卡后,在外围电路及电路板的结合下就可以与运营商的短信中心建立无线网络连接。短信猫硬件与计算机的通信一般是通过计算机的RS232串口来实现,对它的控制是通过AT指令来进行的。通过AT指令驱动短信的收发是最底层的开发模式,这种方式要求开发人员对短信模块的AT指令非常熟悉。
为了方便开发人员快速进行短信的收发处理,很多短信猫设备厂商基于AT指令集集成了各种二次开发包,短信二次开发包SDK可以是OCX控件、DLL动态链接库或者封装成webService、中间件等多种方式。上层语言的开发人员不需要熟悉硬件低层的AT指令,只需要调用设备厂商提供的SDK就可以快速进行各类开发,将短信猫集成到自己的系统中,从而实现各行业各领域的短信应用。
二、短信收发平台设计
1.功能模块设计
根据对常用系统的功能分析,短信收发平台一般应具备如下基本功能:
a.用户登录
b.发送即时短信功能、定时发送功能、群组发送功能和存草稿功能
c.联系人管理模块和发送短信功能
d.短语管理模块和添加短语到短信的功能
e.草稿箱的管理和发送功能
f.发件箱中短信删除和转发的功能
功能模块图如图1所示:
图1 系统功能模块图
2.数据库设计
本系统主要用到五个数据库表,分别为发件箱、通讯录、常用短语、草稿箱和用户表,系统的数据库E-R图如图2所示。
3.短信发送接口封装设计
本系统通过调用串口短信猫提供的封装好的接口来实现短信息的发送。系统使用smsLib来进行对短信猫设备的调用,smsLib是Apache的一个开源项目,有NET和Java两个版本。Smslib提供了一系列的相关api,为了使业务层实现短信的发送功能不与smsLib耦合在一起,本系统首先对smsLib重新进行了开发封装,开发人员实现业务层的短信收发只需调用封装好的各类接口就可以轻松进行应用程序的集成。封装后的短信发送接口如图3所示:
图2 系统ER图
图3 短信收发封装接口
自行封装的四个接口功能如下:
(1)SmsLibService:该接口提供短消息的发送、接收,供业务层直接调用,开发人员无需了解SmsLib复杂细节。
(2)InOutboundMessageThread:这是一个实现短信收发功能的线程,该线程在系统启动后自动开始执行,它是通过调用SmsLib来实现的。
(3)SmsLibUtil:该类实现短信猫设备的初始化,并对SmsLib中的类进行实例化,使业务逻辑层访问SmsLib中的实例更加方便。
(4)OutboundMessagePackage: 该类主要设置短信服务中心号码,将网关增加到短信服务中,实现短信发送的处理。
三、短信平台具体实现
1.短信猫底层调用
短信发送接口封装的实现包括串口短信猫设备初始化、开启串口短信猫服务、关闭串口短信猫服务、设置短信猫服务发送回调处理等功能。
(1)短信猫设备初始化时要指定短信猫端口编号、波特率、短信猫生产厂商名、设备型号等信息。代码如下:
(2)发送短信前首先开启短信猫服务:
smsService.startService();
outputSmsModemInfomation();
(3)短信发送结束后关闭短信猫服务:
smsService.stopService();
(4)设置短信猫服务发送回调处理,某条短信发送完毕后会调用该接口:
2.短信发送
对于单发短信、群发短信、转发短信、重发短信等操作,只需从web页面请求获取短信参数,控制器处理参数,调用上述已封装的短信服务接口就可轻松实现。基于篇幅的限制,不在此做赘述。
四、结语
短信平台作为一个独立的产品,不仅可以单独的使用,也可以集成在企业自身的各种应用系统中,例如和办公自动化系统集成,实现重要邮件、会议、通知、公告消息的短信通知;和工作流系统集成,实现各种文件到达、审批通过通知;和客户关系管理系统集成,实现重要客户的生日等其他重要事件,提供定制的短信祝福;和财务系统集成,将个人报销费用或工资到帐情况以短信方式通知员工。
本系统下一步的目标是能够设计出良好的线程池,支持多线程短信发送服务,以满足企业级应用的需求,并可以支持彩信服务。
[1] 李兴华,王月清. Java Web开发实战经典基础篇[M].北京:清华大学出版社,2010.8.
[2] 孙立鹏.基于 JAVA 实现的手机收发短消息系统[J].微计算机信息,2005,(33).
[3] 奚晓明,葛万成.短信服务平台的设计[J].信息技术,2006,(10).
[4] 刘萌萌, 杨明极,王慕坤.基于 Web 的短信息增值业务研究[J].哈尔滨理工大学学报,2004,(5).
[5] 吕炳朝,俞涛.基于 Web 的短消息服务平台的设计与实现[J].现代电子技术,2004,(5).
[6] 周学泳,石丹.短信息(SMS)与WAP的开发及应用[M].北京:电子工业出版社,2002.
[7] 韩斌杰.GSM原理及其网络优化[M].北京:机械工业出版社,2002.
2095-4654(2015)05-0176-03
2015-03-12
TP311
A