- 1 -
终端管理系统的框架设计(DM Portal)
邓 琪,延 明,邓中亮
北京邮电大学电子工程学院,北京(100876)
摘 要:主要介绍了终端管理系统的框架设计。该框架设计的目的是为了实现用户权限的管
理和功能细节的实现的分离,便于系统的维护。DM Portal基本采用Web系统的一般技术框
架,即 JSP+Servelet+BO+DAO的实现。文章首先简单介绍了 DM Portal的功能,接下来介
绍了 DM Portal的总体设计,包括系统的业务流程和实现细节。DM Portal采用了分层设计
的思想,详细介绍了表示层、传输层、业务逻辑层、数据访问接口和数据库的设计。DM Portal
具有较强的复用性。
关键词:终端管理;系统框架 DM Portal;业务流程
1. 引言
终端管理系统以终端管理 OMA DM标准为基础,利用终端管理技术可以通过 OTA 的
方式实现终端的信息采集、参数配置、固件升级和远程诊断[1][2],从而可以推广新业务和新
应用。
该系统的使用者包括运营商和终端厂商。每个用户具有不同的角色,角色类型包括总部
客服管理员、权限管理员、系统管理员、厂商管理员、厂商测试人员、故障诊断人员等。
DM Portal实现了用户权限的管理,针对不同角色的用户,为其展示该用户权限下可执行的
操作。
2. DM Portal功能介绍
DM Portal是一个集成框架,集成了门户信息以及各门户下的系统菜单和功能列表。终
端管理系统包含五个门户:客服门户、管理门户、厂商门户、故障诊断门户、自测试厂商门
户、自测试管理门户。不同的操作员具有不同的角色,根据自己的角色可以访问不同的门户。
系统根据操作员的角色为每个操作员分配不同的功能。比如一个角色为故障诊断员的操作员
只能登陆故障诊断门户,登陆之后只能执行故障管理的相关操作。又比如一个操作员具有总
部客服管理员、权限管理员、系统管理员等不同角色,管理门户允许权限管理员、系统管理
员、总部业务人员、省份业务人员这四个角色登陆,操作员登陆之后如果选择权限管理员,
则可以执行权限管理相关的操作。
3. DM Portal设计
业务流程
1) 用户登录:用户输入用户名、密码以及门户,系统验证用户的有效性及权限,验证
通过系统跳转至用户权限内的主页面。消息流程图如下所示:
- 2 -
图 1 用户登陆消息流程
2) 用户选择操作页面:用户选择系统、进而逐级选择系统下的菜单,点击某个子菜单
的链接,主页面部分跳转至所选的操作页面。消息流程图如下所示:
3)
图 2 用户选择操作页面消息流程
4) 用户收藏夹功能:包括添加当前操作页面至收藏夹、从收藏夹中删去某个页面。
5) 重登录和修改密码。
详细设计
该模块的设计分为五个层次,从下到上分别为:表示层、传输层、业务逻辑层、数据访
问接口、数据库。
表示层设计
在 JSP页面中,采用 Frame和 Frameset技术,实现页面的布局[3]。在Web页面和服务
器的交互上,还采用了 AJAX技术实现它们的异步通信机制。AJAX在页面的实现上,采用
HiddenFrame结合 JavaScript来实现[4][5]。表示层包括用户登陆界面、角色选择界面、用户操
作界面。各页面的关系如下图所示:
- 3 -
控制跳转
控制跳转
跳转
(单一角色)
图 4 页面关系图
主框架页面()使用了框架概念,所谓框架便是把网页画面分成几个框
窗,同时取得多个 URL,框架的标记是<FRAMESET> <FRAME>,页面所有框架标记需要
放在总起的 html 文档档,这个档案只记录了该框架如何分割,不会显示任何资料,所以不
必放入<BODY>标记。<FRAMESET>是用来划分框窗,每一窗框由一个<FRAME>标记所标
示,<FRAME>必须在<FRAMESET>范围中使用[6]。框架之间可以同 java script传送参数和
控制命令,该页面的框架结构如下图所示:
图 5 主页面结构图
传输层设计
传输层包含两个类:LoginServlet和PageForwardServlet,这两个类继承自
,Servlet是位于Web服务器内部的服务器端的Java应用程序,与
传统的从命令行启动的Java应用程序不同,Servlet由Web服务器进行加载执行。HttpServlet
类包含init(), destroy(), service()等方法。其中service()是HttpServlet的核心。在HttpServlet中己
实现service()方法,其缺省的服务功能是调用与HTTP请求的方法相应的do功能[7]。例如,如
果HTTP请求方法为GET,则缺省情况下调用doGet();如请求方法为POST,则调用doPost()。
LoginServlet处理登录验证、权限验证以及记录登录日志,并且控制页面的跳转。在
doPost()方法中,得到表单中的账户信息,包括帐户名、密码、门户类型、门户id、角色选
择操作,调用LoginBO中的方法对帐户名、密码、所选角色进行验证,得到验证结果。如果
账户非法,页面跳转回登陆页面;如果账户信息正确,调用logInfo方法,记录用户登陆信息
至用户日志。页面跳转由(String address)实现。
PageForwardServlet负责得到功能菜单的接口地址,记录用户操作日志,并且跳转至该
- 4 -
地址。在doGet()方法中,首先获取request中账户信息、角色信息和门户信息,以及用户所选
菜单的id,然后调用MenuBO,得到该菜单id的菜单信息,从中取出接口地址。利用
(String address)控制页面跳转至该接口地址。调用logInfo方法记录用户
的操作记录。
业务逻辑层设计
处理传输层或页面提交的请求,包括LoginBO和MenuBO两个业务类,LoginBO处理处
理和用户登陆有关的业务请求;MenuBO处理和页面操作有关的业务请求。业务类调用数据
访问接口读写数据库中的信息。
数据访问接口设计
该层负责完成业务数据和二维数据的转换,这里采用了DAO模式。
DAO模式是两个模式的组合,即Data Accessor模式和Active Domain Object模式,其中
Data Accessor模式实现了数据访问和业务逻辑的分离,而Active Domain Object模式实现了业
务数据的对象化封装。DAO模式对业务层提供数据抽象接口,分离了数据使用和数据访问
的底层实现细节。从而增强了上层应用系统的灵活性并且明确了开发人员的分工。
数据访问接口包括MenuInfoDAO、UserInfoDAO、 ldap、DBManager四个类。
MenuInfoDAO负责完成各级菜单信息和门户信息的读取;UserInfoDAO负责完成用户相关信
息的读取;DBManager实现了数据库连接管理,通过调用jdbc接口,实现了和数据库的通信
[8]; Ldap提供mdm服务器接口,实现密码更新。
数据库设计
介绍两个重要的表:系统级菜单信息表(T_SYSTEM_INFO)和功能菜单信息表
(T_MENU)。
系统级菜单信息表存放所有系统级菜单信息,每条系统级菜单信息含有该菜单所属的门
户ID,操作员登陆之后,只显示他所选择的门户下的系统菜单,每条系统级菜单信息由系统
级菜单ID标示。
功能菜单信息表存放所有功能菜单信息,每条功能菜单信息含有该菜单所属的系统级菜
单ID和门户ID,操作员点击系统级菜单后,只显示属于该系统级菜单的功能列表。功能菜
单分为两级,由功能菜单ID标示,比如菜单ID为270CA和270CB的两个菜单是ID为270C的菜
单下的子菜单。功能菜单信息表中的F_PAGE_LINK存放接口地址,用来实现菜单的功能。
只有子菜单中才存放接口地址信息,父菜单中该地址为空。
表一 系统级菜单信息表
Table T_SYSTEM_INFO
Purpose 存储系统级菜单信息
Primary Key F_ SYSTEM _ID
Foreign key
Index F_ SYSTEM _ID
Column No
Name Type Length
NULL Illumination
1 F_ SYSTEM _ID Varcher2 4 N 系统菜单 ID
2 F_ SYSTEM _NAME Varcher2 64 Y 系统菜单名称
3 F_PORTAL_ID number 4 系统菜单所属门户 ID
- 5 -
表二 功能菜单信息表
Table T_MENU
Purpose 存放功能菜单信息
Primary Key F_MENU_ID
Foreign key
Index F_MENU_ID
Column No
Name Type Length
NULL Illumination
1 F_MENU_ID Varcher2 12 N 菜单 ID
2 F_MENU_NAME Varcher2 64 N 菜单名称
3 F_SYSTEM_ID number 4 N 所属系统菜单 ID
4 F_PORTAL_ID number 4 N 所属门户 ID
5 F_PAGE_LINK Varcher2 1024 Y 接口地址
6 F_PARENT_MENU_ID Varcher2 12 Y 父级菜单 ID
7 F_INUSE number 1 Y 是否有效
4. 结论
DM Portal使终端管理系统中一个相对独立的模块,DM Portal是终端管理系统的入口,
并且负责用户的权限维护以及功能列表的管理。它和其他模块的接口信息存储在数据库中,
只要修改数据库中的接口信息,就可以为功能菜单赋予不同的功能实现,因此,DM Portal
具有很强的移植性,可以很方便的移植于其他系统。
参考文献
[1].Open Mobile Device Management Bootstrap,[Z].()
[2].Open Mobile Device Management Protocol,[Z].()
[3].吴明晖.JSP+Oracle网络应用系统开发实例[M].北京:人民邮电出版社,2007.
[4].曹衍龙,叶达峰等.Ajax编程技术与实例[M].北京:人民邮电出版社,2007.
[5].Kris -Web开发、可重用组件及模式[M].北京:清华大学出版社,2007
[6].林上杰.JSP 技术手册[M].电子工业出版社,2004
[7].霍尔.Servlet与 JSP核心技术[M].北京:人民邮电出版社,2007.
[8].刘丽钰.JDBC与 Java数据库程序设计[M].北京:人民邮电出版社,2007.
Design of the Frame of Device Management System
Deng Qi1,Yan Ming2,Deng Zhong-liang3
of Electronic Engineering of Beijing University of Post and Telecommunication,Beijing
(100876)
of Electronic Engineering of Beijing University of Post and Telecommunication,Beijing
(100876)
of Electronic Engineering of Beijing University of Post and
Telecommunication,Beijing(100876)
Abstract
This paper mainly introduces the Frame Design of Device Management System. The Purpose of the
Frame Design is to separate the adminstration for user rights and the materialization for function details.
- 6 -
DM Portal basically adopts JSP & Servelet & BO & DAO,which is the general technology frame of
Web System. In this paper,firstly the function of DM Portal has been briefly introduced and then the
whole designation of DM Portal has also been illustrated that includes biz flow and details of
realization in system. DM Portal adopts design idea for paper introduces the design of
presentation layer,transport layer, biz logic layer,data access interface and database. DM Portal strongly
has reuse abilitiy.
Keywords: Device Management;System Frame;DM Portal;Biz flow