软件开发过程中的效率问题一直受到强烈关注。计算机软件开发方法的每一次变革都是通过提高抽象层次实现,从机器语言到汇编语言、再到高级语言、可视化建模语言,开发效率得到了显著提升。2000年左右,软件开发中出现了“模型驱动开发”的概念。
模型驱动的核心理念在于从概念模型的设计入手来构建企业应用,随后以概念模型为基础搭建数据模型、页面模型、流程模型及报表模型,把软件开发从“开发过程”转为“建模过程”,最后形成场景展示。系统可以根据整套模型的设计进行客户管理、评级管理或者其他复杂场景的构建,提升开发效率,降低复杂系统开发的难度。
与模型驱动相比,表单驱动适合对业务理解充分,但对技术理解薄弱的业务用户使用,通过少量的表单页面搭建简单的应用场景。表单驱动操作的门槛比较低,构建速度快,适合轻量级应用的开发。
表单驱动是传统BPM的典型标志,也是使用Excel做数据管理的常见做法:为了实现某个业务目标,利用计算机在多个参与者之间按某种预定规则自动传递文档、信息或者任务。一些从BPM或者Excel服务器类产品转型而来的低代码开发平台,大多延续了这种表单驱动的模式。
而另一些低代码开发平台,如专业开发工具厂商LeaRun的低代码开发平台,就选择了另一条路——模型驱动。模型驱动基于模型的API层,使用可视化建模技术来定义数据关系、流程逻辑和构建用户界面,使用少量编码即可基于模型实现更多复杂逻辑,使开发人员能够快速交付应用程序。
模型驱动开发会赋予DevOps真正的生命。DevOps更多的关注在整体商业价值的实现,从业务部门原始需求到IT开发实现和持续运维、通过运营数据反馈到业务部门进行改进优化,从而形成针对业务商业价值的生命周期闭环管理。
如果给表单驱动打上标签的话,那就是“无纸化、重复工作、流程孤岛、系统孤岛、数据孤岛”;而模型驱动的模式,对应的便是“智能化、效率质量提升、外部数据整合、消除信息孤岛、内部数据整合”。
总的来说,模型驱动实现了业务与技术的解耦,通过模型表达业务核心运作逻辑,统一跨团队通用语言,将团队中的人从复杂的代码中解放出来——包括业务专家和技术人员,让他们专注于更高层次的概念和解决方案设计。自动化减少了琐碎和重复的任务,减少人为犯错的几率,进而提升产品质量和生产力。开放保证了万物互联,老系统也能连接新技术。
随着技术日新月异的发展,我们将遇到越来越多的新技术—— IOT、AI、AR、区块链、边缘计算和环境计算等等。低代码开发将会成为一个理想的平台帮助企业面对未来的技术创新,其背后的实现技术正是模型驱动,使用模型可以提高抽象层次、降低软件的复杂性,大幅提升系统的开发效率,构建效率指数级超越传统代码开发。这就是模型驱动低代码开发的力量。