logo

EJBとは

EJB はの頭字語です。 エンタープライズ Java Bean 。これは、安全で堅牢かつスケーラブルな分散アプリケーションを開発するために Sun Microsystems によって提供される仕様です。

分散アプリケーションに関する情報を取得するには、次のサイトにアクセスしてください。 RMI チュートリアル 初め。

EJB アプリケーションを実行するには、 アプリケーション・サーバー (EJB コンテナ) Jboss、Glassfish、Weblogic、Websphere など。以下を実行します。

  1. ライフサイクル管理、
  2. 安全、
  3. トランザクション管理、および
  4. オブジェクトプーリング。

EJBアプリケーションはサーバー上に配置されるため、サーバーサイドコンポーネントとも呼ばれます。

EJB は COM のようなものです ( コンポーネントオブジェクトモデル ) マイクロソフトによって提供されます。ただし、Java Bean、RMI、Web サービスとは異なります。


Enterprise Java Beanを使用する場合?

  1. アプリケーションにはリモート アクセスが必要です 。つまり、分散されているのです。
  2. アプリケーションはスケーラブルである必要がある 。 EJB アプリケーションは、ロード バランシング、クラスタリング、フェイルオーバーをサポートします。
  3. アプリケーションにはカプセル化されたビジネス ロジックが必要です 。 EJB アプリケーションは、プレゼンテーション層と永続層から分離されています。

Enterprise Java Beanの種類

Java には 3 種類のエンタープライズ Bean があります。

セッションBean

セッション Bean には、ローカル、リモート、または Web サービス クライアントから呼び出すことができるビジネス ロジックが含まれています。

メッセージ駆動型 Bean

Session Bean と同様にビジネス ロジックが含まれていますが、メッセージを渡すことによって呼び出されます。

エンティティBean

データベースに保持できる状態をカプセル化します。廃止されました。現在では、JPA (Java Persistent API) に置き換えられています。


RMIとEJBの違い

RMI と EJB はどちらも、別の JVM で実行されているオブジェクト (リモート オブジェクトと呼ばれる) に別の JVM からアクセスするためのサービスを提供します。 RMI と EJB の違いは次のとおりです。

RMIEJB
RMI では、セキュリティ、トランザクション管理、オブジェクト プーリングなどのミドルウェア サービスを Java プログラマが実行する必要があります。EJBでは、ミドルウェアサービスはEJBコンテナによって自動的に提供されます。
RMI はサーバー側のコンポーネントではありません。サーバーにデプロイする必要はありません。EJB はサーバー側コンポーネントであり、サーバー上にデプロイする必要があります。
RMI はソケット プログラミングをベースに構築されています。EJB テクノロジーは RMI の上に構築されています。

EJBとWebサービス

EJB では、Bean コンポーネントと Bean クライアントの両方を Java 言語で記述する必要があります。

Bean クライアントを他の言語で記述する必要がある場合は、 。ネットphp など、一緒に行く必要があります ウェブサービス (SOAP または REST)。したがって、Web サービスを使用した EJB がより良い選択肢になります。


EJBの欠点

  1. アプリケーションサーバーが必要です
  2. Java クライアントのみが必要です。他の言語クライアントの場合は、Web サービスを使用する必要があります。
  3. ejb アプリケーションを理解して開発するのは複雑です。