漫谈低代码(一)流程表单驱动(低代码工作流)
低代码/无代码平台,近两年很火,不管是互联网大厂还是,传统领域软件厂商都在大手笔投入,厂商间也是百花齐放,低代码无所不能,人人皆可开发,没有什么不是托拉拽不能解决的。在大多数厂商在推出实战实例的时候都会以类似于“请假审批”来做一个“零基础3分钟”开发来开始。
一,传统流程定制过程
流程定制
在开篇的介绍中,一般会有两个上镜率比较高的两个工具“流程定义工具”,“自定义表单工具”,
在更多的篇幅中,则开始描述。根据各种场景:
流程模型:流程和权限的变化的各种组合方式,流程上支持,单人、多人串行并行。
权限模型:权限上支持,角色、岗位、部门等多种方式授权方式,可以细粒度到每个字段的读、写、隐藏等基本操作。
表单绘制:
单选、多选、附件组件、审批意见组件等等。
工作箱
二,表单驱动优势
上述流程表单定制中,其优势还是有的:
1,通用流程定制支持:
通过针对流程过程中的抽象充分考虑到了流转过程中的权限分配模型。在一定程度上可以更灵活的完成审批业务上的定制。瞒住大部分流转业务。
,2,权限集成化设计:
根据业务特点,以表单和流程为中心,最大程度的集成权限模型,实现更细粒度的权限授权。
3,表单可视化:
在表单方面,系统最大程度的提取通用组件,增加拖拽设计抽取通用属性方便用户选择。同时在部分脚本动作中实现可以话处理。在一定程度上减少代码工作量。实现简单业务逻辑。
三,实际应用中遇到的问题和不足
在流程表单驱动中,针对一些通用业务做了抽象和工具能力的提升。但在实际应用中还是存在了很多的问题。
(1)系统集成能力不足
在企业实际应用中,很少有独立存在的业务审批业务,多数情况下,组织机构需要从钉钉、或企业微信读取、而各种业务审批则需要跟响应的业务系统完成数据交互。即使是简单的“请销假流程”也需要和企业微信、企业的HR(读取员工剩余假期)系统,CRM等系统进行接口交互,才能很好的完成业务流转。而这些系统接口交互使得业务表单驱动的模式很难以以轻量级的模式来运行。而在这些系统集成领域则过度的依赖传统编程。
(2)无法处理复杂数据关系
表单驱动模型,大多数表单起始于通用模板,但通用模板中更多可选择的不同业务种类以及风格样式。但实际应用中,数据间都会存在一定的数据勾稽关系。特别是一些专有领域类似于,财务、人事政府事务审批中其表单及流程的核心还是在于数据的流转,在这些领域模板就略显鸡肋。而大多数模板在勾稽关系运算方面过渡的依赖二次开发实现。
(3)开放及交互能力较弱只能局限于内部系统使用
表单驱动模型,大多数主要还是来自于业务系统内部系统(企业OA,CRM),或者作为钉钉、企业微信等平台的附属部分即使有业务集成也绝大多数局限于内部自有业务系统集成。在跨系统或领域应用中鲜有成功的案例。
(4)部署复杂维护困难
流程表单驱动本身部署及维护并不困难,但在真正融合业务后会进行大量的业务和接口定制。这些定制使得大量的混合代码(模板和原生开发)存在。在业务变更或者架构升级时,维护开发会出现超乎现象的复杂。多数系统在选择技术升级或架构改变时会抛弃替换性的升级。这也是很多成熟的行业软件即使牺牲业务的灵活度也要也选择避免流程引擎表单定制之类的应用存在已便于架构的间接性。
四,小结
传统表单模型,在系统内部及早期的企业信息化中具有一定的低代码特性。也确实在一定程度上减轻了开发者的工作量。但其流水账模式的数据方式,很难以满足现代企业针对数据层面的需求。但过时的是技术实现而不是需求本身。表单驱动模型会长期存在但其最大的肯能行会退化为低代码领域的一个重要组成部分。