什么時候在EJB系統(tǒng)中使用XML
XML是一個非常流行的詞,我們現(xiàn)在來討論在EJB系統(tǒng)中使用XML開發(fā)中的適用性。
XML適用于以下幾種情況:
1.作為對legacy系統(tǒng)的接口。如果你有數(shù)目巨大的legacy系統(tǒng),或者你有一個很大的恐怖的的legacy系統(tǒng),然后你將需要查看你從legacy系統(tǒng)收發(fā)的數(shù)據(jù),這時候XML可以幫助你。不是去收發(fā)那個legacy系統(tǒng)能夠懂的合適結(jié)構(gòu)的數(shù)據(jù),而是你能夠為那個legacy系統(tǒng)發(fā)明一種XML facade。那個facade從EJB組件得到XML輸入,然后把XML映射成那個legacy系統(tǒng)支持的合適結(jié)構(gòu)。當那個legacy系統(tǒng)對你的EJB應用系統(tǒng)返回數(shù)據(jù)時,那個XML facade轉(zhuǎn)換legacy數(shù)據(jù)成能被你的EJB應用程序懂得的XML數(shù)據(jù)。這對處理J2EE應用的商業(yè)分析員也很有用。他們能用XML來幫助操作數(shù)據(jù)映射,而XML是一種很容易懂的技術(shù)。
2.作為一種文檔持久性機制。當你將大量的文檔(如新聞報道,文章,書本,等等)持久化,把他們用XML表示是合適的。
3.作為一種web service的接口。EJB組件能被封裝成一種web service。XML成為在web服務之間傳輸?shù)脑诰€數(shù)據(jù)格式。我們有一個怎么去構(gòu)建基于web service的J2EE的白皮書,也有怎么從另外一個J2EE系統(tǒng)調(diào)用web service的資料。
有一個重要情況XML不是很有用,那就是EJB組件之間通信的在線格式。這個想法不僅僅是應用程序組件互相發(fā)送合適的數(shù)據(jù)而是組件之間能通過把XML作為參數(shù)互相傳遞來互操作。因為數(shù)據(jù)使用XML格式,每個組件能檢查XML文檔來決定什么數(shù)據(jù)被收到。雖然有些基于J2EE的流程解決方案使用這個方法,XML并不適用于EJB組件之間的通信,原因是性能問題。解析XML文檔需要時間,通過在線傳輸XML文檔需要更長的時間。為了高性能的企業(yè)級應用,在運行時或常規(guī)操作中使用XML代價太高。當XML解析器變得更高效,當人們開始使用文本壓縮去在線傳送XML文檔時,性能負擔慢慢的變得不那么重要。然而這仍然是許多系統(tǒng)的瓶頸。
另一個重要的不去使用XML的原因是因為他通常不需要被應用。假設一個 單獨的機構(gòu)寫出了所有你的EJB組件,XML可能不會被怎么使用,因為很少需要在不同系統(tǒng)之間進行數(shù)據(jù)映射,既然你控制對象模型。
【編輯推薦】