1

新しい MVC Web アプリケーションを完成させたところ、上司から、新しい顧客向けに新しいバージョンを作成するように依頼されました。同じ Web アプリケーションですが、CSS と 2 つの新しいモジュールが異なります (モジュールとは、ユーザーが DB と対話するために使用する新しいページを意味します)。大したことではなく、非常に簡単に行うことができます.Eclipseでプロジェクトを複製して変更するだけです. 2日間の作業とプロジェクトが完了しました。よくできました、すべて幸せですが、私ではありません。

私はワードプレスを考えていました。それは本当にカスタマイズ可能で、新しいテンプレートとプラグインを作成して有効にするだけです。新しいバージョンのデプロイとコードのメンテナンスを減らすために、同様のことをしたいと思います。私の質問は、Spring で同様のことを行うにはどうすればよいですか? またはそれ以上に、新しいモジュールを作成して Web アプリケーションにデプロイすることは可能ですか? Spring ダイナミックは MVC Spring アプリケーションの正しいオプションですか?

ありがとう、
アンドレア

4

1 に答える 1

0

あなたのアプローチは正しくないと思います。この状況が繰り返される可能性があるかどうか、マネージャーと話し合う必要があります。私にはそう見えるからです。

シナリオを想像してみましょう。アプリのいくつかのコピーがあり、それらの間にいくつかのマイナーな機能強化や変更が加えられています。1 か月後、ある顧客から、非常に厄介なバグについて報告がありました。このバグは、すべてのアプリ インスタンスで修正する必要があります。あなたの痛みを想像してください。

マルチテナンシーを念頭に置いてアプローチしてみませんか?

  • ホワイトラベルを実装して、顧客に応じてアプリケーションの外観が異なるようにします。
  • バックエンドを拡張して、顧客がお互いのデータを見ないようにする
  • 上司が別の顧客に販売した拡張機能が、ある顧客に表示されないように、構成可能な機能を実装します。彼がそれらを販売するときは、データベース/構成でいくつかのフラグを切り替えるだけです。

マルチテナンシーをサポートしたくない、または製品が異なる (顧客) サーバーに物理的に展開されていますか? 関係ない!バグを見つけた場合は、一度修正して、影響を受けるすべてのシステムに jar ファイルを再デプロイします。

確かに、上記は 2 日間の作業ではありませんが、将来的には、このアプローチによってさらに多くのコストが削減される可能性があります。

あなたの質問に関しては、Spring では、変更可能なスタイルとレイアウトを介して外観をカスタマイズできます。Spring Roo を使用してサンプル Web アプリを作成し、それがどのように行われるかを確認することをお勧めします。しかし、もし私があなたなら、少なくともプロジェクト間でコードベースを共有することを目指します。

于 2012-06-11T13:27:49.407 に答える