2010-12-20 12 views
2

2.1年前にJSPとEJBで開発された既存のアプリケーションがありました。今、私は新しい機能でアプリケーションを強化したいと思います。新しい機能を追加するために同じ古いアプリケーション内でSpringとHibernateのフレームワークを使用する方法がありますか、最新のフレームワークを使用するために新しいアプリケーションを開発する必要がありますか?既存のJSP/EJBアプリケーションにSpringフレームワークを追加する

ありがとうございます。

答えて

2

まず、なぜあなたはSpringを追加したいですか?あなたの目標は何ですか?この質問に答えるために、あなたはゆっくりと既存のアプリに統合する方法を見つけることができますが、私の意見ではかなり良い理由が必要です。

このような大きな変更を加えてアプリケーションを「近代化」したい場合(正当な理由がある場合)、個人的には新しいプロジェクトから始めて、再利用できるものをインポートします。

時間が経つにつれて変化するアプリケーション(事実上すべて)は、時間がたつにつれて乱雑になり、古いものがたくさん蓄積されます。最終的には、アプリ内のSMEの中には別の仕事が見つかったか、あまりにも混乱して脆弱になってしまっているかどうかにかかわらず、それは維持できません。私は助けることはできませんが、このようなことをすること(既存のアプリケーションに追加すること)は、その老化プロセスを加速させることです(「古い」のものを "ちょうどその場"にしておくという衝動なしで、あなたができる間家をきれいにする方がはるかに良い。あなたがかなり良い形の小さなアプリを話していない限り、それは私の経験ではまれです。

1

SpringとHibernateを既存のアプリケーションに追加することができます(結局のところ、それらは単なるjarファイルの束です)。私はそうすることをお勧めしません。

まず、EJB 2.1と標準のJPAを持たず、古いEJBクエリ言語を使用するため、Hibernateは衝突します。

永続性については、1つまたは他のものを使用し、それらを混合しないことをお勧めします。 EJB 2.1を使って書かれたデータベースアクセスコードが大量にある場合は、Hibernateを混ぜて使用しないでください。それは混乱するでしょう。 JDBCを使用しているのなら、Hibernateはうまくいくと思います。

Springはフレームワークなので、アプリケーションに「Spring」を追加するのは簡単ではありません。春は巨大なので、どのようなメリットがあるのか​​自分自身に尋ねるべきです。どのパーツを使いたいですか?依存関係の注入? EJB 2.1には存在しない抽象レイヤーはありますか?簡単ではありません。

ボトムライン:アプリケーションにSpringとHibernateを導入することは可能ですが、特にアプリケーションが大きい場合は、重大な考慮を払わずに、厄介で時間がかかります。

+0

お返事ありがとうございます。 – ikvenu2000

+0

@ ikvenu2000:ところで、どうして答えなかったのですか?あなたは1年以上Stackoverflowをしています。 – darioo

0

お返事ありがとうございます。

私の古いアプリケーション(JSP + EJB 2.1)は大きなものです。 システム上でいくつかの機能拡張があります。今私たちは2つの選択肢があります。

  1. 将来の新機能/強化機能を追加することが実装するために時間がかからないように、古いシステムを元に戻し、ルールエンジンと最新のフレームワークでより多くのモジュラーシステムを開発します。古いシステムを新しいアプリケーションに移行するには、ほぼ1年かかります。

  2. Spring、Hibernate、Rules Engineなどの最新のフレームワークを使用して既存のシステムに機能強化を追加し、古いものを時間/予算に応じてゆっくりと新しいテクノロジプラットフォームに移行します。 (これがうまくいくかどうかは技術的には分かりません)。

今、あなたはもっと情報がありましたので、進歩するための最良の方法は何ですか。

関連する問題