oms系统回顾
需求
我在公司负责的第一个项目是订单模块(OMS),与传统的电商订单不同,此处的订单主要是承接第三方的订单,比如菜鸟或拼多多之类的第三方平台会将订单信息发给我方系统,我方会将订单转成运单进行处理。并实时将运单状态信息传递给第三方平台。
方案
订单并非公司的核心业务,因此我不打算污染公司的核心业务系统和数据库。我将订单模块的业务与数据独立出来,单独构建一个系统,通过http协议调用TMS服务接口(主要是下单及运单路径回传接口)。
第三方平台,提供的接口的数据格式以及业务流程都不一样,如果我要设计一个稳定的系统,我就应付这些变数。
为了达到目的,我增加了一个中间服务。基本架构如图
想画出一幅好看的图真难,但我想意思能表达清楚了,OMS提供一套标准的服务接口,第三方平(如菜鸟等)通过网关路到一个中间服务,由中间服务与oms进行交互。中间服务如同一个适配器,适配所有第三方接口。对于订单状态的变更,通过事件流的方式,发给送给中间服务,再由中间服务推送给第三方平台。