当前位置: 首页 > news >正文

分享 | 对 电商API 平台的再思考

API 是推动现代企业数字化转型的基础。它不但连接了内部应用程序、合作伙伴和客户,同时也快速持续地向市场提供了各种新产品、版本和功能。

但当下还是以集中式的 API 交付为主。一个企业的对外 API 交付过程通常都是冗余而繁琐的,对企业内部的敏捷性、速度和效率都会产生不利的影响。

因此越来越多的企业,开始把目光转向 电商API 平台。利用 API 平台快速将生产者和消费者聚集到一起的特点,实现 API 交付的去中心化和民主化,以推动 API 交付的变革。

本文会介绍如何将平台思维应用于 API 交付,推动企业内部的敏捷性、速度和效率。

图片

| 集中式 API 交付模式的痛点

API 对于现代企业越来越重要,但在大多数企业中,API 没能发挥应有的作用。全球知名的大型咨询公司麦肯锡(McKinsey)提到:

很多时候,企业没有做好准备,就匆忙去构建 API ,会出现许多问题,如系统混乱,冗余、维护不到位,透明度不高。这抵消了 API 可能带来的许多好处。而另外一些企业,花了数年时间去改造和替换原有的大型系统,一直以临时的方式添加 API ,实际也没有取得任何进展。

企业最初采用集中式 API 交付的模式,是为了集中数量少的、难以找到的 API 领域的精英。这种情况下,集中式 API 开发团队会根据 API 的整个生命周期,即从规范定义到开发再到部署和运营,负责端到端的 API 交付。但这种集中式 API 交付的模式存在一些问题:

  • 首先,集中式的 API 交付可以视为一种垄断。消费者(如业务部门的开发者)没有其他选择,只能通过集中式 API 开发团队来获取 API 。

  • 其次,集中式 API 交付团队无法快速响应敏捷团队的反馈。集中式 API 交付团队内部繁琐的流程,割裂了共享服务与 API 消费者之间的联系,两者的互惠互让本可以进一步推动创新。

  • 最后,该模式下产出的 API 会越来越臃肿。企业出于实现治理或制定各种规则的需要,考虑更多的是 API 交付的成本、稳定性和可复用性,而不是迭代速度、敏捷性和灵活性。

显而易见,集中式的 API 交付模式 已经难以应对当下瞬息万变的技术、市场以及严格的消费者了。

平台思维因此也有了用武之地。多数情况下,平台是指公司和外部的生态系统。但是,平台这一关键概念也可以应用于公司内部,以创建企业级 API 平台。这类平台将从根本上改变 API 的交付。

图片

| 平台创造了更具价值的生态系统

平台创造的生态系统包含3个参与角色:创建产品的生产者,购买产品的消费者,提供基础设施和安全性保障的平台方。在平台中,生产者和消费者都能更轻松找到对方,并更有效地进行互动和交易。

图片

平台有几个优势:

  • 选择。通过托管多个生产者,平台让客户可以在不同产品之间进行选择;

  • 竞争。多个生产者带来竞争,可以产生更好的产品;

  • 网络效应。良性的循环可以产生网络效应,更多消费者会聚集到有更多生产者的平台,更多的生产者也会聚集到有更多消费者的平台;

  • 安全性。平台制定规则和进行治理,从而使生产者和消费者可以安全可靠地进行互动和交易。

可以说平台改变了整个行业的商业模式,像优步(Uber)和爱彼迎(AriBnB)就是这种模式的先行者,也因此占据了不同领域的更多市场份额。

图片

| 企业 API 平台改变了 API 交付的模式

了解了平台的优势后,让我们回到企业 API 平台。

图片

顾名思义,企业 API 平台就是旨在提供 API 的企业平台。对应的参与角色中,生产者负责产出 API ;消费者使用 API ,API 平台则提供基础设施和规则,让生产者和消费者互动,最终交付 API 。

那么当企业 API 平台取代集中式 API 交付模式后,会带来哪些变化以及带来哪些好处?

  • 首先,企业 API 平台破除了垄断,更容易满足消费者的特定需求。集中式 API 交付导致的垄断情况,被众多生产者取代,消费者更容易找到心仪的 API 。

  • 其次,更多的选择也带来了生产者之间的竞争。生产者会不停优化 API ,使得消费者有更好的使用体验。

  • 另外,企业 API 平台的反馈机制有天然的优势。企业 API 平台通过提供互动功能如点赞和留言等,把繁琐的集中式 API 交付模式互动机制,替换为充满活力的反馈机制,有助于创新。

  • 最后,企业 API 平台可以提高 API 交付的效率和有效性。企业 API 平台通过保障生产者和消费者的互动及交易,可以加速推动 API 标准的确立(如Open API规范和标准)和解决常见的企业问题(安全性、可用性),通过明确的协议、执行(通用组件)和自动化的 DevOps 流程,提高 API 交付的效率和效果。

企业 API 平台真正改变了 API 交付的模式,提供了一种令人眼前一亮,且有效实用的替代方案。

图片

| 结语

企业 API 平台的真正优势,在于它为企业提供了推动当今市场所需的创新、速度和敏捷性的自由环境。企业 API 平台让 API 交付不再被垄断,任何企业都能根据自己的项目、业务来获取合适的 API。集中式 API 交付模式的时代已经过去了,企业级 API 平台会是一个更加优秀的提效方案。

相关文章:

分享 | 对 电商API 平台的再思考

API 是推动现代企业数字化转型的基础。它不但连接了内部应用程序、合作伙伴和客户,同时也快速持续地向市场提供了各种新产品、版本和功能。 但当下还是以集中式的 API 交付为主。一个企业的对外 API 交付过程通常都是冗余而繁琐的,对企业内部的敏捷性、速…...

C语言--程序环境和预处理

前言 本章就是c语言的最后一个板块了,学完这章节,我们将知道写出的代码如何变成可执行程序的,这是非常重要的一个章节,那让我们一起进入本章的学习吧。 本章重点: 程序的翻译环境程序的执行环境详解:C语言程…...

深度学习笔记_5 经典卷积神经网络LeNet-5 解决MNIST数据集

1、定义LeNet-5模型,包括卷积层和全连接层。 import torch import torch.nn as nn import torch.optim as optim from torchvision import datasets, transforms# 导入必要的库# 定义 LeNet-5 模型 class LeNet5(nn.Module):def __init__(self):super(LeNet5, self…...

国内智能客服机器人都有哪些?

随着人工智能技术的不断发展,智能客服机器人已经成为了企业客户服务的重要工具。国内的智能客服机器人市场也迎来了飞速发展,越来越多的企业开始采用智能客服机器人来提升客户服务效率和质量。 在这篇文章中,我将详细介绍国内知名的智能客服机…...

Matlab/C++源码实现RGB通道与HSV通道的转换(效果对比Halcon)

HSV通道的含义 HSV通道是指图像处理中的一种颜色模型,它由色调(Hue)、饱和度(Saturation)和明度(Value)三个通道组成。色调表示颜色的种类,饱和度表示颜色的纯度或鲜艳程度&#xf…...

【C进阶】动态内存管理

一、为什么存在动态内存分配 我们之前学的都是开辟固定大小的空间,但有时候需要空间的大小只有在程序运行时才能知道,那么就引入了动态内存开辟 内存分布所在: 二、动态内存函数的介绍 2.1malloc和free 动态内存开辟的函数 void * malloc…...

神经网络的梯度优化方法

神经网络的梯度优化是深度学习中至关重要的一部分,它有助于训练神经网络以拟合数据。下面将介绍几种常见的梯度优化方法,包括它们的特点、优缺点以及原理。 梯度下降法 (Gradient Descent): 特点: 梯度下降是最基本的优化算法,它试图通过迭代…...

linux 装机教程(自用备忘)

文章目录 安装 pyenv 管理多版本 python 环境安装使用使用 pyenv 和 virtualenv 管理虚拟 python 环境 vscode 连接远程服务器tmux 美化zsh 安装 pyenv 管理多版本 python 环境 安装 (教程参考:https://www.modb.pro/db/155036) sudo apt-…...

Tensorboard安装及简单使用

Tensorboard 1. tensorboard 简单介绍2. 安装必备环境3. Tensorboard安装4. 可视化命令 1. tensorboard 简单介绍 TensorBoard是一个可视化的模块,该模块功能强大,可用于深度学习网络模型训练查看模型结构和训练效果(预测结果、网络模型结构…...

SpringCloud 微服务全栈体系(二)

第三章 Eureka 注册中心 假如我们的服务提供者 user-service 部署了多个实例,如图: 思考几个问题: order-service 在发起远程调用的时候,该如何得知 user-service 实例的 ip 地址和端口?有多个 user-service 实例地址…...

flutter 常用组件:列表ListView

文章目录 总结#1、通过构造方法直接构建 ListView 提供了一个默认构造函数 ListView,我们可以通过设置它的 children 参数,很方便地将所有的子 Widget 包含到 ListView 中。 不过,这种创建方式要求提前将所有子 Widget 一次性创建好,而不是等到它们真正在屏幕上需要显示时才…...

十四天学会C++之第七天:STL(标准模板库)

1. STL容器 什么是STL容器,为什么使用它们。向量(vector):使用向量存储数据。列表(list):使用列表实现双向链表。映射(map):使用映射实现键值对存储。 什么…...

Linux 下安装 miniconda,管理 Python 多环境

安装 miniconda 1、下载安装包 Miniconda3-py37_22.11.1-1-Linux-x86_64.sh,或者自行选择版本 2、把安装包上传到服务器上,这里放在 /home/software 3、安装 bash Miniconda3-py37_22.11.1-1-Linux-x86_64.sh 4、按回车 Welcome to Miniconda3 py37…...

Django和jQuery,实现Ajax表格数据分页展示

1.需求描述 当存在重新请求接口才能返回数据的功能时,若页面的内容很长,每次点击一个功能,页面又回到了顶部,对于用户的体验感不太友好,我们希望当用户点击这类的功能时,能直接加载到数据,请求…...

k8s认证

1. 证书介绍 服务端保留公钥和私钥,客户端使用root CA认证服务端的公钥 一共有多少证书: *Etcd: Etcd对外提供服务,要有一套etcd server证书Etcd各节点之间进行通信,要有一套etcd peer证书Kube-APIserver访问Etcd&a…...

基于python开发的IP修改工具

工作中调试设备需要经常修改电脑IP,非常麻烦,这里使用Pythontkinter做了一个IP修改工具 说明: 1.启动程序读取config.json文件2.如果没有该文件则创建,写入当前网卡信息3.通过配置信息进行网卡状态修改4.更新文件状态,删除或修…...

Mybatis源码分析

1. Mybatis整体三层设计 SSM中,Spring、SpringMVC已经在前面文章源码分析总结过了,Mybatis源码相对Spring和SpringMVC而言是的简单的,只有一个项目,项目下分了很多包。从宏观上了解Mybatis的整体框架分为三层,分别是基…...

python树结构包treelib入门及其计算应用

树是计算机科学中重要的数据结构。例如决策树等机器学习算法设计、文件系统索引等。创建treelib包是为了在Python中提供树数据结构的有效实现。 Treelib的主要特点包括: 节点搜索的高效操作。支持常见的树操作,如遍历、插入、删除、节点移动、浅/深复制…...

Rust之自动化测试(三): 测试组合

开发环境 Windows 10Rust 1.73.0 VS Code 1.83.1 项目工程 这里继续沿用上次工程rust-demo 测试组合 正如本章开始时提到的,测试是一个复杂的学科,不同的人使用不同的术语和组织。Rust社区根据两个主要类别来考虑测试:单元测试和集成测试。单元测试很…...

专业管理菜单的增删改、查重

1,点击专业管理菜单------查询所有专业信息列表 ①点击菜单,切换专业组件 ②切换到列表组件后,向后端发送请求到Servlet ③调用DAO层,查询数据库(sql),封装查询到的内容 ④从后端向前端做出…...

工业安全零事故的智能守护者:一体化AI智能安防平台

前言: 通过AI视觉技术,为船厂提供全面的安全监控解决方案,涵盖交通违规检测、起重机轨道安全、非法入侵检测、盗窃防范、安全规范执行监控等多个方面,能够实现对应负责人反馈机制,并最终实现数据的统计报表。提升船厂…...

376. Wiggle Subsequence

376. Wiggle Subsequence 代码 class Solution { public:int wiggleMaxLength(vector<int>& nums) {int n nums.size();int res 1;int prediff 0;int curdiff 0;for(int i 0;i < n-1;i){curdiff nums[i1] - nums[i];if( (prediff > 0 && curdif…...

A2A JS SDK 完整教程:快速入门指南

目录 什么是 A2A JS SDK?A2A JS 安装与设置A2A JS 核心概念创建你的第一个 A2A JS 代理A2A JS 服务端开发A2A JS 客户端使用A2A JS 高级特性A2A JS 最佳实践A2A JS 故障排除 什么是 A2A JS SDK? A2A JS SDK 是一个专为 JavaScript/TypeScript 开发者设计的强大库&#xff…...

【JVM面试篇】高频八股汇总——类加载和类加载器

目录 1. 讲一下类加载过程&#xff1f; 2. Java创建对象的过程&#xff1f; 3. 对象的生命周期&#xff1f; 4. 类加载器有哪些&#xff1f; 5. 双亲委派模型的作用&#xff08;好处&#xff09;&#xff1f; 6. 讲一下类的加载和双亲委派原则&#xff1f; 7. 双亲委派模…...

WPF八大法则:告别模态窗口卡顿

⚙️ 核心问题&#xff1a;阻塞式模态窗口的缺陷 原始代码中ShowDialog()会阻塞UI线程&#xff0c;导致后续逻辑无法执行&#xff1a; var result modalWindow.ShowDialog(); // 线程阻塞 ProcessResult(result); // 必须等待窗口关闭根本问题&#xff1a…...

AD学习(3)

1 PCB封装元素组成及简单的PCB封装创建 封装的组成部分&#xff1a; &#xff08;1&#xff09;PCB焊盘&#xff1a;表层的铜 &#xff0c;top层的铜 &#xff08;2&#xff09;管脚序号&#xff1a;用来关联原理图中的管脚的序号&#xff0c;原理图的序号需要和PCB封装一一…...

电脑桌面太单调,用Python写一个桌面小宠物应用。

下面是一个使用Python创建的简单桌面小宠物应用。这个小宠物会在桌面上游荡&#xff0c;可以响应鼠标点击&#xff0c;并且有简单的动画效果。 import tkinter as tk import random import time from PIL import Image, ImageTk import os import sysclass DesktopPet:def __i…...

leetcode_69.x的平方根

题目如下 &#xff1a; 看到题 &#xff0c;我们最原始的想法就是暴力解决: for(long long i 0;i<INT_MAX;i){if(i*ix){return i;}else if((i*i>x)&&((i-1)*(i-1)<x)){return i-1;}}我们直接开始遍历&#xff0c;我们是整数的平方根&#xff0c;所以我们分两…...

FOPLP vs CoWoS

以下是 FOPLP&#xff08;Fan-out panel-level packaging 扇出型面板级封装&#xff09;与 CoWoS&#xff08;Chip on Wafer on Substrate&#xff09;两种先进封装技术的详细对比分析&#xff0c;涵盖技术原理、性能、成本、应用场景及市场趋势等维度&#xff1a; 一、技术原…...

linux设备重启后时间与网络时间不同步怎么解决?

linux设备重启后时间与网络时间不同步怎么解决&#xff1f; 设备只要一重启&#xff0c;时间又错了/偏了&#xff0c;明明刚刚对时还是对的&#xff01; 这在物联网、嵌入式开发环境特别常见&#xff0c;尤其是开发板、树莓派、rk3588 这类设备。 解决方法&#xff1a; 加硬件…...