带你读《2022技术人的百宝黑皮书》——无代码生产新模式探索(2)https://developer.aliyun.com/article/1340596?groupCode=taobaotech
场景内置核心功能,并预留一些扩展能力,通过场景控件扩展场景中输入/展示/操作等 UI 组件,通过能力插件扩展条件渲染、联动执行等非 UI 型能力。场景与控件正交组合,再结合能力插件,就构成页面区块的完整功能,多个区块布局组合就构成完整页面。
围绕上述核心逻辑,我们构建了完整的场景标准化体系:
- 制定场景规范:成立场景规范小组,结合业务场景诉求,制定各场景统一的交互样式和接口数据规范。
- 建立场景沉淀机制:对于与现有场景完全不同的新场景,先按业务诉求梳理场景案例,对功能抽象分类,再经由场景规范小组评审,设计出符合规范的场景,最后开发并沉淀场景。对于与现有场景相似但有定制化诉求的,拆解出要扩充/定制的能力,同样经过小组评审后,在现有场景上进行迭代。
- 构建场景生态体系:围绕整个大淘宝中后台域,构建整体场景标准及多业务域协同机制,统一管控及沉淀标准场景。并提供自定义物料研发套件及接入能力,以支撑更大范围业务场景。
数据标准化核心为模型定义,数据模型生产及数据实体生产三个环节,将基于场景标准化产出的场景物料对应的API及其所需字段通过场景化搭建配置组合业务模型中的字段生成具体所需API及字段,后端根据API需求提供并绑 定API实体完成页面所需API的标准化生产。
模型定义,基于现有页面API结构的拆解,主要有这几部分:
- 网关模型:描述工作台网关封装的数据结构,包含接口成功失败标识、错误信息、网关额外的调试信息等。网关模型固定,对工作台所有接口都有相同的结构。
- 场景模型:描述具体场景涉及的所有接口的结构,包括场景内固定的入参、返回值字段,以及如何通过场景配置引入的业务模型字段。
- 业务模型:描述实际业务中的概念、涉及对象及其属性,包括字段、类型、含义等。同一个业务模型可以用于多个产品页面。
模型或者说标准的定义并不一定是定义本身多先进,而是大家认可并且能够遵循。因此在整个工作台维度我们成立了覆盖全域产品后端的规范小组,通过整体Review,RFC机制保障模型的标准及有效,通过每个团队的接口人推 进规范落实及收集反馈持续优化。
数据模型生产:有了上述三个模型,就可以在使用平台研发时,通过选择业务模型字段并关联到场景配置中,进而推导出页面所需的接口定义(入参和返回值的字段结构)。技术上类似模版引擎,场景模型是模版,将业务模型字段填充到模版中的占位符,最后再套上网关模型的固定结构,就是期望的 API 数据模型。
数据实体生产:后端按照推导出的 API 接口定义来标准化实现接口,同时我们也基于场景标准构建了通用的Java 类,比如分页列表类、级联查询类等,配合一些工具函数,将 DO/DTO 快速转化成 VO,降低接口表现层的研发成本。大部分情况下比如新业务后端都相对能够较好的按照所产出的结构提供数据,但是针对一些存量接口,二方服务依赖较多的接口等情况后端改造及适配成本相对较高,我们也提供了字段组合映射能力及服务编排能力,以更低成本将非标接口快速转化成推导出的 API。
带你读《2022技术人的百宝黑皮书》——无代码生产新模式探索(4)https://developer.aliyun.com/article/1340593?groupCode=taobaotech