面向接口开发的前后端跨团队合作方案

2020-03-25  本文已影响0人  黄军雷

1.问题描述

1.1 背景

大中型产品研发中,由于参与人员过多的原因,手机应用程序、后端服务研发通常会拆分开,由不同的团队负责。这即促进了专业领域的聚焦,又减少了团队管理与沟通的复杂度。

1.2 现象

好现象

坏现象

1.3 影响

2.主因分析

核心原因在沟通阻力增加和利益不一致。

原因 1:沟通阻力增加

原因 2:利益不一致

3.项目治理方案

4.实施方案

4.1 组建阶段

4.2 实施阶段

4.3 接口开发技术

方案一:基于 Swagger

基于接口设计、描述框架 Swaggerhttps://swagger.io/),构建基于接口的研发流程。

Swagger - Simplify API development for users, teams, and enterprises with the Swagger open source and professional toolset. Find out how Swagger can help you design and document your APIs at scale.

by https://swagger.io/

(1)接口设计阶段

针对业务需求清晰的接口,即通过规划的接口,启动基于Swagger的接口设计。

接口设计规范:****OpenAPI Specification

https://swagger.io/resources/open-api/

接口设计工具:****Swagger Editor

Design, describe, and document your API on the first open source editor fully dedicated to OpenAPI-based APIs. The Swagger Editor is great for quickly getting started with the OpenAPI (formerly known as the Swagger Specification) specification, with support for Swagger 2.0 and OpenAPI 3.0.

https://editor.swagger.io/

接口定义查看工具:****Swagger UI

Swagger UI 可以将项目接口自动生产具有交互的html页面, 是一个前端页面的自动生成项目. Swagger UI的 demo见: swagger ui demo.

(2)接口实现阶段

按节奏逐渐实现接口的能力。

后端服务工程引入swagger的依赖

<pre class="cm-s-default" style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);"> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.7.0</version> </dependency> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId> <version>2.7.0</version> </dependency></pre>

生成API的****server stub和client SDK

Swagger Codegen can simplify your build process by generating server stubs and client SDKs for any API, defined with the OpenAPI (formerly known as Swagger) specification, so your team can focus better on your API’s implementation and adoption.

(3)接口设计变更

后端人员无需关注Swagger描述文件和接口文档,有需求变更导致接口变化,直接写代码就好了。把调用层的代码做个修改,然后生成新的描述文件和接口文档后,给到前端即可。

方案二:基于阿里云 API 网关

API 网关(API Gateway),提供API托管服务,涵盖API发布、管理、运维、售卖的全生命周期管理。辅助用户简单、快速、低成本、低风险的实现微服务聚合、前后端分离、系统集成,向合作伙伴、开发者开放功能和数据。https://www.aliyun.com/product/apigateway

API 网关功能
上一篇下一篇

猜你喜欢

热点阅读