原文出處:http://www-900.ibm.com/developerWorks/cn/xml/rdf/part1/index.shtml
編者按:實(shí)際上這是一篇很老的文章了,不過(guò)Thinking XML這一系列的文章仍然在IBM : 中國(guó)網(wǎng)站更新著。Uche Ogbuji 是 4Suite,它是一個(gè)用于 XML、RDF 和知識(shí)管理應(yīng)用程序的開(kāi)放源碼平臺(tái)。Ogbuji 先生是一位出生于尼日利亞的計(jì)算機(jī)工程師和作家,他現(xiàn)在美國(guó)科羅拉多州博耳德(Boulder)生活和工作?梢酝ㄟ^(guò) uche.ogbuji@fourthought.com 與 Ogbuji 先生聯(lián)系。
這篇對(duì) XML 和語(yǔ)義的討論揭開(kāi)了這個(gè)由 Uche Ogbuji 撰寫(xiě)的專(zhuān)欄的序幕,本專(zhuān)欄討論了 XML 知識(shí)管理方面的問(wèn)題,包括元數(shù)據(jù)、語(yǔ)義、資源描述結(jié)構(gòu) (RDF)、主題映射和自主主體。本專(zhuān)欄從實(shí)踐的角度來(lái)剖析這個(gè)主題,因此它針對(duì)的讀者是程序員,而不是針對(duì)理論家。
“XML 編程思想”這個(gè)新專(zhuān)欄將討論 XML 和知識(shí)體系結(jié)構(gòu) (KA) 的交匯處。知識(shí)體系結(jié)構(gòu)聽(tīng)起來(lái)象是一句行話(huà),但它其實(shí)只是一個(gè)涵蓋面很廣的術(shù)語(yǔ),是指當(dāng)今 XML 逐步走向成熟時(shí)出現(xiàn)的一些非常有用的技術(shù)。元數(shù)據(jù)管理、語(yǔ)義透明性和自主主體都是 XML 獨(dú)有的概念,但 XML 對(duì)統(tǒng)一結(jié)構(gòu)化語(yǔ)法和半結(jié)構(gòu)化語(yǔ)法的承諾有助于將幾乎不可能的事變成切實(shí)可行的。
區(qū)分本專(zhuān)欄和許多此類(lèi)主題討論的主要特征是我將針對(duì)程序員展開(kāi)討論,而不是針對(duì)理論家。我將討論一些開(kāi)發(fā)工具和技術(shù),它們可以讓開(kāi)發(fā)人員使用 XML 更好地收集和瀏覽隱藏在數(shù)據(jù)中的知識(shí),無(wú)論這些數(shù)據(jù)是在公司的數(shù)據(jù)庫(kù)中還是在 Web 上。這聽(tīng)上去象是在夸夸其談,但本專(zhuān)欄的各篇文章其實(shí)是一個(gè)循序漸進(jìn)的過(guò)程,決不會(huì)脫離常識(shí)。
本專(zhuān)欄的前兩篇文章介紹了預(yù)備知識(shí),因此它們可能會(huì)稍微偏離我的基本規(guī)則“重代碼,輕理論”。前兩篇專(zhuān)欄文章將討論 XML 的語(yǔ)義和相關(guān)詞匯。我只用現(xiàn)有產(chǎn)品來(lái)討論其創(chuàng)始過(guò)程,以供開(kāi)發(fā)人員了解,但現(xiàn)在還不會(huì)展示許多實(shí)用代碼。
究竟什么是語(yǔ)義? 那么,什么是語(yǔ)義?因?yàn)檎Z(yǔ)義這個(gè)單詞的特殊性,每個(gè)人對(duì)語(yǔ)義定義的觀(guān)點(diǎn)都各有不同。一般來(lái)說(shuō),語(yǔ)義是構(gòu)建在公用語(yǔ)法上的系統(tǒng)中 XML 數(shù)據(jù)的一層規(guī)范。這就引出了許多標(biāo)記了 XML 語(yǔ)義的概念。
它們包括:
-
元素類(lèi)型名稱(chēng)、屬性名稱(chēng)和某些情況下內(nèi)容術(shù)語(yǔ)的解釋
-
用于用有效文檔引導(dǎo)事務(wù)的處理規(guī)則(也稱(chēng)作商業(yè)規(guī)則)
-
一個(gè)文檔中的結(jié)構(gòu)化元素與另一個(gè)文檔中的結(jié)構(gòu)化元素之間的關(guān)系
當(dāng)然,在這三概念之間有一些重疊。
反觀(guān)語(yǔ)義 兩年前,我寫(xiě)了一篇文章在 Sunworld(現(xiàn)在稱(chēng)作 Unix Insider:請(qǐng)參閱參考資料)上發(fā)表,這篇文章研究了新的 XML 如何適應(yīng)電子數(shù)據(jù)交換 (EDI) 的世界。促使 EDI 回到 70 年代的事件之一就是對(duì)統(tǒng)一商業(yè)事務(wù)詞匯的承諾,以便改進(jìn)不同公司的信息系統(tǒng)之間的電子通信自動(dòng)化。
EDI 為特定業(yè)界定義了一種特殊語(yǔ)法和一套特殊語(yǔ)義 -- 一些是普通語(yǔ)義,而另一些是非常特殊的語(yǔ)義。XML 目前有明確的語(yǔ)法和結(jié)構(gòu),但它沒(méi)有提語(yǔ)義透明性。語(yǔ)義透明性可以使 XML 機(jī)器建立元素(比如,PurchaseOrder 或 PO )和根據(jù)該元素執(zhí)行專(zhuān)門(mén)操作的高階處理之間的關(guān)系?偠灾,它意味著數(shù)據(jù)中的表達(dá)式如實(shí)地表示了相應(yīng)概念的含義。語(yǔ)義透明性的最終測(cè)試是如果某個(gè)人 只使用適用于 XML 處理軟件的機(jī)制,他能否正確理解 XML 數(shù)據(jù)的含義。
顯然,單靠 XML 根本無(wú)法實(shí)現(xiàn)語(yǔ)義透明性,這正是那么多 XML 技術(shù)專(zhuān)家關(guān)注語(yǔ)義透明性的原因。如果 XML 系統(tǒng)不能實(shí)現(xiàn)語(yǔ)義透明性,那么這些系統(tǒng)可能就不符合有三十幾年歷史的 EDI,就不能成為一種自動(dòng)電子交易的方式。
關(guān)于 XML 實(shí)現(xiàn)語(yǔ)義透明性的必要性還有一些爭(zhēng)論。在完成 XML 1.0 規(guī)范之前,各種團(tuán)體都期望開(kāi)發(fā)語(yǔ)義透明性的機(jī)制。實(shí)際上,某些創(chuàng)意沒(méi)有考慮到 XML;它們期望(至今仍是這樣)成為集 SGML、XML、EDI、表格式報(bào)表和其它機(jī)器格式的術(shù)語(yǔ)于一身的通用權(quán)威。
關(guān)于 ISO BSR 機(jī)器可讀語(yǔ)義的業(yè)界元老自有其 EDI 基礎(chǔ):自 1998 年開(kāi)始開(kāi)發(fā)的 ISO 基本語(yǔ)義字典 (BSR),其主旨是“充當(dāng)參考中心,輔助跨商業(yè)、工業(yè)和管理的數(shù)據(jù)的通用、多語(yǔ)言理解”。這個(gè)宏偉的目標(biāo)似乎只有 ISO 才能承擔(dān),然而 BSR 卻遲遲不能完成。
目前已經(jīng)建立了基本規(guī)則(出版物 ISO 16668:2000),ISO 已經(jīng)收集了一個(gè)試用集合,有幾千項(xiàng),例如 AccountsPayables 、ContactParty.CustomerAssigned.Identifier 和 Contract 。一旦完成,BSR 可以讓程序員使用合成 XML 模式,如以下 DTD 片段: <!ELEMENT AccountsPayables.Contact (ContactParty.CustomerAssigned.Identifier)> <!ELEMENT ContactParty.CustomerAssigned.Identifier (#PCDATA)>
假設(shè)那些元素是由制造公司使用的報(bào)表格式,該公司將其會(huì)計(jì)工作外包給另一家公司。那么,XML 詞匯的開(kāi)發(fā)人員將從以下方式中得到語(yǔ)義透明性的好處:
-
開(kāi)發(fā)人員確保所使用的元素類(lèi)型名稱(chēng)符合 BSR 中的等價(jià)概念,以最小化元素含義的多義性。制造商可以與會(huì)計(jì)人員討論數(shù)據(jù),并確保雙方都認(rèn)同所表達(dá)的內(nèi)容。
-
由于術(shù)語(yǔ)的含義非常清楚,因此將此格式映射成會(huì)計(jì)學(xué)的標(biāo)準(zhǔn)格式比完成此類(lèi)任務(wù)的常規(guī)做法更簡(jiǎn)單,它甚至可以自動(dòng)完成。即使制造商使用 EDI,而會(huì)計(jì)人員使用 XML,這種簡(jiǎn)單映射仍是可行的。
-
BSR 中的含義指出了元素之間的關(guān)系,例如 ContactParty.CustomerAssigned.Identifier 元素和報(bào)表中別處或另一個(gè)文檔中的 Contract 元素。
即便在這個(gè)初級(jí)階段,也可以使用 BSR 進(jìn)行實(shí)驗(yàn),因?yàn)槿蛐畔⒍ㄎ环⻊?wù) (GILS) 已經(jīng)創(chuàng)造了試用 BSR 項(xiàng)的 RDF 模式和 XML 模式編譯。GILS 是美國(guó)政府的倡議,它涵蓋了用于尋找結(jié)構(gòu)化信息的技術(shù)和資源。GILS BSR 編譯是一個(gè)有價(jià)值的資源,它已經(jīng)涵蓋了在常規(guī)政府與私人交流中使用的常用術(shù)語(yǔ)。
但是,請(qǐng)注意這個(gè)初始集合是實(shí)驗(yàn)性的。不僅描述非常粗略,而且 XSchema 和RDFS 表示中還有語(yǔ)法錯(cuò)誤。
我建議查看 BSR,因?yàn)樗绊懼匾M織,如 UN/CEFACT(全球范圍)、CEN/ISSS(歐洲)和 DISA(美國(guó))。
統(tǒng)一歐洲和美國(guó)的術(shù)語(yǔ) CEN/ISSS 值得一提,這個(gè)組織在 XML/EDI 的領(lǐng)域中做了大量工作。CEN/ISSS 是負(fù)責(zé)促進(jìn)歐盟中信息系統(tǒng)標(biāo)準(zhǔn)化的委員會(huì)。雖然據(jù)官方聲稱(chēng),它的 XML/EDI 工作仍處于試行階段,但 CEN/ISSS 已經(jīng)創(chuàng)建了一個(gè)綜合結(jié)構(gòu),用于將 EDI 的 UN/EDIFACT 風(fēng)格轉(zhuǎn)換成 XML。這個(gè)轉(zhuǎn)換結(jié)構(gòu)包括 DTD 生成規(guī)則和熟悉 EDI 的開(kāi)發(fā)人員可以試用的樣本。其結(jié)果的確很復(fù)雜,但 EDI 的悠長(zhǎng)歷史確保了這兩個(gè)字段和 XML/EDI 中使用的消息流都是非常明確的。
顯然,開(kāi)發(fā) EDI 的組織在處理 XML 語(yǔ)義方面跳躍了一大步。其中不帶 EDI 標(biāo)記的主要代表是 Microsoft。在 1999 年,Microsoft 推出了 BizTalk 結(jié)構(gòu)。BizTalk 是 Microsoft、其伙伴和業(yè)界組織用于注冊(cè)模式、進(jìn)程描述和樣本 XML 文件的庫(kù)。其旨在充當(dāng) XML 格式和相關(guān)進(jìn)程的交換所,這是它成為實(shí)現(xiàn)語(yǔ)義透明性的重要力量。
部分是因?yàn)樗怯梢患夜鹃_(kāi)發(fā)的,部分是因?yàn)槌S眯袠I(yè)政策,BizTalk 已經(jīng)成為激烈爭(zhēng)論的主題。某些人將它看作是 Microsoft 通過(guò)在語(yǔ)義問(wèn)題上建立霸權(quán)以達(dá)到掠奪 XML 的目的。不管政策如何,現(xiàn)在已經(jīng)出現(xiàn)了在 BizTalk 結(jié)構(gòu)中工作的工具。許多工具都是類(lèi)似于 XML 解決方案的映射軟件,它們提供了 GUI 以便將一個(gè)詞匯映射成詞匯。同樣,開(kāi)發(fā)人員可以開(kāi)始使用基于 SOAP 的 BizTalk XML 消息格式的公開(kāi)規(guī)范。遺憾的是,如果要執(zhí)行重要的 BizTalk 消息傳遞,需要使用 Microsoft 的商業(yè) BizTalk 服務(wù)器產(chǎn)品。
該領(lǐng)域中的新生事物 我沒(méi)有涵蓋部分相關(guān)的工作,如 OMG 的 XML 元數(shù)據(jù)交換 (XMI),或 Unisys 的通用庫(kù) (UREP),因?yàn)樗鼈兊闹饕康氖墙粨Q應(yīng)用程序開(kāi)發(fā)模型(雖然 XMI 和 UREP 與 XML 有一些關(guān)系)。
在這篇文章中,我討論了 XML 語(yǔ)義這個(gè)舞臺(tái)上的一些重要演員。然而,現(xiàn)在該領(lǐng)域中的許多活動(dòng)來(lái)自于新生代,如 ebXML、UDDI 和 eCo,以及縱向聯(lián)合行業(yè)組織的工作。在下一篇文章中,我將討論這些新加入者更實(shí)際的方面。
參考資料
-
-
Robin Cover 在 1998 年研討會(huì)上發(fā)表的論文 XML 和語(yǔ)義透明性權(quán)威地總結(jié)了這些問(wèn)題。
-
國(guó)際標(biāo)準(zhǔn)組織 (ISO) 基本語(yǔ)義字典 (BSR) 是構(gòu)建關(guān)于跨行業(yè)、國(guó)家和語(yǔ)言的數(shù)據(jù)元素含義的主要權(quán)威的創(chuàng)始人。
-
-
CEN/ISSS 是負(fù)責(zé)信息系統(tǒng)標(biāo)準(zhǔn)化的歐洲委員會(huì),它已經(jīng)產(chǎn)生了 XML/EDI 試行項(xiàng)目的 中期報(bào)告,這是該領(lǐng)域中最先進(jìn)的成果之一。
-
口號(hào)是“庫(kù)、模板、代理”的 XML/EDI 小組從事于以 XML 格式促進(jìn) EDI 實(shí)踐,通常是自動(dòng)處理公司之間的事務(wù)。
-
Microsoft 的 Biztalk 是表示商業(yè)事務(wù)的模式庫(kù)和 XML 消息的結(jié)構(gòu)。BizTalk 文檔和消息規(guī)范已經(jīng)公開(kāi)。
出處:
責(zé)任編輯:handmade
◎進(jìn)入論壇網(wǎng)絡(luò)編程版塊參加討論
|