1. 程式人生 > >Java筆試題之《ejb部分》

Java筆試題之《ejb部分》

例如 java api 發包 bsp tel 比較 eth 事務管理 網絡協議

ejb部分

1EJB是基於哪些技術實現的?並說出SessionBeanEntityBean的區別,StatefulBeanStatelessBean的區別。

EJB包括Session BeanEntity BeanMessage Driven Bean,基於JNDIRMIJAT等技術實現。

SessionBeanJ2EE應用程序中被用來完成一些服務器端的業務操作,例如訪問數據庫、調用其他EJB組件。EntityBean被用來代表應用系統中用到的數據。

對於客戶機,SessionBean是一種非持久性對象,它實現某些在服務器上運行的業務邏輯。

對於客戶機,EntityBean是一種持久性對象,它代表一個存儲在持久性存儲器中的實體的對象視圖,或是一個由現有企業應用程序實現的實體。

Session Bean 還可以再細分為 Stateful Session Bean Stateless Session Bean ,這兩種的 Session Bean都可以將系統邏輯放在 method之中執行,不同的是 Stateful Session Bean 可以記錄呼叫者的狀態,因此通常來說,一個使用者會有一個相對應的 Stateful Session Bean 的實體。Stateless Session Bean 雖然也是邏輯組件,但是他卻不負責記錄使用者狀態,也就是說當使用者呼叫 Stateless Session Bean 的時候,EJB Container 並不會找尋特定的 Stateless Session Bean 的實體來執行這個 method。換言之,很可能數個使用者在執行某個 Stateless Session Bean methods 時,會是同一個 Bean Instance 在執行。從內存方面來看, Stateful Session Bean Stateless Session Bean 比較, Stateful Session Bean 會消耗 J2EE Server 較多的內存,然而 Stateful Session Bean 的優勢卻在於他可以維持使用者的狀態。

2、簡要講一下 EJB 7 Transaction Level?

3EJBJAVA BEAN的區別?

Java Bean 是可復用的組件,對Java Bean並沒有嚴格的規範,理論上講,任何一個Java類都可以是一個Bean。但通常情況下,由於Java Bean是被容器所創建(如Tomcat)的,所以Java Bean應具有一個無參的構造器,另外,通常Java Bean還要實現Serializable接口用於實現Bean的持久性。Java Bean實際上相當於微軟COM模型中的本地進程內COM組件,它是不能被跨進程訪問的。Enterprise Java Bean 相當於DCOM,即分布式組件。它是基於Java的遠程方法調用(RMI)技術的,所以EJB可以被遠程訪問(跨進程、跨計算機)。但EJB必須被布署在諸如WebspereWebLogic這樣的容器中,EJB客戶從不直接訪問真正的EJB組件,而是通過其容器訪問。EJB容器是EJB組件的代理,EJB組件由容器所創建和管理。客戶通過容器來訪問真正的EJB組件。

4EJB包括(SessionBean,EntityBean)說出他們的生命周期,及如何管理事務的?

SessionBeanStateless Session Bean 的生命周期是由容器決定的,當客戶機發出請求要建立一個Bean的實例時,EJB容器不一定要創建一個新的Bean的實例供客戶機調用,而是隨便找一個現有的實例提供給客戶機。當客戶機第一次調用一個Stateful Session Bean 時,容器必須立即在服務器中創建一個新的Bean實例,並關聯到客戶機上,以後此客戶機調用Stateful Session Bean 的方法時容器會把調用分派到與此客戶機相關聯的Bean實例。

EntityBeanEntity Beans能存活相對較長的時間,並且狀態是持續的。只要數據庫中的數據存在,Entity beans就一直存活。而不是按照應用程序或者服務進程來說的。即使EJB容器崩潰了,Entity beans也是存活的。Entity Beans生命周期能夠被容器或者 Beans自己管理。

EJB通過以下技術管理實務:對象管理組織(OMG)的對象實務服務(OTS),Sun MicrosystemsTransaction ServiceJTS)、Java Transaction APIJTA),開發組(X/Open)的XA接口。

5EJB容器提供的服務

主要提供聲明周期管理、代碼產生、持續性管理、安全、事務管理、鎖和並發行管理等服務。

6EJB的激活機制

Stateful Session Bean 為例:其Cache大小決定了內存中可以同時存在的Bean實例的數量,根據MRUNRU算法,實例在激活和去激活狀態之間遷移,激活機制是當客戶端調用某個EJB實例業務方法時,如果對應EJB Object發現自己沒有綁定對應的Bean實例則從其去激活Bean存儲中(通過序列化機制存儲實例)回復(激活)此實例。狀態變遷前會調用對應的ejbActiveejbPassivate方法。

7EJB的幾種類型

會話(SessionBean ,實體(EntityBean 消息驅動的(Message DrivenBean

會話Bean又可分為有狀態(Stateful)和無狀態(Stateless)兩種

實體Bean可分為Bean管理的持續性(BMP)和容器管理的持續性(CMP)兩種

8、客服端調用EJB對象的幾個基本步驟

設置JNDI服務工廠以及JNDI服務地址系統屬性,查找Home接口,從Home接口調用Create方法創建Remote接口,通過Remote接口調用其業務方法。

9. webservice部分

10WEB SERVICE名詞解釋。JSWDL開發包的介紹。JAXPJAXM的解釋。SOAPUDDI,WSDL解釋。

Web ServiceWeb Service是基於網絡的、分布式的模塊化組件,它執行特定的任務,遵守具體的技術規範,這些規範使得Web Service能與其他兼容的組件進行互操作。

JAXP(Java API for XML Parsing) 定義了在Java中使用DOM, SAX, XSLT的通用的接口。這樣在你的程序中你只要使用這些通用的接口,當你需要改變具體的實現時候也不需要修改代碼。

JAXM(Java API for XML Messaging) 是為SOAP通信提供訪問方法和傳輸機制的API

WSDL是一種 XML 格式,用於將網絡服務描述為一組端點,這些端點對包含面向文檔信息或面向過程信息的消息進行操作。這種格式首先對操作和消息進行抽象描述,然後將其綁定到具體的網絡協議和消息格式上以定義端點。相關的具體端點即組合成為抽象端點(服務)。

SOAP即簡單對象訪問協議(Simple Object Access Protocol),它是用於交換XML編碼信息的輕量級協議。

UDDI 的目的是為電子商務建立標準;UDDI是一套基於Web的、分布式的、為Web Service提供的、信息註冊中心的實現標準規範,同時也包含一組使企業能將自身提供的Web Service註冊,以使別的企業能夠發現的訪問協議的實現標準。

11CORBA是什麽?用途是什麽?

CORBA 標準是公共對象請求代理結構(Common Object Request Broker Architecture),由對象管理組織 (Object Management Group,縮寫為 OMG)標準化。它的組成是接口定義語言(IDL), 語言綁定(binding:也譯為聯編)和允許應用程序間互操作的協議。 其目的為:用不同的程序設計語言書寫在不同的進程中運行,為不同的操作系統開發。

Java筆試題之《ejb部分》