0

現在取り組んでいるエンタープライズ アプリケーション フレームワークについて、開発者の観点から資産を賢く簡単に管理する方法を探しています。基本的に、このシナリオは、アプリケーションのメタデータ情報がリレーショナル データベース (つまり、アプリケーションの名前、さまざまなページ、そのアプリケーションのロールなど) に永続化され、REST API (たとえば、必要な場合) を介してアクセスされるというものです。完全なアプリケーション "x" メタデータにアクセスするには、/applications/x に移動し、ページと各ページのコンポーネントに関してそのアプリケーションの表現を取得できます)。

「コンポーネント」と呼ばれるもの以外にコードはありません (再利用可能な css+js+html のバンドルと考えることができます)。さて、問題は: データベースにコンポーネントのメタデータ (コンポーネント ID、コンポーネントの説明など) がありますが、コンポーネント コードもバージョン管理システム (この場合は SVN) の下のファイル システムにあります。コンポーネント情報がDBとファイルシステムの両方にあることを意味します。たとえば、ある開発者がコンポーネントを作成した場合 (つまり、ファイル システム上でコンポーネントが保存されている特定のフォルダーにコードをコミットした場合)、新しいコンポーネントがあることをデータベースに知らせる必要があるため、更新する必要があります。一方、API を使用して特定のコンポーネント (DELETE /components/componentId1 など) を削除すると、ファイル システムのコードも削除されます。

コードを BLOB として DB に追加できると主張する人もいますが、それでも SVN や GIT などのバージョン管理システムを使用したいので、それはオプションではありません。また、ファイル システム上のコードの操作は、データベース上のコードよりもはるかに簡単です。

それで、私の質問は、データベースとファイルシステムの両方に存在し、消費/変更する必要があるこの種の資産を管理するためのソリューションを実装する方法を知るために、いくつかのアイデアやアプローチなどを提供してもらえないかということです. / ファイル システムと REST API の両方から作成されます。

4

1 に答える 1

0

ファイル システムと REST API の両方からリソースを管理する必要がある場合、最初に思い浮かぶのは、これら 2 つのシステムが何らかの方法で通信する必要があるということです。

ファイル システムが変更されたことを REST API に知らせるには、まず、特定のことが発生したとき (つまり、ファイルがコミットされたとき) にバージョン管理システムがイベントを投稿する可能性を調べます。たとえば、Subversion は、REST API に接続する Java ユーティリティを実行できるフックをサポートしているようです。

通信の反対側 (REST API がファイル システムに通知する) では、おそらくバージョン管理システムの API を使用する必要があるため、ユーザーがアプリケーションでアクションを実行して、対応するアクションをファイル システムに実行する必要があります。ここでは、すべてのバージョン管理システムに IDE 環境との統合を可能にする API があるため、より多くのオプションがあります

それが役立つことを願っています

于 2013-07-28T09:16:01.527 に答える