Sun Java System Application Server Enterprise Edition 8.2 パフォーマンスチューニングガイド

ローカルインタフェースを優先する

EJB コンポーネントは、リモートインタフェースとローカルインタフェースを持つことができます。Bean と同じアプリケーションサーバーインスタンスに配置されていないクライアント (リモートクライアント) は、リモートインタフェースを使用して Bean にアクセスします。リモートインタフェースの呼び出しには、引数を整列化し、整列化したデータをネットワーク経由で転送し、引数を非整列化し、受信側の端で振り分ける一連の処理が必要です。そのため、リモートインタフェースの使用には大きなオーバーヘッドが伴います。

EJB コンポーネントがローカルインタフェースを持つ場合、同じアプリケーションサーバーインスタンス内のローカルクライアントは、そのインタフェースをリモートインタフェースの代わりに使用できます。引数の整列化、転送、および非整列化が不要になるため、ローカルインタフェースを使用するほうが効率的です。

Bean がローカルクライアントのみによって使用される予定の場合、ローカルインタフェースのみを提供する意味があります。一方、Bean を位置独立にする予定の場合は、リモートインタフェースとクライアントインタフェースの両方を提供することをお勧めします。これにより、リモートクライアントはリモートインタフェースを使用し、ローカルクライアントは効率性のためにローカルインタフェースを使用できるようになります。