コンテンツにスキップ

Enterprise JavaBeans

Xuất điển: フリー bách khoa sự điển 『ウィキペディア ( Wikipedia ) 』

Enterprise JavaBeans(EJB) とは,JavaBeansSĩ dạng と đồng dạng のものを,ネットワーク phân tán hìnhビジネスアプリケーションのサーバサイドで thật hiện したSĩ dạngのこと.セキュリティCơ năng などを bị える.サン・マイクロシステムズ( サン ) がJava EE ( hiện ・Jakarta EE) sĩ dạng の trung でビジネスロジックをモデル hóa およびデータのVĩnh 続 hóaのために tác thành した.データベースアプリケーションサーバなどで thật trang されている.

Lịch sử

[Biên tập]

EJBは nguyên 々,OMGCORBAやサンのRMIといった phân tán オブジェクトに do lai する kỹ thuật であり, RMIをベースにビジネスロジックを thật trang するコンポーネントとして đản sinh した. Tối sơ の thật trang はJavaの đản sinh から3 niên hậu の1998 niênKhoảnh に đăng tràng している. こうした kinh vĩ から, đương sơ sách định されたEJBはリモートアクセスを tưởng định した phục tạp な thật trang が tất tu となっており, デプロイメント ký thuật tử と hô ばれるXMLの thiết định ファイルもかかせないものだった. また, EJB 1.0では chủ yếu な yếu tố としてセッションBeanのみが định nghĩa されており, エンティティBeanはオプションという tráp いであった.2003 niênのJ2EE 1.4で định nghĩa されたEJB 2.0では, EJBが phân tán オブジェクトとして sử われることは hi であるという thật tình を đạp まえ, ローカルインタフェースの truy gia が hành われている. またメッセージ駆 động hình Beanが sĩ dạng に tổ み込まれた.[1]

しかしEJBの sĩ dạng は y nhiên phục tạp なものであり, EJBに đại わってより khinh lượng なSpring FrameworkPOJOといった khảo え phương を dụng いる động きが hoạt phát hóa する. こうした lưu れを thụ け,2007 niênのJava EE 5で định nghĩa されたEJB 3.0では,DIやPOJOといった khảo え phương を thủ り nhập れる hình で sĩ dạng の toàn diện đích な kiến trực しが hành われる. EJBの các クラスは単なるPOJOとなり, J2SE 5.0で đạo nhập されたアノテーションによりEJBとしての tuyên ngôn を hành う hình thức とされた. Thiết định ファイルも bất yếu となり, エンティティBeanは độc lập した vĩnh 続 hóa フレームワークであるJava Persistence APIに trí き hoán えられた.[1]

その hậu も cải lương は続けられており,2009 niênのJava EE 6で định nghĩa されたEJB 3.1では, シングルトンセッションBeanの truy gia や, セッションBeanを trung tâm とするコンポーネントのみを trừu xuất したEJB Liteと hô ばれるサブセットの định nghĩa が hành われており[2],2013 niênのJava EE 7で định nghĩa されたEJB 3.2では, phi đồng kỳ 処 lý のEJB Liteへの đạo nhập や bất yếu となったエンティティBeanが sĩ dạng から thủ り trừ かれるなどしている[3].

EJBの chủng loại

[Biên tập]

EJBは, đại きく dĩ hạ の tam つの chủng loại のBeansに phân けられる.

セッションBean (Session Bean)
セッションを bảo trì し, nhất thời đích なロジックを bảo tồn するオブジェクト.Dĩ hạ のような chủng loại がある.
  • ステートフルセッションBean (Stateful Session Bean): クライアントごとの trạng thái (State) を bảo trì するセッションBean.
  • ステートレスセッションBean (Stateless Session Bean): クライアントごとの trạng thái を bảo trì しないセッションBean.
  • シングルトンセッションBean (Singleton Session Bean): Thường に đồng じインスタンスへのアクセスが bảo chứng されているシングルトンなセッションBean.[2]
メッセージ駆 động hình Bean (Message Driven Bean)
Phi đồng kỳ 処 lý の ký thuật など.
エンティティBean (Entity Bean)
Vĩnh 続 đích なデータを bảo tồn するオブジェクト. EJB 3.2で廃 chỉ.

EJBの giản 単な lệ を dĩ hạ に kỳ す.

@Stateless
publicclassCustomerService{

@PersistenceContext
privateEntityManagerentityManager;

publicvoidaddCustomer(Customercustomer){
entityManager.persist(customer);
}
}

Thượng ký のコードは,O/Rマッピングを sử dụng して cố khách (Customer) オブジェクトをVĩnh 続 hóa(DBに bảo tồn ) するサービスクラス ( セッションBean ) である. EJBが vĩnh 続コンテキスト (Persistence context) の quản lý を hành うため, thật tế にデータを đăng lục するaddCustomer()メソッドは,デフォルトトランザクションQuản lý されたスレッドセーフなメソッドとなる. Thượng ký のコードは, EJBのビジネスロジックと vĩnh 続 hóa に tiêu điểm を đương てたもので, EJBの đặc trưng đích な cơ năng の sổ 々は sử dụng していない.

こうしたEJBのセッションBeanは, dĩ hạ のように tha のクラスから hô び xuất して sử dụng することができる. Dĩ hạ はWeb tằng からの hô び xuất し lệ である.

@Named
@RequestScoped
publicclassCustomerBacking{
@EJB
privateCustomerServicecustomerService;

publicStringaddCustomer(Customercustomer){
customerService.addCustomer(customer);
context.addMessage(...);// ( tỉnh lược ) メッセージ xuất lực など
return"customer_overview";
}
}

Thượng ký のコードは, EJBのセッションBeanを@EJBアノテーションによりChú nhậpした,JavaServer Faces(JSF) の quản lý Bean (Managed Bean) である. Kim độ のaddCustomer()メソッドは,UIコンポーネントにおけるボタン thao tác などを biểu hiện している. EJBのセッションBeanとは nghịch に, この quản lý Beanにはビジネスロジックに quan するコードも vĩnh 続 hóa に quan するコードも hàm まれていないが, EJBのコードを hô び xuất すことでそうした処 lý を thật hiện している. EJBはプレゼンテーション tằng に y tồn せず, それらの dịch cát は quản lý Beanが đam う.

EJBコンテナ

[Biên tập]

EJBを quản lý し, động tác させるための thật hành hoàn cảnh はEJBコンテナと hô ばれる. EJBコンポーネントが động tác するときに lợi dụng するデータベースへのコネクションやトランザクションの quản lý も đồng thời に hành う.

EJBコンテナの đại biểu lệ としてJBossなどが cử げられる. またJavaEEサーバーはEJBコンテナを hàm んでいる.

Cước chú

[Biên tập]
  1. ^abĐệ 1 hồi EJBのすべてを tri る”.EJB 3を tái khảo する.Think IT (2007 niên 9 nguyệt 12 nhật ).2014 niên 2 nguyệt 19 nhậtDuyệt lãm.
  2. ^abJava EE6:EJB3.1は, すばらしい tiến hóa だ”.infoQ (2010 niên 2 nguyệt 25 nhật ).2014 niên 2 nguyệt 19 nhậtDuyệt lãm.
  3. ^What's new in EJB 3.2? - Java EE 7 chugging along!”( anh ngữ ). Oracle (2012 niên 11 nguyệt 26 nhật ).2014 niên 2 nguyệt 19 nhậtDuyệt lãm.

Quan liên hạng mục

[Biên tập]

Ngoại bộ リンク

[Biên tập]