kl800.com省心范文网

wu-手机银行支付软件的设计与实现


UDC: TP315 学校代码:10005 中文图书分类号:TP315 学 号:G2006 丨 8256 密 级:公开 北京工业大学工程硕士学位论文 题 目:手机银行支付软件的设计与实现 英文题目:DESIGN AND IMPLEMENTATION OF MOBILE PHONE BANKING PAYMENT SOFTWARE 论文作者:李连同 学科:软件工程 研究方向:软件工程 申请学位:工程硕士 指导教师:沈琦刘宗志 所 在单位:软件学院 答辩曰期:2011 年丨 2 月 授予学位单位:北京工业大学

独创性声明 本人卢明所呈交的论文是我个人在导师指导下进行的研究工作及取得的研 究成果。 尽我所知,除了文中特別加以标注和致谢的地方外,论文中不包含其他 人已经发表或 撰写过的研究成果,也不包含为获得北京工业大学或其它教育机构 的学位或证书而使 用过的材料。与我一同工作的同志对本研究所做的任何贡献均 已在论文中作了明确的 说明并表示了谢意。 签 名: R 期:2011 年 12 月 关于论文使用授权的说明 本人完全了解北京工业大学有关保留、使用学位论文的规定,即:学校冇权 保留送 交论文的 S 印件,允许论文被资阅和借阅;学校 nj?以公布论文的全部或部 分内容, 可以采用影印、缩印或其他复制手段保存论文。 (保密的论文在解密后应遵守此规定)

_____________________ 摘 i ________________________ 摘要 随着信息技术与 Internet 技术的飞速发展,H 前,形成了以电子商务为基础、 以 移动通讯技术为宁?段、以提供移动的商务服务为特色的移动电子商务,并在国 内外 渐成潮流,成为了推动电子商务发展的加速器。为了使无线终端(如手机、 PDA 等) 用户在移动丨 nternct 环境下能通过客户端程序开展电子商务,即为商品 交场提供 移动支付功能,本论文针对当前移动电子商务的功能耑求,在研究移动 电子商务系统 和手机银行支付系统平台的基础匕将无线应用开发与移动商务相 结合,使用 J2ME 设 计并且实现了手机银行支付软件系统,此系统实现了包括用 户注册、订单支付、浏览 订单、汀单确认和账户密码管理等功能。 木文架构安排为:首先讨论了移动电子商务的概念、怠义、国内外的发展 现状以及 存在的问题;其次,详细介绍了手机银行支付系统开发中所耑要用到的 关键技术,包栝 客户端手机应用程序中 M1DP 的开发技术、J2ME 平台的主耍功 能、特性和体系结构

等等;再次,在分析移动购物系统功能需求的基础上,以 J2ME 为开发平台实现了一 个手机银行支付软件平台。该平台的儿个主要功能模 块包括:注册子模块、支付发起 子模块、支 fj?确认子模块和密码修改:T 模块。文 中对这些模块的设计方案和实现 进行了详细描述并对软件系统设计中类函数与 其夂互性进行了说明;最后,通过实验 仿真了系统的运行,运行结果为:该系统 能够实现用户注册、订单支付、浏览订单、 订单确认和账户密码符理等功能,应 用效果良好。 关键词 J2ME:移动商务:移动支付系统 北京丨业大学丄程硕上学位论文 Abstract With the rapid development of the information technology and the Internet technology, the mobile e-commerce is formed, which is based on e-commerce and mobile communication technology. The mobile e-commerce provides mobile business services and takes it as its feature. The trend is now growing domestic and abroad,it also becomes the accelerator to promote the development of e-business.In order to make the wireless terminal users (eg mobile phone, PDA, etc.) who under the moving conditions to start e-commerce through the client end program, it is also can comprehend that it provides mobile payment ftinction to the commodity exchange, the paper designs and complements a mobile bank payment software system, which is in view of the present functional requirements of the mobile e-commerce, based on the research of mobile e-commerce system, mobile bank system platform and J2ME. The system combines wireless application development and mobile business, it has the following flinctions: user registration ,order payment, order browse, order confirmation and account password control and so on. The paper?s structure arranges as follows: Firstly, discusses the concept, meaning, developing situation at domestic and abroad also the problems that exist of mobile e-commerce; Secondly, introduces the key technologies that mobile bank payment system needs during its development in details, including the development techniques of MIDP in the mobile application clicnt program, the main functions, characteristics, architectures and so on of J2ME platform; Thirdly,in analysis of moving shopping system?s functional requirements, the paper develops a mobile bank payment software platform, which is based on development platform of J2ME. The platform includes several main functional modules as follows: registration sub-module, payment launched sub-module, payment confirmation sub-module and password modification sub-module. The paper not only describes the plan and implementation of these modules in details, but also explains its interaction with class function in the design of software system; Finally, the paper emulates the system?s operation through experiment, the result is: The system can implement the functions of user registration, order payment, view orders, order confirmations, account password management and so on, with good results. Key Words J2ME; Mobile business; Mobile Shopping System 目 录

擬 .............................................. I Abstract...................................... II 第 1 章绪论 ....................................... 1 l.i 研究背景与目的 ............................. 1 1.2 国内外研究现状 ............................. 2 1.2.1 移动电子商务支付国外发展现状 ............. 2 1.2.2 移动电子商务支付国内发展现状 ............. 3 1.3 移动电了?商务支付面临的问题与挑战 ............. 4 1.4 论文内容与主要工作 .......................... 5 1.5 论文架构安排 ............................... 6 第 2 章手机银行支付系统实现关键技术 ................... 7 2.1 Java2 平台介绍 ............................. 7 2.2 J2ME 简介 ................................. 8 2.2.1............................ J2ME 的配 S 9 2.2.2 移动信息设备配置文件 MIDP .............. 11 2.3 J2ME 的无线网络幵发 ........................ 12 2.3.1 无线网络技术 ......................... 12 2.3.2Ml DP 通用网络接口 Ml DP Common Network Interface 2.4 本章小结 ................................. 14 第 3 章手机银行支付系统需求分析 ..................... 15 3.1 手机银行支付系统工作流程分析 ................. 15 3.2 系统需求分析.............................. 17 3.3 手机银行支付软件系统架构 .................... 21 3.4 手机银行支付软件系统各个模块分析 ............. 23 3.4.1 汴册子模块 ........................... 23 3.4.2 支付发起子模块 ....................... 23 3.4.3 支付确认子模块 ....................... 25 3.4.4 密码修改子模块 ....................... 25 3.5 其他非功能性滿求 ........................... 26 3.6 本窣小结 ................................. 26 第 4 章手机银行支付系统的设计 ....................... 27 4.1 整体设计 ................................. 27 4.2 系统客户端设汁 ............................ 28 4.2.1 类设计 .............................. 28 4.2.2 功能模块设计 ......................... 31 4.3 服务器端设计 .............................. 35 4.4 SQL 数据库设计 ............................. 36 4.5 本章小结 ................................. 39 第 5 章手机银行支付系统的实现 ....................... 41 5.1 软件开发环境的选择 ......................... 41 5.2 系统的物理架构 ............................ 42 5.3 数据存储开发方案 ........................... 42 5.3.1......................... RMS 操作接口简介 44 5.3.2 数据加密 ............................ 45

14

5.4 系统各功能的实现 ........................... 46 5.4.1............................ 主界面的实现 46 5.4.2 支付发起功能的实现 .................... 50 5.4.3 订单信息査询界面的实现 ................. 52 5.4.4.............. RMS 录管理系统如何应用于软件 53 5.4.5.................... 软件的网络迕接传输问题 59 5.5 系统的运行 ................................. 61 5-6 本章小结 ................................. 61 雜 ............................................. 63 参考文献 ........................................ 65 致谢 ........................................... 69 第丨苹绪论 第 1 章绪论 1.1 研究背景与目的 Internet 为商家带来的 S 突出的发展契机就在于营销方式的变革,随着信息 技 术的闩新月异、Internet 技术的飞速发展以及在全球范围内应用的深入,目前 基于 Internet 的电子商务己成为一种重要的商业运作模式而得以广泛的应用。然 而到目 前为止,网络支付仍然是电子商务支付的绝对主流。随着电子商务支付手 段多样化趋 势的加强,另外支付模式所占的市场比例也逐渐的增加。在电+商务 的多种支付方式 中.借助于移动通信网络的支付方式具有最广阔的发展前景。 移动支付是移动通信网、Internet 以及电子商务发展与结合的产物,它旨在 借 助于移动终端(例如于?机、PDA 等),借助于移动通信网络完成电子商务交易 中的支 付过程。作为一种全新的交易结算方式,移动支付因其方便性而曰益受到 移动运营商、 消费荇和网络尚家的占睐。近些年以來,出现了 -些从客户的手机 费屮扣除交易金的 支付业务,被称为移动电子商务的支付,在这种方式中,费用 支取通过两炎途径实现: 第?类方法是从手机账单屮直接扣除交秘费用,消费者 在支付其当月手机账单的同时 也就支付了交易金额,即,移动运营商为用户提供 信用:第二类方法是从消费者的银 行账户(可以是借 id 卡账户或是信用卡账户) 中扣去交秘费用交易金额.在这类方法 中,手机劣现将消费者的银行账号与他的 手机号相关联,因此手机仅起到了简中的信 息通道的作用。这样消费者只需使用 手机或者 PDA 就能够完成整个交鉍的支付,它能 够实现类似信用卡的方便性的 同时乂能够避免在交易过程中使用信用卡结兑的麻烦。 这种常见的手机支付业务 作为一种崭新的支付方式,只有快徒、方便、低廉、安全等 优点,受到了人们特 别是年轻人的咨爱,将会夯非常大的商业前说。目前虽然移动支 付在我因得到了 快速的发展,中 W 移动支 f 丨用户 LL 达到 7000 多万人,但是交易 金额仅有 2.5 亿 多人民币.还+到全部网络支付总额 2%⑴。 R 前 T?机的使用己漆透到社会生活的各个方而,我国手机的使用 tt 已超过 4 亿部 |21 |31 。手机银行卡的 广泛 ;—方 Ifii,我国银彳 j?卡的数暈也己经达到了 9.6 亿张 使用让人们获得了更加灵活的支付方式,而集这两种产品在移动支付业务 _________________ 北京工业大学 T 程硕丄?学位论文 _______ 上,不仅能实现更加有效的支付,而且大大拓展了手机与银行卡的服务功能。随 着移 动数据业务在我国的飞速发展,出现了各种各样的移动数据增值业务,如中 国移动公 司推出的 Web 服务等。移动电子商务作为这些数据增值服务之一,在 人们牛?活屮得 到成功的应用 14】。佝是,移动电子商务的业务范围也在 F1 益扩大, 笮纯的从手机 费中扣除交易金用已经不能再满足消费者的需要。另一方面,近些 年来,虽然移动支

付的规校也得到很大的增长,大贵涌现了许多提供移动支付功 能的公司,例如上海捷 银、联动优势、易宝支付、联龙陴通等等公司 l5],但是移 动支付行业也存在着许多问 题,例如安全性与适用性等。因此,构建专门的支付 平台,结合各种新的手机商务活 动实现交易支付,进而实现基于银行卡的安全快 捷的支付服务,是目前迫切的需要解 决的问题。 1.2 国内外研究现状 1.2.1 移动电子商务支付国外发展现状 H 外现有的移动电子尚务女付业务的实现技术不尽相同,其中日韩所推行的 运荇商 主导模式移动支付相同 S 为成功。一些成功的例子如:円本移动通信运营 商釆用山索 尼公司开发的 FeliCa 技术推出了移动电子商务支付相同.目骱该系 统己经具备了较 大的规模;韩 W SK 电信联合卡组织推出的采用红外技术实现的 移动支付平台 美国支付领域的新贵 PayPal 公司初就是一个电子商务支付业务提供阅, 它提所供的移动支付业务能够实现用手机短信来购买各类商品,同时还提供货到 付款 的服务 m。 关国波士顿 (Boston)顾问公司的一项民意调査显示: 移动用户 中大丁? 60% 的人希望能在 3-5 年之内能够使用移动终端执行消费者的支付,例如 购买火车票、地 铁票、书籍、衣物、饮料食品、以及停车等等 m。 欧洲的多 HI 运营商进行联合运作,得到了效果,似是与我国与日韩不同,银 行作 为.个合作者,是不参与到运代过程中的,消费养进行汾份验证时需要通过 SMS (ShortMesagingServiee 短消息)、WAP (WirelessApplication Protoeol, 无线 应用协议)、IVR (Ihiteraetive Voiee Response,交互语咅应答)等方式 文现接入。 这杆操作起來就非常麻烦,因此不适合于实时性要求办的交易支付行为。 笫 1 审络论 最近时间以來在英国移动支付技术不断改进基础上,英国有不少的移动支付 运营商 采取把个人信息识别码读取器整合到移动终端屮的计划,并在推行。而芬 兰在作为全 世界移动商务发展域快最好的几个国家屮,人们拥有手机的比例很 高.所以有着相当 好的电子移动商务支付棊础。一直到 2008 年底,芬兰很多部 门都开始认同移动身份 认证技术并且一步?步分阶段采用(包括芬兰 OKO 银行、 保险部门、劳动部、税务部 门等)|91。 目前世界各闺所研究的移动电子商务支付系统的实现方式包括:(1)发展较 为成 熟的移动内容或应用支付;(2)拨打指定的服务号码实现移动支付;(3)借 助于移动 通信网络和用金融交易工具与银行卡完成移动支付;(4)在购物现场 手机通过红外技 术与 POS 进行通信,再用银行卡等付费;(5)通过网络购买商 品与服务,再以手机 进行支付。 1.2.2 移动电子商务支付国内发展现状 白从 2006 年以来, 我 Wf-机用户分别新增 4197 万、 5955 万、 6130 万、 6269 万、 [|()] 6400 万 ,増 K 速度之迅速令世界惊叹。截止 2007 年,我国移动用户总数 已经达 到了中国人 n 人约四分之一,数 H 增加到了 3.34 亿 1…,这个数目超过了 美国的总 人「I。截止 2009 年,我 H 移动用户总数已经超过了 40%|12),数目增加 到了 4.21 亿 1U|。最近儿年,移动用户的数 tl 还在大幅度的增加,可以预计到: 我国手机市场 的前景依然看好[14】。 近些年来,中国移动和中国联通两大通信运营商先后丌展了移动支付业务。 例如, 中 H 联通推出的“联通在线”业务,以及中移动推出的“移动梦网”就 町以右作足一种 用话费账单实现移动支付|151。2003 年,屮国银联与屮因移动合 资成立了 “联动优势 科技有限公司”,)丨'?创了中国移动公司的移动支付业务品牌 ——“手机钱包” |161。

“手机钱包”将中国移动的移动通信网络卜 j 银联/饭行的银 行卡联网系统互相连接起 來,从而女现了消费者用手机灾现交易支付。首先消费 者可以将银行卡账号设为是支 彳、丨账号,其次,选择支彳、丨标识为消货者?的于-机号阿. 这样就可以将乎机 3 码与银彳丨' k 账弓联系绑定,然耵,再借助 r java 或;i r?机 短估息等通信接入 手段实现银彳/卡支付》 1、我 w 移动电子商务支付的类型 北京丁业人学._丨:程硕上学位论文 与国外移动电子商务的支付系统类似,目前我国的移动支付也可以分拆成不 同的类 型:(1)目前发展的最为成熟的移动服务支付。在该种方式下,泊费者(或 移动终端 用户)能够借助丁-短信下载铃声、图片与软件,并且还能够传递个人信 息。(2)目 前仍处在发展阶段的远程支付。在该种方式下,可以采用不同形式的 远程移动支付, 如手机等。它所带来的快捷方便的服务已经服务于许多电子商务 的应用。(3)目前仍 在市场发存期的移动现场支付。在该种方式 F 的情况最为 S 杂,而且移动现场支付是 以 POS 机为基础的,需要比较大的投入,操作麻烦, 也不容易被消费者所接受。 2、我国金融机构与移动运营商的合作 目前,主要足由移动运营商来积极的推动移动电子商务的支付系统开发。里 然最近 几年,几个大的金融机构丌始逐渐的参与到其中,但是明显的并没有非常 重视该项业 务。在我闽,H 前移动运营商和金融机构主要采用如 F 三种合作方式: (1)金融机构与移动运荇商建立长期的战略合作关系。包括中国银联跟中 W 联通公 司之间的合作方式就足这方面的典型例子(2)采取除去银行和运 营商的第三方來搭建 移动支付、K?台模式,可以将银行与移动通讯运苕商之间推向 合作。这种由多方合作 的运行方式,注定会使移动支付具?冇一定的局限性,所以 目前采取此种方式主要是 收取公共事业费用。(3)多方合作而成立合资运营公司, 采取专一负责模式的移动支 付运营。典型的例子如联动优势,就是屮国移动和中 国银联合资的。 总之,瓜然 0 前移动支付具有较好的发展前贤,伸.是相比丁 F1 韩欧美等发达 0 家,我国門前的移动电子尚务女付仍然是非常落后的。移动现场支付具有较大 的利润 与交易金额,但是并未得到好的发展,另外还有结合银行卡的移动支付, 苒交易金额 与利润也很大,但足也没有得到真正意义上的发展。要想 U:移动支付 进入人们的円常 生活中,仍然许多的问题需要解决。 1.3 移动电子商务支付面临的问题与挑战 I、技术安全的问题 作为?种电子支付的方式,移动电子商务支付为消费#提供方便的同时,也 第 I 帘绪论 为消费者带来了一些疑惑与问题。例如安全性的问题。许多消费者难以从原来一 手交 钱一手交货的方式中摆脱出来,接受这种新的交易方式。 2、消费模式的问题 移动电子商务系统如果采用先消费后结算 (透支) 方式, 就必然要启用手机 实名制、 信用评估和构保体系,而且透支额度太小,也会阻碍移动电了?商务交易 的发展。 3、主导权的问题 由于用户数巨大,以及移动运营商和银行在移动电_r-商务支付过程中固有的 强势 地位,目骱移动运营商或者银行掌娓有移动支付产业链的绝对主导权。目前 我国的情 况是:移动运营商在积极的推广移动支付业务,而银行业则对此进行观 m,然而移动电 子商务支付屮存在的 r 大的利益都吸引着两方枳极参 b'到移动支 付领域屮來,哪家 获得主导权,也就掌握了国内移动电子商务支付的上动权。

4、服务形式和内容的问题 我国移动电子商务系统 h 前服务较为单一,内容也不够丰富。如采手机和银 行卡 更换之后.会很麻烦,因此市场推广比较困难。 5、法律法规问题 传统的商务与电子商务的法律、法规不能应用于当前的移动商务的运汽模式 下,因 此要尽快的完#相关的法徉、法规。 1.4 论文内容与主要工作 论文针对当前我 W 移动电子商务支付的发展现状,在研究相关技水理论葙础 上, 构建一个切实 nj?行的移动支付系统方案。并提出系统的整体设计构思、结构, 以及 各功能模块的职能划分等,提出了切实可行的技术路线与实施策略。以实现 对用户具 有史大的安全性和适用性的移动支付软件。 木文上要完成以下研究句丌发 1.作: (1)研究了 T?机银行支付系统丈现的体系结构,介绍了手机银行支付系统 开发屮 所需耍用到的关键技术,包括客户端手机应用程序中 MIDP 的开发技术、 北点丁业人学 T_程硕丨:学位论文 J2ME 平台的主要功能、特性和体系结构等等; (2)选择 J2MF.作为实现平台,完成了基于 J2ME 的银行手机支付软件的 设计与开 发,详细描述了其中基本的 MIDP 客户端、服务器、数据库和数据库后 台维护的幵发 过程: (3)所设计的系统实现了用户注册、订单支付、浏览订单、订单确认、账 户密码管 理、M1DP 客户端与服务器的通信等功能,运行于手机上有友好的菜单 界面。 本文内容安排如下:讨论了移动电子商务的概念、怠义、国内外的发展现状 以及存 在的问题,在分析移动购物系统的功能需求的基础上,以 J2ME 为开发平 台实现了一 个手机银行支付软件甲台。分析了系统几个主要功能模块包括:注册 模块、支付发起 子模块、支彳、j 确认子校块 4 密码修改子模块的设计方案与详细 实现。对软件系统 设计中类函数与其交互性进行了说明。最后,通过实验仿真了 系统的运行,运行结果 表明:该系统能够实现用户注册、订单支付、浏览订单、 订单确认和账户密码管理等 功能,应用效果赵好。 1.5 论文架构安排 木论文共分 5 韋?结构安排如 F: 第 1 草:是文章的绪论部分,介绍研究课题的学术背景与实际意义;相关领域 的研 究进展及成果、存在的不足和有待深入研究的问题;本研究课题+:要研究内 容,明确 了文章的研究对象。 第 2 章足对手机银行支付软件系统开发的关键实现技术研究。手机银行支付 软件 的开发是基于 J2ME 的,所以着:車:说明了于-机银行支付软件在开发中涉及的 -些技 术和相关的网络连接技术。 % 3 草对手机银行支付软件进行系统需求分析。土要包栝于?机支付现有流程 分析, 指山现有支付流程的《限并提出解决方案,并报拋解决方案对 T 机支付软 件进行耑求 分析。 第 4 草是手机银行支付软件的设计部分。主要包括根椐需求分析草节凡体设 汁平 机银行支付软件体各个投块如何设讣,各功能校块的类与类交可设计等。 第 1 肀绪论 第 5 章是手机银行支付软件的实现部分。主要介绍了进行手机银行支付软件 丌发 的软件几发环境、主要功能模块的实现与模块界面,解释了程序实现的部分 核心代码。

最后在结论部分是对论文所做工作进行了总结。 北京丨:业大学工程硕士学位论文 笫 2 眾丁机银彳 ri 付系统实现关键技术 第 2 章手机银行支付系统实现关键技术 为了实现手机银行支付软件的开发,本章首先简述了手机银行支付软件的开 发中用 的一些关键技术基础,包括了手机银行支付平台的系统架构、JAVA 平 台整体情况、 软件设计需要用到的 J2ME 技术与相关开发环境,以及目前主 流的 J2ME 无线网络技 术等内容 目前关于处理移动支付已经有 WAP, SAT, SMS 和 BERW 等技术,相比于 这些技 术,J2ME 具有可移祖性、低的网络资源与服务器负载、MIDIet 的动态事 件处埋、 琪物保护与密码技术等优点,因此支持 Java 也是手机发展的必然趋势。 另外,J2ME 还能编写运行于各种硬件与不同操作系统上的软件代码,因此本论 文考虑将 J2ME 作 为银行电子支付系统的实现技术,來实现手机银行支付客户端 系统软件。在本章茬先 对这一实现技术进行介绍。在 J2ME 之前,首先对 Java2 平台进行介绍。 2.1 Java2 平台介绍 Java 是 Java 语 g 与 Java 平台的总称《 1995 年 5 月,Sun Microsystems 公司 118】推出了 Java 程序设计语言(以下简称 Java 语言)。具有动态的 Web、跨 平台、 Internet 计算的 HotJava 浏览器 (采用 Java 技术实现, 支持 Java applet) 的出现显 示出了 Java 程序设计语亩的魅力,现在常用的一些浏览器也都支持 Java applet, 自 Java 技术被广泛接受,它依赖自身的:;'?;善 4、断推动着 Web 的 迅速发展。Java 平台是由 Java 应用编程接口 (Application Programming Interface, API)和 Java 虚拟机(Java Virtual Machine)两部分构成,其 屮 Java 应用编程接口的作用楚为 Java 应用提供?个标准接 U,它又可以分为基本部 分和扩嵌部分,该接口是独立 丁系统操作系统的。因此,R 前 Java 平台屮已经几乎 嵌入了所釘的流行操作系 统。 总体来说,Java 可以分成三大类体系:JavaSE (Java2 Platform Standard Edition, java 平台标准版),它的 API 接口以 K?运行的环境是?食专门应对传统 桌 面的,同时也是 java 这个平台串.Ifll 的基本组成成分。在 Java2 的各种 f 台下, 北京工业人宁丨:程硕丨.+学位论文 都有以其相应的开发组件 对应,例如,Java2 Software Development Kit (SDK) 就是 J2SE 里面对应的开发工具。 在 J2EE 中, Java 语 5 的所苻特性都包含于 Java 类 库中,它主要应用在台式机上。作为 J2SE 的扩展版木,JavaEE(Java 2 Platform, Enterprise Edition,java 平台企业版)主要的应用集屮在企业应用中,这些应用 往 往以服务器端开发为基础,以可迁移数据库技术为核心。Java 语言的所有特性 都 包含于 Java 类库中, 此外,不通种类的规范和接 n 也包含在其中, 比如说 JNDI,EJB, JDBC, Servlets, RMI,这些都是。其中对于 J2EE 米说艽主要的后端设 施就是 Server。在此就和 J2SE—样,它也使用了虚拟机技术(Java Hotspot)。第 二个 就是 java 为微设备运行的简化版 JavaME(Java 2 Platform Micro Edition)。 专 门定义的 API 组,就是为了让其能在系统资源较少的电子设备和嵌入式设备中应 用 编程,其中电子设备和嵌入式设备就包含手持无限设施(如手提电话)、PDA, 智能冰 箱和其他少有充足资源的类嵌入式电广设施。W 为这些设施不宵是 CPU 还是内存在多 方面都有限制,J2ME 的类库相校于 J2SF.的库比较起來有.些缩 水,姓然说类库变 小,但是增加了一些新的特性,虚拟机根据应用环境即缺乏足 够资源的嵌入式系统做 了变更。J2ME 有两类虚拟机 CVM (C Virtual Machine, C 虚拟机)与 KVM (K

Virtual Machine, K 虚拟机),是其标准参考实现。他们适用 范闹并不相同,简 单地说,CVM 的功能比 KVM 功能更为强大,低端 MIDlet 交给 KVM 虚拟机,高端交 给 CVM 虚拟机間。 首先将 Java 平台安装于一个硬件或操作系统平台上之后,然后就可以运行 Java 应用程序了。Java 程序仅需要执行.次编译,就能够在各种操作系统和硬件 平台中使 用|2(>1。本文系统设计是基于 J2ME 技术进行开发的。 2.2 J2ME 简介 J2ME (Java 2 Micro Edition)主要足针对运行在独立设备、小型设备、嵌入 式设备、 互联移动设备卜.的 Java 应用程序开发而提出的 java 技术规范。 作为 Java 技 21 术的微型版,J2ME 是由美 U SUN 微系统公司首先提出【 】。阁 2-丨给出了 J2ME 的 体系结构阁。 如阁所小, J2ME 技术核心主要山一食适合运行在上述设备环境 I:的 API 接口和一个 Java 虚拟机(KVM)构成。 笫 2 韋 T-机银彳 ri 付系统实现关键技术 图 2-1 J2ME 体系结构图 Figure 2-1 The structure of J2ME System 2. 2. 1 J2ME 的配置 考虑到移动设备拥有大品的厂商,而且设备功能和具体接口存在较大的差 计,在系 统设汁中需耍考虑 J2ME 在系统开发时能提供的通用性。J2ME 的通用 性是借助于一 个特殊的配 W.文件來实现的。

阁 2-2 J2MES 次结构 Figure2-2 J2ME Overview 在系统幵发中,J2ME 通过将 +同的设备分类,随后就会 U:对应的设备按照 相应的各个不同开发商所逍循的标准与规范指定。除此以外能够做到自己适应开

_________________ 北京 T 业大学 IT 程硕士学位论文 _______

发环境,不过耑要进行相应配置文件来调节 I221。选择过程足:J2ME 的每个配置 能 够配冒具体的硬件类型,是一组通用设备提供坛精简结构的 Java 平台。图 2-2 给出 了 J2ME 常用的两种配罟:有限连接设备配 S (Connected Limited Device Configuration, CLDC)和连接设备配 S (Counected Device Configuration, CDC). 其中一些支持 J2ME 技术的于-机采用的就是 CLDC 配置,CLDC 配胥对支持手 持 设缶和 Java 应用程序接口都进行了定义。CDC 配冒往往用来对一些设施硬件高 级 的电子产品进行定义,如洗衣机、冰箱、电视机等,它也定义了有线连接的设 备的应 用程序技术和接口。大部分基于 CLDC 系统中采用的是虚拟机 KVM。所 面向的设备的 具体配 S 不同是 CLDC 和 CDC 两种配 S 之叫的圾人区别。CLDC 存储器大小往往只有 128K?512K,所针对的设备的处理能力相比于 PC 机是非 常有限的,并且,CDC 系统 主要应用设备配置好、 岛位处理器 (32 位以上), 大 容量空间存储的设备 (高于 512K), 在如今一部分系统 4!.面,火部分基于 CDC 的系统中采用的是虚拟机 CVM,CVM 具有 强大的功能。图 2-3 给出了 J2SE、 CDC、CLDC 之间的关系。

阁 2-3 CDC、CLDCs J2SE 义系阌 Figure2-3 Relation of CDC、Cl,D、J2SE Java2 Platform Micro Edition Wireless Toolkit 足一个;Jl:发 T_具, 它为设备提供 了一个栈拟环境来编写移动设备程序,涵盖冇编 5 程序要求的各种库和相应的模 拟器 等,可以通过校拟器来对各种类型和各种硬件的手机设备进行调试。它支持 J2MH CLDC/MIDP 的开发^ 笫 2?手机银行支付系统实现关键技术 2.2.2 移动信息设备配置文件(MIDP) 移动信息设备配置文件(Mobile Information Device Profile, MIDP) 述 立在 CLDC 的基础上, 其功能是描述手机和寻呼机等一些具体化的无线 移动设备。 J2ME 平台的移动信息设备配芄文件定义了一个标准的 Java AP I 集合。Java API 集合与 受限的设备配首 CLDC ?起提供了完整 Java ME 应用程庁?运行环境,该运行环境是 一个曲向如移动电话、无线个人电脑记 事本、双向寻呼机等移动信息设备的。 数据的持久存储是编写应用程序的一个苺本要求,就是说数据要以一 个特定的方式 存储,不可以失效、丢失,还耑要能够根据相应操作來简单 的进行搜索和刷新。J2ME 中有专门的数据持久存储系统(Record Manage S ystcm, RMS), RMS 相当于通信 手机的数据库,提供了数据库应有的搜索、 棑序功能,只是相对简单。|231。 R M S 作为 M 丨 D P 上的标准数据持久存储丌发系统,R M S 负责史新数据、 检 索数据、存储数据并将其在手机上操作。而 MIDP 设备的内存可以分为 3 块:分别是 Persistence Storage、Heap Memory % Programme Memory1241? 3 移动〒?机设备 111 己的操作系统 (Operating System) Jf 始运行 MIDlet 套 件的时候,就是开始运行 MIDletsuite,需要的内存由 Programme Memory 来划 分内存空间來提供。另外,一个移动终端设备可以有多个 MIDletsite 来提供所需内

存,所以,移动终端设备能够使用多个操作系统所分配的 Programme Mcmor 来实 现对 MIDletsuite 的存储。 MIDP 设备中会提供给 Heap Memory 内存空问,就足运行的程序在它 周期中存放 程序创建的对象还有各种变景的存储内存空间,在设备中为这 部分划分提供空间约在 儿百 K 之内。 运行期间 M1DP 应用程序部分数据需要放在 Persistence Memory 中,要 )1J 这作'个:I'hJ 来长时间存储,丨|()时 RMS 的数掘也在 Persistence Memory 的 空 问中存储。但是,数据持久存储系统不能够实现数据的随机存储。数据持 久存储 系统必须按照进制数据的方式进行存储。般的数据存放的 Jj—式 _________________ 北京丁业大学 T 程硕士学位论文 ___ 足类似于数据库的表格,而数据持久存储系统不同,它仅仅是按照-个记 录的方式来 存放数据,即,在存放数据时数据对应的存放表格仅仅有一行。 2.3 J2ME 的无线网络开发 在手机银行支付软件的开发中,无线通信是实现数据交换的关键。各种基 于移动信 息技术为无线网络下的系统丌发提供了一个很好的丌发环境。 2.3.1 无线网络技术 目前无线网络技术相比有线网便携、机动性方面有着很大的优势,具 体来说为无线 窄带广域网、尤线宽带广域网、无线局域网技术。一个明显 的趋势是无线网络技术获 得广泛的应用,越来越多的人丌始习惯使用手机 上网,也是将来技术发展的方向 U51。 B 前 Java 技术支持的无线网络技术包 括在我国的移动设备屮都有广泛的应用的 CDMA、GPRS 等等。 1、窄带广域无线网(Narrowband Wide Wireless Network) 目甜现有的窄带广域无线网络可以分为三大类, 即 GPRS 网络、 HSCSD 网络' CDPD 网络,这三种网络都有自身的特点、优点和凼有的缺陷。 ⑴分组无线业务(GPRS) : GPRS 是一种新的具有“按量计费”、“实 时在线”、“自 动切换”和“快徒登录”优点的分组数据承载业务[26]。因为 将分组技术应用于 GPRS, 用户可以克服上网断线的烦扰。 与 WAP 不能同 时上网和使用电话服务不同,这种 GPRS 方式上网可以 M 时的使用网络和 GSM 通话的功能。 (2)高速电路交换数裾(HSCSD) : HSCSD 是种适于移动用户的 数据传输的技 术,与 GSM 技术相比,没有本质上的差别,但是 HSCSD 比 GSM 的速度至少提岛了 4 倍以上。H 前也有一些信号的手机支持丨丨 SCSD 技术,例如 Nokia6250 和 Nokia6210|27). (3) CDPD 网络是以 TCP/IP 协议为基础的,其实现方式屮采用了对数 椐进行分 组操作的思想,被抒为??最好的无线公共网络数拟通信规栉”。 它实现了将高速传输 速度、丌放式接口、空中链路加密、用户单元确定、 ffi 缩数椐纠错、空中数拟加密 等技术的结合。 第 2 7 -T?机拟行 i 付系统实现义键技术 2、宽带广域无线网(Wideband Wide Wireless Network〉 代表无线网络发展趋势的几种宽带广域无线网分别足 LMDS (Local Multipoint Distribution Services,木地多点分配业务)、WCDMA ( Wideband Code Division Multiple Access,宽带码分多址)、SCDMA (同步码分多址的 无线接入技术) (1)本地多点分配业务(Local Multipoint Distribution Services. LMDS) 此种宽带是工作在微波频率段的,目前可以将它频率定位在 28GHz 左右 129]。 优点是

对双向的通话、图片、影像流等数据在+远的范围内传输。山于, 数椐双向传输和高 带宽数据传输流畅等是微波这个波段的优点,也是 L M D S 的优点,此优点使得无线 网络接入点问题得到解决。 (2)同少码分多址的无线接入技术(SCDMA)是一种保密性好、辐 射小、通信质景 高的第三代无线通信技术。它具有与 TD—SCDMA 相同技 术内核,其内核的技术是国际 领先的。 (3)宽带码分多址(Wideband Code Division Multiple Access. WCDMA) 也 屈于第三代无线通信的关键技术之一〖3G1,它能够支持范围在 384KbPs-2Mbps 之问的 不等的数据传输速度。■以根据不同的应用场合提 供不同的传输熟虑。例如如果在汽 车火车上等移动终端高速运动的情况下, 宽带码分多址系统的传输速率比较小,但是 如果是移动终端在某些室内环 境或者低速运动等低速移动的情况下时,则可达到很高 的传输速率,有时 甚辛到了 2MbPs?相比于 GSM 系统 9.6K/S 的传送速度,其优势 显而易见|311。 3、局域无线网 无线局域网分为 IEEE802.il 网络、Bluetooth 网络、IrDA 网络三种丨 32J. (1) IEEE802.il 网络:山全球公认的局域网权威丨 EEE802 委员会制定 的无线 协议标准丨 EEE802.nlMJ。在该标准下,与普通的 LAN 交换机的使用 方式不同,连 接缆线后之后,还要进行个人电脑的认 iiF、认证通过确认合 法后才能使用【.AN。 丨 EEE802.n 也足应用和尤线 LAN 接入点和 LAN 交换 机的一种用户认址技术。 (2) Bluetooth: “蓝牙??是 1BM、爱立信等多家公司在 1998 年联合推 _____________ 北京工业大学工程硕士学位论文 出的一项无线网络技术,它定义了一种统一的无线局域网通讯标准|341。蓝 牙技术取 代了借助于数据电缆的短距离无线通信技术,在新的无线局域网 的通信标准下,工作 在低带宽信号情况下,能够实现借助于低带宽信号的 点对点,或点对多点连接之间的 信息传输。 (3) IrDA: IrDA 是最早的无线局域传输方法,利用的是红外线来传输 数据。 1993 年,有儿十个大的厂家侣议成立了红外数据协会,将红外通讯 标准进行了统一, 一直沿用至今。 2.3.2 MlDP 通用网络接口(MIDP Common Network Interface) 在 MIDP 中为了使在网络环境下开发更加灵活,主要是对于各种各样的 无线网络来 选择以其相对应的开发接 U,而提供了都是采取 Connection 接 丨丨继承获得的一组 网络开发接口。丨 nPuteonneetion、Datagram Counection、 Stream Connection Notifier、和 OutPut Couneetionl35)分别是 Connection 接口 的四个继承类。 2.4 本章小节 为了实现手机银行支付软忭系统的丌发,本章首先介绍了系统实现中的一些 关键 技术基础,研究了手机银行支付平台的系统架构,以及在系统中采用的 JAVA 平台整 体愦况、软件设计需要用到的 J2ME 技术等等。通过木章的研 究,为基于 J2ME 的手 机银行支付软件系统的设讣_实现奠定了基础。 第 3 苹手机银彳 r 支付系统:求分析 第 3 章手机银行支付系统需求分析 手机银行支付的 s 的是借助于移动通信网络实现一个移动的电子商务 服务系统, 能够劣现借助于移动电话办理银行相关支彳、丨业务,是移动电子 商务支付的一种有 效手段,也是继网络银行之后的一种新的银行服务方式。 本章我们对手机银行支付系

统的处理流程进行分析,以针对具体耑求完成相应的 功能要求,本章的目的就是根据 用户的需求,采用面向对象的理论來貞观准确淸 晰的表达出系统所要实现的功能并进 行详细说明。 3.1 手机银行支付系统工作流程分析 在手机银行支付系统工作过程中,银行通过消费者的手持移动终端和 中国移动、联 通的通信 W 络的信息平台,为客户提供消费支付的功能。作 为一个移动支付的平台, 整个系统流程工作如下: 第一,栘动支付个人用户需要在移动支付服务提供商处注册,注册结 束后,就会把 自己的手机号和相应的信用卡相互捆绑, 然后用户还会从移 动支付提供商那取获得 (卜 '载或其他方式)移动支付软件和支付密码。如 果是商家手机用户,在移动支付提供 商处执行与个人用户类似的注册之后, 移动支付服务提供商会为它在葙础信息中增添 一个它 HlA 的企业号,并将 注册时所提供的信息和账户绑定。 第二, 用户在某一商家选购完商品之后 (需耍该商家也己经在移动支 付服务注册) , 向尚家下发订笮,然后,通过系统界面选择支付的方式, 在支付方式的系统界面屮选 择“手机支付”。 第三, 用户使用移动支付软件输入购买商户的企业号 (企业号是从商户 那甲.问得) 、 选择相应号码订甲,和本次交品耑要支付的金额,将其提交给 移动支付服务提供商。 第四,移动支付服务提供商采取短信提示方式苫知用户交鉍成功,银 行怜早.fij 的相应金额扣除,并告知商户。 北京工业大学 T.程硕十学位论文 这个流程如下图 3-1,

^ 3-1 移动支付流程图 Figure 3-1 Mobile Payment Flowchart 3.2 系统需求分析 用角、用例构成的关系图在向向对象分析设计中被称为用例图,而 此往往会用作需 求分析图例使用,手机支付系统耑要的功能就足发起付款, 外确认付款.为了确保安 全的发送信息,运营商耍为用户提供密码服务。 作为?个手机支付软件应能够按客户

要求改变密码。因此,确定了三个用 例:密码变更、确认付款和发起付款。如图 3-20 笫 3 帝丁机银行支付系统需求分析

阌 3-2 软件用例阁 Figure 3-2 Usecase of software 1、发起支付 i)用例車件流描述 I 支付发起 1.1 支付发起描述 这个川例可以 u:移动川户支付过程发起。 1.2 前置条件 无。 1.3 后置条件 用户的耍求被移动支付服务提供商获得,订中被逑立,并将交易金额从相 应的 HJ 户帐户划出并转进临时帐户》 1.4 韦件流 1.4.1 S 流 如果用户发起支付.启动 W 例。 (1〉用户进行支付选抒; (2)系统屏幕敁示支付界面: (3)川户将商家号、T-机号、交易金额、ij 单号义键信息坝 5 完全: (4)系统将商家号、手机号、交易金额、订单号关?信息发送给服务 器并接受错误 报'占: (5)如*不返 M 错误信息,则开始分支流 5 1 执行:+然分支流 S-2 执 行。 1.4.2 分支流 S-丨:错误佶息为空的话。商家号、手机号、交易佥额、订单号存入手机屮: S-2: 错 W 倍息由服务器返冋的话。屏倍错误倍息显示,然 V:返问支付界面。 北京工业人 f:丨.稃硕-丨._学位论文

图 3-3 支付开始活动阁 Figure 3-3 Activity Diagram of payment start 3)非功能性需求 在用户能够接受的范围之内,反馈信息的时间尽最缩短,并且域大限度地减 少 GRPS 数据传输流暈,以节畨费用。 2、确认支付 1) “确认支付”用例屯件流描述 第 3 章手机银行 i 彳?丨系统需求分析 2 确认支付 2. 1 确认支付描述 本用例允许叫户将发给商家货款,使川手机进行支付确 认. 2.2 前置条件 无. 2.3 后置条件 川户的要求被移动支付服务提供商获得,以订申为准将交易金额从相 应的临时账户 划出并转进商户账户。 2. 4 事件流 2.4. 1 基流 用例启动前提条竹是用户接收完服务后想耍支付确认, (1)用户从手机界面对支付确认进行选抒: (2)系统将订单列表、支付确认界面显示出来: (3)用户选抒需要支付的订单确认: (4)系统耍求用户将银行 I:?交易密码输进 i; (5)用户将银行卡交易密码输进去,等待完成服务: (6)手机里面原来己经支付的定单项被刪除. 2)确认支付活动图

Figure 3-4 Activity Diagram of Confirm payment 3)非功能性需求 确认支付在这个系统的过程中足关键性的问题,在该流程中,用户的 密码信息需耍 绝对保密,这样一来,采収的措施就必须是安全认证的,片 在信息传输过程中使用较 人的加密强度,ifD 且还需确保确认支付流程中系 -21_________________ 北京丁业火学丁程硕丄?学位论文 ______ 统响应时间尽景缩短以节省用户流:&增加用户体验感。 3、修改加密码 密码用户注册的吋候,由移动支付服务提供商用来判断验证信息来源 和加密数据是 不是此使用者相对应的密码,移动使用客户端的所有需要加 密的数据必须经过处理以 后才能通过无线网络发送传输出去,如此一来才 能使得传输过程中涉及用户敏感的佶 息得到安全保 i 正 1) “修改加密码”用例描述 3.1 简单描述 本用例允许用户修改 PI 己的加密码。 3.2 前置条件 无 0 3. 3 后 S 条件 T-机中存储的加密码被修改。 3. 4 讲件流 3. 4. 1 基流 当用户想耍修改加密码时,用例肩动。 (1)用户选抒加密码管理: C0 系统显示加密码管理页而; (3)用户输入手机号和相应的加密码; (4)保存川户输入的手机号和相应的加密码? 2)修改密码活动图 *3 草 T 机银行支付系统霈求分析

Figure 3-5 Activity Diagram of Change Password 3)非功能性需求 所耑的响应时间中等,W 要保证正确信息反馈,要求反馈信息足加密 的。 3.3 手机银行支付软件系统架构 为了实现上述支付功能,一般说來,需要由如图 3-1 所示的手机银行 支付客户端 系统完成,则系统架构要有四大部分功能模块组成,分別为: 图形用户界面子模块、 银行应用系统与数据库子模块,通讯接口子栈块与 移动终端的软件模块。如图 3-6 所 示。这四部分之间协同工作.实现将手 机 9?码与银行卡账 3 进行绑定,卩 i 通过手机 软件来用绑定的账户进行支付, 安个、方便、随时随地办理各种支付业务。 北京 I 业人学工程硕丄宁位论文

图 3-6 手机银彳 T 支付客户端的系统结构阁 Figure 3-6 The structure of client of mobile bank payment System 手机银行支付突破了空间和时间上的限制,避免到银行的柜台办理业 务,提高了消 费者的服务便利性与服务质 s:;另?方面,它也给银行带米 见低的运营成本,例如手 机银行的移动支付功能可以使目前自动柜员机 (ATM)数 M:大幅度的减少,也减少了 电话银行服务的业务。

随茗网络技术与通信技术的发展,手机银行的支付场合越来越大,交 易额也在不断 攀外。在较小的屏幕尺寸和较繁琐的手机输入操作下,如何 实现一个运行界面友好, 运行有效,时间延迟小,进而使得消费者有一个 赵好的用户体验的手机银行支付客户 端软件就成为了手机银行系统开发屮 极其重要的一个要求。 3.4 手机银行支付软件系统各个模块分析 移动支付交易对于信息传输安仝性、速度都有一定要求,耑要在做到 这些的基础 上,将交易内容发送给服务提供商,这是手机银行支 fj■客户端 软件起码的要求,此 外还耑要拙仓发起支付和支彳、J?确认的能力,然后还需 要用户密码修改功能加强用 户安伞。W 此按照以上描述功能需求,手机银 行支付软件系统的整体应该有注册、支 付发起、支付确认和修改密码卩 q 个 笫 3 苹手机银行支付系统滞求分析 主要功能。 3.4.1 注册子模块 注册子模块功能结构阁如阁 3-7 所示。手机用户在移动支付服务提供 商处首先执 行注册,H 的是将自己的于-机号和银行卡绑定。同时,于-机用 广就从移动支付提供 商处会获得-个于?机支付软件和一个唯一的密码。另 —方面,商家也会在移动支付提 供商处执行类似的注册,移动支付服务提 供商会为它提供一个唯一的企业号,并将它 自己的信息和账户绑定。 图 3-7 注册+模块功能结构阁 Figure 3-7 The Structure of registration module 3.4.2 支付发起子模块 手机用户如果在某?家己经在移动支付服务提供商处注册的商家选购 商品,选购完 成之后冉句商家卜'发订单,然后,通过系统界而选择支付方 式,这甩选择的是手机 支付。接下来,PJ 使用手机客户端软件填写商家的 企业 3(尚家的企业 3 是商家处得 到)、U 单号,以及耑要支付的夂易金额。 然后将其提交给移动支付服务提供商。移 动支付服务提供商使用短信提示 F 机用户银行卡屮交易金额己扣除.M 时向商家发出货 物发出指示(可以使 -25-

北京工业大学 1:程硕十学位论文

图 3-8 支付发起子校块功能结构阌 Figure 3-8 The Structure of payment registration launch module 3.4.3 支付确认子模块 手机用户受到服务或者货物后,验证满意,使用手机支付软件确认这 笔交易完成。 移动支彳、丨服务提供商将货款划到商家的账户并通知商家。交 易完成。支付确认子 模块功能结构图如图 3-9 所示。 m 3-9 支付确认子校块功能结构阁 用 fe 信或者网络)。支付发起子模块功能结构图如图 3-8 所示。 Figure 3-9 The Structure of payment confirmation module

笫 3 审-T?机银行支付系统:C 求分析 3.4.4 密码修改子模块 加密码是在用户注册时,移动支付服务提供商为加密数据及辨别信息 来源究竟是不 是此使用者相对应的密码,移动使用客户端的所有需要加密 的数据必须经过处理以后 才能通过无线网络发送传输出去,如此一来 I 能 使得传输过程中涉及用户敏感的信息 得到安全保证。支付确认子模块结构 图如阁 3-10 所示。 m 3-10 支付确认活动阁 Figure3-10 Activity Diagram of Confirm payment 3.5 其他非功能性需求 由丁?系统使用手机作为移动终端设缶,有着其作为客户应用端的局限性 (按 键少, 输入不方便,显示器小,屏猫内咨信息不会太丰离等),这将良接导致与 商户交互过 秤中复杂稃度,达至使得整个交从不成功,W 此就要求我们将移动处 玴系统作为一个 整体,其操作和显示的需要进行人性化功能,容易使用,让用户 使用起来史加快捷方

便,同时也增加了本系统作为移动立付的应用优势。此外手 机支份不应该被限制在网 络支讨屮,不应该只足网络支彳、丨的一种形式,而应该走 出网络支付的限制。进入 各种支付的领域。随 G?作为?种新型的支付方式,要使 得用户能够方便的使用。发起 支 f 丨时耑要按规疋的格式一字一句的塡'4 短信息无 论如何不会足吸引人的。闵此 在流程屮要下功夫提用户的舒适皮。

北京丄业大学 T&硕士学位论文 3.6 本章小节 本章对手机银行支付系统进行需求分析,首先分析了对手机银行支付 系统用户耑 求,并进行设计,然后将其 T 作流程具体划分成几个功能模块, 在此基础上给出了系 统的实现架构与主要的功能模块的实现方案,为卜?一 茯设 il?与劣现打下理论基础。 第 4 眾丁机银行支付系统的设计 第 4 章手机银行支付系统的设计 上一章节是支付软件系统耑要实现的功能以及非功能要求进行了分 析,定义各系统 功能模块,在这个前提下,此章节为各功能模块进一步细 化,实现设计各个类需要的 功能、各个类之间的交互。 4.1 整体设计 手机客户端软件向服务器发送数据,需要使用 J2ME 来访问网络。作为 手机来说, 它的网络功能不像电脑那么强大,同时 J2ME 技术对于处理数据 和网络功能也没有 J2EE 那样的丰富,因此,进行开发时,把 J2ME 和.丨 2EE 中的一些技术结合起來使 用,会使开发变得简单和容易理解。锒体结构如 图 4-1。 图 4-1 輅体结拘图 Figure4-1 Overall structure

北京丨:业大学工程硕士学位论文 软件使用 MVC 设计模式, 就是将整个全局分割成 Model、View、Controller, 3 个逻辑部分。模型(Model)代表应用程序的数据(data)和用于控制访 M 和修 改这些 数据的业务规则(businessrule)。视(View),是数据如何表现的方式并 已用户进 行互动。控制器(Controller)定义了程序的行为负责对来自视的用户要 求进行解 释, 并把这些要求映射成相应的行为。 这种模式灵活, 简单米说就是把 皮肉分开, 独、 ?/. 操作,全局一个超级对象,有利于系统扩充和后续完菩。然后用 编写好的 MIDlet 对 数据接收发放,使用 http 协议将数据传到服务器端,然后使 用 J2EE 的 servlet 技术來处理这些数据并返回信息。这是移动支付平台的一个总 体的结构设计。 4.2 系统客户端设计与实现 根据如前所述的对手机支付客户端软件的需求分析,得到了软件的设 计类图,如阉 4-2 所示:

图 4-2 类 S 计图 Figure 4-2 Class design -30第 4 草丁机银行支付系统的设汁 4.2.1 类设计 在图 4-2 中的类设 il?图中, 系统包含了七个主要的类: PassModify、 MainUl、 PaymentconfirmUK PaymentUl> order、orderlnforUI 和 sec。order 和 sec 类掌管的是实体类,负责一些主要的业务功能。其余的类是界面类函 数,其功能 是与用户之间实现交互。下面对每一个类进行具体介绍。 1、类 Order 类 Order 的作用主要是实现订单信息的保存,以及对涉及到的文件以及 文件相对 应的订单数据釆取具体处理与操作。简言之,它具有如下的属性: 其一是保存所有订 单数据、其二是操作相对应文件数据。具体如下: PhoneNum:String 保存用户的手机号码。 ordered:String 保存该订单号。 Price:String 保存该订单的交易金额。 content :String 保存该订单的一些详细情况。 c o r p 1 d: S t r i n g 保存该订单涉及的商家标示奶。 为了设置和 i 方问这些域性,类 Order 含苻以下方法: sctPhoneNum(phoneNum:String) setorderld(ordered:String) setPrice(priee:String) sctContcnt(content:String) setCorpid(corpid:String) getPhoneNumO rString getorderld()rString getPriee():String getConteni():Stri ng

getCorpld()rString 因为其他的业务要求,同时也有部分另外的方法: 北京工业人学 1:程硕.I:学位论文 saveorder (order: order)用来保存目前的。order 对象到 iE 录文件 “Order” 中。 getAllorder () : Vector 用來获得一个 Vector 对象,中间包含目抑 IS 录 文件“order”中的所有订单记录。 delorder(recordhidex:int)通过索引号来删除一条订单记录。 serialize (order) : byte []因为手机存储只能使用 byte[]形式的数 据, 因此这个函数就足将一个订单对象转化为 byte[]的序列化函数。 deserialize (byte []) : order 和 serialize。过程相反,将数据文件 中 的记录读出的反序列化函数。 2、 Sec 类 Sec 的主要作用是加密用户的银行卡,它仅仅包括?个屈性: Password:String 用来保存用户的保密码。 有以下的方法: getPasswordO :String setPassword(Password:String) lock (password: string, ming:string) :byte[]用来加密用户的银行 卡 密码。 savePasswordO 用来将修改后的密码保存到记录文件“Password”中。 serial izeo 和 deserialize()完成得工作和 order 中的一样。 3、Mainlll 类 软件的主界面类就足 MainU 丨类。在本系统劣现中,主要是依照 MIDlet 程序的 界面类规定来设汁界面类的属性方法。 4, PaymcntUI 类 paymentUI 类的屈竹足支彳、丨发起界 ifli 类。它也仅仅包括■个函数: -32第 4 章_T?机恨行支付系统的设汁 sendorder (order:order) :strins 它的主要作用是将用户究成的 IT 单 (除 订单号)发向服务器端处理,并返回一个 stringl 类型的订单号。 5、PaymentConfirmUI 类 PaymentConfirmUI 类的城性是支付确认的界 ifii 类,该界血的主要作用 是列 出所有还没有进行支付的订单。 6、PassModify 类 PassModify 炎的域性是修改密码的界面类。 7、orderinforUI 类 OrderlnforUI 类的作用是在 PaymentConfirmUI 类中选择了支付确认的 订单之后.W 栻示要支付订单的具体信息,并实现支付。 4.2.2 功能模块设计 系统功能耑要将用户体验放到首位,同时在建'^安仝的付款信息传输 和很好的用 户体验接础上,手机银行支付客户端软件不仅仅要支持网上购 物中的手机支付,向时 也应该支持手机的现场支付。因此,本论文在分析 现有的各个移动支付提供商的流程 的基础上,提出了新的支付流程,在使 用这个流程时,不再耑要网络的辅助。用户只 要知道商家的企业号和订单 号,就可以进行手机支付。+沾要通过网页来发起交易,

因此这个流程不 仅仅适用于目前移动支付的需求,也兼顾了未来移动支付可能的需求。 手 机银行支付软件系统的整体架构如图 4-3 所示。 北*工业人学_丨:程硕 I:学位论文 m 4-3 〒机银行支付软件系统整体架构 Figure 4-3 The Structure of client software of Mobile Payment System 根裾功能模块划分,米设计类巧类之间 是如何协调作用以实现系统的各个功能。 1、支付发起 类交互设计使用顺序图来反映各个类之间进行交互的方式,如阍 4-4

所示。 第 45 手机银行支付系统的设汁 阐 4-4 支付发起顺序阁 Figure 4-4 Initiate payment sequence diagram 第一步:手机用户萏先在系统界面 PaymeniUI 下发起支付; 第二步:手机用户在后续的支彳彳界面中填写所必须的支付信息: 第三步:支彳、丨界面类创建 order?类的对象,并将订单信息写入 order 类; 第四 it:系统界而类 PaymentUI 使用 sendordero 再将 I 丁单传到服务器 端; 第五步:系统界面类等待订单 t 传响应,成功之后接收服务器发回的 ij'单编号; 第六步:Order 类将 order Id 写入 order 屮; 第七少:()r(lc「类调用_savc?rik!r(>方法进行保存,存入手机内存中。 2、“支付确认” “支付确认” UML 顺淨如图 4-5. -35-

北京 T 业人学工程硕丨.?学位论文

图 4-5 支付确认顺序 Figure 4-5 confirm payment sequence diagram 第一步:手机用户调用支付确认界面 paymentConfinnUI 发起支付确认; 第二步:支付确认界而 paymentConfirmUI 仓_J 建 order 类对象; 第三少:Order 对象调用 getAllordero 方法返回所有的订单,并在 paymentConfirmUI 中显示; 第四少:宁-机用户选择某一个订单之后进行支付确认,然后进入 OrderlnforUI, 系统显示被选中的订单信息; 第五步:由 OrderlnforUI 类创建?个 Sec 对象,将 orderld 加密(使 用的足 lockO 函数),然后再将加密后的信息发送到服务器 h: 第六少:OrderlnforUI 类删除所选的订中。 3、修改密码 笫 4 章手机银行支付系统的设计

Figure 4-6 Modify Password sequence diagram 如图 4-6 所小?,亍-机用户提出修改加密码请求进入 PassModify 界面。 输入 加 密码,加密码修改界丨丨 11 PassModify 创建 Sec 对象, 并将加密妈传给 See, Sec 调用 savePasswordO 来保存加密码,流程结束。 4.3 服务器端设计 采取 servtet 成为手机端与服务器之间相叮沟通的连接件,在服务器端就可 以应 对处理手机端传输过来的各种各样的耍求,同时,奔找数据库数据,将请求 运行结果 冋复于?机端,A 此就形成了一个从服务器端、手机端,和数据库三者的 数据沟通。运 兑于?机端发送过来的多种运兑要求,运行完毕就要把运算成果再次 传输到丁?机端, 这也就记服务器和 T?机端的数椐沟通的一部分。整个软件的执行 快慢,可以通过优化 数琚传输协议.使得服务器端和手机端的传输运行 fi 人人缩 小来进彳改进。 -37北京工业大学工程硕 I:学位论文 服务器使用 Servlet 的 HTTP 服务请求与 HTTP 响应,来作为和客户端的和服 务 器端交互。传输过来的信息统一运行之前会在服务器単.面按要求进行各自分 类,举 例来说:接收到支付信息的时候会对数据进行校对,既是用户是否存在, 密码是否准 确,当用户名和密码一致的时候,服务器就会继续下一步信息反馈; 如果用户名和密 码其中任何一个不正确,服务器就会反馈支付失败信息。如果收 到修改密码请求,服 务器会把新的密码用户密码保存到数据库。 服务器使用 MVC 模式设计,好处就是可以使系统逐渐更加完善,可以为系统 预留 备用的功能,在以后的使用过程中需要在服务器中编排新的功能运算时,仅 需要在服 务器中编写添入处理这个功能的函数即 p〖,简单并且及时的加入新功能 使系统越來 越成熟。 HTTP 应答方式和服务器之间的数据交换智能传输二进制,而客户端与服务 器可能 需要传输的数据信息比较多,量比较大,这些是手机客户端和服务器之间 传输过程屮 经常出现的问题,因此需耍把相互之间崙要进行往來运算的信息分成 好几个类,使得 手机客户端与服务器端可以共皁使用来解决两方面信息处埋采用 的格式不一致而产生 的一系列问题。

手机客户端与服务器端程序开发过程中都耑要使用的开发包,通常这部分信 息传递 开发包被设成共亨《见下阍 4-7。 笫 4 肀丁机银行支付系统的设计

图 4-7 客户端与服务器共享开发包 Figure 4-7 ClientTerminal and Server Shared Exploitation Package 在系统客户端和服务器端数据交换的过程中,将反馈客户端的信息分成两 类:标志 信息和数据信息:既是在通倍过程屮服务器无需给客户端[HlS 或各没要 求返回运行 结果的就定成标志信息,比方说登陆的反馈结果就是标忐信息。如果 要求服务器给客 户端回复信息的话就定成数据信息。如服务器句客户端返回订中. 1C 录的信息。 在 HttpResponse. class 屮设定了四种标志信息封装其中, 分别设冒.了数值 加 以区分,这些信息类型是支付成功、支付失败、信息修改成功、信总修改失败。 只体代码如下: Public class httpResponse{ public static final int Paymcnt_SUCCESS=100: public: slat ic final irit Pay men t_FA I L=200; pub I ic static final int MOD I l:Y_SUCCESS- 300: public static final int M0I)IFY_ FA 11 =400: -39北京工业大学 T.程硕士学位论文 } 使用函数对标志信息进行读取判断就可以冈分不同的处理类型,快速反馈信 息,迅 速调整客户端界面切换。数据信息是服务器需耍向客户端传送返回数据的 反馈信息。 其结构以字符 PM 为数据头部,再添加服务器需要返回的数据。 服务器在封装数据信息的时候会根据+同的返回数据封装相应的信息。客户 端使用 Http 线程处珲接收到反馈信息,通过判断反馈信息是标志信息还足数据 信息,进行 不同的运算。客户端的 Http 线程接收到从服务器发送回来的反馈信 息以后,首先判 断反馈信息长度是否小于等于 3,如果判断结果为真,表示客户 端接收到的是标志信 息,读取标志信息的值,以进行相应的运算;如果判断结果 为假,再判断反馈信息是 否以字符 pm 作为数据头部,如果判断结果为真,表示 客户端接收到的反馈信息是数 据信息,客户端显小数据信息的内容;如果判断结 果为非真,那么客户端接收到的是 未定义信息,也就是错误信息。当客户端的 Http 线程成功地判断了反馈信息的类型 以后,客户端就可以根据不同的反馈信 息进行运兑,完成界面间的转换,显示不丨^ 的运算结果。

4.4 SQL 数据库设计 MySQL 是一个真#的多用户、多线程 SQI.数据库服务器。SQL(结构化查询语 H) 是 111;界上最流行的和标准化的数据库语占。MySQL 是以一个客户机/服务器结 构 的实现,它山一个服务器守护程序 mysqld 和很多不同的客户程序和库组成。 SQL 是 一种标准化的语=,它使得存储、更新和存取信息更容易。同时 MySQL 也 能快速、灵 活地存储记氽文件和阁像。 依据数椐库设计的般步骤,应用到本系统屮分析研究,对数据库进行设汁。 在本系 统中,域核心的倍息是用户信总、支付信息和商品信息。用户信息包含用 户卡账号, 密码,手机 3 码以及用户的银行信息。用户的银行信息又是用户信息 的核心。支付信 息上要包括支付号,支付地点次,支付仝额,购买什么东两等。 尚品佶息主要商户倍 息、商品金额等 0 数据库的实现妞丁?数据库设计步骤屮的实施和运彳丨-阶段, 吋以直接利用 MYSQI. 完成这些操作。 -40笫 4 章 r-机银行支付系统的设计 使用 MySQL 建立数据库的步骤如下: 1.创建基本数据库: 2.根据数据库 E-R 图建立所有的表。 系统使用 MysQL 的 MySQL Administrator 对所有表进行管理和维护。以下 是 数据库甲.的表、字段以及属性,以后可以根据需要扩充。 用户信息表包括:用户姓名、用户编号、用户卡帐号,密码,手机号码、创 建门期 以及用户的银行信息。 表 4-1 用户信息表 Table4-1 User information table NULL/NOT 字段标识 字段名称 类型 长度 备注 NULL ID CHAR 20 NOT NULL 用户编号 USERNAME 用户姓名 CHAR 20 NOT NULL PWD VARCHA 20 NOT NULL 密码 R PHONEnumb 手机号码 VARCHA 20 NOT NULL er R DATE CHAR 20 NOT NULL 创建曰期 BANK CHAR 20 NOT NULL 银行信息 aNUMBER 用户卡帐号 CHAR 20 NOT NULL 商家账户表:用户账号、账户金额、创建 R 期。 北京工业大学 T 程硕 I ?学位论文 表 4-2 商家账户表 Table4-2 merchant account table NULL/NOT 字段标识 字段名称 类型 长度 碰 NULL _ SELLERID 用户编号 CHAR 20 NOT NULL BALANCE 账户金额 MONEY 15 NOT NULL CREATEDAT 创建时日 DATETI 8 NOT NULL E ME 商品类別表:类别号、类别名 表 4-3 商品类別表 Table4-3 Commodity category

字段标识

字麵

长度

? NULL

备注

LEIBIEID 类别号 CHAR 10 NOT NULL LEIBIENAM 类别名 VARCHA 20 NOT NULL E R 商品信息表:商品代号、商品名称、价格、折扣、类别号 *4-4 商品估总忐 Table4-4 Commodity information table mm NULL/NOT 字段标识 字獅 备注 长? NULL PRODUCTID 商品代号 CHAR 10 NOT NULL PRODUCTNA 商品名称 CHAR 20 NOT NULL ME PRICE MONEY 8 NOT NULL 价格 DISCOUNT 折扣 FLOAT 4 NULL CATEGORYI 类型号 CHAR 10 NOT NULL D 数拋阼建立好所有的表格 in?便可存入所需数据,为系统所使用。 4.5 本章小结 本章研究了如何具体设计 T.机银行支付系统具体客户端、服务器端、sqi 数 据库表建 立,具体各个校块如何设计,系统各个类与类交互,几逐一介绍各个类 -42__ ____ 第 4 章丁机银行支付系统的设计 之间如何相互作用。 第 5 章 f?机银行支付系统的实现 第 5 章手机银行支付系统的实现 5.1 软件开发环境的选择 耍编写 J2ME 程序来开发一个手机银行支付软件系统, 昏先要安装程序的 丌发环境。 在本软件的开发过程中,使用的开发环境如表 5-丨所示。 表 5-1 开发环境 如前所述:J2ME Wireles:Toolkit2.21361 包括-个手机模拟器和.个开发运 行 环境 KToolbar,它是 Sun 公司专门为 J2ME 程序设计开发的程序丌发包,JE 确安裝 之后就能够运行 J2MF.卜'的各种程序代码。 BouneyCastle 为 Java 提供了史好的安全性,W 为 BouneyCastle 实现了 Java 女全屮的两个抽象概念:算法的类和引窄,当然它也就丈现了 Java 甩所规定的 人部 分加密兑法和加密引學》目前.Bouncy Castle 以 K 良好的安全性能成为了 首选安 仝提供者,实现了 J2ME 中数掂进行加密和解密 1371。 -45Table 5-1 Development environment 软件名称 J2ME Wireless Toolkit 2.2 J2SE 1.5.0

Bouney Castle APIs Tomcat MySQL5.0 EclipseMe Eclipse 北京 T 业人学工程硕士学位论文 Eclipse 是用来完成 Java 开发的集成开发环境(IDE),它是由 IBM 首先发起 的, 具有功能强大的捅件,而且可以免费使用,因此成为当前最通用也最流行 的 JavalDE1381。 EelipseMe 是添加了 J2ME 开发特性的一个 Eelipse 插件[391。 在实际工程应 用 中,这个插件导入了 J2ME library,与 J2ME WirelessToolkit -起,为 J2ME 的丌发提供了强大的功能支持。 J2SE 足 Java 的开发包,在开始 Java 程序丌发之前,。需要先安装 j2SE。 5.2 系统的物理架构

m 5-丨移动支付平台系统结构图 FIG 5-1 SYSTEM STRUCTURE OF MOBILE PAYMENT 系统业务处理逻辑部分和数据库部分则分别部署在相应的应用服务器和数 据库服 务器上,移动端和服务器端进行通信时首先通过一个无线信号接入点进 入 Internet, 然后与处于防火墙后的应用服务器进行信总的交换,完成用户所需 的功能。 5.3 数据存储开发方案 数据存储的具体竹:能里然取决于具体设铪如何进彳了-数据存储,即系统的实 现 硬件愦况,然而,通过 RMS 的数据操作函数也能够控制数据的存储。MIDlet 项目工 程本身就能够控制一条 B 有确定名字的介储 id 录即,利用 MIDlet 杩序吋 以生成许 多名字不同的存储记求文件,而一个存储?求文件能够被多个 MIDlet -46第 5 章 f?机银彳 f 支付系统的实现 程序共享使用。 5.3.1 RMS 操作接口简介 下 Ifii 介绍 RMS 儿个简单操作,这些操作在〒?机银行支付软件幵发中将经 常用 到:

1、?求文件的创建和删除 ?录的文件 u 丨以采样简中-的命名规范赋名后再访问。命名规范为:名称敁 多到 8 个 Unicode 字符长度。创建记录之后,RMS 会自行的处理文件的具体存 储位置, 以及确定存储的方式等等。 Recordstore 类是 RMS 数据库的开发接口,记汆存储文件由设备的系统自 己创 建,记求创建 APl:Recordstore.openRecordstore()0 函数原型为: Public static Recordstore opcnRecordstore ( String rccoudstroeName, boolean createlfNecessary): 其屮 recoudstroeName 指定需要打 JT 或创建的记求名称。createlfNecessary 用來判断究竞是创建-个 1C 录还是打丌一个已经存在的文件。 2、i 己录文件的关闭和删除 记求文件的关闭凋用函数 closeRecordstore(): Ifi 录文件删除调用 deleteRecordstroe();,如果被删除的 ii2 采不存在,会抛出 RecordstroeNoiFoundException 异常,在使用 deleteRecordstroe()时, 先满要 使用 U7 来判断异常。 3、id 录的添加 I 己求文件的添加调用 Rccordstore.addRecord()函数,函数原型为:Public int addRecord(byte[]data, int oflset, int numBytes):记 4 的数祀是 通过参数 data 进行 存储。参数 offset 指定耑要从数组 data 的那个元素幵始进 行存储,mimBytes 指 明耑要存储字节的个数。函数执行成功 P 返冋该记录的序列号 rccordld,即该 ?47北京 r 业大学_t 程硕丨:学位论文 记录的主键。主键是一个粮形数值,初始值为 0,每次堉加 1?另外数据库还可 以完成 监听、过滤、排序等多方面的内容。RMS 的运行十分消耗资源,而数据 操作的效率也 要视手机的硬件性能而定。因此实际中不可以同时创建多个数据 对象。尽量减少数据 的其它操作,这是 J2ME 开发的一个重要原则【40]。 5. 3.2 数据加密 安全是移动商务成功的保障也是用户最关心的问题,因为服务器端的安全 技术已经 很成熟了,所以在本系统中重点放在了移动端和通信过程的安全,用 户银行信息是用 户注册时需要输入的信息之一,根据用户在注册界面输入信息 的次序,把所有信息组 合成数据流。数据流将会以无线通信的方式从用户的手 机经过无线 internet 传送到 系统服务器,存储到数据库以便核查、宵理与调用。 无线通信茫无线电波打截容易获 取的目标,而无线设备儿乎没有任何计算能力 来支持所有通信数据的强加密[4|】。然 而银行信息如果在没有加密的情况卜?进行 传输,会很容易被截获并和被破译。因此, 系统必须对数据流进行加密。 为实现手机银行支付软件的客户端的数据加密,本系统采用了口令加密的 方式,即 首先从移动支付提供商那里获取一个密码,用來形成加密的 n 令。在 Sec 类中设计 lock()蜗数实现加密,其代码如 F: public byte[]丨 ock(String min) throws Invalid CipherTextExecption{ BufferedBlockCiphcr cipher =new PaddedBlockCipher(new CBCBIockCipher(new DESEngine()));

//初始 key byte[] password=pass.getBytcs(): KeyParameter key=ncw KeyParameUjr(password); //加密 cipher. nit(true,key); 第 5 令手机银行支彳彳系统的实现 byte[] data=min.getBytes(); int size=cipher.gctOutputsize(data.length); byte[] result=new byte [size]: ini olen=cipher.processBytes(data,0,data.length,result,0); olen += ciphcr.doFinal(result,olen): if(olen<size){ byte[] tmp=new bytefolenl; System.arraycopy(result,0,tmp,0,olen): result=tmp; } 木加密程丨 t:使用 Bouncy castle 加密序。Bouncy castle 加密包提供的是 轻 S 级的 API,这样的设计使得它适合于所有遵循 JCE 框架的应用环境,包括 J2ME, 其提供了大足的密码算法, 包括椭丨到曲线算法、 AES 等等: 集成了对 ASN.1 和 X.509 证书以及域性证书的支持。 加密的少骤如卜,酋先创建一个 Cipher 对象,它足加密的实施者。然后根 据密 码,也就是 password 来生成一个密码参数对象 key。然后使用 Cipher 对明 文进 行加密。将明文转化成一个二进制的数组 result。这样就完成了这个的加密 工作。 在服务器端,只盂要使用同样的方法对加密后的密文进行解密就可以得 到原来的明文。 这样不仪仅足保 UE 了数据的安全性.而丨 L 由丁加密码是和手机 用户一一对应的,因 此在加密解密的过程屮也同时验证了用户的身份。 5.4 系统各功能的实现 5.4. 1 主界面的实现 移动支付系统的代码主要分为以下两种,分别是劣体类和用户界 I⑴类,真 屮组织 起来实休类使用 r common 包,包含 Order 和 Sec 这两个 Java 语 R 义件。 -49_________________ 北京工业大学 T.程硕十学位论文 _ 一 组织用户的图形界面类使用:UI 包,里面包含:OrderinforUI、MainUI> PaymentConfirm、PassModify> Payment.五个文件。 MIDlet 程序的基木框架 MIDlet 是一个 J2ME 的 Java 类的基本框架,它可 以看 做是 javax.mieroedition.midlet.MlDlet 抽象类的扩展,实现了 pauseApp()、 startApp(),和 destroyApp()函数。MainUI 的代码显示如下: MainUI 类 Packagelll: Import javax.microedition.lcdui.^ Import javax.microedition.midlet.MlDlet; Import javax.microedition.rms.RecordStore; Public class MainUI extends MIDle timplements CommandListener{ Private Command exitCommand=ncwCommand(“退山”, Command.EXIT,1); Private Command con Command = new Command (“确定”, Command.SCREEN,l): Private DisPlay disPlay: Private List mainList;

Private Recordstore rs; Public MainUl(){ diaPIay=Display.getDisPlay(this); } Public void startAPP(){ String[]arra={”发起支付”,”确定支付”,”修改加密码” } mainList=newList(” 移动支付”,Choice.IMPLICIT,arrar. null) mainList.addCommand(exitCommand); mainList.addCommand(conCommand): mainList.setCornmandListener(this); disPlay.selCurrenl(mainList); } Public void destroycdAPP(boolean uncondilional)}} Public void PauscAPP(){} -50____________ . 第 3 帘手机银行支付系统的实现 _ Public void commandAction(Conunand c, DisPlayabIed){ if(d.equals(mainList)){ if(c=List.SELEC_COMMA ND||c=conCommand){ if(d.equals(mainList)){ switeh(((List)d). getselectedIndex()){ case 0: PaymentUI Payment=newPaymentUI(mainList, this, rs): disPlay.setCurrent(Paymeni): break; case 1: PaymentConfirmUI Pf = new PaymentConfirmUI(mainList? this,rs); display.setCurreni(Pf); break; case 2: PassModify Pm=new PassModify(mainList? this,rs); disPlay.setCurrent(Pm); break; } } if'(c=exilConunand){ destroyAPP( false): notify Destroyed (); }} } 北京工业大学 T 程硕丨?学位论文

阁 5-2 系统土界面图 Figure 5-2 Main interface of system diagram MainU 丨类包含以下函数,分别足构造确数 MainUI( )、startApp()> pauseApp(), destroyApp()^ commandAetion()。Jt?中 startApp()负责程 序的初始 化功能:pauseApp()负贵当一个程序处于暫停状态时会执行的函 数;destroyApp() 1/4 于一个程序要退出时会&动执行的函数。 因此,一个 MIDlet 在它的应用程序生命周期屮可能存在的状态有三个:哲 伶状 态、运行状态和销毁状态|431,图 5-3 给出了其状况迁移愦况。 第 5 章手机银行支付系统的实现

Figure 5-3 MIDLet slate diagram 5.4.2 支付发起功能的实现 如图 5*4 所示,移动支付客户端软件选择操作,进入如图 5*4 (a) 示的 软件界 而.用户通过在主界而中选择发起支付米进入支付订单界面.选“发起 支付”按钮按下, 就看到发起支付软件界面如图 5-4 (b)所示的支付订单界面。 需要购 X 的订单信息 在该界面中相应方框填写,填写完毕之后将选择“发送订 单”按钮按下后,系统显示主 界面,既是 0 动返冋。后即可等待确认订单的短 消息。短消息确认订中被收到以后,

就可进入査询界面杳询订甲.,如 5-4 (c) 图。Hlji 丨未处现的所有订单都会在订 中査询界面显示。在这个界 fil 屮显示出了 顾客尚未支付的订单。选择订单 056,査 看订单 056 的详细情况。进入详细订 单信息界面如图 5-4 (d)査看要进行支付的订 单,此界面显示订单的编号、金 额、商家号、交易情况等,盂要用户确认支付后输入 账户密码点击支付菜单。 在点选支付确认后,系统将删除订单号 056 的订单,服务器 端向手机发送 ij 单 支付信息,处理柯 Jt 会把相应的金额从客户的账户中扣除,添加 到相应的商家 的账户中。支付发起功能的实现界 liU 如图 5*4 所承: 北京丄业大学 T 程映士学位论文

KI5-4 订单发起界而 Figure 5-4 Interface of order form lauch Public class paymenttUI extends Form implements Commandllistener{ Private DisPlay disPlay; 第丁 ?机饭行支付系统的实现 Private DisPlayable Parent; Private Billlnfo[] binfo: Private Command backCommand; Public paymentUI(MIDletmidlet,DisPlayable Parent,Billlnfo[] binfo){ super("支付订单"); backCommand = new Command( “ 退出 ”,

Command.BACK? 5): this. Display = DisPlay.getDisPlay(midlet): this, parent = parent; this.binfo = binfo; if(binfo!= null){ for(int i=0;i<binfo.length:i-H-){ this.append(“订準” +(i+l)): this.append(binfo[i].getBilldate()): this.append(binfo[i].getMoney()): this.append(binfo[i] .getReason()): } } this.addCommand(backCommand); this.setCommandListener(this); } Public void commandAction(Command c,Displayable d){ if(c=backCommand) { display.setCurrent(parent): 5. 4. 3 订单信息查询界面的实现 用户在使用系统时,4 以先进行物品信总的浏览,选择杏询信息后, 服务器端返回该 类商品的列表佶息。选屮想要购买的商品 f,输入密码点 击提交,就可以把这次购物的信息发送到服务器端进行处理。 北京 T 业大学工押颐 I:学位论义

阁 5-5 订单齐询界面 Figure 5-5 Order inquiry interface 5.4.4 RMS 记录管理系统如何应用于软件 在 J2ME 中采用的不用于.般应用杓序的数据持久存储方式,数据存储使 用的是名 叫 RMS 的记求管理系统,丈现的是手机的数据持久存储 1 叫。这里结 合 Orde:类, 分析 RMS 在软件设汁中的应用。 Order:类: Package common; import java.io.*: import java.util. Vector: import javax.microedition.mis.*: Public class order{ String Orderid: String PhoneNum; String corpid; String contcnt String Price:

-56第 5 争 f?机银行支彳>丨系统的实现 Public String getContent(){ return content; } Public void setContent(String content){ this, content = content; public String getCorpId(){ return corpid: public void setCorpid(String corpid){ this.corpid=corpld; Public String gctordcrid(){ return Orderid; } Public void selorderid(String orderid){ Orderid = orderld; } public String getPhoneNum(){ return PhoneNum } Public void setPhoneNum(String PhoncNum){ this.PhoneNum=PhoneNum: } Public String getPrice(){ return Price: } public void setPrice(String Price){ this.Price = Price; ___________ 北京工业人学 1:程硕丨?学位论文 public Vector geta!lorder(){ Vector allorder=newVector(); try{ Recordstore rs; rs.openRecordstore(“order”,true): for(int i=0:i<rs.getNextRccordID():i++){ byte[]data=rs.getRecord(i): Order tmporder=new order(): tmpOrder.deserialize(data); allorder.addElemcnt(tmpOrder): } rscloseRecordstore(): } Public void saveorder(Order order){ try{ byte[] record = order.serialize(): Recordstore rs; rs.openRecordstore(“order”,true); rs.addRecord(record,0,record.lcngth): rs.cl oseRecordstore(): }catch(Exception e) } Public void de!order(String orderId){ try{ Recordstore rs; rs.openRecordstore(“order”,true); int id=(int)orderid; rs.deleteRecord(id): rs.cIoseRecordStore(); -58笫 5 荦手机银行支付系统的实现 } catch (Exception e) }

//序列化 public byte 口 serialize()throws IOException{ ByteArrayOutputStream bout=new ByteArrayOutputStream(); DataOutputStream dout=new DataOutputStream(bout); dout.writeUTF(Orderld); dout.writeUTF (PhoneNum); dout.writeUTF(corpId); dout.writeUTF(content): dout.writeUTF(price); return bout.toByteArray(); } //反序列 Public Order deserialize (byte[]data)throws IOException{ ByteArraylnputStream bin=new ByteArraylnputStream(data): DatalnputStream din=new DatalnputStream(bin): OrderId=din.readUTF(); PhoncNum=din.rcadUTF(); corpId=din.readUTF(); content=din.readlJTF(); price=din.readUTF(); } i 抽象化了的订单基本信息的订中的鳩性由 Order 类实现。其功能包括订单 号、交 鉍金额、丁-机号、订中和商家 3 这样五个诚性,为了方便手机系统读収 这五个属性, 这五个屈性都定义了两种方法:Getter 和 Setter 州,同时,使用 saveorderO 函数对 H?单进行存储。特别值得提出的足,山十 RMS 只能存収—进 北京 T 业大学_T_稃硕十学位论文 制的数据, 因此使用 serialize()来将一个订单分解成一条二进制的数据, 保存到 手 机内存中。 在从“Order”记录文件中读取订单信息时,还需要使用 deserializeO 将 二进制的数组转化成 Order 类。 5.4.5 软件的网络连接传输问题 为了解决移动支付客户软件的数据的传输问题,在软件中使用 HttpConnection 来实现移动支付客户端的数据传输 1461。考虑发送数据的情况, 可以在支付类 PaymentUI 中定义 sendOrder()函数,其实现代码如下: Public Order sendOrder(Ordcr order){ try{ String url=”http://l27.0.0.1:8080/GeU>rder,,+,,?,, +”ordcr=,,+order: HttpConnection http=null; http=(HttpConnection)Connector.open(url); http.setRcqucstMethod(IIttpconnection.GET); if(http.getResponseCodc()=HttpConnection.HTTP_OK){ InputStream iStrm=http.openInputStream(); int lcngth=(int)http.getLength(); if(length>0){ bytef] backdata=newbyte[lenglh]; istrm.read(backdata); String ordered=toString()backdata: order. setOrderId(order Id): } if(iStrm!=null)iStrm.close(); if(http!=null)http.close();

} }catch(Exccption e){e.toString():} return order; 笫 5 T? 丁机银行支付系统的实现 保存 URL 地址用的是定义字符串 url,数据 11J?以发送到该地址。实现连接 网络 依靠定义 HttpConnection。而且打开网络连接功能由 Connector.open(url)实 现,读出服务器返回消息足 InputStream 完成的功能口 5.5 系统的运行 本论文设计的系统能够完成一个交易所需进行的基本活动,包含了用户登 录、商品 选购、订单支付等基本功能.层次结构淸晰.模块的独立性高,具有 高可诡性和可扩展 性等特点。 应用软件系统丌发完毕后,在辖区内利用机房硬件设施,搭建小型平台进 行为期丨 个月的测试,主要以单位后勤服务为主,用作电话费用、电卷卡销售 等为主,没有出 现错误。 不过系统在实现的过程中还介在很多不合珅的地方,需耍不断的完菩和改 进,还需 要进行不断的升级和扩充等大 44 得工作需耍做,才能使木系统成熟起 来,并真正投 入到商业应用中。 5.6 本章小节 木争研究了如何具体实现手机银行支付系统,实现了系统的各个部分如何 构建,然 后具体说明软件实现的实现、数据存储开发方案、以及程序实现的效 北京工业人学工稃硕 I.?学位论文 结论 结论 通过应用和分析与实际操作,我认为 M 上银行软件能起到十分重要的作用。 本软件 Pi 面简洁易 It,而且操作平易近人,软件的使用将会使移动支付扩大化、 并对其支 付的安全性、用户的亲和度、满总度等多个方面的进展进行了推波助 澜,而且+只是 局限在是移动支付方式方法和技术手段的变化移动支付是多个系统相结合而成,而且要做到和其他的支彳、丨系统进行数据 的交 换。移动支付目前来看在我国只能是另外支付手段的一种补允。也就是根 据这个现状, 论文主要完成以下研究与开发工作: (1)研究了手机银行支付系统实现的体系结构,介绍了 f?机银行支付系统 幵发 中所需要用到的关键技术,包括客户端手机应用程序中 MIDP 的幵发技术、 J2ME 平台 的主要功能、特性和体系结构等等: (2)选择 J2ME 作为实现平台,完成了基于 J2ME 的银行手机支付软件的 设计与幵 发,详细描述了其中基本的 M1DP 客户端、服务器、数据库和数据库 后台维护的开发 过程; (3)所设汁的系统实现了订单支付、浏览订中.、订中确认、账户密码宵理、 MIDP 客户端服务器的通信等功能,运行于手机 h 有友好的菜单界面。 从丨 n]类应用方式的比较看,其主要具有以下几个方面的特点:1.系统选择 了 J2ME 作为实现平台,支持未來手机的 Java 发展趋势。2.系统+仅实现了较 为完軎的 支彳、丨功能,而且異有良好的应用界 fM 和快速的响应时间。但足,论文 还存在如 下不足: 对称密钥体系使用在了论文中的数据加密,因为 H 前吋行的手机安全性传 输方式 方法有很多,明显存在很多协议和技术比本文所有的加密于 -段史严灌和 ■M 楫,比如 说:SSL 协议、WPKJ 技术、WTLS 协议等不??列举。本文没有 使用 h 述的几种方式:

其-,WTLS 协议几小足很适合用于上 1(1)所说、技术手 段来说不足不町,似需耍进 行很多服务器端设背(WPKI),并不是很成熟、而且 对于 H 前 f-机硬件來说,系统浪 费严重负载过里(SSL),都不太合适使用;而目 -63_____ ___________ 北京下业大学工程硕上学位论文 ______ 前因特网加密技术目前相对成熟,用户相对方便而且在节省资源前提下安全性 也可以 接受,因此也就将密钥的安全传递这个最大的不足解决了,所以在本软 件上如此使用 还是比较让人满意的。 参考文献 参考文献 1 李大军.电子商务丨 M].淸华大学出版社.2002:8-28 2 陈兵.网络安全与电子商务 丨 Mj.北京大学出版社.2002:174-194 3 钟乐海, 王朝斌,李艳概.W 络安全技术[M]. 电+工业出版.2003:166-170 4 转尘明,杜脚,刘华.电子商务安全与支付丨 Mj.人 民邮电出版社.2003:27-33 5 信生,万兆橄,刘玲.电子商务安全技术[M]. H 防工 业出版社.2002:117-129 6 轰元铭.网络经济 IMj.地展出版杜,2005:丨 71-172 7 貌学 ci,包索丽,汪献忠.屯气化铁路供水、供电计算机系统 m.电力自动化设 备.2006,(03):20-25 8 义丽军,占传杰,熊镇山.基于 Web 服务的电子支付系统研究与设计[J].电子 科 技.2004,(06): 10-22 9 余长钢玥.人力资源管理系统的设计与实现[J】.电脑知识与技术. 2007,(23):43-47 10 潘丽姣.探求 B to C 电子商务发展新突破[J].电脑知识与技术. 2008,(14):38-45 11 杨旭光.移动支付技术研究[Dj.由京理工大学.2003:55-63 12 谢冬莉.基于 J2ME 的移动支付安全方案研究[D〗.河海大学硕士论文. 2005:62-66 13 郛玉亨.非接触式移动支付的应用研究丨 D].对外经济贸易大学硕士论文. 2006:54-55 14 时丨 4 一.移动立付校型的业务扩展研究[D].对外经济贸易大学硕士论文. 2006:28-31 15 下荣庆.移动支份!7?台的运旮模式研究及其架构设计|D|.对外经济贸舄大 -65北京 t 业大学工 e 硕+学位论文 学硕士论文.2006:丨 7-25 16 王雨.WAP 移动支彳、丨体系结构研究[D].重庆人学,2004:66-72 17 李捷.移动支付流程优化及客户端软件的实现[D].北京交通大学, 2007:11-17 18 张桂龙?电子商务坏境下的移动支付研究[D1.同济大学,2007:12-18 19 常艳.对等计算及其应用开发平台?高性能计算技术.2004,(5):50-66 20 杨涛,刘勤让.移动计算网络及其漫游协议[_)].计算机应/]]. 1999,(10):32-37 21 张新猛?基于】 21^?/56?丨过技术实现手机访问网络数据库[J].广东自动化与 信 息工程.2004,(04):34-44 22 鹿浩.移动计算技术及应用[J].湖北邮电技术.2001,(02):45-51 23 乔少杰.基于 J2ME 的手机应用程序的性能优化[J】.信息技术. 2004, (10):61-63

24 江颉,赖梅,蔡家楣.基于 J2ME 技术的移动证奍研究与实现[Jj.计算机工程 与应 用.2004,(06):23-34 25 杨涛,刘勤让.移动计算网络及其漫游协议[J].计算机应用.1999,(10):61-62 26 THE SSL Protocol v3.0 intemet-draft. Transport layer Security Working Group. 1996:12-19 27 Financial Services Technology Consortium, FSTC Electronic heck Project Details, 1995:62-67 28 Visaand Master Card. SET Secure Electronic Transaction, Book2: Programmer's Guide. 1997.5:8-9 29 Wei Qiang. Agent-based System for Mobile Commerce .IEEE Proceedings of the International Parallel and Distributed Processing Symposium. 2002:9-13 30 Park, Nam-Je. M-Commercc Security Platform Based on WTLS and J2ME IEEE .Comm Magazine, 2001:12-15 参省义献 31 Li Yunhong, Luo Siwen. Research and Development of Mobile Business System Based on J2ME and J2EE. ICCSE, 2007:781-783 32 Chen Xun. Research and Implement for Secure Scheme of Mobile Payment Based on J2ME.Degree paper for master.2007:33-35 33 Chi Ruinan. Research on Moblie Commerce System Based on J2ME and J2EE . Microcomputer Information, 2007:152-154 34 TANG RUN-HUA, ZHANG LU, LIU WAI-XI. Design and Development of Mobile Integration Inquiry System Based on J2ME and J2EE Technologies. Science Technology and Engineering, 2008: 87-90 35 MAO Li, JIA Hengsong,XU Wenbo. Design of B2B Hbusiness System Based on J2EE Multi-pattem.Computer Engineering, 2006:283-284. 36 WM John. Core J2ME technology & MIDP. Sun Microsystem Press, 2002:3-5 37 JW Muchow. Core J2ME-Tecnologia & MIDP. Makron Books, 2004:13-21 38 1) Tremblett. Instant Wireless Java with J2ME. McGraw-Hill,2002:56-60 39 A Gowdiak. Java 2 micro edition (j2me) security vulnerabilities. Mack In The Box Conference,2004:78-82 40 I Wassim, I Kayssi Ayman. J2ME End-to-End Security for M-Commerce. Journal of Network and Computer, 2004:54-66 41 GJZ Yu. J2ME and its Implementation in Mobile Application. Science, 2007: 90-102 42 WYSLZ Xiaohan,Y Yuting. Developed Platform of Mobile Equipment-J2ME Overview. Science, 2007:33-42 43 LJDXH Qilin. Java Software of Cellular Phone Based on J2MH. Scicncc.2007:20-24 44 AN Klingsheim, V Moen, KJ Hole. Challenges in securing networked j2me -67北京工业人学工程硕丄?学位论文 applications. Computer,2007:17-20 45 A Isakow, H Shi. Review of J2ME, J2ME-based Mobile Applications. IJCSNS, 2008:52-54 46 WS Chu. Data encryption on mobile devices running J2ME. Prentice Hall,

2007:12-15 -1 诮 致 不知不觉硕士研究生学习生活即将结束,回旨这段充满激情和挑战的时光, 我内心 感到无比的激动。我所取得的每一份成绩,都离不丌许多良师益友的鼓励 和帮助,我 要向他们表不最衷心的感谢。 首先我要感谢导师沈琦教授,感谢沈琦老师把我引入了智能信息处理的广 阔领域, 使我认 i 只到了这一课题的前沿性和挑战性。沈琦老师在科研上有敏锐的 0 光,对复 杂问题有独到的见解,使我在研究生期间学习到了很多做研究的方法, 这对我以后的 工作将大有裨益。 感谢我的父亲、 母亲, 感谢您们将我养冇成人, 感谢您们始终支持着我, 鼓 励有我, 感谢您们给我提供了一个宽松的成长环境,让我这个环境卜?健康成长, 感谢您们教 给我做人的道理,让我学会用 jr?朗、乐观的态度面对牛活中的闲难, 用宽广的胸怀 对待周 w 的朋友=母亲勤劳、坚韧的性格足我学习的榜样,父亲豁 达宽广的胸怀教我 做一个包容的人。感谢您们多年來对我的理解和无私的支持, JH 是您们的支持使我顺 利地完成了学业。感谢您们的呵护和支持,没有您们就没 冇我的?切! -69-


赞助商链接

WAP手机银行系统设计

WAP手机银行系统设计_互联网_IT/计算机_专业资料。0721 WAP 手机银行系统设计王景刚...3.4 手机银行移动支付软件流程设计 利用手机银行实现的金融服务很多,如账户明 ...

网上支付工具手机支付论文

网上支付工具手机支付论文_销售/营销_经管营销_专业资料。网上支付工具手机支付论文姓名:房路明 班级:会计五班 学号:38 号 摘要: 手机银行是由手机、 GSM 短信中...

关于手机银行的论文

设计)类型:A—理论研究;B—应用研究;C—软件设计...(5)商户 客户通过在商场和零售商店的手机银行支付...文档贡献者 wuchengfei117 贡献于2014-12-19 ...

基于java的小额支付管理平台的设计与实现论文

基于java的小额支付管理平台的设计与实现论文 - 北京邮电毕业设计 基于 java 的小额支付管理平台 的设计与实现 摘要 随着计算机技术的不断发展, 计算机作为知识经济...

基于Web技术手机银行开题报告_图文

基于Web技术手机银行开题报告_计算机软件及应用_IT/...基于 web 技术的手机银行系统的设计与实现 2、选题...虽然手机银行只是诸多移动支付增值服务中的一个,但是...

手机银行发展现状分析

手机制造商负责制 造安装有手机银行的手机, 第三方支付软件提供运行平台而移动...运营商方面 的网管和网络设计等方面并没有考虑到手机银行业务的发展。 移动运营...

手机银行业务发展与展望

目前,手机银行由银监部门负责监管,人民银行主要对其中的手机支付业务进行管理。 ...目前,手机银行的多种技术实现方式在硬件设施、软件配置、 安全控制措施等方面尚...

第三方网上支付系统的分析与设计_图文

(2)软件:Win2000 / WinXP 以上版本,IE5.0 及以上版本,WORD2000; 二、实验目的(1)了解网上支付平台(包括第三方支付平台) (2)掌握网上银行系统的支付原理和第...

银行第二代支付系统概要设计说明书

银行第二代支付系统概要设计说明书_金融/投资_经管营销_专业资料。商业银行二代支付系统概要设计说明书 引言1.1 编写目的说明对程序系统的设计考虑,包括程序系统的...

银行网上支付系统建设方案_图文

2.1 系统设计原则 2.1.1 开放性 系统架构基于 ...其他厂商的相关外围系统或软件实现无缝集成,并实 现...手机银行支付:通过手机银行系统中的订单支付完成支付。...