在本專欄中,Uche Ogbuji 完成了他對 XML和語義的介紹,並為隨後的更多實踐性專欄做准備。 XML編程思想討論了 XML知識管理方面的方面,包括元數據、語義、“資源描述結構(RDF)”、“主題映射”和自主主體。本專欄從實踐的角度探討了主題,因此針對的是程序員而非理論家。
在 第一篇 XML 編程思想專欄文章 中,我介紹了語義透明性的思想及其對 XML 相關開發的重要性。因為語義透明性非常重要,最近在這一領域中有一系列活動 -- 我無法在一個部分中涉及到它們全部。在這一部分中,我將介紹 XML和語義中的一些新出現的參與者。但首先,我要介紹在第一部分中忽略的保守派所玩的有趣的游戲。
EDI 標准的 XML 標記
“實現指南標記 (IgML)”工作組是電子數據交換 (EDI) 供應商小組對以 XML 格式表示 EDI 實現的指導方針和標准的一個成果。他們為這種實現開發 DTD(文檔類型描述),目的是為使互操作性達到最大化而以向標准化文本提供高度結構並將實現路徑指向 EDI。
可以從 IgML 網站(請參閱 參考資料)下載當前的 DTD 當前草案,以及 ANSI X12 和 UN/EDIFACT(EDI 的兩個主要“方言”)各種子集的樣本。雖然 IgML 本身不提供語義透明性的框架,但對於那些使用 EDI,或者只是利用 EDI 標准提供的語義基礎結構的實現 XML 商家到商家系統,它提供了一種有用的工具。
UN + OASIS = ebXML
SGML 和 XML 中的一個倡導者曾是“結構化信息標准促進組織 (OASIS)”。您可能認識作為 Robin Cover 的卓越 XML 新聞和注釋綱要主辦人的這個組織,最近,它又成為對 XML 技術公開研究的各種技術委員會的主辦人。1999 年,OASIS 與聯合國貿易促進和電子商務中心 (UN/CEFACT) -- EDI 開發中的一個重要組織 -- 進行合作,產生了電子商務 XML (ebXML) 倡議。
ebXML 的目的是開發利用 XML 來推動各種組織之間貿易的基礎結構和實踐,而不論這些組織的規模如何、選擇的是何種工具,或者地理位置如何。這一努力是根據主動的時間表實施的,可能考慮到了 EDI 開發所用的時間。去年年底開始形成了它的第一個產物,包括整個體系結構文檔。
ebXML 與 XML 交換的語義透明性最為相關的那部分是“注冊表服務”,這在“注冊表信息模型和注冊表服務”規范草案中進行了描述,它用於處理面向對象實體的管理和交換。這些注冊表針對的層次級別比我在第一專欄中介紹的“國際標准化組織基本語義注冊表 (ISO BSR) 級別更高。它們為使用“統一建模語言 (UML)”的商業信息提供了對象模型,並添加了與“對象管理小組 (OMG 的)”元對象規范並無分別的元數據和設計特性。
它們還為由元數據執行的對象查詢定義了 XML 詞匯表,最有意義的是,為符合對象模型的實例定義了 XML 表示。遵循這些表示的文檔可以作為伙伴之間的交易事務進行交換。最近采納了“簡單對象訪問協議 (SOAP)”,作為這樣的事務的傳送協議。
ebXML 技術體系結構規定了 ebXML 系統開發的三個階段: 實現階段、 發現和檢索階段,以及 運行時階段。在發現和檢索階段中,規范規定:“這個階段是某些交易伙伴發現由其它交易伙伴請求的商業信息含義的階段。”規范的意圖是,這個“含義”由在 ebXML 注冊表中設置的元數據模型提供。
有關抱怨的說明
對 ebXML 為闡明商業事務而明確規定含義的成果的一個抱怨是它重蹈覆轍的現象非常嚴重;這是出於策略原因還是技術原因尚不清楚。在早期專門為 ebXML 開發消息傳遞傳送協議意圖背後玩弄政治花招失敗了許多次以後,ebXML.org 最近決定將 SOAP 納入 ebXML。不過,ebXML 似乎仍然忽視了許多已經可以使用 RDF、XMI 和其它基於 XML 元數據規范的設施。而且也沒有什麼證據表明 ebXML 利用了 ISO BSR 的工作。
另一個抱怨是注冊表方法非常不幸地演變成第二代倡議中一個公共的、不正確的趨勢:將面向對象系統中的概念成批地導入到常規 XML 中。 這種趨向可能會嚴重損害到 XML 的擴展和表現,特別是在半結構化數據很重要的情況下。這種失常最危險的表現可能是 W3C XML Schema 規范的數據分類和繼承特性。例如 ebXML 和 W3C Schema 這樣的倡議盡量集中在核心 XML 需要上,而將面向對象體系結構留給 OMG 和類似的團體。
eCo 戰士:挽救真正的龐然大物
CommerceNet 組織正在致力於協調產業、政府和學院等各方面所做的努力,以推動為通過例如 eCo Framework(一個開發用於語義交換的開放注冊表項目)這樣的活動而進行的電子交易所涉及的實踐和技術。它所追求的目標是希望這樣的注冊表在電子交易中允許更高程度的自動化,最終導致獲取過程完全由自主主體驅動。
eCo 注冊表提供對規范數據模型、以及由各種 XML 商業事務規范提供的元素類型和屬性定義的訪問。eCo 工作組以被一些主要組織利用,開發諸如 Open Buying on the Internet (OBI)、RosettaNet 和 XML/EDI 這樣的 XML 格式規范而感到自豪。上述成果中的一些已經與 ebXML 建立了關系,並且有可能在 eCo 和 ebXML 工作之間發展出牢固的關系。
不幸的是,到目前為止,躍躍欲試的開發者可以使用的唯一資源是 eCo 站點上提供的少數幾個有些單薄的演示。
使用 RosettaNet 解釋供應鏈殘余
XML 可能正是 TLA(這是三字母首字母縮略詞 (three-letter acronyms))和商業聯合會最重要的發生器。作為聯合會之一的 RosettaNet 打算定義標准化供應鏈管理過程。
RosettaNet 計劃交付一個“主要字典”,其中定義了在供應鏈交互中使用的術語,以及為這樣的交互而形成的框架所包括的商業過程和交換協議。很自然的,從知識管理角度來說,字典是最吸引我的方面。但字典和協議的組合是 RosettaNet 稱之為 Partner Interface Process(PIP) 的基礎。每個 PIP 都是在商業伙伴之間使用 XML 消息調整特殊過程所用的一種規范。一個完整的支持 RosettaNet 的供應鏈可以由幾十個甚至幾百個 PIP 組成。
RosettaNet 可能是最忠於 XML 語義注冊表生成和交換倡議的,並且已經創造出象 BEA WebLogic Collaborate 這樣包括了實現的產品。2001 年 2 月,在 RosettaNet 的 EConcert 准備發布那一天,一些發言人聚在一起,生成 PIP 在各自行業中的使用相當成功。
它的成熟等於為開發者帶來了福音。RosettaNet 站點已提供了三個字典:RosettaNet 商業字典、RosettaNet IT 技術字典和 RosettaNet EC 技術字典。它們以 Html 表和 XML+DTD 的形式提供了幾百個術語的定義、數據類型和表示限制(例如 "DigitalCertificateSignature")。這是一個不可多得的寶貴資料庫,對於其完善更有價值,甚至遠遠超過上一專欄中提到的基於實驗的 ISO BSR 列表。
知識的匯編語言
我們用 RDF 來結束這個月對語義的討論;RDF 可能是語義引用和其它一些與管理 XML 文檔中潛在知識相關的任務中最重要的工具。隨著本專欄的進一步展開,您會了解到有關 RDF 的許多內容,因此我只在此提及 RDF 在有效管理與 XML 相關的元數據方面的能力,這使它成為為術語之間的關系以及術語之下抽象概念之間的關系建模的重要工具。實際上,RDF 曾因為其在為關系、定義和特性建模中所具有的靈活性而被稱為“知識的匯編語言”。
我曾參與過幾個語義透明性非常重要的項目的工作,包括一個客戶機在其中使用 RDF 來實現同義詞框架和基本轉換以適應格式不限的顧客查詢。 使用 RDF 能夠如此輕松地建立這樣的系統,並產生良好的性能總是給我留下非常深刻的印象。
因此,看到有那麼多 XML 進程倡議重蹈 RDF 的覆轍讓我非常失望。但象我已在有關“Web 服務描述語言 (WSDL)”的 developerWorks 文章中所提到過的,有太多的 XML 應用程序都沒有注意到 RDF 的長處。希望隨著 RDF 工具 -- 以及象 RDF Site Summary (RSS) 這樣的成功經歷 -- 的穩步增加,這種狀況將有所轉變。
今後的實踐
我已經概述了語義框架作為 XML 上面一層的重要性,今後的專欄將轉移到檢驗管理由這些高級框架所表示的知識的實用方法。下一篇文章將討論使用 RDF 為 XML 數據資源庫開發價錢便宜的搜索和引用系統。