原业务流程平台审批单使用横向表纵向存储的思路,所有流程所使用的业务表单的数据都存在一张物理表中,表中每条数据记录包含Column定义和Value,Column所对应的字段信息,通过定义表来定义。这种做法就是在实现时,需要使用代码进行数据组装,比较繁琐。当表单较大时,界面展现速度慢。此方案查询统计支持有限。

为了满足可配置动态表单的需求,并解决上述方案的不足,采用NoSQL技术来优化设计,因为NoSQL无需事先为要存储的数据建立字段,随时可以存储自定义的数据格式。按NoSQL的特性,可以灵活进行schema结构(列定义)的修改,理论上应该可以很好支持这些动态表单的持久化保存。

基于上述思路,采用审批单(表单)模版,以及NoSQL与关系型数据库相结合的方案,设计目标如下:

(1)使用用户化工具设计审批单模版;

(2)通过配置管理工具,配置审批单关键数据项,例如:标题、部门、关键数值(例如统计、流程流转规则所需要的)、时间等;

(3)审批单模版需要版本化管理;

(4)审批单数据存储分为两部分:一是关键字段内容,存储到关系型数据库中;整个表单(含HTML、CSS、JavaScript、图标等)连同数据内容,以文档整体对象存储到NoSQL数据库中;

(5)审批单上所涉及到的CSS、JS、图标等资源性文件,需要进行版本管理(在数据库中只保存他们的URL);

(6)历史表单查询保存原样;

(7)保留表单数据内容修改痕迹(存储流转中多版本表单),提供定期清理功能;

(8)保证高效读写性能,以及稳定性。

上述目标也适用于信息专栏内容。

另外,还有一套折中方案,也是在审批单模版的基础上,表单上非关键数据,组合成一个字符串保存(例如:JSON格式),在数据保存和提取展现时,按配置数据进行展现数据适配。

上述方案需要技术验证,欢迎读者反馈、建议。

参考资料:

基于PaaS平台开发流程审批框架界面设计方案(草稿)

从原理分析审批流表单配置功能使用的问题

通用流程化应用审批单设计思路(一)

动态表单的数据库结构设计

在BPM动态可配置表单中使用NoSQL技术可行性分析——通用流程化应用审批单设计思路(二)相关推荐

  1. 用MongoDB数据库来管理办公系统中文档型的表单和信息——通用流程化应用审批单设计思路(二,续)

    1.办公系统中文档的定义 办公系统中的文档就是指对数据不敏感的业务,例如流程中的审批单.信息专栏.数据上报.信息记录等.而对于这些信息的管理,特别是时效性较强的管理记录,仍采用关系型数据库进行管理. ...

  2. 碎片数据收集利器-结构化动态表单设计思路

    本文基于面向基本公共卫生的业务系统设计经验,抽象出一套适合大型ERP系统的表单业务数据模型,目标是最大限度保留系统弹性的同时,尽可能降低系统复杂度和开发成本.enjoy~ 背景 填写表单应该是所有业务 ...

  3. 驰骋工作流程引擎,ccflow,如何把子线程的数据汇总到合流节点表单中去?

    为什么80%的码农都做不了架构师?>>>    驰骋工作流程引擎,ccflow,如何把子线程的数据汇总到合流节点表单中去?对于分合流程来说,一般的模式就是分流 – 子线程 – 合流. ...

  4. 如何在 InfoPath 2003 表单中动态加载数据

    转自微软:http://support.microsoft.com/kb/896451/zh-cn 概要 简介 更多信息 创建新的虚拟目录 设计 Microsoft Office InfoPath 2 ...

  5. angular4更改表单中显示的值_Angular 4 动态表单教程 Reactive Forms教程

    动态表单(React Forms)是一种动态构建表单的技术,用于解决有时候手动编写和维护表单所需工作量和时间会过大的问题.特别是在需要编写大量表单时.表单都很相似,而且随着业务和监管需求的迅速变化,表 ...

  6. java动态表单设计解析

    于雷劈网的表单设计器扩展,java实现后台解析(插件内容和字段和原版有一定改变).致敬雷劈网.http://formdesign.leipi.org/ 全部代码地址在 https://gitee.co ...

  7. 使用XML作为配置表,WinForm程序读取配置表来动态显示控件

    一.首先创建一个XML文件定义以下格式(uName:显示的中文字,uKey:代表控件的Name属性,ukeyValue:代表是否显示) 二.项目中定义一个通用类,来存放读取的值 这三个字段对应XML文 ...

  8. 使用Vue动态生成form表单的实例代码

    具有数据收集.校验和提交功能的表单生成器,包含复选框.单选框.输入框.下拉选择框等元素以及,省市区三级联动,时间选择,日期选择,颜色选择,文件/图片上传功能,支持事件扩展. 欢迎大家star学习交流: ...

  9. 【NET CORE微服务一条龙应用】第三章 认证授权与动态权限配置

    [NET CORE微服务一条龙应用]第三章 认证授权与动态权限配置 介绍 系列目录:[NET CORE微服务一条龙应用]开始篇与目录 在微服务的应用中,统一的认证授权是必不可少的组件,本文将介绍微服务 ...

最新文章

  1. SURF算法与源码分析、上
  2. 20155216 2016-2017-2 《Java程序设计》第二周学习总结
  3. Python实训-15天-博客汇总表
  4. 转载通过 Docker 实现传统应用程序的现代化
  5. Jzoj4348 打击目标
  6. 学生云课堂 0917
  7. tps是什么意思_系统了解精益生产系统TPS精益思想丛书介绍
  8. java 算法递归案例_JAVA 几个递归算法实例
  9. 小D课堂 - 零基础入门SpringBoot2.X到实战_第4节 Springboot2.0单元测试进阶实战和自定义异常处理_21、SpringBoot2.x配置全局异常返回自定义页面...
  10. 常见OJ提交结果对照表
  11. 2008 r2 server sql 中文版补丁_sql2008 sp4补丁
  12. SQLyog 下载地址
  13. ModbusTCP助手调试工具Modbus主站调试工具ModbusMaster支持所有Modbus设备调试
  14. CentOS8-linux安装 tailf命令
  15. 一夜黑白——互联网人的悼念方式
  16. OSChina 周五乱弹 —— 终于发现红薯看片的证据了
  17. Laravel + EasyWeChat 微信登陆功能
  18. 随机过程(一)基础概念与随机过程基本类型
  19. vue实现瀑布流效果
  20. GetLastError()返回值含义

热门文章

  1. mysql emoji表情_Mysql支持emoji表情
  2. Jmeter插件duang duang duang 学会模拟各种场景
  3. 淘宝、天猫、1688产品详情页API、DESC、SKU信息获取展示
  4. 张飞老师硬件第二十四部--马达驱动--原理图设计①----5三项直流无刷永磁电机相关
  5. 企业云盘够快云库的「战斗与前行」
  6. 武昌区ISO20000认证的价值及补贴政策出炉了
  7. Web端rtmp视频流的预览
  8. win10+python3.7环境下安装pydensecrf(实测有效!)
  9. 《社群经济:移动互联时代的生存哲学》读书笔记
  10. php平台手机验证码错误,php验证码一直错误怎么办