在很多研討會和培訓班上我遇到過許多人,他們還不明白為什麼要使用XML也不知道如何在他們的應用中使用XML。一些來自諸如Gartner公司的報告建議說,商業公司不能再做局外人了,不能對XML置之不理。如果你還不清楚XML到底有什麼好處的話,你並不是唯一的人。
我決定把與人們和媒體關於XML話題的交談整理成文,列出XML在應用中的五個最令人喜愛的用法。盡管這些並不能包含XML的所有潛在應用,至少是些最重要的領域。
1、數據交換
用XML在應用程序和公司之間作數據交換已不是什麼秘密了,毫無疑問應被列為第一位。那麼為什麼XML在這個領域裡的地位這麼重要呢?原因就是XML使用元素和屬性來描述數據。在數據傳送過程中,XML始終保留了諸如父/子關系這樣的數據結構。幾個應用程序可以共享和解析同一個XML文件,不必使用傳統的字符串解析或拆解過程。
相反,普通文件不對每個數據段做描述(除了在頭文件中),也不保留數據關系結構。使用XML做數據交換可以使應用程序更具有彈性,因為可以用位置(與普通文件一樣)或用元素名(從數據庫)來存取XML數據。
2、Web服務
Web服務是最令人激動的革命之一,它讓使用不同系統和不同編程語言的人們能夠相互交流和分享數據。其基礎在於Web服務器用XML在系統之間交換數據。交換數據通常用XML標記,能使協議取得規范一致,比如在簡單對象處理協議(Simple Object Access Protocol, SOAP)平台上。
SOAP可以在用不同編程語言構造的對象之間傳遞消息。這意味著一個C#對象能夠與一個Java對象進行通訊。這種通訊甚至可以發生在運行於不同操作系統上的對象之間。DCOM, CORBA或Java RMI只能在緊密耦合的對象之間傳遞消息,SOAP則可在松耦合對象之間傳遞消息。
3、內容管理
XML只用元素和屬性來描述數據,而不提供數據的顯示方法。這樣,XML就提供了一個優秀的方法來標記獨立於平台和語言的內容。
使用象XSLT這樣的語言能夠輕易地將XML文件轉換成各種格式文件,比如HTML, WML, PDF, flat file, EDI, 等等。XML具有的能夠運行於不同系統平台之間和轉換成不同格式目標文件的能力使得它成為內容管理應用系統中的優秀選擇。
4、Web集成
現在有越來越多的設備也支持XML了。使得Web開發商可以在個人電子助理和浏覽器之間用XML來傳遞數據。
為什麼將XML文本直接送進這樣的設備去呢?這樣作的目的是讓用戶更多地自己掌握數據顯示方式,更能體驗到實踐的快樂。常規的客戶/服務(C/S)方式為了獲得數據排序或更換顯示格式,必須向服務器發出申請;而XML則可以直接處理數據,不必經過向服務器申請查詢-返回結果這樣的雙向“旅程”,同時在設備也不需要配制數據庫。