移动互联平台应用设计及开发
2017-02-23刘信杨大伟刘昆
刘信+杨大伟+刘昆
随着互联网技术和移动智能终端的迅猛发展,对移动应用建设的需求比较迫切,结合公司移动互联平台建设经验,对移动互联平台的应用设计及开发进行探讨。本文基于移动平台开展移动业务应用的设计,说明移动业务应用的总体设计思路、系统框架、关键技术等内容,为后续各业务领域的移动应用开发做一定的参考和借鉴。
【关键词】移动互联应用 应用设计 应用开发
1 移动应用设计原则
1.1 融合适应性原则
坚持平台化、组件化思想。基于公司统一的移动交互平台提供的公共组件进行设计,充分进行软件组件复用,充分发挥平台在统一性、开放性、灵活性和可维护性等方面的优势。
1.2 标准性和适用性
坚持标准性和适用性,与已有国际、国家、行业标准的采用相关标准,没有标准的根据项目的具体情况进行规范化设计。
1.3 可扩展性原则
具备业务处理的灵活配置,能随着业务功能的变化灵活调整,同时提供标准的开放接口,便于系统的升级改造和与其它系统进行数据与信息的交互。
1.4 安全性原则
业务应用要具备高安全可靠性,并通过采用多种安全机制和技术手段保障系统安全稳定运行。
2 移动互联应用平台技术架构
2.1 总体架构
移动应用平台为各业务域移动应用提供统一的开发、管理和运行服务,提供公司统一移动门户、移动应用商店,实现移动应用、移动专控终端的统一管理和安全接入,同时对各应用公共功能进行统一建设,主要包括移动应用、运行支撑服务、安全防护组件、移动运维组件等四部分。
2.2 技术路线
移动平台移动应用开发方式选择原生开发技术路线,支持Windows Mobile、Windows XP/7、Android等终端操作系统,使用Java、C#、JS、Flex等语言开发,支持JAVA EE部分规范,总体上采用C/S架构,其中平台服务端采用分层技术和面向服务的技术架构,支持主流中间件,融合主流、成熟的开源软件。
2.3 安全防护
平台安全防护依托于安全接入平台,基于统一安全策略和统一安全管理的原则,安全地承载各种接入业务应用,对外统一提供“安全通道、身份认证、安全接入、访问控制、数据交换、集中监管”等核心功能。
3 移动应用典型设计
3.1 总体架构设计
移动业务应用主要分为业务前端和业务后端。业务前端即在专控终端APP软件上所展现的应用所有界面,业务后端是为服务器区的应用后台服务,通过J2EE进行开发给客户端提供http和https的后台服务。
3.2 客户端设计
移动应用在专控作业终端(Android移动设备)上使用,既可以是HTML5应用,也可以是java原生应用,也可以是混合应用。
3.3 数据架构设计
数据模型设计一般采用自上而下,逐级深入(Top-Down)的设计方法和自下而上(BOTTOM-UP)的验证方法。根据上一节主题域的设计,在主题域下对数据模型进行设计,主要包括数据对象、数据属性、数据对象之间的关系等内容。
3.4 技术架构设计
3.4.1 系统分层设计
(1)视图层。视图层主要完成用户交互功能。功能菜单通过JSP页面进入,通过Ext 框架展示界面,用CSS来规范页面样式,使用JS进行前台业务逻辑和页面控制;向服务器提交的数据以AJAX的方式提交到后台的Action类进行处理。
(2)控制层。控制层使用Struts的Action来实现,主要使用它的页面流转控制功能。控制层调用业务逻辑层进行业务处理,将request中的参数传入业务逻辑层,将业务逻辑层返回的数据转换为JSON格式后写入response。
(3)业务逻辑层。业务逻辑层和数据访问层都采用接口实现的方式,采用了单实例模式,类的初始化和装配工作由Spring IOC容器完成,在Spring配置文件中声明类的初始化,在Action类或者服务类中通过@Autowired的注解来实现类的装配,不需要额外的工厂类或者类的调用代码。
(4)数据服务层。所有的数据库访问操作都必须在DAO类内完成,包括查询语句的拼装,参数设置以及查询结果的解析等。不建议在业务逻辑层进行SQL的拼装,不允许将ResultSet或者其它数据库操作相关的类/接口传递到业务逻辑层进行操作。
3.4.2 安全设计
(1)身份认证。基于移动应用平台建设的移动应用身份认证是通过平台客户端提供统一的身份认证,应用不需要做显式的身份认证,但是在点击本应用的时候,应用须做隐式的身份校验,由于内网移动应用平台基于统一权限系统建设,用户认证也是通过统一权限系统进行認证,所以移动应用原则上也需要基于统一权限建设,如未基于统一权限建设,须在应用系统中实现系统独立账号与统一权限账号的对应,以满足用户一次登录可使用各移动应用的需求。
(2)资源授权。移动业务应用须基于统一权限管理服务实现资源授权,资源授权分为功能权限和数据权限两大类。对于功能授权,系统的所有功能和对象(操作)在统一权限管理系统中进行注册,统一权限管理系统提供基于角色的授权管理功能和权限判断接口,由统一框架(应用门户)实现菜单展示和权限控制,系统调用统一权限服务提供的接口验证对象(操作)权限并根据结果设置对象(操作)对应界面控件的是否可用,对于数据维护功能和操作、包含敏感信息的查询功能和操作还必须在后台进行权限验证,只允许授权用户访问。
(3)输入输出验证。设计验证所有来源不在可信范围之内的输入数据,数据来源包括:HTTP请求消息的全部字段,包括GET数据、POST数据、COOKIE和Header数据等。
(4)参数操作。应避免使用包含敏感数据或者影响服务器安全逻辑的查询字符串参数,参数尽量采用没有意义的名称以免被攻击者猜出参数的意义并通过篡改参数值访问秘密信息或未授权功能。
(5)审计日志。日志记录执行在控制层上进行。用户的每个Action访问都要记录日志,日志的内容包括操作人、操作角色、操作时间、操作功能、操作参数等信息。
作者单位
国网新疆电力公司信息通信公司 新疆维吾尔自治区乌鲁木齐市 830018