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