Java で記述され、WAR ファイルとしてコンパイルされた、さまざまな独立した (ステートレス) Web サービスの大規模なコレクションがあります。それらを単一の Web アプリケーション サーバーにデプロイしたいと考えています。
各 WAR ファイル内のサービスによって処理される URI が、Web アプリ名として使用できるプレフィックスで始まっていれば、これは簡単です。たとえば、
SALES WAR FILE:次のコードが含まれています。
GET http://example.com/sales/widgets
POST http://example.com/sales/widgets
GET http://example.com/sales/sky-hooksMARKETING WAR FILE:次のコードが含まれています:
GET http://example.com/marketing/widgets
PUT http://example.com/marketing/sky-hooks
...その場合、「sales」と「marketing」という名前で 2 つの WAR ファイルをデプロイするだけです。しかし、私はそれほど幸運ではありません。代わりに、コンポーネントによって処理される URI パスが重複します。このようなもの:
SALES WAR FILE:次のコードが含まれています:
GET http://example.com/widgets/sales
POST http://example.com/widgets/sales
GET http://example.com/sky-hooks/salesMARKETING WAR FILE:次のコードが含まれています:
GET http://example.com/widgets/marketing
PUT http://example.com/sky-hooks/marketing
私の質問は、これらを 1 つの Web アプリケーション サーバーにデプロイする方法 (もしあれば) です。
かなりの量の作業を必要とする提案を受け入れます。たとえば、私のこれまでの最善のアイデアは、通常の URI パスの前にコンポーネント名のプレフィックスを期待するサービスを構築し、次に、各 URI パターンがどのコンポーネントに該当するかを認識し、URI をそのプレフィックスを追加します。このアプローチの難しさは、私のソース コードを読み取る Swagger のようなツールが、URI がどのように見えるかについて誤った考えを持つことです。
何か案は?