likes
comments
collection
share

企业开放平台进阶之路

作者站长头像
站长
· 阅读数 20

"虫洞"--在物理学中是指宇宙中可能存在的连接两个不同时空的隧道,与当前建设连接大客户开放平台的通道,有着异曲同工之处。

为什么需要开放平台


企业开放平台进阶之路

图1

什么是开放平台

是一个公司对外的窗口,公司通过开放平台将内部的标准、数据和服务等以API的形式开放出来,供第三方开发者使用。 简单概括就是:“聚集于核心竞争力的业务平台,采用面向大众开放的方式进行业务的整合,形成一种业务共建的模式”。

企业开放平台进阶之路

图2

  企业的开放平台是基于货运业务能力支撑的开放平台,提供外部合作伙伴参与服务企业用户的各类原材料,如核心业务API、账号管理、数据订阅推送等。开放平台的使命是把企业货运行业的定价、交易、物流等一系列基础服务,输送给有需要的商家、三方开发者和服务商平台。

开放平台的价值

开放平台的核心价值在于通过自身服务和第三方应用的互利互惠,提高用户对应用和平台的整体体验和粘度。

企业开放平台进阶之路

图3

  • 将企业的核心产品服务能力暴露出来,供第三方开发者使用,通过与其他行业能力互通,打造完整的产品生态。
  • 为三方平台、独立开发者、合作客户等带来收益,达到数据交互,合作共赢的目的。

需要怎样的开放平台


货拉拉现状

经过业务的千锤百炼与技术的升级沉淀,持续建设了对标业界先进的标准流程开放平台,全面覆盖了直客场景的货运需求对接。

平台架构

企业开放平台进阶之路

图4

接入流程

企业开放平台进阶之路

图5

客户特征

标准流程满足80%标准客户,基于标准+定制满足15%的定制客户,平台对接满足5%的平台大客户。

企业开放平台进阶之路

图6

  • 标准客户
    • 特点:标准流程对接,几乎无定制需求,满足全部需求
    • 优点:维护成本低,GTV收益相对稳定
    • 不足:整体收益不高,一个客户只对应一个企业
  • 定制客户
    • 特点:基本按标准流程对接,满足大部分需求,但有定制需求
    • 优点:GTV收益都比较高
    • 不足:维护成本较高,不断提出新的定制需求
  • 平台客户
    • 特点:避开对接标准流程,且提供自有平台,不做改动或极少的配合改动
    • 优点:GTV收益潜力大、流量大,企业客户增长多
    • 不足:接入、联调、测试、验收,维护成本都比较高

面临的挑战

遇到平台客户怎么办?

  • 分析问题
    • 支持乏力: 标准流程在这种场景下就显得有些无力
    • 角色反转: 对接方成为平台方,平台方转为对接方
    • 反向对接: 我们对接外部平台,而非对接我们平台
  • 面对冲突
    • 撤退/回避: 把眼前的或潜在的冲突搁置起来,从实际或潜在冲突中退出
    • 强迫: 以牺牲其他方为代价,强制推行某一方案,一般只适用于"赢-输"零和游戏中
    • 面对/解决: 积极定义问题、收集问题、制定解决方案,选择最合适的方案解决问题,实现双赢,甚至多赢
企业开放平台进阶之路 企业开放平台进阶之路 企业开放平台进阶之路

图7

方向的探索

平台调研

  • 从下面几个平台对比结果可以看出,大部分平台的接入流程与技术能力都大体相似,在入参、返参、协议、鉴权,流程上略有差异。
平台 特点 差异点 共同点
聚合平台 1、车型配置,运营配置 2、API地址,运营配置 3、流程差异,关注核心流程物流平台 1、公共&业务参数 2、请求协议 3、签名鉴权 4、业务诉求 1、签约入驻 2、创建应用 3、密钥分配 4、文档对接 5、系统调试 6、集成上线
物流平台 1、公共&业务参数 2、请求协议 3、签名鉴权 4、业务诉求
电商平台 1、城市映射,建立关系 2、API权限包,运营平台分配

系统规划

企业开放平台进阶之路

图8

背景
  • 复用能力不够,当前系统可复用能力欠缺,每次接入都要经历从0到1的过程
  • 无法灵活适配,平台增多,参数差异大,相同能力不同的流程诉求难以快速满足
  • 管控能力不足,管理平台客户措施欠缺,接口权限,流量控制,监控告警等不完善
  • 联调环境较差,双边联调环境难对齐、进度慢,订阅消息推送完整性能力不足
目标
  • 轻量对接,业务识别、策略鉴权、参数适配、能力编排,沉淀可复用能力,持续降低对接成本
  • 能力编排,计价、营销、订单、支付等能力的组合编排,支持流程差异化,满足大客户不同诉求
  • 管控建设,户权限、API权限、监控告警、数据统计,建设管控能力,降低系统风险
  • 自助排障,建设API调试、签名生成、SDK自动生成工具,降低沟通成本、资源排查成本

核心建设

客户管理
  • 平台管理
    • 审核机制,通过审核的外部平台,有权限调用我们平台提供的核心服务能力,对平台整体安全管控
    • 通用配置,可视化管理平台可配置接入密钥、支付方式、授权回调、引导信息、状态映射等信息 企业开放平台进阶之路

图9

  • 平台授权
    • 客户授权
      • 统一授权H5页面,模型适配,便于嵌入外部平台App端、飞书、钉钉等软件端
      • 通过授权获得与系统交互的身份��识,将贯穿企业的核心服务能力的整个过程
    • 授权回调
      • 回调通知,将授权绑定关系结果推送给合作平台,这是约定双边交互流程中的唯一标识
      • 主动查询,提供平台主动查询授权结果信息能力,便于合作平台对授权信息的确认与补偿 企业开放平台进阶之路

图10

业务适配
  • 模型适配
    • 下单链路较长,涉及地址解析、车型转换、支付方式、播单时长、司机引导、订单备注、报价搬运等等
    • 服务商平台参数差异大,经过转换、定制、配置,统一适配成标准模型的参数,复用于通用的业务能力 企业开放平台进阶之路

图11

  • 能力编排
    • 原子能力:地址能力、定价能力、核价能力、用券能力、下单能力、支付能力
    • 平台能力:由多个原子能力的组合而成,实现具备不同组合能力的通用平台能力
    • 能力扩展:对平台能力进行扩展,让平台能力具备满足更多差异化诉求的能力 企业开放平台进阶之路

图12

提效工具
  • 参考业界先进技术方案,持续建设针对此类平台大客户的接入辅助工具,提高接入效率,降低接入成本
网关配置
  • 统一接口、统一维护
    • 由M(平台)*N(接口量)收拢为一套接口。
    • 识别身份,统一监控,降低维护成本。 企业开放平台进阶之路

图13

Sentinel集成
  • 流量控制
    • 客户限流,对平台应用的整体流量控制-总体控制
    • 接口限流,对平台调用接口的流量控制-接口控制
    • 资源配额,对平台调用接口的资源限制-配额控制 企业开放平台进阶之路

图14

API调试台
  • 一键调试
    • 一键生成上下文关联参数,发送请求,响应平台结果。
    • 一键生成平台参数签名,响应待加密字符串&加密后的签名字符串,方便调试&测试对比,提升联调效率,降低测试成本
      • 调用链路 企业开放平台进阶之路

        图15

      • 调用示例 企业开放平台进阶之路

图16

自助排障
  • 日益增长的需求变更,人工对API异常码的更新并不是实时的,总是滞后的、容易缺漏,间接的提高了接入的成本
  • 通过自助排障,实时查询异常信息的详细原因,更准确的定位问题,减少双边资源的协调成本
    • 排查示例 企业开放平台进阶之路

图17

SDK生成
  • 具备SDK架构的基础功能模块
    • 通信协议封装:让开发者无需关注调用API的通信协议和通信逻辑
    • 接口基础契约封装:让开发者无需关注调用API的参数格式、时间戳、签名、Code码等细节
    • 请求参数模型封装:让开发者便捷地设置API请求参数
    • 返回参数模型封装:让开发者便捷地使用API返回的数据 企业开放平台进阶之路

图18

  • 开放平台 SDK 中,参数模型代码和调用示例代码都具备较强的规则性和模式性,我们选择基于“代码语料”自动生成代码更符合当前的技术路线。
    • 基于代码语料自动生成代码需要“语料”+“规则”两个核心元素

    • 通过解析API元数据,并结合领域专用语言(DSL)作为语料模板,生成代码语料

    • 基于语料特性为不同的编程语言定制代码的生成规则

    • 将“语料”+“规则”输入代码生成器以完成目标代码的生成

      • 业界主流代码自动生成技术 企业开放平台进阶之路

      图19

      • 基于代码语料的自动生成 企业开放平台进阶之路

图20

  • SDK 生成、测试和发布自动化
    • 监听SDK可能需要发布的变更,包括通过Binlog机制监听API元数据的变更、通过Git Hook机制监听SDK基础逻辑代码仓库Master分支的变更

    • 一旦监听到有变更产生,通过触发器去触发SDK持续集成和发布流水线的运作

    • 流水线开始运作后,首先执行SDK构建组件,SDK构建组件会并发执行两个操作:

      • 获取SDK基础逻辑代码(人工编写)并完成静态代码检查
      • 拉取API元数据并自动生成参数模型代码
    • 以上操作完成后,执行代码合并和代码编译,将结果提交到流水线

    • 然后由自动化测试组件完成对SDK的单元测试和自动化测试,通过后提交到流水线

    • 最后由自动发布组件完成SDK的打包、上传、下载链接生成和版本信息生成等一系列操作,并最终将最新版本SDK发布到官网供开发者下载

      • 持续集成(CI)和持续发布(CD) 企业开放平台进阶之路

      图21

      • 开发者接入SDK前后问题预估统计 企业开放平台进阶之路

图22

消息推���
  • 广播推送
    • 提供基础订阅能力,平台服务商按需订阅,推送订阅消息至配置推送地址
  • 定向推送
    • 通过保留原始消息、推送消息,保证推送链路的完整记录
    • 多种推送策略,让开发者在开发中、问题发现、和事后补偿中都可以根据不同策略来实现 企业开放平台进阶之路

图23

总结&展望


  • 抽象平台对接的复用能力,低成本对接更多平台服务商
  • 灵活模型适配与能力编排,高效适配差异化的需求流程
  • 建设对接平台的基本管控,降低平台服务商越权等风险
  • 支持可视化自助排障平台,降低开发/联调/测试/验收成本
  • 提升接口安全可靠的能力,平台接口权限、重复请求幂等
  • 搭建场景丰富的监控体系,高效协助排查、掌握实时情况

犹如"虫洞"一般,随着上述能力的建设进阶,我们就慢慢打通了与大客户平台的通道,构建企业大客户开放平台,实现平台之间的高效连通。

转载自:https://juejin.cn/post/7392606582486843446
评论
请登录