Session Bean被用於這實現含有特定商業邏輯的商業對象,不能直接表現DB中的共享資料,Session對象的狀態是非持久的存儲的,不不需寫到DB中。Session Bean實現Bean的商業邏輯,而遠程訪問安全並行和事務等恥Bean容器提供。
編寫EJB的規則:
1.編寫EntERPrise Bean:
1).可能有一個或多個ejbCreate方法。
2).訪問控制修飾符必須為public ,不能為static
3).參數是JavaRMI的合法類型,且修飾符不能為static 或void.
4).throws 子句可包括CreateException和應用程序的其他異常。
5).方法不能與EJB結構定義的相沖突。
2.Home接口:定義客戶機可調用的Create上便客戶機實例化所需的對象EJB。
1).Create方法的參數和返回類型必是RMI類型。
2).Create方法返回Remote接口類型(但ejbCreate方法返回void).
3).Create方法的throw子句必包括remoteException,CreateException.
3.Remote接口:定義客戶機可以調用的商業方法。
1).遠程接口中的方法必與Enterprisre Bean類中的實現的方法匹配。
2).Remote接口中的方法必與Enterprise Bean類中的實現方法相同。
3).參數和返回類型必是有效的RMI類型。
4).throws子句必包括Java.rmi.remoteException.
在statful和stateless Session Bean中做選擇。
1.stateul被設計用來維護代表客戶機狀態,表現非持久存儲的對象。表現商業對象間的工作流。
一般用於以下例情況:
1)維護特定的存儲商業對象。
2)表現非持久存儲的對象。
3)表現商業對象間的工作流。
2.stateless被設計用來提供服務器端的行為,不含特定用戶資料。一般用於下例情況:
1)建模可重用的服務對象。
2)提供高性能
3)一次操作多條記錄。
4)提供DATE程序觀點。