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