質問

私は(...これらの計算は、サーバー上で実行することはできませんので、あまり負荷を)それを使用してすべての男は、そのコンピュータ上で計算を実行しますクライアントを持つことになり、Webアプリケーションを計画して、送信していますサーバーへの結果ます。

私は自分のアプリケーションに興味がある人の多くも、私のアーキテクチャが良好であれば、私は不思議だ理由です、私は何千人もの人々を扱うことができるようになります場合になると思います。

私は、GlassFishサーバーとJNDI経由でリモートEJBを公開する予定ですので、1000人は、地元の計算に必要なデータを取得するために(私は2番目5-50要求/があるかもしれないと思います)、同時にこれらのEJBを使用することができますその後、結果を送信するために...

これは、多くのクライアントにEJBを公開するために高価ですか? Webサービスを使用するために、RMI、他のソリューションより良いでしょうか?

あなたが私に私がするつもりです何のために別のアーキテクチャを勧めますか?

役に立ちましたか?

解決

まず、ビューの純粋な建築の点から、EJBが分散アプリケーションを構築するために使用され、Webサービスは統合技術であり、彼らは本当にお互いに競合しません。あなたのケースでは、EJBは、(我々は正しい、EJB3について話している?)自然な選択であろうと、セッションBeanは非常にうまくスケールます。

サーバー側のコードは、専用データベースからデータを取得すると、クライアント側の計算後に結果を保存するために使用されている場合は、

第二に、そしてアプリケーションサーバーは、非常に可能性がボトルネック、データベースの意志ではありません。言い換えれば、心配する多くがありません。

あなたのクライアントはすべて100%Javaクライアントであるため、1日あなたが必要な場合は、

だから、私はちょうど 1 ステートレスセッションBeanを公開し、SOAP / XMLのマーシャリング/アンマーシャリングのオーバーヘッドを回避し、(WSDLを書きますWebサービスとしてあなたのサービスを公開するために、これはまだ)可能、かつ簡単になります。

1 JPAまたはデータアクセスのために何か他のものを使用するには、あなたの裁量に委ねられます。

他のヒント

私の2Pは、クライアントHTTP / WebサービスやXMLを提供するビューのクライアントの観点からより簡単に、より標準的であるということです。 1つの利点は、彼らがその場合、SOAP Webサービス、Javaクライアントである必要はありませんです。

私はプロキシが保たれているので、クライアントのエンティティを取得するには悪い考えかもしれフォーラムに読んで、それは、トラフィックを生成します。

一人の男テストされ、300オブジェクトの40ko直列化されたリストは、wiresharkの中3.6moネットワークTRAFICを生成しますが、実体を切り離すためにEntityManager.clear()を使用するか、それは大丈夫だ、リモート関数に戻り値の型DTO POJOを使用している場合:)

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top