UIコードが同じチームによって開発されるが、サービスレイヤー(REST / Java)とは異なる言語(Python / Django)で開発されるプロジェクトがあります。各レイヤーのコードは、異なるコードリポジトリに存在し、異なるリリースサイクルに従うことができます。UIレイヤーの観点から、サービスレイヤーの重大な変更を防止/軽減するプロセスを考え出そうとしています。
UIまたはサービスレイヤー(2つのGitリポジトリにあるコードをビルドするためのCIツールとしてJenkinsを使用しています)を構築するたびに実行するUIレイヤーレベルで統合テストを作成することを考えました。障害が発生すると、サービスレイヤーで何かが壊れ、コミットが受け入れられません。
また、サービスレイヤーの開発者に、UIレイヤーに存在するRESTサービスのクライアントライブラリを作成および保守してもらい、UIレイヤーに重大な変更があった場合に更新するようにしてもよいでしょうか(ベストプラクティスですか?)。彼らのサービスAPI?おそらく、UIコードが構築する静的に型付けされたAPIの利点があるでしょう。クライアントライブラリAPIが変更された場合、UIコードはコンパイルされません(したがって、重大な変更があったことがすぐにわかります)。また、UIまたはサービスレイヤーの構築時に統合テストを実行して、UIとサービス間の統合が引き続き機能することをさらに検証します。