0

3 層アーキテクチャの分散 Java アプリケーションを開発しようとしています。

  1. データベース サーバー
  2. アプリケーション・サーバー
  3. シン クライアント Swing アプリケーション

この種のアプリケーションを開発したことはありません。アプリケーション サーバーとシン クライアント アプリケーション間の通信に Java RMI を使用することを考えています。また、ORM ツールとして Hibernate フレームワークを使用します。

私の質問は、そのようなアプリケーションをデプロイするために必要なコンポーネントは何かということです。

  1. Tomcat や Glassfish などのサーバーが必要ですか?
  2. このようなアプリケーションで MVC モデルを実装するにはどうすればよいですか?
4

1 に答える 1

1

かなり大きな質問であり、本当の答えはありません。あなたは本当に構築されているアプリのニーズが何であるかを決定する必要があります。

RMIに関しては、RMIホストを提供するサーバープロセスが必要です。Glassfishが1つ提供します。ただし、Glassfishを使用している場合は、永続層としてJPA/EJB3を使用することをお勧めします。これは単に、オープンソースの世界のために再バッジされたOracleのTopLinkです。

TomcatにRMIレイヤーが付属しているかどうかはわかりませんが、Tomcat用に開発してから少し経ちました。それは何よりもまずサーブレットエンジンです。クライアントとサーバー間のRESTインターフェースを検討している場合は、それが適切な選択です(ただし、Glassfishはサーブレットエンジンも提供します)。

本当にHibernateを使用したい場合で、クライアントとサーバー間のトランスポートとしてRMIが必要な場合は、Springを割引しないでください。Hibernateを呼び出すSpringBeanを定義するRMIサーバーエンジンがあります。アプリケーションサーバーは必要ありません(Springが提供するものを除いて)。

MVCに関する限り、クライアントの観点からは、Swingがビューを処理し、ネイティブJavaがモデルとコントローラーを実装します。この場合、モデルは、RMIサーバーコンポーネントによって公開されるサービスによって提供されるDTOになります。Hibernateはサーバープロセスに限定され、サービスにはほとんどビューがないと思います。クライアントコードのモデルは、サービスへのRPCを作成するDTOとその周辺のフレームワークになります。

お役に立てれば

于 2013-01-29T05:13:40.997 に答える