《通用行政审批平台设计方案》由会员分享,可在线阅读,更多相关《通用行政审批平台设计方案(30页珍藏版)》请在金锄头文库上搜索。
1、 行政审批框架设计规格说明书 行政审批框架设计说明书版本历史日期版本说明作者目录1.引言51.1.编写目的51.2.系统简介51.3.适用范围51.4.术语和缩略语51.5.参考资料52.系统设计目标62.1.关键功能分析62.1.1.审批事项62.1.2.表单控制62.1.3.工作流处理62.1.4.系统管理维护62.2.非功能性分析72.2.1.安全性72.2.2.高性能71.系统设计原则及约束71.1.设计技术路线72.系统总体设计82.1.系统架构图83.系统逻辑架构93.1.逻辑架构图93.2.核心业务对象分析103.3.关键功能设计113.3.1.审批事项113.3.2.表单处理设
2、计123.3.3.流程挂接流转143.3.4.自定义列表153.3.5.报表工具183.3.6.消息通信213.3.7.基础管理维护243.4.非功能性需求设计243.4.1.性能设计243.5.接口设计254.系统功能设计254.1.窗口受理系统254.1.1.申请管理254.2.后台管理系统254.2.1.用户管理254.2.2.系统设置265.系统开发架构265.1.工程划分(Project)265.2.工程(Project)目录结构266.系统数据架构266.1.数据模型266.2.持久化方案(可选)261. 引言1.1. 编写目的此总体设计说明书是为了说明行政审批平台框架的设计目标、
3、系统总体设计、系统架构、功能框架,及系统数据架构等。为系统详细设计人员、开发人员进行后续设计及开发时提供输入参考。1.2. 系统简介行政审批平台框架是公司产品型OA及行政审批类应用系统框架,其提供了此类应用系统基础性的构件,实现应用系统快速搭建平台。1.3. 适用范围此文档的使用范围是需求确认完成到详细设计前期阶段,认为是项目的启动阶段文档。主要的阅读对象时项目设计者及项目开发人员。1.4. 术语和缩略语术语、缩略语说明1.5. 参考资料通用行政审批平台需求规格说明书 2. 系统设计目标2.1. 关键功能分析本平台主要的业务是审批业务,围绕审批业务主线的相关功能属于平台核心基础构件功能,核心基
4、础功能包括:审批事项、表单控制、工作流处理(针对特殊场景支撑)、系统后台管理维护、消息管理、列表展示机制、审批受理、审批办理、报表展示、数据查询、打印处理等。2.1.1. 审批事项审批事项对象是行政审批系统表单对象的基础,每个业务表单对应一个审批事项,包括事项名称、相关法律法规、对应处室、承诺时限、事项编号、是否可延期、事项分类、办理事项所需要材料、对应流程、表单模板等等。2.1.2. 表单控制表单控制是平台中最主要的对象之一,涉及内容较多。表单中包括:抽象表单(与业务表单冗余,主要用于查询统计等)、业务表单、实例化的任务对象、业务附件,这些内容共同组成一个表单对象。2.1.3. 工作流处理工
5、作流构件是通用审批平台核心组件,平台通过其实现审批业务的流转和控制,针对各类特例场景进行支撑。2.1.4. 系统管理维护完成平台公共资源的管理配置,包括:组织机构、人员、角色、权限、工作流程配置、数据字典、节假日管理等。2.2. 非功能性分析2.2.1. 安全性1. 用户在浏览器输入密码时,要防止木马盗取。2. 用户提交的信息在互联网传输时,要防止信息窃取。2.2.2. 高性能1. 首页等动态数据较多的页面加载时间不超过2秒。2. 常规页面加载时间不超过1秒。1. 系统设计原则及约束1.1. 设计技术路线工作流处理:工作流组件改进升级集成至平台平台后台管理维护:用户管理组件改进集成至平台 系统
6、平台主体框架:应用部门通用Spring Mvc + Mybatis框架。2. 系统总体设计2.1. 系统架构图l 数据层对结构化数据和非结构化数据进行调度和存储。通用审批平台整合流程数据、表单数据、审批数据、消息数据等各类数据统一集中处理。l 支撑层支撑层通过应用服务器,提供对系统应用层强大的支持,包括组件支撑和支撑应用,组件支撑为应用系统提供轻量级的支撑组件,支撑应用在支撑组件的基础上为系统应用提供支持,让系统具备较高的可扩展性。l 集成层集成层是系统对外提供的数据交换和服务对接的入口、主要针对基于SOA服务接口和门户集成统一登录进行处理。l 应用层应用层是整个平台非常重要的组成部分,是对业
7、务处理的重要环节,规划提供的应用系统为申报子系统、内网审批子系统和后台基础管理子系统。l 展现层展现层是面直接面向用户的应用,是整个平台的信息、数据的入口,主要包括政府门户网站、行政审批专网、政务服务大厅等入口。3. 系统逻辑架构3.1. 逻辑架构图行政审批平台以“工作流引擎组件”做为核心,集成现有的“平台基础组件”。形成以“工作流”、“平台基础组件”为基础,并集成其它综合构件及平台业务管理为支撑的一体化行政审批平台。1、 平台基础管理应用主要包括:用户组织管理、权限管理、字典管理、菜单管理、日志管理及流程设计等。2、 平台业务管理应用主要包括:行政审批事项、表单处理、业务表单处理、业务流转处
8、理、信息发布、消息管理等。3、 其它综合构件主要包括:mmGrid自定义列表、JasperReports报表、自定义表单、规则引擎、缓存插件等。自定义列表可以根据需要管理前台页面列的显示,包括列宽、显示/隐藏、排序、位置等进行设置。报表是对行政审批系统中需要进行报表统计、展示、导入、打印等业务的一个报表插件,提供打印或导出在多种文档格式,包括HTML、PDF、Excel、OpenOffice和doc。缓存可以与系统应用技术框架Spring、hibernate很好的进行组合。对行政审批系统各个业务功能中需要多次请求,不易发生变化的数据进行缓存实现(如:字典、资源、角色、各种类型等),以减少对数据
9、库的访问请求。可以将数据缓存于内容、磁盘、及持久到相关日志型key-value数据库。3.2. 构件集成方式通过审批平台构建的基础思想是基础平台的构件化,建立一个行政审批基础平台的微内核,微内核是一系列公共构件的集成整合处理,是跟每一个业务组件紧密相关的。把业务基础平台中可以分离出来的内容单独作为一个组件,即公共组件,从而实现业务组件和公共组件的分离。业务组件和公共组件使用一个数据库,通过公共组件及相关的标准实现整合。 公共构件包含基础管理、流程管理、消息处理等,在数据层面分别对应着基础数据、流程数据、消息数据等。考虑到公共服务组件的独立性,保证每一个组件独立升级之后不会影响到其他的公共服务组
10、件以及业务组件,因此对公共服务构件进行封装处理。3.3. 核心业务对象分析通过对审批平台核心业务对象的抽象分析,整体上平台主体业务对象包括审批事项、工作流程、表单、选择模板实例、文单模板实例、基础信息等,具体关系如下:如上图所示,审批事项、选项模板、文单模板、流程模型对象为关联关系,通过配置决定该审批事项的主要元素信息,然后通过抽象批办对象实例化实例通用业务,再具体批办对象通过继承关系实现个性化业务。3.4. 关键功能设计3.4.1. 审批事项审批事项是通用行政审批平台的基础类型事项,其重点是对事项内容配置设定,核心是事项相关配套的动态内容、流程类型、表单内容的挂接设定,以各类相关模板定义为主
11、。以审批事项为主体,挂接表单内容及相关实体,从而形成一个审批事项模板。并挂接流程类型。在流程创建的时,以此事项模板为主要对象。产生相关的动态内容、表单内容及相关实体数据,从而形成审批事项流程模板。3.4.2. 表单处理设计 表单处理实质上是审批件的实例化,不同的业务事项本身具备不同的内容和处理机制。目前审批平台提供一套表单的基础的框架结构,各业务的具体选项和表单内容可通过自行开发和平台配置选项来实现,并整合到表单基本框架中,表单框架结构如下:表单对象业务逻辑设计: 3.4.3. 流程挂接流转通用行政审批平台关键核心为审批流程,其主要通过集成工作流组件进行控制和展示、针对行政审批平台的流程场景,
12、需要对现有工作流组件进行升级改造,具体升级改造实现详见工作流组件改进设计说明书,重点需要升级改进流程规则支持、委托等相应功能。如上图所示,平台通过调用升级后的工作流组件接口,集成常规流程实例流转实现,包括人工任务、会签等各类流程流转场景。3.4.4. 自定义列表自定义列表是对前端业务数据列表展示进行自定义控制。在基础管理中根据业务数据需要显示的列进行列表自定义设定。前台数据在展示的时候,会根据后台设置的自定义列表设定信息显示相关的数据。前台根据自定义列表进行数据展示,使用jquery插件mmGrid,该插件兼容多个浏览器,经选型后适用于平台中列表信息的统一展示,其主要特点为:基于jQuery的
13、表格部件,样式表简单,易于扩展修改,简洁、不依赖太多文件,兼容多个浏览器,包括IE6, 自定义列表功能机制如下图所示:mmGrid的基本功能说明:1、列排序2、内容换行(内容超出单元格长度时是否折行显示)3、选框列 行多选:行单选:4、索引列(可调索引列宽度)5、分页(开发者可以根据自己的需求选择使用其他分页器)6、表头分组(支持两层)3.4.5. 个人主页个人主页采用后台设置的方式实现自定义个人主页栏目的显示,通过个人主页模板进行个人主页项的统一设置。用户登录系统后在没有进行个性化主页设置的情况下,系统统一按照主页模板设置的配置进行个人主页的显示,用户进行个性化设置设定的是模板中相关栏目的是
14、否显示,显示顺序,当进行个性化设定后按照个性化设置实例中配置的信息进行相关栏目的显示。个人主页配置相关机制如下图所示:3.4.6. 报表工具 报表工具采用java开源的JasperReports。JasperReports是一个用Java开发的开源的程序库,是世界上最流行的开源报告引擎。使用户能够透过它,利用Java语言来开发具有报告功能的程序。JasperReports的模版采用XML格式,从JDBC数据库中撷取合适的资料,并把资料在屏幕、打印机显示,或以PDF、HTML、XLS、CSV及XML等各种格式储存。它是完全用Java编写的,它是能够使用的数据来自任何类型的数据源,并生成像素级的文档,可以查看、打印或导出在多种文档格式,包括HTML、PDF、Excel、OpenOffice和doc。特点:1、 是JAVA开发者使用最多的工具。2、