PDA数据传输功能的分析、实现
WangYanCheng (ybygjy#gmail.com)
2010年12月22日
文章内容描述了实现应用系统数据的传输的一种方法,主要内容包括:
- 委托回调机制的应用
- 、
- 简单示例代码
一、场景描述
1、PDA应用程序系统环境:
- Window CE 5.0
- .Net Framework 2.0
- 支持WIFY、GPRS、红外、蓝牙等模块
-
2、服务器端应用系统环境:JavaEE典型Web应用系统
3、应用场景:
- 业务级别应用,包括:业务数据上传、下载、同步。
- 系统级别应用,包括:系统升级机制、系统运行日志上传、同步
-
4、目标要求:
- 对PDA设备通过WIFY方式进行数据采集、汇总、分发等业务操作。
- 需要支持同步/异步数据传输方式。
二、策略以及分析、实现思路
1、JavaEE应用系统:增加PDA管理专用功能模块,提供基于HTTP协议的访问入口。
2、PDA应用系统:封装通信数据传输功能模块,负责实现数据与外部系统的交互。
|
3、顺序图:
|
三、技术知识点
- 事件处理机制与观察者模式
- 事件委托回调机制
- 字节流基础操作
四、实现
JavaEE部分
代码片断:
注意事项:
- 可以通过request.getParameter("argName")方式取得请求地址传递的参数。
- 在处理接收流数据时类似FileUpload文件上传插件会失效,原因是虽然流是经由HTTP协议传递的,但是默认数据内容并不会被加上分割标记boundary。 详细参见RFC1867F
-
回页首 PDA部分
因为数据传输应用模块必须基于设备底层通信支持模块,所以针对特定场景会有不同策略的实现。这里只是描述了HTTP请求方式的一种简单实现
代码片断:
回页首 注意事项:
- 在单机测试的情况下,基本忽略数据传递延迟,要注意回调间隔。
-
测试截图
|
五、小结
通过使用委托机制可以容易的实现对某一资源状态的监听,委托机制的一个优点就是可以轻松实现异步方式。有时也会考虑到直接利用多线程机制完成类似功能,但那样程序复杂性、开发成本、相关投入都会提高。
此文章是属于个人工作中对一些知识运用的总结,如有错误请直接指正,多多交流,谢谢。。