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

        原业务流程平台审批单使用横向表纵向存储的思路,所有流程所使用的业务表单的数据都存在一张物理表中,表中每条数据记录包含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平台开发流程审批框架界面设计方案(草稿)

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

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

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

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

肖永威

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值