2

私はJavaWebアプリケーション開発の初心者です。これまで私が使用したのは、昔ながらのサーブレット、jdbcとjspsだけです。私はすべてのフレームワークについて読み始めましたが、フレームワークの群れに完全に混乱して迷子になっていますか?だからここに私が持っているいくつかの質問があります:

  1. EJB3とHibernateは競合するテクノロジーですか、それとも一緒に使用できますか。
  2. JBoss Seamを使用した場合でも、ORMのニーズにHibernateを使用する必要がありますか、それともSeam + EJB3がそれを処理しますか?
  3. JBoss Seamを使用してWebアプリを開発する必要がある場合に学習する必要がある典型的なフレームワークは何ですか?次の一部またはすべてですか:Seam(もちろん)JSF EJB3HibernateSpring制御コンテナの反転
  4. JBoss Seamを使用してJBossポータルでアプリケーションを開発できますか?

ありがとうVikas

4

5 に答える 5

2

1. EJB3とHibernateは競合するテクノロジーですか、それとも一緒に使用できますか。

それらには競合するAPIがあります(JPAはHibernateのAPIとは異なります)が、HibernateはJPAの下にプラグインできます。ただし、Hibernate用にコーディングされたものとの相互運用性は期待しないでください。特にjBPM(3.2)はSeam(2.1.1)の下でも完全に相互運用しません。 。

2. JBoss Seamを使用した場合でも、ORMのニーズにHibernateを使用する必要がありますか、それともSeam + EJB3がそれを処理しますか?

私がそれを理解しているので、あなたはどちらかをすることができます。

3. JBoss Seamを使用してWebアプリを開発する必要がある場合に学習する必要がある典型的なフレームワークは何ですか?次の一部またはすべてですか:Seam(もちろん)JSF EJB3HibernateSpring制御コンテナの反転

JSF-Seamが本当に意味のあるものにするために不可欠-JSFページを作成する主要な方法としてファセットに焦点を当てることをお勧めします。構文は素晴らしく、なじみがあります。サーバー側のコンポーネントが別々の名前空間内にある、単純な古い名前空間修飾XHTMLです。私が試した他のほとんどのものとは異なり、非常に些細でクリーンです。

EJB3-好きかどうかはあなた次第です。このように進むと、Java EEに引き込まれますが、多くの利点がありますが、それでも少し怖いです。

Hibernate-必要に応じて、あなた次第です。JPAエンティティマネージャーが代替手段を提供します。

Spring IoC、えーと...ええ、あなたが好きなら、それはあなた次第です。Seamはステートフルセッションと会話スコープのBean(通常はプレゼンテーションロジック層の一部)を処理し、SpringはデータベースやSOAクライアントなどのバックエンドサービスへのインターフェイスなどのステートレスコンテキストに最適です。

Seam + JSF(facelets)+ Hibernate + Springは、jBPMを介してUIを作成したり、コンテンツページを配信する別のプロジェクトで作成したりするのに非常に適していることがわかりましたが、Seamの目的は実際にはそうではありません。

  1. JBoss Seamを使用してJBossポータルでアプリケーションを開発できますか?

申し訳ありませんが、そこであなたを助けることはできません。

于 2009-04-29T12:10:32.730 に答える
0
  1. はいといいえ。EJB3(またはJPA)は、Java5アノテーションを介してORマッピングを宣言し、それらを照会するためのインターフェースの仕様です。まだ実装が必要です。Hibernate Annotationsはマッピングの実装であり、HibernateEntityManagerはクエリインターフェイスの実装です。これらは「メイン」のHibernateを使用して作業を行います。それらを組み合わせることができるはずです。JPAアノテーションを使用したり、HQLやCriteriaなどのHibernateのAPIを使用したりすることができます。
  2. 主にappserverに依存します。フル機能のアプリケーションサーバーでJPAを処理でき、web.xmlとappserverコンソールを使用して構成できます。もちろん、それはミックスアンドマッチを除外します。ただし、プログラムでクエリAPIにアクセスしたり、Springを使用したりすることで、appserverに関係なく独自のロールを実行できます。
  3. JSFは、Seamを使用するための前提条件です。EJB3/JPAとHibernateの違い-好みの問題。JPA実装として使用するために、Hibernateについて多くのことを知る必要はありません。JPAはHibernateのAPIに強く基づいているため、どちらの方法でも違いはかなり小さい可能性があります。Springは厳密には必要ではありません。JBossはWebBeansで市場シェアの一部を獲得するために最悪の努力をしています。Seamの一部の機能は、Springの一部の機能と重複しています。ただし、Springは高度にモジュール化されており、多くの機能をカバーしているため、必要なSpring機能を選択できるはずです。
  4. わからない。
于 2009-04-29T12:45:42.003 に答える
0

JBoss Seamは、EJB3フレームワークとJSFフレームワークを組み合わせたメタフレームワークであり、依存性注入の形式でそれらをラップします。J2EEテクノロジーとして、通常はアプリケーションサーバー内にデプロイします。これがJBossPortalの出番です。

JBoss Portalは、JBoss組織が提供する商用サービスです。さまざまなJ2EEコンポーネントを「モジュール」の形式でバンドルします。これらのコンポーネントには、EJB3、JSF、およびJBossApplicationServerが含まれます

このリンクを確認し、一番下までスクロールして、SeamとPortalがどこに適合するかを確認してください。ポータルサイトでは、提供するモジュールについて説明しています(価格設定モデルが付属していると思います)。Seamのサポートは、ポートレットモジュールによって提供されます。

于 2009-04-29T14:02:46.687 に答える
0
  1. EJB3とHibernateは補完的なテクノロジーです。EJB3はJPA(API)を定義し、HibernateはJPAの永続性プロバイダーとして使用できます。

  2. それでも、Hibernate、OpenJPAなどの永続性プロバイダーの1つを使用する必要があります。

  3. JSFとEJB3。

  4. SeamとPortalの開発に関して:より良い質問は、JSFとPortalがどれだけうまく連携するかということです。

もちろん、これらは連携して機能します。関連するチュートリアルは次のとおりです。JSF、Ajax、およびSeamを使用したポートレットの開発

于 2009-04-29T15:20:09.043 に答える
0

質問4について。

ブリッジが使用されている場合、JBossSeamはJBossPortal内で使用できます。

現在、CR段階にありリリースが近づいているJBossPortletBridgeプロジェクトがあります。

于 2009-07-13T11:31:09.343 に答える