转载自:https://www.grapecity.com.cn/blogs/huozige-decryption-of-low-code-system-architecture
“模型驱动”还不够!企业级低代码开发平台系统架构解密
企业级应用是企业软件应用中的一个类别,被称为软件开发领域的“明珠”。典型的企业级应用通常可以分为三个大类,即支撑企业核心业务的应用系统(如生产制造业的MES、交通运输业的TMS)、涵盖企业全流程的大规模综合型系统和基于行业软件定制开发的个性化模块。这些企业级应用支撑着企业的核心业务发展,为推进企业数字化打下坚实的基础。
(互联网应用 vs 企业级应用)
随着信息化的推进,企业对定制化应用的需求也日渐增长。这对于技术负责人来说,这既是机遇也是挑战:该如何才能在有限的预算下,快速开发出与企业业务需求贴合的企业级应用呢?随着低代码技术的问世,模型驱动的开发方式,革命性的生产力优势,让越来越多的开发团队引入低代码技术,加速企业级应用落地。
企业级应用对开发工具提出更高的技术要求
然而,与常见的互联网应用项目相比,支撑企业核心业务的企业级应用具有高价值、高复杂度和高技术标准等特点。这些特性决定了能够开发企业级应用的工具,必然能够满足互联网应用的开发,反之则不尽然。这就意味着选择一款企业级应用低代码开发平台,除了生产力外,还需关注工具本身的技术架构、开放程度及安全可控性等关键指标。
(软件开发工具为企业数字化提速)
本文将从系统架构开始,以 活字格企业级低代码开发平台 为例,从开发流程到编程扩展,全面介绍具备能够支撑企业级应用开发的低代码开发工具,及这类工具的系统架构。
(活字格企业级低代码开发平台)
开发流程与协作方式,支撑敏捷化团队管理
现代的软件开发流程与协作模式,凝聚了数代软件人的智慧,并形成了完整的生态系统,广泛服务于包括企业级软件在内的各类软件项目。活字格企业级低代码开发平台出自全球领先的开发技术提供商葡萄城,站在了巨人的肩膀上,可适配业界主流的敏捷式开发流程,覆盖应用开发的全生命周期。
在顶层架构上看,活字格的由活字格设计器、活字格服务器、以及第三方提供的协作服务器构成,覆盖企业级应用开发的全生命周期。
通常情况下,开发者使用活字格开发企业级应用的流程如下:
- 开发者使用安装在自己电脑上的活字格设计器,启动开发工作
- 如需与其他开发者组成团队,共同推进项目开发,或者需要进行版本管理,开发者可以利用协作服务器(如码云、GitHub 等互联网或安装在局域网内的 Git 服务器)和其他开发者进行协作
- 开发者在自己的电脑上,使用活字格设计器构建数据表、服务端逻辑、页面等元素,完成应用开发和调试后,可以利用一键发布功能,将应用打包成可发布文件,部署到安装有活字格服务器程序的服务器上
- 完整的活字格服务器由活字格服务器程序和管理控制台网站构成。其中,系统管理员可以通过管理控制台,可视化管理系统用户和权限,并且完成网络安全、自动备份等配置工作
- 配置完成后,最终用户即可通过包括浏览器、APP、微信、钉钉等在内的多终端使用开发者构建的企业级应用了。
(活字格的开发流程)
如上图所示,使用活字格开发应用的流程与专业的纯代码开发并无显著差异,这意味着开发者可以充分借鉴软件开发行业中积累形成的项目管理经验,实行敏捷化的项目管理和更紧凑的产品迭代周期,满足大规模、高复杂度的企业级开发需求。
开发出的应用架构,达到专业架构师水准
为了让企业的软件系统长期可靠运行,规避“数据孤岛”带来的不便,企业级应用对可维护性和系统集成能力的要求远高于互联网应用。这就对低代码开发工具提出了更高的要求,不但要好用、好交付,还得好维护。而这一切,都得从使用低代码开发工具所构建的应用本身讲起。
开发者使用活字格构建的应用为纯 HTML5 Web 应用,最终用户能通过 PC 浏览器、手机 APP、微信或者钉钉来使用。支撑该应用的各个引擎和类库,都凝聚了葡萄城在专业控件领域 40 年的技术积累,能全面满足企业级应用开发所需。此外,该 Web 应用还具有很强的开放性,支持多种主流数据库、各种系统集成插件和开放的 API 编程接口。
(活字格的系统架构)
在运行时层面,活字格的运行时架构,充分考虑了开发者对集中管理开发内容和灵活分发、复用开发成果的需求。使用活字格构建的应用由可发布文件和活字格服务器构成,可发布文件须在活字格服务器上加载和运行。可发布文件由活字格设计器生成,支持保存到本地,或一键发布到服务器,其内容包含了开发者所构建的全部内容,主要包含:
l 支持 PC 端浏览器和移动端的页面。这些页面基于标准的 HTML5、CSS3 构建,兼容性好。
l 用来描述业务逻辑和用户交互的脚本。脚本采用了活字格自定义的格式进行描述,支撑起工作流、自动化任务、ODATA 服务等。相比于传统的脚本语言,活字格屏蔽了平台的差异,用户不需要关心这些脚本运行在 Windows 还是 Linux 的服务器,或 PC 还是手机上的浏览器。
l 使用第三方工具开发的程序集或脚本、样式文件。这些文件基于活字格提供的编程接口和最佳实践构建,可以与使用活字格构建的页面、业务逻辑和用户交互脚本完全融合,协同增效。
(使用活字格开发出的应用)
这些内容被打包在一个文件中,开发者可以随时使用活字格设计器打开和修改这些内容。为了进一步提升开发效率,活字格设计器还提供了依赖检查和自动更新功能。如开发者修改某个数据表中的列名,活字格设计器会自动检查使用到该列的页面和服务端逻辑,并自动进行更新,以确保系统正常运行。统一的开发工具配合自动更新功能,让活字格的后期维护成本远低于“自动生成源代码”的模式。
活字格会定期升级以增强系统的功能和性能,而基础类库和服务程序与开发者构建的可发布文件互相分离的设计,能让开发者通过升级活字格的最新版本,及时享受到最新的软件开发技术,让自己开发的企业级应用,以最小的开发成本投入,跟上技术进步的浪潮。
“模型驱动”模式,不惧复杂业务场景
低代码开发平台在设计思想上可以分为“表单驱动”和“模型驱动”两种。前者将页面的表单和数据的存储结构合二为一,而后者则与纯代码开发类似,实现了数据与表现的完全分离。在业界的通行观点中,“表单驱动”具有更低的使用门槛和技术门槛,但是应用场景的局限性更高,通常仅用于开发简单的数据填报系统,很难用在企业级应用的开发过程中。
为了满足企业级应用对业务场景复杂度以及对数据一致性的高要求,活字格采用“模型驱动”的理念进行设计。开发者可以在活字格设计器中,分别设计用于定义数据模型的数据表,供用户操作的页面,以及运行于服务器上、承载复杂业务逻辑的服务端命令。
即便是没有受过专业编程训练的平民开发者也能轻松构建出专业级应用,达到满足数据库设计范式、表与页面分离式设计、前后端分离架构等软件开发行业广泛推荐的技术要求,为企业级应用的开发和维护打下坚实的基础。
(活字格采用模型驱动的开发方式)
编程扩展能力,开放无限可能
众所周知,企业级应用的场景复杂多变,任何一款低代码开发平台都无法通过内置功能来覆盖所有企业级应用的开发所需。但是,考虑到培训和使用成本,国内的企业主通常更愿意为覆盖全部业务环节的系统买单。所以,编程扩展能力就成为企业级应用开发的重中之重。有了编程接口的支持,开发者可以用拖拉拽的方式,无编码实现绝大多数业务需求;用编码的方式,让其他业务需求成功落地。这样才能避免项目卡死在“最后一公里”,解除开发者的后顾之忧。
不断进化的活字格已经可以让开发者用拖拉拽的方式构建出绝大多数企业级应用的功能,越来越多的企业级应用开发者在项目全程中都没有写过任何代码。但活字格并没有止步于此,为了满足企业级应用开发对扩展性的高要求,活字格还为系统的各个分层均提供了编程扩展能力。如果有必要,开发者能通过编程接口,精确修改各层的处理逻辑,为系统集成提供坚实的技术基础。编程接口的典型应用场景如下:
l CSS 样式表:为表格或输入框精确设置外观样式,满足企业统一的UI设计风格要求
l 前端编程接口:调用第三方硬件设备的 ActiveX / OCX 接口,集成图像采集、读卡器等硬件设备
l 后端编程接口:在后端集成第三方 Web API 接口,集成互联网服务或行业软件
l 数据库编程功能:通过存储过程或查询视图,提升系统的数据处理能力
(活字格的编程扩展能力)
总之,领先的技术架构是低代码开发技术能够支撑企业级应用开发的必要条件。作为国内低代码技术趋势的引领者,活字格凝聚了葡萄城专业开发控件领域40年的技术积累,可以为开发者提供专业级的工作流程与协作方式、模型驱动的开发模式以及覆盖各层的编程接口,帮助开发者快速交付前后端分离的企业级应用。
如需了解活字格企业级低代码开发平台及其应用案例,欢迎在百度中搜索“活字格”,访问官网,查看更多内容,免费下载试用。