ビジネス層はEJB3とSpringのどちらを使うべきですか?
2023-11-09 10:27:17
質問
私のチームは、Web フロントエンドを備えた新しいサービス指向の製品を開発しています。 使用するテクノロジーについての議論では、JBoss アプリケーション サーバーと Flex フロントエンド (Adobe AIR を使用してデスクトップ展開することも可能)、およびクライアントとサーバーをつなぐ Web サービスを実行することに落ち着きました。
私たちのビジネスロジックにどのサーバー技術を使用するかということに関しては、袋小路に入りました。 大きな論点は EJB3 と Spring の間で、私たちの最大の懸念はスケーラビリティとパフォーマンス、およびコード ベースの保守性です。
以下は私の質問です。
-
EJB3とSpringの比較では、どのような論点がありますか?
- それぞれどのような落とし穴が予想されますか?
- 良いベンチマーク情報はどこで見つけることができますか。
どのように解決するのですか?
EJB3とSpringは性能的には大差はないでしょう。私たちは以下の理由でSpringを選択しました(質問には書かれていません)。
- Springは、ユニットテストをより容易にサポートする方向でアーキテクチャを駆動します。たとえば、ビジネス レイヤーをユニット テストするためにモック DAO オブジェクトを注入したり、サーブレットをユニット テストするために Spring の MockHttpRequest オブジェクトを利用したりします。私たちはユニットテスト用に別のSpringの設定を維持し、テストを特定のレイヤーに分離することができるようにしています。
- オーバーライドドライバは互換性がありました。複数の App Server をサポートする必要がある場合 (または、最終的に JBoss から Glassfish などに移行するオプションが必要な場合)、EJB3 仕様の異なる実装間の互換性に頼るのではなく、本質的にコンテナ (Spring) を一緒に持ち歩くことになります。
- Springは、Persistenceやオブジェクトリモーティングなどの技術選択が可能です。例えば、Flexのフロントエンドも使用しており、FlexとSpringの間の通信にHessianプロトコルを使用しています。
関連
-
Javaでよくある構文エラー
-
SLF4J: クラス・パスに複数のSLF4Jバインディングが含まれています。
-
強制型変換について
-
org.xml.sax.SAXParseExceptionのエラー解決方法
-
[解決済み] serialVersionUIDとは何ですか、またなぜそれを使用する必要がありますか?
-
[解決済み] INNER JOINよりもCROSS APPLYを使用すべきなのはどのような場合ですか?
-
[解決済み] Spring Bootアプリケーションにポートを設定する方法
-
[解決済み] ThreadLocal変数はいつ、どのように使用すればよいですか?
-
[解決済み] Spring Frameworkの@Injectと@Autowiredの違いは何ですか?どのような条件でどちらを使うか?
-
[解決済み】Android UserManager.isUserAGoat()の正しい使用例?)
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Eclipseは、ポップアップA Java Exception has occurred.を実行し、エラーException in threadの解決策を報告します。
-
型に解決できない エラー解決
-
ApplicationContextの起動エラーです。条件レポートを表示するには、アプリケーションを'de'で再実行します。
-
Uncaught ReferenceError: は定義されていません。
-
-bash: java: コマンドが見つからない 解決方法
-
セミコロン期待値エラー解決
-
eclipse 実行 Java、エラー: 選択を起動できず、レシーバーもありません。
-
Javaがエラーで実行される、選択が起動できない、最近起動したものがない
-
Java JDKのダイナミックプロキシ(AOP)の使用と実装の原理分析
-
htmlとwordの相互変換の実装(画像あり)