Oracle docからのこれが、私のような誰かがEJBのトピックを簡単な方法で理解するのに役立つことを願っています。
エンタープライズBeanとは何ですか?Javaプログラミング言語で記述されたエンタープライズBeanは、アプリケーションのビジネスロジックをカプセル化するサーバー側のコンポーネントです。ビジネスロジックは、アプリケーションの目的を満たすコードです。たとえば、在庫管理アプリケーションでは、エンタープライズBeanはcheckInventoryLevelおよびorderProductと呼ばれるメソッドでビジネスロジックを実装する場合があります。これらのメソッドを呼び出すことにより、クライアントはアプリケーションによって提供されるインベントリサービスにアクセスできます。
エンタープライズBeanの利点いくつかの理由から、エンタープライズBeanは大規模な分散アプリケーションの開発を簡素化します。まず、EJBコンテナはエンタープライズBeanにシステムレベルのサービスを提供するため、Bean開発者はビジネス上の問題の解決に集中できます。Bean開発者ではなく、EJBコンテナが、トランザクション管理やセキュリティ認証などのシステムレベルのサービスを担当します。
次に、クライアントではなくBeanにアプリケーションのビジネスロジックが含まれているため、クライアント開発者はクライアントのプレゼンテーションに集中できます。クライアント開発者は、ビジネスルールを実装したりデータベースにアクセスしたりするルーチンをコーディングする必要はありません。その結果、クライアントはより薄くなります。これは、小さなデバイスで実行されるクライアントにとって特に重要な利点です。
第3に、エンタープライズBeanは移植可能なコンポーネントであるため、アプリケーションアセンブラーは既存のBeanから新しいアプリケーションを構築できます。これらのアプリケーションは、標準APIを使用していれば、準拠しているJavaEEサーバーで実行できます。
エンタープライズBeanを使用する場合アプリケーションに次の要件のいずれかがある場合は、エンタープライズBeanの使用を検討する必要があります。
アプリケーションはスケーラブルである必要があります。増え続けるユーザーに対応するには、アプリケーションのコンポーネントを複数のマシンに分散させる必要がある場合があります。アプリケーションのエンタープライズBeanをさまざまなマシンで実行できるだけでなく、それらの場所もクライアントに対して透過的になります。
トランザクションは、データの整合性を確保する必要があります。エンタープライズBeanは、共有オブジェクトの同時アクセスを管理するメカニズムであるトランザクションをサポートします。
アプリケーションにはさまざまなクライアントがあります。わずか数行のコードで、リモートクライアントはエンタープライズBeanを簡単に見つけることができます。これらのクライアントは、薄く、さまざまで、多数ある可能性があります。