后端应用开发
把工作区后端项目主线发布为不可变版本,并通过 Hosted Service 部署为稳定 API。
后端应用用于承载业务规则、数据处理、外部系统集成和稳定 API。本文所说的后端应用,是从工作区项目主线发布不可变语义版本、由 Hosted Service 管理环境和部署的独立服务。
它不等同于:
- 平台应用:面向用户的工作区入口。
- 运行时模块:由 Bundle 物化到 App Runtime、通过模块方法调用的能力单元。
- 平台基础服务:由平台发布系统管理的控制面或运行时基础设施。
标准生命周期
项目源码
-> 主线 HEAD 与 Cargo package.version
-> Release Operation
-> 不可变 hosted_service_release
-> Project Environment
-> Deployment
-> 稳定 Endpoint
-> 健康与业务验证后端应用可以被平台应用、网站、智能体、模块、工作流或外部系统调用。调用方身份、服务 token 和业务用户身份需要分别设计,不能只依赖“知道 URL”作为权限控制。
接入 Application Runtime
接入 Application Runtime 的独立后端先通过 Hosted Service 部署,再由 Module 封装接口,随业务 Bundle 安装到 Runtime。这里的“包装后端服务”指交付调用能力,不是把后端程序或部署制品装进 Runtime。
交付:后端项目 → 发布项目版本 → 部署到 Project Environment → Endpoint
安装:Module 封装后端接口 → Bundle 引用 Module 版本 → Application Runtime 安装 Bundle
调用:Runtime 中的 Module 方法 → 已配置且获授权的 Endpoint → 后端业务逻辑和数据库- 独立创建、发布并部署后端项目,验证 Endpoint 与服务鉴权。
- 在所属 Bundle 内开发 Module,为后端接口声明标准方法、参数、返回值和调用配置。
- 创建不可变 Module 版本并纳入 Bundle,发布后将 Bundle 安装到目标 Application Runtime。
- 通过受保护的安装配置设置 Endpoint 与调用授权,验证 Runtime 到后端的真实调用链路。
Application Runtime 管理 Bundle 安装、模块配置和资源生效状态;Hosted Service 管理后端的 Environment、Deployment、Endpoint、配置、Secret 和数据库绑定。Environment 是后端项目的部署配置, 不是 Application Runtime,也不与每个 Bundle 安装一一对应。
Bundle 安装不会自动创建后端项目、部署环境、进程或数据库;Bundle 升级不会自动发布后端新版本, 卸载也不会自动停止独立后端或删除其数据库。需要随安装开通业务租户、配置或解绑业务资源时, 由来源 Bundle 已登记的管理器处理授权范围内的业务状态。托管后端独立部署。
后端只向网站或外部系统提供 API 时,可以独立使用;只有作为 Runtime 模块能力交付时,才需要 Module 与 Bundle。模块的完整交付流程见模块开发。
需要 Bundle 管理器时
普通 API 后端无需注册管理器;需要随 Bundle 安装、升级、配置或解除业务绑定时,必须按首次接入流程与验收完成受管接入。 部署时交付一次性授权,服务启动后握手生成并持久化双向凭据,随后在线轮换。 数据库绑定和 Endpoint 创建不自动注册管理器。后端上线、管理器接入和 Bundle 业务验收分别完成。
复用 Bundle 管理器 Adapter
多租户后端需要随 Bundle 生命周期开通租户或解除绑定时,先阅读 Bundle 管理器接入推荐架构:独立部署的 Adapter 后端 处理握手、凭据轮换和公共管理器协议,Adapter Bundle 与 Module 提供访问该后端的标准方法。 业务 Hosted Service 保留业务接口、事务和 Database Capability 绑定。Adapter 后端部署与调用 Bundle 安装分别完成;可用性须按目标环境的正式版本和真实联调结果核实。 AI 在选择接入方式并生成清单和服务 listener 前,再阅读 业务、管理与 Bundle 管理器生命周期入口, 明确业务、人工管理和平台生命周期各自的路由、凭据与权限。
后端应用独立交付
后端项目版本和 Hosted Service Deployment 不进入 Bundle。Bundle 中的模块可以调用 后端 Endpoint。高级 Bundle 可以关联已登记的 Bundle 管理器。后端发布状态单独验证。
继续阅读: