XML 作為基本數據格式無疑是成功的。但是 XML 1.0 提出的許多承諾 ― 從統一各企業間的通信方式到使 Web 更智能化 ― 都沒有兌現。將 XML 用於共享的語義並因此用於共享的知識,是本專欄的主題。本文中,Ogbuji 先生介紹了迄今為止,開放應用程序組(Open Applications Group)和美國國防部(DoD)沿著這一方向,在最近發展環境中所取得的進步。
最近,XML 慶祝了四周歲生日。在這四年中,它可能比任何其它在一個時髦術語的保護傘下的技術群都更成功。現在,在各種類型的軟件系統中部署 XML 交換工具都是司空見慣的。現在,從數據庫管理系統到編程語言,大多數開發工具都帶有 XML 處理工具。
當引入 XML 1.0 時,它不僅被宣傳成黑客工具箱中又一個有價值的工具,而且還被描繪成一個鼓勵人們更自由地共享信息的系統。XML 承諾:標准化作為組織間電子貿易基礎的格式,並建立帶有更靈巧的搜索引擎和支持下一代分布式應用程序的更智能化的 Web 基礎。
這些承諾的核心是一種能力,它將共享簡單標記文檔擴展成共享文檔中一些標記 背後的概念。這是共享語義的思想,並且也是本專欄討論的重點。我已經討論過建立 XML 格式的字典和映射表的組織工作,以便可以由全面和正式的文檔(例如,RosettaNet 和 ebXML)共享語義。我也討論過用 RDF 在程序中表達語義的實際技術。正如我小心演示的那樣,該技術的基礎就是用來做這類工作的,但問題是能否建立更軟的基礎。
對於 更軟的基礎,我的意思是協定。如果沒有足夠多(多於某個臨界數量)的人數依靠世界上所有的工會、注冊中心、資料庫、模式語言和詞匯表來制定和正式化其協定,則這些工會、注冊中心等等就都毫無價值。構成采購訂單的定義有數百種,但人們是否有充分的願望通過使用與 XML 相關的技術提供的工具使一種采購訂單格式與另一種匹配呢?
在本專欄文章的其余部分,我將就語義透明性方面的最新發展作常規調查。人們在這些方向上仍在進行大量活動的事實顯示,還是有機會兌現 XML 的重要承諾的。
OAG 在前進
開放應用程序組(OAG)是又一個嘗試將 XML 格式標准化以用於組織間交換的開拓小組。他們的核心工作產品是開放應用程序組互操作標准(Open Applications Group InterOperability Standard (OAGIS)),最近公布了其新發行版版本 8.0。OAGIS 包含一組用 XML 格式化的公共業務交易的消息集。稱為業務對象文檔(BOD)。構成公共業務交互的消息序列稱為方案(scenario)。OAG 鼓勵用戶使用電子應用程序集成(EAI)特性、基本或安全的 HTTP 或 SMTP,或者 SOAP,甚至是在 ebXML 框架中,直接交換方案中的每個 BOD。
OAGIS 版本 8.0 提供了與版本 7.2.1 相同的 BOD 集合。添加了對更具描述性的標記名稱的支持,但大多數更改是添加了技術特性規范。尤其是,BOD 現在具有 W3C XML 模式定義語言(XSDL)定義;還有用 XPath 定義的映射,用於根據消息內容集成應用程序執行。版本 8.0 中的所有 BOD 文檔都是以強交叉引用的 Html 提供的。
OAG 似乎還很認真地采用了與其它組的可互操作的思想。7.2.1 發行版已經提供了對 ebXML、RosettaNet 實現框架(RNIF)和 Microsoft 的 BizTalk 的支持。隨著核心 XML 技術映射的添加,現在,在各種通用 XML 工具中支持 OAGIS 的道路越發清晰了。
OAGIS 8.0 可免費下載。您會得到一個大的 zip 文件,在解壓縮之後,可以通過在 Web 浏覽器中查看所包含的 index.Html 來開始。壓縮文檔還包含 XML 概要(schemata)(僅 XSDL 格式 ― 沒有 DTD)和示例 BOD。這個概要很大,並且展開成錯綜復雜互連文件。OAG 推薦使用 XML IDE,也許是基於這樣的設想:這樣的工具有助於理解散亂的模式文檔。為方便起見,Xerces 解析器、Saxon XSLT 引擎和 XSV XSDL 驗證器被捆綁在一起。
在該 zip 文件中,還有所有 200 多個 BOD 的示例。這些示例不大象它們應有的那樣有用,因為它們有許多占位符,如文本“String”大意相當於說“把某個字符串放在這兒”。也許這適合於模板,但在示例中,這不是很有用。看起來這些樣本不大可能僅僅意味著模板,因為 OAG 推薦使用 XML 工具,而任何工具都能方便地從模式生成模板。但是,作為示例它們應該以友好的方式幫助用戶理解文檔的結構和意圖。因此,不完整的示例有點讓人沮喪,但考慮到 BOD 可能很大,因此可能認為將完整的示例放入免費可用的軟件包中要投入太多的工作而不能實現。
DISA 在研究模式
美國政府通過各種國防機構負責建立許多公共技術 ― 從全球定位系統(GPS)到因特網本身。當開發技術需要復雜的部署,而私有公司因為存在無意中使競爭對手以及並未作出貢獻的後來者受益的風險和可能性,從而回避,不願投資時,這一點就尤其真實。美國國防部(DoD)最近的倡議是對 XML 語義透明性很有希望的一個信號。
DoD 指定國防信息系統局(Defense Information Systems Agency (DISA))建立一個 XML 組件資源庫,主要由國防機構內部使用,但顯然有可能擴展到更大范圍(請參閱 參考資料)。請不要把這個 DISA(http://www.disa.mil)與我在本專欄中第一部分提到的數據交換標准協會(Data Interchange Standards Association)(http://www.disa.org)混淆。此外,民間的 DISA 管理著 X12 EDI 標准的公認標准委員會(Accredited Standards Committee (ASC))。
該工作幕後有雙重推動力:各種政府機構越來越多地使用 XML,並期望通過標准化或至少通過注冊各種格式、最佳實踐和與供應商和業界團體的關系來擴大使用 XML 的好處。(在 DISA 備忘錄中,這種多樣的混合通常稱為組件。)DISA 已經管理著 DoD XML Registry v2.1,根據其主頁上的定義:“允許一致的 XML 用法,包括項目內的垂直使用和跨組織的水平使用”。特別地,注冊中心定義了來自多種詞匯表的、有組織的 XML 信息項,例如,通過名稱空間(在本例中,從組織角度而不是如 XML 名稱空間 1.0 中那樣從技術角度講)組織。每個名稱空間都有管理器,並且都與其它名稱空間中的相關項交叉引用。
例如,您可以轉到這個在 Personnel 名稱空間下的注冊中心,查找定義婚姻狀態的信息項( Con_MaritalStatus (1.0))。您甚至可以下載表示婚姻狀態枚舉中的正式值的 XML 文檔(請參閱 清單 1)。
清單 1:DoD XML 注冊中心中表示婚姻狀態信息代碼域值的文檔
<![CDATA[
<?XML version="1.0"?>
<!DOCTYPE DomainValueSet SYSTEM
"http://diides.ncr.disa.mil/XMLreg/DTD/registry_domain_values.dtd">
<DomainValueSet>
<EffectiveDate>10/15/2001</EffectiveDate>
<SecurityClassification>UnclassifIEd</SecurityClassification>
<Definition>
The code that represents the Marital Status of a Person
</Definition>
<Namespace>PER</Namespace>
<InformationResourceName>Con_MaritalStatus</InformationResourceName>
<InformationResourceVersion>1.0</InformationResourceVersion>
<DomainValues>
<DomainValue>
<KeyValue>D</KeyValue>
<Description>Divorced</Description>
</DomainValue>
<DomainValue>
<KeyValue>I</KeyValue>
<Description>Interlocutory</Description>
</DomainValue>
<DomainValue>
<KeyValue>L</KeyValue>
<Description>Legally Separated</Description>
</DomainValue>
<DomainValue>
<KeyValue>A</KeyValue>
<Description>Marriage Annulled</Description>
</DomainValue>
<DomainValue>
<KeyValue>M</KeyValue>
<Description>MarrIEd</Description>
</DomainValue>
<DomainValue>
<KeyValue>N</KeyValue>
<Description>Never MarrIEd</Description>
</DomainValue>
<DomainValue>
<KeyValue>W</KeyValue>
<Description>Widowed</Description>
</DomainValue>
</DomainValues>
</DomainValueSet>
]]>
現在 DISA 獲得特許在這個系統上進行更多擴展,對於互操作性和收集網絡優點,它已經是功能強大的工具了。有人希望這仍是另一個政府項目,該項目對於納稅人的錢來說是個好投資。可以在 XML.gov 網站找到關於 DISA 注冊中心的更多信息以及關於在政府中使用 XML 技術的其它參考資料。(請參閱 參考資料)。
結束語
XML 已經非常成功了,但人們感覺到,對於將 XML 用作基石的信息系統而言,要在效率方面取得質的飛躍,還有大量關鍵性的工作要做。基於 XML 的共享語義方面的持續努力(如 OAG 組的長期努力)是使這個飛躍發生的基本部分。邁向成功的激動人心的突破可能會需要資金雄厚的投資方的堅決努力,投資方從互操作性上獲得的收益比它所冒的風險更大。美國政府可能剛好就是那個投資方,DISA 的工作顯示了將 XML 帶到下一級別的潛力。
在本系列的下一篇專欄文章中,我將回到問題跟蹤器的主題。既然許多基本部分已經就位 ― XML 源代碼、RDF 模式和查詢 ― 您可以開始在中間件設置中制作應用程序、說明 RDF 可以如何增強應用程序中已有的 XML 價值。