表单驱动是传统BPM的典型标志,也是使用Excel做数据管理的常见做法:为了实现某个业务目标,利用计算机在多个参与者之间按某种预定规则自动传递文档、信息或者任务。一些从BPM或者Excel服务器类产品转型而来的低代码开发平台,大多延续了这种表单驱动的模式。
简单来说:如果不需要再配置数据库实体,直接集成在表单中,也就不能对数据库进行直接操作,称为表单驱动。
表单驱动在软件定制方面的优势有:
(1)、通用流程定制支持:通过针对流程过程中的抽象充分考虑到了流转过程中的权限分配模型。在一定程度上可以更灵活的完成审批业务上的定制。瞒住大部分流转业务。
(2)、权限集成化设计:根据业务特点,以表单和流程为中心,最大程度的集成权限模型,实现更细粒度的权限授权。
(3)、表单可视化:在表单方面,系统最大程度的提取通用组件,增加拖拽设计抽取通用属性方便用户选择。同时在部分脚本动作中实现可以话处理。在一定程度上减少代码工作量。实现简单业务逻辑。
在表单驱动中,针对一些通用业务做了抽象和工具能力的提升。但在实际应用中还是存在了很多的问题。
(1)、系统集成能力不足
在企业实际应用中,很少有独立存在的业务审批业务,多数情况下,组织机构需要从钉钉、或企业微信读取、而各种业务审批则需要跟响应的业务系统完成数据交互。即使是简单的“请销假流程”也需要和企业微信、企业的HR(读取员工剩余假期)系统,CRM等系统进行接口交互,才能很好的完成业务流转。而这些系统接口交互使得业务表单驱动的模式很难以轻量级的模式来运行。而在这些系统集成领域则过度的依赖传统编程。
(2)、无法处理复杂数据关系
表单驱动模型,大多数表单起始于通用模板,但通用模板中更多可选择的不同业务种类以及风格样式。但实际应用中,数据间都会存在一定的数据勾稽关系。特别是一些专有领域类似于,财务、人事政府事务审批中其表单及流程的核心还是在于数据的流转,在这些领域模板就略显鸡肋。而大多数模板在勾稽关系运算方面过渡的依赖二次开发实现。
(3)、开放及交互能力较弱只能局限于内部系统使用
表单驱动模型,大多数主要还是来自于业务系统内部系统(企业OA,CRM),或者作为钉钉、企业微信等平台的附属部分即使有业务集成也绝大多数局限于内部自有业务系统集成。在跨系统或领域应用中鲜有成功的案例。
(4)、部署复杂维护困难
表单驱动本身部署及维护并不困难,但在真正融合业务后会进行大量的业务和接口定制。这些定制使得大量的混合代码(模板和原生开发)存在。在业务变更或者架构升级时,维护开发会出现超乎现象的复杂。多数系统在选择技术升级或架构改变时会抛弃替换性的升级。这也是很多成熟的行业软件即使牺牲业务的灵活度也要也选择避免流程引擎表单定制之类的应用存在已便于架构的间接性。
小结:
传统表单驱动,在系统内部及早期的企业信息化中具有一定的低代码特性。也确实在一定程度上减轻了开发者的工作量。但其流水账模式的数据方式,很难以满足现代企业针对数据层面的需求。但过时的是技术实现而不是需求本身。表单驱动模型会长期存在,但其后续发展趋势最大的可能或将是退化为低代码领域的一个重要组成部分。