2009-03-09 16 views
1

従来のアプリをサポートしています。純粋なJSPです。つまり、JSPは接続を開き、ビジネスロジックを行い、フォームを(通常は同じJSPに)送信します。それは400以上のページで、一部のページは100Kほどの大きさです。スクリプトレットに感染したJSPアプリケーションをStrutsに素早く変換する方法はありますか?

アプリは、今後数年間に延長して変更されることが予想されるので、私たちは、メンテナンスを簡素化するために、プレゼンテーションとビジネス・ロジックを分割する方法を検討しています。最低限、単純なMVCフレームワークに移植したいと考えています(Strutsは#1候補です)。

すべてのページを手動でリファクタリングするのに熱心です。私たちには、少なくとも部分的なリファクタリングを行うツールがあるかもしれないという考えがありました。 JSPでrequest.getParameter()呼び出しに基づいてActionFormを作成し、すべてのJavaコードをAction(コンパイル不可能)に移動し、一部の "<%"を< c:ifタグなどに置き換えます。

残りの仕事はまだ非常に退屈ですが、少なくともそれははるかに小さい範囲を持っています。

誰もそのようなツールを知っていますか?

+0

あなたが望むことをするためにいくつかのスクリプトを書く必要があるかもしれないと思います。 Perlはここで良い友達になるでしょう。 – sfossen

+0

私は完全にそうする準備ができています。ちょうどチェックは私の前でそれがやったいくつかの貧しい魂かもしれません、そして、Googleは単にそれを知らないです。 –

答えて

4

私はそれが価値があるとは思わない。 100kを超える400以上のページがあると言っていますか?

100k !!!

おそらく最善のアプローチは、そのWebアプリケーションに優れた分析を取り、それをモジュール化することです。他のフレームワークで書かれた全く新しいモジュールを組み合せて使用することができます。

100Kページの場合、それらは自分のモジュールの良い候補です。

私は本当に単純に他のいくつかのフレームワークの混乱の中に全体のJSPの混乱を翻訳のいずれかの利点が表示されません。何が起こるかというのは、単にそれが壊れてしまい、誰もそれを修正する気がしないということです。

良い部分は?どのモジュールが先に進むのですか?他に変えてはいけないことは何ですか?

私は、最後の月にさらに変更があったものから始めます。ファイルが100Kということは、新しい機能を追加しなければならないということだけを意味しますが、モデルは非常にひどく設計されていました。新しいオブジェクトを作成する代わりに、一部のコードは単にコピー/ペーストされ、既にあなたのコードを見て)、ファイルが成長し、成長する。

一部が移行しやすいようだが、ソース管理は誰が2歳に触れていないと言います。放っておけ。

素敵なフレームワークを使用する以上のこと。システムの最も影響を受けた部分を移行して書き直し、今度はテストケースを作成する必要があります。

また、プロジェクトのスタイルを作成する必要がありますし、Checkstyleのようなもので、自動的にそれを検証するため、誰もが新しいクイックパッチをコミットしていません。

最終的にすべてのアプリケーションが移行されるわけではありませんが、新しい変更がより簡単に実行され、アプリケーションの保守が容易になります。

+0

私は、そのようなアプローチが最高のものになることに全く同意しますが、うーん、私たちは予算を持っています。かなりきついもの。オートメーションは実際にあなたが提案したものを正確に行うためにいくつかの手を解放します - 最悪の部分をリファクタリングすること。 –

+0

追加の理由があります。誰もが(まだ)壊れていないものを修正する必要以上に多くの時間を費やすことは望んでいません:アプリのコアに焦点を当て、必要に応じて手でそれを移行します。投資は恩恵を受けるでしょう。自動的に修正する、 "ロボットの混乱"を作成する – OscarRyz

+0

私はこの地獄の混乱の中核がどこにあるのか分かっていた場合! :-D –

関連する問題