Nothing Special   »   [go: up one dir, main page]

EJB 【Enterprise JavaBeans】 Jakarta Enterprise Beans

概要

EJB(Enterprise JavaBeans)とは、Java言語の企業システム向け拡張仕様Java EE(Enterprise Edition)の一部で、サーバ上で動作するアプリケーションソフトウェア部品(コンポーネント)を組み合わせて開発実行できるようにするもの。

EJBを利用したシステムの開発者は必要な機能を「Bean」(ビーン)と呼ばれるJavaクラスとして開発していき、これを繋ぎ合わせてアプリケーション構築する。BeanはEJBの仕様に準拠したアプリケーションサーバに組み込まれて実行される。

サーバ側でトランザクション処理DIDependency Injection依存性注入)、セキュリティ制御などの諸機能を提供してくれるため、Beanの開発者はこれらに個別に対応する必要はなく、自らのビジネスロジックの記述に集中できる。

Session Bean (セッションBean)

セッション単位での処理を行う機能を持つBeanをSession Bean(セッションBean)という。Session Beanに記録したデータBean自身が保持するため、セッションが失われ、Session Beanが破棄されるとデータも同時に破棄される。

Session Beanはさらに、処理状態を保持するSteteful Session Bean(ステートフルセッションBean)、保持しないStateless Session Bean(ステートレスセッションBean)、クライアントに依らず全体で単一インスタンスとなるSingleton Session Bean(シングルトンセッションBean)の3種類に分かれる。

Message-Driven Bean (メッセージ駆動Bean/MDB)

非同期処理を記述できるイベント駆動型BeanをMessage-Driven Bean(メッセージ駆動Bean/メッセージドリブンBean)という。EJB 2.0で追加された。JMSJava Message Service)により外部からメッセージを受け取ると起動し、対応する処理を行う。

Entity Bean (エンティティBean)

データベースレコードなど、特定のデータに対する参照を提供する永続的なBeanをEntity Bean(エンティティBean)という。EJB 3.2で廃止された。

Entity Beanは自身でデータを保持するのではなく、背後にあるデータベース管理システムDBMS)など、別の記録システムに対するインターフェースを提供する形で動作する。Entity Beanに対して記録を行ったデータデータベースレコードとして記録され、Beanが破棄されてもデータの内容は保存される。

永続性アプリケーション側が維持するBMP(Bean-Managed Persistence)とEJBコンテナ側で管理するCMP(Container-Managed Persistence)の2種類があり、用途に応じて使い分ける。

歴史

最初の仕様はIBMとサン・マイクロシステムズ(Sun Microsystems)により1997年に開発された。分散オブジェクト技術に由来する仕様で複数のサーバ分散したオブジェクトを連携動作させる点に力点が置かれ、複雑な設定ファイルの記述が必要であるなど仕様の煩雑さが普及の足かせとなった。

2007年のEJB 3.0では仕様が一新され、シンプルなJavaクラスPOJO)にEJB独自部分をアノテーションで追加するスタイルに変更されたほか、DIへの対応、エンティティBeanのJPAJava Persistence API)への移管などが行われた。2009年のEJB 3.1ではさらに仕様を縮減したサブセット(縮小版)であるEJB Liteが定義された。

(2018.8.10更新)

他の辞典による解説 (外部サイト)

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。