Apache ServiceComb Toolkit - 基于契约的微服务开发工具套件


Apache-2.0
跨平台
Java

软件简介

Apache ServiceComb Toolkit 是基于契约的微服务开发工具套件。

1 简介

1.1 目标

  • 提供契约、代码、文档相互转换及校验的能力,帮助用户一键式快速构建基于流行微服务框架和流行编程模型的微服务工程,降低微服务入门成本,使用户聚焦业务开发,提升遗留系统重构、开发效率。

1.2 特性

  • 遗留应用提取契约文件

在基于SpringMVC/POJO/JAX-RS模型开发的应用中,一键提取符合OpenAPI规范的服务契约文件。

  • 契约文件生成微服务工程

输入符合OpenAPI规范的服务契约,一键生成以ServiceComb/SpringCloud/Swagger为底座,以及以SpringMVC/POJO/JAX-
RS或SpringBoot为开发模型的微服务项目。

  • 契约与代码一致性校验

校验应用的实际实现(如数据和服务API)是否与样本服务契约描述一致。

  • 契约/代码生成文档

输入符合OpenAPI规范的服务契约,一键生成html格式的文档。

  • Todo List

    • 支持一键生成以SpringCloud为底座的微服务工程。

    • 支持一键从遗留应用代码生成微服务工程。

    • 支持基于gradle的契约开发插件。

    • 支持插件埋入eclipse。

    • 支持word、pdf等流行格式文档。

    • 支持契约增量生成代码。

    • 工具能力服务化。

1.3 适用场景

  • 集成多厂商应用的企业

问题:厂商数据、服务标准不一致,开发语言、习惯、框架不一致,集成商难集成,企业难管控。

措施:通过统一定义的接口描述标准(服务契约),使用工具套件一键生成基于指定微服务框架的微服务工程,并且通过服务契约校验手段协同维护整体系统的一致性。以此协调多个开发团队,降低沟通成本且避免后期的混乱。

  • 遗留系统微服务化快速改造

问题:用户需要额外学习和理解微服务及相关框架后,再设计微服务工程,学习成本高。

措施:使用工具套件分析遗留应用提取服务契约,再一键生成基于指定微服务框架的微服务工程后,即可聚焦业务开发,减少用户对微服务框架的学习成本。

2 设计

2.1 主体架构

2.2 工作原理