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