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