2011-10-19 8 views
1

私は自分のコードをスタンドアロンプ​​ロジェクトに分けました。そのほとんどはJMSフィードを受け取り、各メッセージに対して何らかの処理を行い、ドメインオブジェクトを永続化し、RMIを使って呼び出すいくつかの他のプロジェクトに対してサービスを公開します。それらのすべては、Webアプリケーションの実行(Tomcat上で実行される)とは別に、現在は6つあり、スタンドアロンのjarとして実行されます。私はこれが上記から推測できると思いますが、私はEJBを使用しません。すべてのプロジェクトでSpringを使用しています。アプリケーションサーバーを使用する適切な時期はいつですか?

私はTomcatを使った経験がほとんどなく、アプリケーションサーバーの使用経験はほとんどありませんが、今日はこれらのアプリケーションがTomcat/Appサーバーでホストされている可能性があります。私はそれがトランザクション、jndi検索などを管理するために使用することができると聞いて、彼らは便利な音。

これを念頭に置いて、私は、RMIでドメインオブジェクトを取得するときに、レイジーローディングの問題を解決する可能性があると考えました。

誰かが私がこれが行く方法だと思うのが正しいかどうかについて、私に何か指導を与えることができますか?

答えて

0

Tomcat(私の視点から見ると軽量コンテナ)と重いコンテナ(JBoss AS、Glassfish、...)の使用の決定は、主に何をする必要があるかによって決まります。

すべてのコンテナは、データベースプール、jmxなどの基本的なものを共有していますが、特定の時点で(すべての自動フェールオーバーで重いクラスタソリューションが必要な場合など) requierements。もちろん、軽量ソリューションでこのようなソリューションを構築することもできますが、おそらくJ2EEコンテナでは簡単です。

一方、POJOはEJBよりも扱いが簡単です。また、大きくて重い要件がない限り、Springに固執します。 J2EEコンテナのわずかなパーセンテージしか使用せず、アプリケーションをビルドすることは、実際に使用するポイントではありません。

SpringとJ2EEでのトランザクション処理は、ほとんど同じです(両方とも、宣言的アプローチ(アノテーション)などを使用して実行できます)。

コンテナでアプリケーションを実行することが決してない場合は、より単純なもの(Tomcat)から開始し、必要に応じてより大きなものにアプローチして、おそらくあなたの人生を容易にします。そして、あなたが解決できなかった特別な要件がない限り、JBossやGlassfishをすぐに起動してアプリケーションをJ2EEに準拠するように書き直す必要はありません。

0

これはブラインドを導く盲目のビットかもしれませんが、あなたは正しいと思います。アプリケーションサーバーは、小さなプロジェクトをすべて保持してバインドするパッケージです。ライフサイクルや、展開、キャッシング、冗長性などの手動で対処したくないものを制御します。

私はさまざまなエンタープライズ内で何年もコーディングしてきましたが、コンテナという意味の意味を理解するのはしばらく時間がかかりました。

おそらくもっと良い回答がすでに掲載されている可能性があります。ただあなたが一人ではなかったことをお知らせしたいと思います。

関連する問題