前段时间无意中报名参加了 腾讯校园之星的一个比赛 基于webqq的一个应用开发,当时就提交了PPT 意外的进了前50,于是乎抓紧时间赶了赶项目进度,从开始编码到最后实现以及部署成功大概花了一周的时间。现在已经出了个demo,在此总结一下!
首先,我是想做一个 基于webqq的备忘录 实现,用户记下事务,记下时间,提醒类型,以及提醒方式,到了指定的时间,可以弹出窗口,邮件,或者短信提醒用户事务。
首先确定需求,设计了数据库,然后设计了大概的页面布局,最初我和光仔(另一队员)是想用PHP+jquery做,但是我俩一直在搞javaEE的开发,虽然一直想学一学PHP,但是由于公司的项目压着,没腾出手来,而且基于PHP的时间调度 网上找了找没找到合适的。再者当时时间比较紧迫,想尽快做出一个demo来,于是就改用了我们用着比较顺手的SSH+EXTJS框架开发。
于是当天晚上就开始搭建框架,布局前台,经过3天的艰苦奋斗,终于把前台给画了出来,为了提高交互性,基本上把所有功能都集中在了一个页面,但同时也有初始化加载慢的问题!截图如图所示:
界面做完了以后就是和后台交互了,将增删改查的action以及service写好后用Ext的ajax调用!
然后到了最关键的部分,时间调度部分,用了基于quartz的开源包,这个用来调度真的不错,将用户填入的日期qq号 转化成相应的格式传给触发器,然后在指定的时间触发相应的提醒事件!这部分的具体实现原理很简单 就不贴代码了
最后 短信提醒部分 用的是 phpfetion 实现模拟登陆wep飞信 来发短信,这个目前只是个演示功能,还欠缺很多!
弹出框提醒主要是依赖webqq提供的消息推送服务,用来在webqq页面弹出窗口或者调用声音!
最后到了应用部署阶段,或许这个阶段才是花了最多时间的地方,首先由于腾讯提供的vps的限制,也就是提供的vps不能连接外网,如果想要访问外网还得申请,只能发布,所以安装提醒这一部分很难做,目前解决的办法是:申请腾讯的vps可以访问我和天蓬的一个国外的vps,
而国外的那个vps可以访问部署PHPFetion部分,同样都是使用80端口,因为腾讯的webqq应用限制了端口 只能使用80端口,所以一个vps不可能同时跑通apache(nginx)和tomcat并且都工作在80端口,所以只能分别部署在了不同的vps上!
其次,腾讯的vps很不给力,忽好互断的,上传个东西都累死人,而且一般vps都跑不动sun的jdk,最后安装了ibm的jdk才能跑的起来
总体来说 这个实在是个很小的应用,实现难度并不大,但是由于个人水平问题,遇到的问题还是很多的,而且还有许多可以改进的地方,会在后续版本中推出!
1.短信提醒还需要加强,最好是有硬件的支持,由于目前还是实习中的学生,而且目的是参加比赛,不是发布应用去赚钱,所以目前只是软件实现,有着诸多的限制!
2.页面布局:目前页面布局不是很合理,应该更加人性化一些,前台框架第二版准备推翻重做
3.使用技术:人人都知道java慢,人人都知道ext大,所以以后想退出php+jquery版本,优化速度等。
就先总结到这里吧。第一次写的很乱,那就让砖头来得更猛烈些吧