Web開発に適したフレームワークを選択する
-
05-07-2019 - |
質問
この質問に対する受け入れられた回答に基づいて NetBeansを設定しました/ tomcat環境。 このセットアップのテストでは、Java Web / Webアプリケーションを作成しようとしていますが、このテストアプリのフレームワークの選択に困惑しています。
選択肢は次のとおりです。
- Spring Web MVC 2.5
- JavaServer Faces
- Struts 1.3.8
- Hibernate 3.2.5
読み上げ(グーグル&SO)で、森の中ですぐに迷子になったので、1つだけを選んで、パンアウトしない場合は、後で別のスイッチに切り替えて移行することを検討しています。そのようなアプローチは実現可能でしょうか?
プロジェクトの背景
(レガシーコードのためJavaベースでなければなりません)
自己署名アプレットを使用して、クライアント側のレンダリング&を実行します。相互作用;
サーブレットは、クライアントから要求されたデータセットを取得します;
データベースはリモートサーバー上にある可能性があるため、アクセスにはJDBCを使用するつもりです。
従来のシステムはCORBA(ACE / TAO)ベースで、Javaに翻訳する必要のある多くのC ++モジュールと、新しく翻訳されたJavaを使用するためにCORBA呼び出しを行う既存のJavaモジュール(残念ながら少数)を変更する必要がありました。モジュール。
このプロジェクトを処理するためのより良いアプローチを思い付くことができたら、教えてください。
(このプロジェクトには私が好きなことのすべての特徴があります:面白くて挑戦的で、新しいことを学びます)
解決
まず最初に、 Spring Framework 全体を詳しく見ても害はありません。一般的な。 ドキュメントは、動作する非常に基本的なモジュールから非常に優れています。 Web MVCレイヤー(Struts統合も使用可能かどうかを決めることができます-しかし、Strutsは常に面倒であることがわかりました)。 Hibernateはおそらく最も人気のある Object Relation Mapper フレームワークです。ドメインモデルオブジェクト(データベースに保存するものすべて)の保存、クエリ、取得に使用されますが、Webレイヤーとは関係ありません。
私は個人的にJSFが好きではありません(別の仕様モンスターは必要以上に時間がかかります)。ウィジェットベースのアプローチ(プレーンな古いHTMLを出力する代わりにページをコンポーネントと一緒に置く)を好む場合は、 Google Web Toolkit 。
もう1つのSpringソリューションは、 GRails です。 GroovyクラスはJavaクラスと互換性がある(およびその逆)ため、使用するのは本当に楽しいし、別の(スクリプト)言語(Groovyと呼ばれる)を学ぶ必要がある場合でも、フレームワークですべてのJavaレガシークラスを使用できます。 p>
そして。 CORBAは、特に言語に依存せずにメソッドやオブジェクトにアクセスできるテクノロジー/プロトコル/標準だと思いました。ウィキペディア:
共通オブジェクトリクエストブローカー アーキテクチャ(CORBA)は標準です オブジェクト管理グループによって定義された (OMG)ソフトウェアコンポーネントを有効にします 複数のコンピューター言語で書かれた 複数のコンピューターで実行する 一緒に働く、すなわちサポートする 複数のプラットフォーム。
では、なぜC ++モジュールを翻訳してJavaと通信する必要があるのですか?
他のヒント
まず、リストからHibernateをクロスします。ORM要件を持っている場合は使用することをお勧めしますが、Web層とは関係ありません。
次に、2つの選択肢があると思います:
- Spring MVCおよびJSF
- ストラット
いずれかのルートを下に移動すると、そのAPIにコミットされ、後日切り替えが簡単になります。
私のアドバイス:
- Spring MVCを使用-とにかくSpringを使用する可能性が高いため、当然の選択です。
- JSFを無視し、JSTLを使用してBeanをレンダリングし、自分でHTMLを記述します。
- JQuery / JavaScriptを使用してユーザーエクスペリエンスを向上させます。
- オブジェクトの永続化にはHibernateを使用します。
最小値を選択し、必要に応じて追加することをお勧めします。そのようにしてシンプルさを獲得できる可能性があります。
「物事の大規模なスキーム」としてのSpringと統合技術から始めることも考えられます。次に、必要に応じて補数を追加します。
- 持続性:休止状態
- javaScript:使用しているSpring MVCモジュールに適したjsライブラリを選択します