LINEスタンプ制作代行サービス・LINEスタンプの作り方!

お電話でのお問い合わせ:03-6869-8600

stampfactory大百科事典

Enterprise JavaBeans

Enterprise JavaBeans (EJB) とは、JavaBeans仕様と同様のものを、ネットワーク分散型ビジネスアプリケーションのサーバサイドで実現した仕様のこと。セキュリティ機能などを備える。SunがJavaEE仕様の中でビジネスロジックをモデル化およびデータの永続化のために作成した。データベースやアプリケーションサーバーなどで実装されている。EJBは元々、OMGのCORBAやSunのRMIといった分散オブジェクトに由来する技術であり、RMIをベースにビジネスロジックを実装するコンポーネントとして誕生した。最初の実装はJavaの誕生から3年後の1998年頃に登場している。こうした経緯から、当初策定されたEJBはリモートアクセスを想定した複雑な実装が必須となっており、デプロイメント記述子と呼ばれるXMLの設定ファイルもかかせないものだった。また、EJB 1.0では主要な要素としてセッションBeanのみが定義されており、エンティティBeanはオプションという扱いであった。2003年のJ2EE 1.4で定義されたEJB 2.0では、EJBが分散オブジェクトとして使われることは稀であるという実情を踏まえ、ローカルインタフェースの追加が行われている。またメッセージ駆動型Beanが仕様に組み込まれた。しかしEJBの仕様は依然複雑なものであり、EJBに代わってより軽量なSpring FrameworkやPOJOといった考え方を用いる動きが活発化する。こうした流れを受け、2007年のJava EE 5で定義されたEJB 3.0では、DIやPOJOといった考え方を取り入れる形で仕様の全面的な見直しが行われる。EJBの各クラスは単なるPOJOとなり、J2SE 5.0で導入されたアノテーションによりEJBとしての宣言を行う形式とされた。設定ファイルも不要となり、エンティティBeanは独立した永続化フレームワークであるJava Persistence APIに置き換えられた。その後も改良は続けられており、2009年のJava EE 6で定義されたEJB 3.1では、シングルトンセッションBeanの追加や、セッションBeanを中心とするコンポーネントのみを抽出したEJB Liteと呼ばれるサブセットの定義が行われており、2013年のJava EE 7で定義されたEJB 3.2では、非同期処理のEJB Liteへの導入や不要となったエンティティBeanが仕様から取り除かれるなどしている。EJBは、大きく以下の三つの種類のBeansに分けられる。EJBの簡単な例を以下に示す。上記のコードは、O/Rマッピングを使用して顧客 (Customer) オブジェクトを永続化(DBに保存)するサービスクラス(セッションBean)である。EJBが永続コンテキスト (Persistence context) の管理を行うため、実際にデータを登録するaddCustomer()メソッドは、デフォルトでトランザクション管理されたスレッドセーフなメソッドとなる。上記のコードは、EJBのビジネスロジックと永続化に焦点を当てたもので、EJBの特徴的な機能の数々は使用していない。こうしたEJBのセッションBeanは、以下のように他のクラスから呼び出して使用することができる。以下はWeb層からの呼び出し例である。上記のコードは、EJBのセッションBeanを@EJBアノテーションにより注入した、JavaServer Faces (JSF) の管理Bean (Managed Bean) である。今度のaddCustomer()メソッドは、UIコンポーネントにおけるボタン操作などを表現している。EJBのセッションBeanとは逆に、この管理Beanにはビジネスロジックに関するコードも永続化に関するコードも含まれていないが、EJBのコードを呼び出すことでそうした処理を実現している。EJBはプレゼンテーション層に依存せず、それらの役割は管理Beanが担う。EJBを管理し、動作させるための実行環境はEJBコンテナと呼ばれる。EJBコンポーネントが動作するときに利用するデータベースへのコネクションやトランザクションの管理も同時に行う。EJBコンテナの代表例としてJBossなどが挙げられる。またJavaEEサーバーはEJBコンテナを含んでいる。

出典:wikipedia

LINEスタンプ制作に興味がある場合は、
下記よりスタンプファクトリーのホームページをご覧ください。