论文部分内容阅读
本文是在Windows Mobile的基础上,结合实际的开发经验,充分考虑系统安全性和可靠性的以保证帐户和交易安全的情况下,实现了一个手机银行应用系统——MAP BANKING。在开发的分析阶段,通过分析原有SMS短信银行系统的架构设计,研究Windows Mobile社区中一些优秀的开源项目,最终确定了本系统的架构。我们将系统在逻辑上分成四层,它们分别是客户层、表示层、业务逻辑层和数据访问层。客户层包括三种客户端类型,即Windows Mobile手机客户端、Symbian手机客户端和J2ME手机客户端。在表示层,对应于四种客户端有相应的表示层组件为其提供视图服务,我们选用了Struts的MVC框架及标准的Servlet、JSP等技术,实现了命令模式、业务代理模式等。系统的业务逻辑层主要是为四种表示层组件提供业务逻辑服务,当表示层需要业务逻辑相关的操作时,都是通过调用业务逻辑层的服务来实现的。数据访问层是为上层提供数据访问的一层,我们用了Entity Beans作为O/R映射,只提供了本地接口调用。手机银行的可靠性和安全性仍旧是它是否能够普及的关键因素。在可靠性方面,系统通过事务来确保数据的完整性、一致性和可恢复性。在MAP BANKING系统中,将用户从客户端发送请求一直到客户端接到银行服务端请求响应看成一个完整事务,对未完成或者用户未响应应答的事务,数据库会回滚到上一个检查点的内容以保证系统的一致性。并把系统的事务分为三个阶段:请求事务处理阶段、数据库内部处理阶段、事务响应阶段;对每个阶段系统都将采用不同的方式进行处理。在安全性方面,本系统实现了客户到服务提供商之间端到端的安全交互,确保事务处理的安全。保护每个薄弱环节,确保数据从传输点到最后目的地之间完全的安全性,包括传输过程中的每个阶段,以确保整个传输过程中的安全性。采用DES加密和数字证书相结合的方式对用户进行身份认证;对密码等关键信息采用软键盘输入方式防止键盘被窃听;并通过自定义的安全协议(MB协议)对关键数据进行加密传输以保证其安全性。