xbe.message(),xbe.moreMessage());
}
}
分析:
測試表明,純文本表示的XML要比DOM串行化表示性能更好。同時,解析DOM和文本所用的時間也要比用JAVA直接串行化和法串行化所用的時間少。
標準的web服務器方式的優勢是其應用基礎要廣泛許多。CGI腳本能夠在絕大多數web服務器上運行,而且,接受方能夠很容易的通過URL標識。而對于RMI,則需要RMI注冊。CORBA的解決辦法則需要在服務器上安裝對象請求代理(Object Request Broker,ORB ),而且,CORBA發送者的實現使用的是一個URL的命名模式而不是接收者的CORBA對象引用,用一個字符串與一個URL相聯系,然后在客戶端轉化。
CORBA 和RMI支持JAVA 客戶端到JAVA服務器的解決方案。沒有CGI腳本也不需要從標準輸入中讀取編碼異常。而且,不需要在發送者每次用XML通訊時都啟動一個JAVA虛擬機。他們兩則均支持接收者的自動激活。
JAVA RMI方式只能在JAVA代碼之間工作,對于web服務器包括CORBA理論上能在任何編程語言之間通訊。對于JAVA串行化的DOM來說,即便是客戶端和服務器端均需要是JAVA代碼的要求不是問題,它還存在另外一個困難,即JAVA串行化要求客戶端和服務器運行的是相同的DOM實現。
結論
正如上面所述,有許多方法可以實現在JAVA分布式應用中發送XML數據,每一種方法的性能和互操作性都是不同的。重要的是應該把XML通訊從分布式應用邏輯中抽取出來。也就是,實現發送和接受XML的代碼應和應用邏輯的代碼中分離出來。通過把代碼打包成軟件組件,就能夠改變發送方和接受方的代碼而不會影響到應用其余實現。