j2ee規範——EJB,
1、EJB是什麼
商務軟體的核心部分是它的商務邏輯。商務邏輯抽象了整個商務過程的流程,並使用電腦語言將他們實現。
……
J2EE 對於這個問題的處理方法是將商務邏輯從用戶端軟體中抽取出來,封裝在一個組件中。這個組件運行在一個獨立的伺服器上,用戶端軟體通過網路調用組件提供的服務以實現商務邏輯,而用戶端軟體的功能單純到只負責發送調用請求和顯示處理結果。在J2EE 中,這個運行在一個獨立的伺服器上,並封裝了商務邏輯的組件就是EJB(Enterprise JavaBean)組件。
2、通俗一點對於EJB的理解
把編寫的軟體中那些需要執行制定的任務的類,不放到用戶端軟體上了,而是給他打成包放到一個伺服器上了。EJB 就是將那些"類"放到一個伺服器上,用C/S 形式的軟體用戶端對伺服器上的"類"進行調用。
3.EJB分類
有狀態會話bean
一種保持工作階段狀態的服務。每個執行個體都與特定的客戶機相關聯,在與客戶機的方法調用之間維持對話狀態。EJB伺服器崩潰後不再儲存,出發配置 failover。
無狀態會話bean
不儲存與特定客戶的對話狀態。因此狀態會話Bean比無狀態會話 Bean具有更多的功能,而無狀態會話Bean執行個體可以通過 EJB容器自由地在客戶機之間交換,從而少量的會話Bean就可以服務於大量的客戶機。EJB伺服器崩潰後不要在儲存。
實體bean
1.是持久性資料在記憶體中的體現
2.應用伺服器崩潰後能夠恢複
3.可以支援來自多個客戶的並發訪問
4.是同步的
訊息驅動bean
1.在訊息之間不維持狀態的非同步裝置
2.是JMS訊息的使用
4、EJB介面:EJB有兩個可由使用者使用的遠程介面
Home介面
支援用戶端應用建立、刪除、或定位EJB的執行個體,其設計原則
1.必須繼承EJBHome 介面
2.定義每一個create方法,都必須在相應的EJB類中有一個對應ejbcreate方法
3.遵循java RMI的規則
4.定義方法的參數,應該是合法的java RMI型別參數
5.應該拋出CreateException,RemoteException
<span style="font-family:KaiTi_GB2312;font-size:18px;">//Home介面定義public interface DemoHome extends EJBHome{public Demo create(long x)throws RemoteException,CreateException;}</span>
<span style="font-family:KaiTi_GB2312;font-size:18px;">//EJB類定義public class DemoBean extends SessionBean{public void ejbCreate(long x)throws CreateException,UserExce2{//具體實現}}</span>
Remote介面
Remote介面定義了EJB提供的商業方法,其設計原則:
1.必須繼承EJBObject 介面
2.定義每一個方法,都必須在相應的EJB類中有一個對應方法
3.遵循java RMI的規則
4.定義方法的參數,應該是合法的java RMI型別參數
5.拋出RemoteException。
//Remote介面定義public interface Hello extends EJBObject{String busMethod1(long l,String str)throws RemoteException,UserExcep1;}
//EJB類定義public class DemoBean extends SessionBean{String busMethod1(long l,String str)throws UserExcep2{//具體實現}}
總結
對於EJB的學習只是從最基礎去瞭解它,瞭解到了它到底是什麼,它的分類,它的遠程介面。以及遠程介面與EJB分類的的結合。後面關於EJB的學習還有很多,慢慢去體會,會有更多的收穫。