Help Center/ Cloud Service Engine/ FAQs/ ServiceComb Engines/ Why Do I Have to Define Service Contracts?
Updated on 2023-11-08 GMT+08:00

Why Do I Have to Define Service Contracts?

The enterprise-level systems are in large scale use and involve many microservice components. Therefore, unified API management is a key requirement of enterprises. CSE uses contract management to meet this requirement.

For management: Through contract management, API definition files that comply with API description standards for microservices are defined. In this way, API development of multiple development teams can be standardized and coordinated. This reduces communication costs and facilitating management.

For development: During microservice development, different teams or even different independent software vendors (ISVs) can develop the same application or system based on the unified API definition file. This facilitates consistency maintenance for the overall system. Specifically, modules in a monolithic application are called using code. Therefore, any API incompatibility can be resolved during the early compilation with low bug fixing costs. When microservices are decoupled, services are remotely called. Therefore, API inconsistency cannot be found during early compilation, resulting in high bug fixing costs. Using service contracts, contract design can be assured, changes can be strictly reviewed, and code can be reversely generated. This ensures API compatibility.

In addition, for small-scale systems that do not have high requirements on unified management, API definition files can be automatically generated through API code.