低代码开发平台需要解决的核心问题-服务编排和规则引擎(低代码开发平台是什么意思)

低代码开发平台需要解决的核心问题-服务编排和规则引擎(低代码开发平台是什么意思)

今天再谈下对低代码开发平台的一些思考。

在前些日子,ThoughtWorks 中国区 CTO 徐昊在接受采访的时候谈到,低代码不是一个新概念,现在也不是低代码第一次引发业界讨论,以降低程序员门槛为目的的低代码从底层逻辑上就是不通的,这类低代码不是风口,而是行业毒瘤。

这个在当时引起了广泛的讨论和争议,当然反击声音最大的肯定是各种低代码开发厂商,这本身也可能极大的影响到这些厂商本身的商业利益和发展融资。

实际上对于徐昊整个采访一直在强调,以降低程序员门槛为目的的低代码是最没用的。从某种程度上来讲,这类低代码产品最终会演变成程序员的工作,甚至引发新一类程序员的出现,而它本身则从低代码退化成为真正的代码。

在10多年前我们就做过类似的快速开发平台,里面有完整的界面建模,对象建模,流程建模,规则建模,组织权限建模等能力。但是应用到后期发现的一个关键问题就是对于规则引擎部分,通过脚本代码实现的规则越来越复杂和庞大,而且极难维护。也就是说很很多业务需求或复杂规则的实现很难抽象出统一标准规则或模型,你必须用脚本代码去实现,但是对于复杂规则脚本却变得越来越庞大。

在《人月神话》这本书里面提出一个重要的观点就是没有银弹,只有焦油坑。当时提出这个观点的背景仍然是大型工程类复杂软件系统的开发和实现。对于这类系统可以看到的重点已经不是后续的编码工作,而是整个系统分析和设计过程。

在我前面一篇对没有银弹的论述文章里面也谈到,整个从需求到软件开发实现的过程实际上可以分为几个关键环节,即:现实世界-》业务建模-》系统建模-》开发实现。

也就是说低代码开发平台并不能省略掉业务建模和系统建模这个动作,而这个建模本身又需要一些业务 技术的双背景往往才能够更好去承担该任务。

简单来说,随便一个人,给你一个低代码开发平台,你就能够实现一个完整的业务系统,这个本身就不现实。那么是否就说低代码开发平台本身没有价值?

要回答这个问题,还是要将低代码开发平台分为两大类。一类是零代码偏配置的平台,一类是真正低代码面向开发人员的平台。

低代码开发平台需要解决的核心问题-服务编排和规则引擎(低代码开发平台是什么意思)

零代码偏配置的平台

对于零代码偏配置类低代码平台,整体来看,可以看到三类发展和演进方向。

其一是将传统企业工作中日常的表单流程实现电子化,自动化,流程化。这里表单流本身更多是表单CRUD逻辑,配置权限和流程审批,没有复杂的类似ERP系统一样的后端业务规则需要实现。因此低代码平台一般能够胜任。

其二是基于垂直行业应用下扩展低代码开发能力,比如项目管理应用,CRM应用,包括复杂的ERP系统等。在这种场景下底层核心业务模型和对象模型是稳定的,不能轻易出现变化,外部人员更多是基于低代码开发能力进行快速外围能力扩展。

其三是SaaS平台类应用的外围生态构建,最典型的就是类似钉钉这种SaaS应用,其本身就是面对类似OA,HR等日常协同类应用,流程表单多而规则并不复杂。因此提供一个低代码平台能力更加方便用户进行能力扩展,SaaS平台唯一需要考虑的就是底层组织引擎本身的稳定性,统一注册接入的接口标准和集成等。

真正低代码面向开发人员的平台

当前我们谈平台 应用构建模式,谈中台和能力开放,谈云原生平台和ServerLess架构。而这些都体现出一个关键特征,即:

应用开发应该是分层的,前后端分离的。

后端提供的是各种可复用的API接口服务能力,这些能力既包括了类似消息,缓存等技术服务能力,也包括了类似人员,组织,规则处理等业务服务服务能力。

前端应用的开发更多的应该是基于后端的API服务能力灵活地进行组装和编排来完成。基于这个思路你会发现前端实际包括了两个关键事情。

  • 其一是低代码平台常说的界面建模能力
  • 其二是接口服务本身的组装,服务编排能力

而对于后端来说核心则是提供各种API接口服务。这些接口本身本身也分为了两类,一类是在进行对象建模完成后将简单对象或复合数据对象发布为API接口服务。其二是提供规则引擎来实现各种规则能力并发布为API接口服务。

对象直接发布为API接口很容易实现。

而真正困难或难以自动化的就是规则引擎实现,并将规则发布为API接口服务的过程。前面已经谈到对于复杂业务规则或逻辑的实现,即使采用规则引擎,那么也存在大量手工编写的规则实现脚本代码,由于是脚本代码,这些规则越写越复杂,越是难以维护。

当我重新思考这个问题的时候,发现面向开发的低代码平台,核心是规则引擎和服务编排,同时在引入这两个关键组件时候,你也要意识到对于复杂规则实现,复杂的编排,最好的方式仍然是写代码来实现,最终将其暴露为API接口服务。

也就是说这类规则服务或领域服务能力本身还是可以代码实现的,是可以维护的。

就规则引擎和服务编排来讲。

个人理解前期在自动化的实现中,重点不是规则引擎,而是可视化的服务编排能力实现。当前已经有不少的微服务架构下的微服务API编排开源组件实现,但是前面我文章也分析过并不是特别的灵活和可配置。

低代码开发平台需要解决的核心问题-服务编排和规则引擎(低代码开发平台是什么意思)

对于服务编排场景的详细阐述,可以参考下面这篇文章。

从ESB服务组合编排到NetflixConductor微服务编排

一个可视化服务编排,重点在哪里?

我们可以对这个问题简单思考,比如前端在进行界面设计建模的时候,最喜欢的就是各种界面组件,控件,按钮,能够直接挂接到一个统一的组合服务API上面,而不是说前端人员在界面设计的时候还需要去搞清楚点击安排究竟要调用几个API接口,而且调用过程中还需要遵循什么样的规则逻辑。

在前后端分离的场景下,前端并不关心复杂的后端逻辑。

从这个道理上来讲,微服务编排需要考虑的就是将多个细粒度的原子服务或API接口,统一组合或组装为一个大的API接口服务的能力。

这种服务组装或组合本身只包括两大类。

第一类是偏静态的数据组合,组装和拆分。比如你点按钮要获取数据,原来是要查询两次API接口,现在我给你组合下,调用一个大API组合服务,一次给你返回所有数据。或者说类似单据保存过程,你原来是需要调用两个API接口分别保存头和明细,现在我给你组合下,你一次把完整数据对象送过来,我一次给你保存完。这些是属于典型的传统基于领域对象的领域服务API接口实现的。

第二类是偏动态的自动化业务流程处理,类似在传统SOA架构里面说的BPEL自动化业务流程处理。这种业务流都是系统后端自动完成,不需要人工干预,比如点击按钮要自动产生一个待办工单,比如提交报账前要首先调用预算API接口进行预算检查,比如在单据保存成功后自动化去启动流程API接口等。这类服务组装或编排往往体现出一张接口服务串行调用的典型特征,即前一个API接口输出会成为一个接口的输入。

那么第二类服务编排究竟应该是基于服务的同步事务处理,还是基于消息事件的异步编排就变成一个关键点。如果是同步你需要考虑补偿或回退机制,如果是异步消息,你需要保证消息最终一致性等。

当前我没看到任何一个轻量级的基于微服务API接口的可视化服务编排工具,如果有相关的可以推荐给我进行分析和研究。同时我也再次提出基于微服务API的轻量,灵活,可视化服务编排工具,往往是一个重要的低代码平台发展趋势。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

(0)
上一篇 2024年1月11日 上午9:25
下一篇 2024年1月11日 上午9:41

相关推荐

  • 建设工程专业科研项目

    建设工程专业科研项目 随着经济的发展和城市化进程的加速,建设工程行业越来越受到人们的关注。在这个行业中,科研项目是推动行业发展的重要力量。本文将介绍建设工程专业科研项目的特点、重要…

    科研百科 2024年11月9日
    0
  • 人文科学六大类(人文科学六大类是什么)

    六大类”通常指的是我国高等教育自学考试中的六个学科门类,包括: 哲学、法学和社会学类:主要包括哲学、法学、社会工作、社会学、政治学、民族学、马克思主义理论等专业。 经济学和管理学类…

    科研百科 2024年4月5日
    123
  • 个人免费的项目管理工具

    个人免费的项目管理工具 随着现代生活和工作节奏的加快,越来越多的人开始使用项目管理工具来提高工作效率和项目管理能力。虽然个人免费的项目管理工具有很多优点,但是它们可能无法满足所有人…

    科研百科 2024年7月24日
    39
  • 管委会合同制(管委会合同管理办法)

    管委会合同管理办法 为规范管委会在与企业的合同中的管理行为,保障企业的合法权益,制定管委会合同管理办法。 一、适用范围 管委会在与企业的合同中的管理行为,适用管委会合同管理办法。 …

    科研百科 2024年6月6日
    55
  • 国家重点计划研发项目北师大

    国家重点计划研发项目北师大 近年来,随着科技的不断发展,国家重点计划研发项目也不断涌现。其中,北京师范大学作为一所著名的综合性大学,承担着多项国家重点计划研发项目。 其中,最著名的…

    科研百科 2024年10月17日
    0
  • 项目管理 project软件

    项目管理 Project软件 随着数字化时代的到来,项目管理已经成为了现代企业和个人生活中不可或缺的一部分。而Project软件则是实现项目管理的重要工具之一。Project软件可…

    科研百科 2024年5月25日
    59
  • 黑帕云 陈金洲

    黑帕云,一个让人难以忘怀的地方,位于中国与挪威的边境线上。这里是世界上最为偏远,最难以到达的地方之一,因此,这里的自然景观也成为了世界上最为壮观的景象之一。 陈金洲,一位来自北京的…

    科研百科 2024年10月22日
    1
  • 科研项目的组织方式有哪些

    科研项目的组织方式有哪些 科研项目的组织方式有哪些?这是许多人问道的问题。科研项目的的组织方式有很多种,以下是其中一些常见的方式: 1. 项目组项目组是最常见的科研项目组织方式。项…

    科研百科 2024年10月21日
    0
  • 2022仓库管理软件排行(2022仓库管理软件排行榜)

    企业在选择仓库管理软件前,要先弄明白自己的需求,需要解决的问题是什么,因为市面上的仓库管理软件有很多,要根据问题来选择合适自己的软件,才是最重要的。 而一般的进销存系统,就仅仅是管…

    科研百科 2024年7月25日
    46
  • 教研项目申请书(教研科研项目申请报告会)

    教研科研项目申请报告会 尊敬的评委: 我是一名教研领域的研究人员,目前正在申请一项教研科研项目。在此,我向您提交我的申请报告,希望能够得到您的审阅和指导。 一、研究背景 在当前的教…

    科研百科 2024年4月3日
    53