現在取り組んでいるエンタープライズ アプリケーション フレームワークについて、開発者の観点から資産を賢く簡単に管理する方法を探しています。基本的に、このシナリオは、アプリケーションのメタデータ情報がリレーショナル データベース (つまり、アプリケーションの名前、さまざまなページ、そのアプリケーションのロールなど) に永続化され、REST API (たとえば、必要な場合) を介してアクセスされるというものです。完全なアプリケーション "x" メタデータにアクセスするには、/applications/x に移動し、ページと各ページのコンポーネントに関してそのアプリケーションの表現を取得できます)。
「コンポーネント」と呼ばれるもの以外にコードはありません (再利用可能な css+js+html のバンドルと考えることができます)。さて、問題は: データベースにコンポーネントのメタデータ (コンポーネント ID、コンポーネントの説明など) がありますが、コンポーネント コードもバージョン管理システム (この場合は SVN) の下のファイル システムにあります。コンポーネント情報がDBとファイルシステムの両方にあることを意味します。たとえば、ある開発者がコンポーネントを作成した場合 (つまり、ファイル システム上でコンポーネントが保存されている特定のフォルダーにコードをコミットした場合)、新しいコンポーネントがあることをデータベースに知らせる必要があるため、更新する必要があります。一方、API を使用して特定のコンポーネント (DELETE /components/componentId1 など) を削除すると、ファイル システムのコードも削除されます。
コードを BLOB として DB に追加できると主張する人もいますが、それでも SVN や GIT などのバージョン管理システムを使用したいので、それはオプションではありません。また、ファイル システム上のコードの操作は、データベース上のコードよりもはるかに簡単です。
それで、私の質問は、データベースとファイルシステムの両方に存在し、消費/変更する必要があるこの種の資産を管理するためのソリューションを実装する方法を知るために、いくつかのアイデアやアプローチなどを提供してもらえないかということです. / ファイル システムと REST API の両方から作成されます。