API开发平台能帮助开发人员快速发布API和构建微服务,那么这个过程是怎么样的,我们今天就用使用实际的场景来演示整个开发过程。下图是传统供应链系统的功能架构。

微服务 api controller server 模块划分 微服务api编排_微服务

可以看到供应链系统的模块还是比较多的,我们选择供应商管理这个大的模块来进行微服务拆分,供应商管理的系统范畴包括:

  • 供应商资料管理
  • 供应商资质管理
  • 供应商查询
  • 供应商流程(入驻、认证、考察、合作、绩效评估、淘汰全流程业务)
  • 供应商联系人管理
  • 供应商统计分析

如果按照这个粒度对供应商管理进行微服务拆分,那么我们可以得到微服务应用以及他们之间的数据交互关系如下:

微服务 api controller server 模块划分 微服务api编排_增删改查_02

拆分得到6个微服务应用,其中最核心的是供应商资料管理,那么我们就拿这个模块来进行微服务应用的快速开发尝试,首先识别供应商资料管理应用内部涉及到的业务实体对象,从已有实施经验我们大致可以识别出以下几类:

  1. 基本参数:如纳税标识等(YBNSR 一般纳税人、XGM 小规模纳税人、FZZS
    非增值税)这类包含参数选项和参数值。
  2. 供应商分类:可支持多层父子分类。
  3. 供应商信息:供应商基本信息为大的业务实体,业务实体可分为多层数据实体的级联,数据实体和级联关系如下:

微服务 api controller server 模块划分 微服务api编排_增删改查_03

业务实体和数据实体识别出来之后我们来识别出主要的API。
  1. 基本参数的增删改查API。
  2. 供应商分类的增删改查API.
  3. 供应商信息的增删改查API。
  4. 供应商信息中对联系人信息进行增删改查的API。
  5. 供应商统计分析的API(包含多个指标,可先定义API的规范YAML,再来实现)。
  6. 外部系统对于供应商或者供应商分类的特定查询需求的API。

完成这些还不够,下一步我们就需要定义数据实体的具体属性了。

  • 基本参数:

微服务 api controller server 模块划分 微服务api编排_microservices_04

  • 供应商分类:

微服务 api controller server 模块划分 微服务api编排_增删改查_05

  • 供应商信息:

微服务 api controller server 模块划分 微服务api编排_微服务_06

对于识别出来的API,我们主要对第5和第6类API进行细化,我们初步设想了以下API,为了演示效果,所以场景不会考虑的很全很复杂:

5、供应商统计分析的API:

5.1 统计当月新增供应商数量。

5.2 统计不同纳税标识的供应商数量。

5.3 统计最新创建的10个供应商列表。

6、外部系统对于供应商或者供应商分类的特定查询需求的API:

6.1 查询特定客户编码的供应商附件信息。

以上事宜全部准备好了之后,下一章我们开始使用API开发平台对该微服务应用进行开发。