Bean是Enterprise Java Bean的縮寫,一個Bean扮演著應用程序素材的角色。她包含有一個functional interface,一個life-cycle interface,以及一個實做它所支援的商業方法的類別。
Bean Instance(Bean實例)
一個Bean Instance是Bean位於一個容器中的instantiation,如果把bean比作class,那麼Bean Instance就是Java Object。
Bean-managed persistence(Bean自己所管理的永續性)
這個術語是用來描述Enterprise Java Bean如何來存儲它們的state到數據庫或者是其他的存儲機制。容器將促使Bean呼叫Bean的EjbLoad()和EjbSave()方法。
Container(容器)
一個Bean的容器會實做bean的home interfaces與remote interfaces。它應該提供一組公用程序類別以便能夠隱藏bean instances,介入方法調用,維持交易完整性與bean instances池的一般管理。雖然Ejb規則中規定一個容器必須管理超過一種以上的bean,不過通常每個容器只有一個bean。
Container-managed demarcation
對於一個enterprise bean,不論何時,當其中的一個商業方法被呼叫,容器便自動啟動一項新的交易。商業方法完成後,交易就結束了。容器啟動交易的形式由bean的交易屬性來決定,或者,由商業方法本身來決定(如果有指明的話)。
Container-managed persistence(委托容器管理的永續性)
Bean開發者可以委托容器來負責記錄Bean的最新狀態。Bean的狀態必須由Bean中的許多public Fields得到。容器可以確保這些public fields在任何bean的方法被喚醒之前為正確的。public fIElds必須在deployment descriptor中定義,然後才產生container classes。
Entity beans
Entity beans 代表可以辨認的永續物件。典型的實例就是:它可以代表關系數據庫中個別的rows。當然,也可以是檔案系統中的檔案,或者是任何其他獨一無二的可辨識資料。
Home
每一個Enterprise Bean,不論是Session或者是Entity bean,都有一個interface來讓客戶端能夠建立與移除一個bean instance。以Entity為例,home interface 提供一些方法以允許客戶端對於一個bean instance來作定位用。這個interface遵循Java RMI interface的規定。每個home interface都繼承自一個遠端界面,即EJBHome。
Remote
一個bean的remote interface 描述對於一個bean instance中可供客戶端呼叫的方法集合。這個interface 遵循Java RMI interface的規定。每個remote interface都繼承自一個遠端界面,即EJBObject。
Session beans
Session beans為 particular clIEnt所建立。如果經過一段被稱為timeout的指定空閒時間之後,就不再存在。
Session synchronization
Session beans 可選擇性地實做Session Synchronization interface。這樣可以允許Session beans在交易將完成之前與完成之後被通知。session bean可以使用beforeCompletion()方法來否決交易的成功完成,並且能夠使用afterCompletion()來判斷交易成功與否。
Transaction Attribute (交易屬性)
一項transaction attribute可以用在bean與其特殊的商業方法上。其可能的值有六種,分別是TX_NOT_SUPPORTED,TX_REQUIRED,TX_SUPPORTS,TX_REQUIRES_NEW,TX_MANDATORY,TX_BEAN_MANAGED。