About Capa

Capa(cloud application api): To be the high-level api layer for all application runtime.

Let the code achieve “write once, run anywhere”.
With the help of the Capa project, your Java applications have the ability to run across clouds and hybrid clouds with small changes.

Mecha architecture

The Capa project is based on the design concept of the Mecha architecture and uses rich SDK mode to provide Multi-Runtime standard API.
You can simply understand the Capa project as the SDK implementation of Dapr / Layotto Sidecar mode projects.
To understand the design ideas of Mecha architecture, please read the following articles:
1. 死生之地不可不察:论API标准化对Dapr的重要性
2. MOSN子项目Layotto:开启服务网格+应用运行时新篇章

Sidecar or SDK

Based on the Mecha architecture concept, Multi-Runtime provides standard API functions in a Sidecar manner, which seems to be the most reasonable choice.
So why not use Dapr/Layotto and other projects directly, but choose to develop the Capa project of Rich SDK Mode instead.
Summary: The Sidecar architecture represented by Dapr is the future, but it is difficult for many existing enterprises and systems to upgrade to the Sidecar architecture in one step. The rich SDK architecture will exist for a long time.
Extension: Faced with the huge Java systems, the Capa project will use the rich SDK model to support the transition from the Java system to the Mecha architecture. After Dapr and other projects mature, they can also be seamlessly connected to the Sidecar architecture.
For specific discussions on this issue, please refer to:
1. SDK模型的Dapr API
2. Dapr API的未来计划
3. Java SDK的设计讨论