跳到主要内容

框架开发

  • 提供对渡舟平台的底层技术支持

v0.1.x

开发总体进度:
41.18%
7/17

实现以下基础服务:

  • 服务网关:Api 和 Web 资源网关
  • 配置中心:
  • 认证与鉴权:资源权限与数据权限
  • 前后端本地化机制
  • DSL 设计器: 优先开发表单形式的设计器,图形化只是应用设计的某种表现形式,不是核心关键

设计与实现要点:

服务端

开发总体进度:
36.36%
4/11
状态开始时间结束时间开发内容备注
已完成2024-02-032024-02-17

设计前端站点 Site 的 XDef,并实现根据请求 URL 路径匹配不同站点并返回其入口 HTML 页面的能力

已完成2024-02-182024-02-23

提供 GraphQL 接口,解析并获取指定资源页面的结构

  • 直接利用 Nop XView 模型(可按需改造)
  • 针对 AMIS 的 JSON 结构转换
已完成2024-04-052024-04-20

应用的工程代码生成模板

  • 支持根据调整后的 Excel 数据生成应用及其各类服务的代码
  • 可根据是否为开发环境确定是否要将 *.xbizapp.orm.xml 中的脚本展开到 Java 代码中: Xpl 与 Java 代码存在差异,暂时不做实现
已完成2024-05-082024-06-30

采用 Undertow 作为默认的 Web 容器

  • 打包体积需尽可能小,依赖需尽可能少,性能要尽可能高,启动要尽可能快,适配要尽可能简单
  • 实现 nop-undertow 并以此作为默认的 Web 服务启动器
未开始

设计 Delta 版本分层机制,实现从底层到目标层可逐层叠加并最终生成目标版本的完整 DSL 的能力

  • 每个 Delta 层的标识为该层所有 DSL 的结构 Hash 值
  • 根据当前的语言(Context#locale)自动选择并解析指定 DSL 的对应语言的派生 DSL 文件
  • 在支持原生的 Nop Vfs 之外,优先支持数据库方式的存取,并辅助支持文件系统
    • 通过数据库来规避分布式文件系统的部署复杂、数据易损坏和性能低下等问题
未开始

根据用户权限对站点、资源、操作和接口做访问控制

  • 在前端无不可访问的页面元素
  • 在后端禁止绕行访问,无权限的返回 403
  • 匿名用户也需显式配置权限,否则,按无权限处理
未开始

用户认证和鉴权

  • 分为控制层和实现层,前者以过滤器形式控制请求, 后者为系统提供用户鉴权数据
未开始

Maven POM 与 XDsl 的双向转换

  • 将 POM 的父子结构转换为带唯一标识的属性形式
  • 用于管理应用的 Maven 配置
未开始

设计并实现分步执行模型

  • 直接利用 Nop Task?
  • 包含当前步骤标识、下一步步骤标识、当前步骤执行结果和执行状态
    • 执行状态包括执行的中断位置等信息,方便从中断处恢复,但具体信息由业务侧决定
未开始

设计并实现任务进度模型,以获取前台或后台任务的执行进度信息

  • 直接利用 Nop Task?
  • 后台任务需提供任务标识,以确保页面刷新等中断了进度显示的情况下, 能够根据任务标识在全局位置继续显示任务的进度信息
  • 前台任务可转后台?
  • 任务可中断或提前结束
未开始

微服务架构支持

  • 服务后端注册
  • 网关路由

Web 客户端

开发总体进度:
75.00%
3/4
状态开始时间结束时间开发内容备注
已完成2024-02-032024-02-17

实现基于 AMIS 页面渲染引擎的页面渲染器renderer)框架,支持根据 Site 模型做页面布局

已完成2024-02-212024-02-22

支持对 @query: 前缀 URL 的请求和响应处理

调用 /graphql 对应端点的查询服务

已完成2024-05-042024-05-04

引入 GraphiQL 组件,用于在线调试 /graphql 端点

  • 端点地址可配置
已暂停2024-03-09

开发 DSL 编辑组件,用于设计、编辑、显示 DSL

  • 编辑器仅识别和处理通用的模型结构,如,线节点
  • 基于 React Flow 实现 DSL 图形绘制和编辑

DSL 设计器

开发总体进度:
0.00%
0/2
状态开始时间结束时间开发内容备注
未开始

扫描并识别在 classpath 和 schema 存储目录中的 XDsl 和 XDef, 根据其结构和依赖关系,并转换为 DSL 设计器可识别的元素(线、节点等)结构

  • 即,编写 DSL 读取接口
未开始

将 DSL 设计器的元素结构转换为对应 XDsl 或 XDef 定义, 并按照 Delta 分层方式存放定义文件

  • 即,编写 DSL 保存接口
已暂停