TESB京东笛卡尔平台架构实践

简介: 互联网花了10多年的时间,已经培养出了用户在线购物的习惯,如今稍作点击,在京东11点之前下单,当天就能拿到我们中意的商品。

互联网花了10多年的时间,已经培养出了用户在线购物的习惯,如今稍作点击,在京东11点之前下单,当天就能拿到我们中意的商品。

与大用户量,高并发量匹配的电商技术体系,相对比较成熟:高可用,可扩展,水平切分,服务治理,微服务架构已经完全能够满足2C电商业务的需求。

与2C类个人电商相比,面向企业级采购的2B类电商依旧十分之痛,特别是流程和效率一直是一对难以调和的矛盾:

  • 合规的预算制,要走招标、合同签订、交货验收、财政支付、财务报销等诸多冗长环节,效率低下
  • 与传统IT公司合作开发电子化的系统,又面临后端没有商品支持,售前售后服务缺失,对行业一知半解,导致开发周期长,功能缺失,系统使用不畅等众多问题

在这样的背景下,京东瞄准了其中的机会,提出“企业智慧采购”概念,以“企业采购解决方案提供商”的身份,全新推出TESB(京东笛卡尔平台),以化解采购流程中“合规”与“效率”之间的矛盾,京东试图变革采购模式,让整个过程变得阳光、高效、透明、简单。

2C类电商技术架构相对成熟,TESB(京东笛卡尔平台)这类企业采购平台又会面临哪些技术上的挑战呢?

image.png

首先是消息转化上的进化。

成熟的ESB产品,一般会采用开放性的传输协议和消息格式。例如使用HTTP传输协议携带查询请求、采用EDI报文来进行企业ERP对接、采用MQTT消息描述物联网设备采集内容等,但在实际的企业对接过程中,企业的信息化水平参差不齐,尤其是一些中小型企业很难按照这些标准完成对接工作,因此TESB(京东笛卡尔平台)需要去适应这种需求,就要求其在消息转换上具备灵活性,既要支持标准的开放性的传输协议和消息格式,也要支持企业定制化的传输协议和消息格式,同时实现标准到非标从协议到数据层面的互通。

如上述架构图所示,所有的业务系统都需要和平台进行交互,系统设计时需要预留一层adapter层,adapter与平台的接口是固定的,由adapter与业务层进行直接交互,对业务层屏蔽平台的复杂性。

当需要有新的业务侧接入平台时:

  • 如果能够复用原来的协议,则直接接入;
  • 如果不能复用原来的协议,只需要在adapter层新增适配,内部平台无需任何修改升级;

通过这种方法,保证系统的扩展性。

其次是流程编排上的进化。

在企业对接的过程中,TESB(京东笛卡尔平台)在面向数据转换过程的同时,需要面向业务服务。而采购场景是复杂的交易场景,传统的ESB根本无法满足业务需要。

在很多采购交易场景中,需要定时定点的进行服务交互、需要fork和join支持,这里不仅仅单单指的是数据的合并,也牵扯到服务的合并,同时对服务的路由规则也提出了挑战,需要应对不同交易规则下的路由策略,而TESB(京东笛卡尔平台)基于BPM2.0标准,打造了自己的流程编排引擎,同时引入了推理引擎,建立了推责机制,来承担复杂采购场景下的服务集成工作。

流程编排对架构设计的挑战,是规则引擎与状态机的设计:

  • 需要抽象出不同的业务状态,状态与状态之间保持相对独立;
  • 设计规则引擎,针对不同的业务,只是在不同状态之间跳转,就如工作流一般;
  • 增加业务流程时,如果所有流程状态都能复用,则只需要简单配置规则引擎就能实现扩展;
  • 如果新业务流出现了新的业务状态,状态机需要增加一个节点,但对历史业务状态是透明的,不需要任何改动,做到了最大程度的状态解耦。

最后是系统工程架构上的进化。

京东作为国内首屈一指的电商平台,在系统工程架构上积累了丰富的经验,这些经验是传统ESB平台所不具备的。版本控制,服务隔离,健康检查,高可用可扩展,服务治理,微服务架构等一系列技术,均能够复用和传承到2B的企业采购电商平台上来。同时,cloud云计算,AI人工智能,IOT物联网,BI大数据,BlockChain区块链等新兴互联网技术,也应用到了智能化采购过程中涉及商品、展示、贸易、履约、财务、售后等7大核心流程中来。

工程技术能力是京东的优势能力:

  • 版本控制能够保证系统快速迭代与回滚;
  • 服务隔离能够保证通用服务的隔离性与扩展性;
  • 健康检查能够在系统发现故障时,最快发现问题并切换流量,保障系统绝对的高可用;
  • ...

是否已经有深度合作的成功案例?

当然,“智慧采购”落地后,依据在金融、制造、交通、能源、互联网等多个行业龙头企业中得到应用实施。一起来听听合作伙伴的声音:

  • 中国银行:“京东作为唯一一家和我们合作的电商供应链平台,我们总部、各直属机构、附属公司、各分行都使用其提供的供应链管理服务,极大降低了成本,提高了效率”
  • 沃尔沃:“我们借助京东平台实现采购全流程可视化,通过采购管理模式变革,使得沃尔沃采购全流程变得透明化了”
  • 军队合作:“使用数据云、供应链罗盘,AI工具打通采购需求收集后,军队物资采购融入了军队管理全流程,后勤管理的运营更加高效了,响应更加迅速了”

无论如何,京东推出TESB(京东笛卡尔平台),以科技搏击企业采购蓝海,希望以技术驱动打通企业服务链条,像个人消费者在京东购物一般,实现智慧企业快乐采购的高效体验。

目录
相关文章
|
17天前
|
Kubernetes 安全 Java
构建高效微服务架构:从理论到实践
【4月更文挑战第9天】 在当今快速迭代与竞争激烈的软件市场中,微服务架构以其灵活性、可扩展性及容错性,成为众多企业转型的首选。本文将深入探讨如何从零开始构建一个高效的微服务系统,覆盖从概念理解、设计原则、技术选型到部署维护的各个阶段。通过实际案例分析与最佳实践分享,旨在为后端工程师提供一套全面的微服务构建指南,帮助读者在面对复杂系统设计时能够做出明智的决策,并提升系统的可靠性与维护效率。
|
1天前
|
消息中间件 持续交付 数据库
构建高效可靠的微服务架构:策略与实践
【4月更文挑战第25天】 随着现代软件开发的复杂性日益增加,传统的单体应用已难以满足快速迭代和灵活部署的需求。本文深入探讨了如何构建一个高效且可靠的微服务架构,包括关键的设计原则、技术选型以及实践中的挑战和应对策略。通过分析多个成功案例,我们总结了一系列最佳实践,并提出了一套可量化的性能优化方法。文章不仅为开发者提供了具体的技术指导,同时也强调了团队协作和持续学习在微服务转型过程中的重要性。
|
9天前
|
消息中间件 运维 监控
现代化软件开发中的微服务架构设计与实践
本文将深入探讨现代化软件开发中微服务架构的设计原则和实践经验。通过分析微服务架构的优势、挑战以及常见的设计模式,结合实际案例,帮助开发者更好地理解如何构建可靠、可扩展、高效的微服务系统。
|
9天前
|
负载均衡 Java 开发者
细解微服务架构实践:如何使用Spring Cloud进行Java微服务治理
【4月更文挑战第17天】Spring Cloud是Java微服务治理的首选框架,整合了Eureka(服务发现)、Ribbon(客户端负载均衡)、Hystrix(熔断器)、Zuul(API网关)和Config Server(配置中心)。通过Eureka实现服务注册与发现,Ribbon提供负载均衡,Hystrix实现熔断保护,Zuul作为API网关,Config Server集中管理配置。理解并运用Spring Cloud进行微服务治理是现代Java开发者的关键技能。
|
10天前
|
敏捷开发 监控 前端开发
深入理解自动化测试框架Selenium的架构与实践
【4月更文挑战第16天】 在现代软件开发过程中,自动化测试已成为确保产品质量和加快迭代速度的关键手段。Selenium作为一种广泛使用的自动化测试工具,其开源、跨平台的特性使得它成为业界的首选之一。本文旨在剖析Selenium的核心架构,并结合实际案例探讨其在复杂Web应用测试中的高效实践方法。通过详细解读Selenium组件间的交互机制以及如何优化测试脚本,我们希望为读者提供深入理解Selenium并有效运用于日常测试工作的参考。
15 1
|
13天前
|
Linux 数据安全/隐私保护
Linux基础与服务器架构综合小实践
【4月更文挑战第9天】Linux基础与服务器架构综合小实践
1242 8
|
22天前
|
消息中间件 监控 API
构建高性能微服务架构:从理论到实践
【4月更文挑战第4天】 在当今互联网应用的快速迭代和高并发需求下,传统的单体应用架构已不足以满足市场的灵活性与扩展性要求。微服务架构以其独立部署、弹性伸缩、技术多样性等优势,成为众多企业转型升级的首选方案。本文将深入探讨如何构建一个高性能的微服务系统,涵盖关键组件的选择、系统设计的考量以及性能优化的策略,旨在为开发者和架构师提供一套实用的指导思路和具体实践步骤。
|
25天前
|
消息中间件 安全 API
构建高效微服务架构:策略与实践
【4月更文挑战第1天】在数字化转型的浪潮中,微服务架构已成为企业追求敏捷、可扩展和灵活部署的重要技术手段。本文将深入探讨如何通过合理的设计原则和先进的技术栈,构建一个高效的微服务系统。我们将剖析微服务设计的核心要点,包括服务的划分、通信机制、数据一致性以及安全性问题,并结合案例分析,展示如何在现实世界中应用这些策略以提升系统的可靠性和性能。
|
25天前
|
设计模式 API 持续交付
构建高效微服务架构:从理论到实践
在当今快速迭代和部署的软件开发环境中,微服务架构已成为一种流行的设计模式,它允许开发团队以模块化的方式构建、维护和扩展应用程序。本文将深入探讨微服务的核心概念,包括其定义、优势、挑战以及如何在实际项目中实施。我们将通过一个实际案例来展示如何将传统的单体应用拆分成一系列独立、松耦合的服务,并通过容器化、服务发现、API网关和持续集成/持续部署(CI/CD)等技术手段来管理这些服务。
|
28天前
|
存储 Java 应用服务中间件
【分布式技术专题】「架构实践于案例分析」盘点互联网应用服务中常用分布式事务(刚性事务和柔性事务)的原理和方案
【分布式技术专题】「架构实践于案例分析」盘点互联网应用服务中常用分布式事务(刚性事务和柔性事务)的原理和方案
51 0