2009-07-05 7 views
0

現在、Java EE、EJB3、およびJavaについて理解しています。これまで私はJBossアプリケーションサーバーとOracleデータベースを実行しています。 JPAエンティティを介してデータベースからデータを取得するステートフルセッションBeanを作成しました。Java EEのサンプルプロジェクト

私の目標は、ステートフルBeanのメソッドを呼び出すことによって、単純なクライアントがサーバーに話すことです。しかし、私は、これらの豆がどれほど細かいのか、どのように私のエンティティ豆とやりとりするべきかを知る経験はほとんどありません。

私は完璧とはほど遠いですが、本や簡単なチュートリアルはこれ以上役に立ちません。私はアプリケーションの設計方法を知るために、実際にはこの種の技術を使用しているオープンソースプロジェクトを探しました。 Websearchは2006年のPetStoreの例を除いてはそれほど大したことはありませんでした。誰かが私に有用なリソースを教えてもらえれば幸いです。

答えて

3

は、あなたが「学ぶために探しているような音Iコードにどのようなロジックの一種で「EJB層をコード化する方法」の代わりに、「EJB層」を使用します。

教科書の答えは、「ほとんどのビジネスロジックはEJB層で実装する必要があります」と言います。

事実上、私はこのワークフローに従って、何かに私の判断を下すことになるでしょう:私のビジネスケースは、銀行口座照会 サービスを実装 にあるとし

  1. 。だから、私はおおよそ AccountInquiryServiceが必要であることを知っています。
  2. 通常、 このサービスが起動されるメインチャンネルは、ユーザが 彼のアカウントに問い合わせを行うことができ、即ちウェブ アプリケーション、Web層から あります。
  3. しかし、コードの再利用 の利益のために、私はまた、 口座照会を実行します のJavaデスクトップクライアントをコーディングする必要があるかもしれません ユースケース、があるかもしれないことを把握します。
  4. したがって、 AccountInquiryServiceを構築して、 同じ方法を ウェブとデスクトップクライアントの両方の ティアから適用できます。 異なる方法を追加する必要はありません。 両方のチャンネルを機能させることができます。

ご迷惑をおかけして申し訳ございません。お役に立てれば。

+0

あなたの意見はちょっと誤解を招くかもしれません。私は教科書の答えを読んで、あなたの例がその場に出ますが、この質問を投稿する前に私が解決した質問に答えます。私の問題は実装レベルでもう少しです。セッションBeanでJPAエンティティをどのように使用しているかについて詳しく説明します。セッションBeansは何個必要ですか? – sebastiangeiger

+0

あなたの質問はまだかなり曖昧ですが、私はベストを尽くします。 JPAエンティティは、DBにマップされたビジネスオブジェクトの反映です。厳密に言えば、それらは「EJB Bean」でさえありません。 EntityManagerは必要なデータを取得してJPA Beanにマップし、POJOと同様に使用することができます。したがって、使用できるエンティティの数には実際的な制限はありません。これはDB設計によります。 SessionBeanは、通常、同様の機能セットを1つのグループにまとめます。だからこそ、デザインするのはあなた次第です。例:AccountInquiryServiceおよびFundTransferService。 – feicipet

1

"EJB 3 In Action"の本は、Beanの開発方法を理解するのに非常に便利だとわかりました。

+0

ありがとうございます、私は月曜日にそれをチェックします。 – sebastiangeiger