EJB はの頭字語です。 エンタープライズ Java Bean 。これは、安全で堅牢かつスケーラブルな分散アプリケーションを開発するために Sun Microsystems によって提供される仕様です。
分散アプリケーションに関する情報を取得するには、次のサイトにアクセスしてください。 RMI チュートリアル 初め。
EJB アプリケーションを実行するには、 アプリケーション・サーバー (EJB コンテナ) Jboss、Glassfish、Weblogic、Websphere など。以下を実行します。
- ライフサイクル管理、
- 安全、
- トランザクション管理、および
- オブジェクトプーリング。
EJBアプリケーションはサーバー上に配置されるため、サーバーサイドコンポーネントとも呼ばれます。
EJB は COM のようなものです ( コンポーネントオブジェクトモデル ) マイクロソフトによって提供されます。ただし、Java Bean、RMI、Web サービスとは異なります。
Enterprise Java Beanを使用する場合?
- アプリケーションにはリモート アクセスが必要です 。つまり、分散されているのです。
- アプリケーションはスケーラブルである必要がある 。 EJB アプリケーションは、ロード バランシング、クラスタリング、フェイルオーバーをサポートします。
- アプリケーションにはカプセル化されたビジネス ロジックが必要です 。 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 の違いは次のとおりです。
RMI | EJB |
---|---|
RMI では、セキュリティ、トランザクション管理、オブジェクト プーリングなどのミドルウェア サービスを Java プログラマが実行する必要があります。 | EJBでは、ミドルウェアサービスはEJBコンテナによって自動的に提供されます。 |
RMI はサーバー側のコンポーネントではありません。サーバーにデプロイする必要はありません。 | EJB はサーバー側コンポーネントであり、サーバー上にデプロイする必要があります。 |
RMI はソケット プログラミングをベースに構築されています。 | EJB テクノロジーは RMI の上に構築されています。 |
EJBとWebサービス
EJB では、Bean コンポーネントと Bean クライアントの両方を Java 言語で記述する必要があります。
Bean クライアントを他の言語で記述する必要がある場合は、 。ネット 、 php など、一緒に行く必要があります ウェブサービス (SOAP または REST)。したがって、Web サービスを使用した EJB がより良い選択肢になります。
EJBの欠点
- アプリケーションサーバーが必要です
- Java クライアントのみが必要です。他の言語クライアントの場合は、Web サービスを使用する必要があります。
- ejb アプリケーションを理解して開発するのは複雑です。