誰かが私を正しい方向に向けてください。
複数のクライアントが同じアプリケーションを使用できるように、GWT アプリケーションをホストできるようにする必要があります。このアプリケーションは URL で区切られますが、内部では同じアプリケーションを使用します。
異なるサイトは、おそらく異なる構成によって分離されます。例えば。異なるデータベース、異なるログパスなど
何か案は。?
誰かが私を正しい方向に向けてください。
複数のクライアントが同じアプリケーションを使用できるように、GWT アプリケーションをホストできるようにする必要があります。このアプリケーションは URL で区切られますが、内部では同じアプリケーションを使用します。
異なるサイトは、おそらく異なる構成によって分離されます。例えば。異なるデータベース、異なるログパスなど
何か案は。?
クライアントごとにTomcatに個別のディレクトリを設定し、そのフォルダー内のメインアプリケーションへのソフトリンクを作成することで、これを成功裏に達成しました。データベース接続プロパティやその他の構成プロパティに関しては、メイン アプリケーションを指すのではなく、個別に作成しました。
クライアントごとの URL は、URL の書き換えで実行できます。アプリケーションの前に Apache サーバーを配置したり、Web アプリケーションのフィルターと組み合わせたりします。
クライアントごとの構成、ロギング、および/またはデータベースに関しては、アプリケーションの隣のファイル システムにクライアントごとにファイルを保存しないソリューションが必要です。クライアント固有の設定を 1 つのデータベースに保存し、それを管理するための管理インターフェイスを用意することをお勧めします。クライアントのデータについても、クライアントごとに個別のデータベースは必要ありません。これは、拡張性が低く、アプリケーションとデータベースを新しいバージョンにアップグレードする必要がある場合にメンテナンスが面倒になるためです。マルチテナント アーキテクチャを探します。
これが漠然とした答えであることは認めますが、特定のシステムとソフトウェアの説明がなければ、具体的な答えを出すのは難しいです. それでも、この回答が何らかの方向性を示してくれることを願っています。
次の方法でプロジェクトを整理できます。 - my.application.core.project : エントリ ポイントを除く、アプリケーションのすべてのビジネス ロジックとビューを保持します。 -my.application.customerX.project : エントリのみを保持します。ポイントと db への接続に使用されるプロパティ ファイル、おそらく customerX 固有のテーマ -my.application.customerY.project : db への接続に使用されるエントリ ポイントとプロパティ ファイルのみ、おそらく customerY 固有のテーマ
このようなプロジェクトの編成により、各顧客に配布される共通のコアを持つことができ、コアの顧客固有の実装の上に構築することもできます。