XML 程式設計思想:XML和語義(轉)

amyz發表於2007-08-12
XML 程式設計思想:XML和語義(轉)[@more@]

  在本專欄中,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 資料資源庫開發價錢便宜的搜尋和引用系統。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752019/viewspace-950196/,如需轉載,請註明出處,否則將追究法律責任。

相關文章