面向数字化提质提效的低代码架构设计( 二 )


资产中心:随着用户群体增长,应用平台往往会形成大量优质资产,因此需要提供一个分享、管理这些优质资产的平台 。另一方面,针对企业在发展过程中已经沉淀下来的高质量资产,平台需要提供适当的方式来接入;此外,企业的专业开发人员应有办法为低代码应用定制高级功能 。
集成:指集成更多应用程序和数据源:企业内部往往具有多个系统以及已有的技术栈体系,各系统之间有着丰富的交互逻辑和数据互访需求 。通过集成能力可以提升低代码平台的灵活性和扩展性,从数据源、协议、应用等各个层面实现企业各系统之间的数据和服务交互,从而提升低代码应用的价值和可用性 。
可用、安全:可用性是软件的一个重要方面 。企业软件通常是企业中关键的业务应用程序,例如企业资源规划(ERP)、客户关系管理(CRM)和财务管理系统等 。这些应用程序与企业中的日常业务紧密相关,在发生故障或停机时,可能会导致企业的财务损失、服务中断和信誉问题 。因此,企业软件需要是高度可用的,以确保企业的继续运营和稳定发展 。另一方面,企业软件往往涉及到用户的敏感数据和信息,如个人身份信息、财务信息、医疗记录等 。如果这些信息被泄露或被黑客攻击,将会对用户造成极大的损失和伤害,甚至会让公司面临法律问题 。
【面向数字化提质提效的低代码架构设计】轻舟低代码平台的架构
针对上述数字化转型背景和低代码平台的能力要求,我们决定提供一门图灵完备的可视化编程语言以及一套功能完备的集成开发环境,来达到语言统一,开发高效,程序安全,扩展性强,门槛低上限高的目标;借助于云原生的优势,打造一个故障隔离,灵活安全,可观测性完善的一站式平台,并通过资产中心完成数字资产的沉淀和复用 。
我们的平台架构整体上可以划分成平台服务,集成开发环境,NASL 语言及其配套设施,资产中心,云原生基座五大模块,设计如下:

面向数字化提质提效的低代码架构设计

文章插图
轻舟低代码平台产品架构设计
平台服务
低代码平台服务的设计目标是“提供一站式应用开发平台,维护应用从开发到运维监控的全生命周期管理,并满足不同企业软件工程实践规范” 。为此,平台分为以下几个部分,各司其职:
  • 应用管理:包含应用创建、列表与详情、运维、删除等应用管理能力,其中运维包括应用的部署规格,服务启停,WebSQL 等操作。
  • 多租户管理:租户是低代码资源的顶层隔离单位,不同租户之间的资源互不相通,从而保证平台资源安全,包含应用资源、资产资源、底层运行资源等 。
  • 多环境管理:平台可以一键创建 / 销毁一整套应用开发环境,在 CI / CD 的设计上可以快速对接云原生 DevOps,从而满足不同企业不同的软件工程实践规范 。
  • 应用集成信息管理:低代码平台提供了 API、数据源、文件存储、认证源等应用三方集成能力,需要对集成相关的配置信息做注册,权限等管理,如数据库地址,API 地址等 。
  • IAM:即 Identity and Access Management,包括身份验证,各类授权,账户管理,用户行为与活动的审计与监控,是平台安全实践的重要体现之一 。
  • 应用监控:通过应用可观测性监控,低代码开发者可以及时获知制品应用的内部运行状态,从而在制品应用页面响应缓慢、访问报错等异常情况发生时,能够及时定位异常发生的原因,并及时查看修复 。应用监控目前包含日志和维度监控,其中日志既支持 NASL(平台所定义的语言,下述)日志,也支持源代码日志,未来还会对应用程序在运行时的执行路径和行为做追踪记录 。
集成开发环境
低代码集成开发环境的设计目标是“ 以提高开发效率为中心,同时注重应用集成、多人协作、版本控制等方面的需求” 。为此,平台提供了可视化设计器、应用调试与预览、一站式部署发布、三方集成能力、依赖管理等功能 。
平台的集成开发环境(IDE)部署在云端,是一款与 CodeSpace 有些类似的 WebIDE,它能够支撑日常软件研发所需和软件工程所需,同时提供应用三方集成的有效手段,以提高开发者应用构建效率和可能性 。它包括以下组件: