那么,在應用了 DB2 V9 pureXML 技術(shù),排除了 XML 應用的基礎(chǔ)性技術(shù)障礙之后,我們可以用 XML 來為企業(yè)應用做哪些事情?事實上,我無法,也無意將 pureXML 在企業(yè)中的應用價值進行窮舉。下文只是將我到目前為止所能夠看到應用領(lǐng)域做一些小結(jié)。真正的目的在于拋磚引玉,引發(fā)讀者對 DB2 pureXML 的價值進行不斷探索。 應用領(lǐng)域之一:信息交換和共享 XML 最先被應用的企業(yè)領(lǐng)域是信息交換和信息共享。由于普遍意識到 XML 的優(yōu)點,許多行業(yè)開始制定本行業(yè)的基于 XML 的數(shù)據(jù)交換和信息共享標準。例如:ACORD(保險業(yè) XML 標準)、FIXML(基于 XML 的金融信息交換協(xié)議)、FPML(金融產(chǎn)品 XML)、HL7(醫(yī)療衛(wèi)生 XML 標準)、IXRetail(零售行業(yè) XML 標準)、XBRL(業(yè)務報告和會計 XML)、NewsML(新聞和發(fā)行 XML)……當然,信息交換和共享并非因為 XML 才出現(xiàn)的,然而有了 XML,企業(yè)與企業(yè)之間或者企業(yè)內(nèi)部的 IT 系統(tǒng)之間的信息交換和共享就更具標準化,同時具有可理解性和靈活性的特點,具有了“共同語言”。以 FIXML 為例,老的 FIX 標準是基于簡單文本的,幾乎沒有可理解性和靈活性可言;而新的 FIXML 標準由于采用了 XML,具有很好的可理解性和靈活性,如圖 2 所示: 上一頁123456789下一頁 圖 2. FIX 與 FIXML 對比
現(xiàn)在,有了 DB2 pureXML 技術(shù),這些數(shù)據(jù)交換平臺的能力大大增強了,這些交換的 XML 可以被 DB2 數(shù)據(jù)庫原生態(tài)地治理起來。應用可以非常便捷地將 XML 以靈活的格式送入“信息高速公路”(企業(yè)總線),或者從企業(yè)總線中獲得 XML。如圖 3 所示: 圖 3. 通過 XML 的信息集成和交換
應用領(lǐng)域之二:作為一種新的數(shù)據(jù)模型 為什么需要 XML 這種新的數(shù)據(jù)描述模型呢?原因是,多年的實踐證實:純粹的關(guān)系數(shù)據(jù)庫 E-R 模型過于嚴格,結(jié)構(gòu)固化,難以適應信息的復雜性、靈活性、層次性、以及個體差異。下面分別為您舉一些我所接觸到的例子。 復雜的信息 例如:醫(yī)療衛(wèi)生領(lǐng)域中的電子病歷、在全球貿(mào)易中對中藥藥材產(chǎn)品的具體描述(多達上千個屬性)、銀行的客戶資料…… 以電子病歷為例,一位住院病人的完整電子病歷信息通常包括了:既往病史、通科檢查、專科檢查、病程、醫(yī)囑、手術(shù)通知書、術(shù)前小結(jié)、術(shù)后小結(jié)、出院小結(jié)等等錯綜復雜的信息。如此復雜的信息采用傳統(tǒng)的關(guān)系型數(shù)據(jù)庫表來保存是相當困難的,往往需要幾十甚至幾百張表的復雜關(guān)聯(lián),表結(jié)構(gòu)設(shè)計非常復雜,難以理解,也缺乏整體性。而假如采用XML來描述則往往只需要一張或若干張表,設(shè)計簡單,結(jié)構(gòu)清楚,而且維護也方便。所以,現(xiàn)在國內(nèi)越來越多的 HIS 應用開發(fā)商正在使用 DB2 pureXML 技術(shù)在構(gòu)建其電子病歷等應用。如圖 4 所示: 上一頁123456789下一頁 圖 4. 使用 XML 表示電子病歷中的信息
圖 5. XML 電子病歷信息的形式
靈活多變的信息 例如員工的聯(lián)系信息、靈活的表單信息、供給商及客戶信息等等。這類信息非常輕易發(fā)生結(jié)構(gòu)性的變化。例如,前些年的老系統(tǒng)中員工電話可能只有一個,而隨著移動電話的快速普及,員工很可能每人擁有多個聯(lián)系電話。這時修改結(jié)構(gòu)化表的代價是非常高的,而假如聯(lián)系信息采用 XML 形式,則易如反掌。如下圖所示: 圖 6. 通過 XML 存儲聯(lián)系信息
層次型特征明顯的信息 例如汽車行業(yè)的物料清單信息(往往采用好幾個層級來描述一輛汽車的零部件和供給商),民航服務公司的旅客票務信息等等。此類層次性特征明顯的信息假如采用 E-R 模型來建模,則免不了就會出現(xiàn)若干個層級,從而經(jīng)常出現(xiàn)許多張大表的關(guān)聯(lián)查詢,其效率往往非常低。 圖 7. 通過 XML 進行數(shù)據(jù)關(guān)聯(lián)
個體差異帶來的稀疏數(shù)據(jù) 為什么采用關(guān)系型方式會出現(xiàn)稀疏數(shù)據(jù)呢?我認為其根本原因是關(guān)系型表的結(jié)構(gòu)是固化的,每個個體(數(shù)據(jù)行)的字段數(shù)量都必須相同,而個體之間往往又存在較大的差異。而假如采用 XML 來描述此類信息則完全沒有這個問題。 上一頁123456789下一頁 圖 8. 使用 XML 避免冗余數(shù)據(jù)
應用領(lǐng)域之三:文檔治理和知識治理 發(fā)揮細粒度檢索能力以及強大的關(guān)聯(lián)能力,進行文檔治理和知識治理。 細粒度檢索能力 采用一般的全文本搜索引擎往往只能告訴用戶他/她要的信息在哪篇文檔中,而無法告訴用戶具體在那些文檔的哪個章節(jié)和段落。而一篇企業(yè)文檔(例如技術(shù)文檔、規(guī)章制度、文獻、報告等等)往往包含幾十、幾百、甚至上千頁,這對用戶而言就很不方便,因此就出現(xiàn)了“細粒度檢索”的需求,即能夠搜索結(jié)果不包含哪篇文檔,還要具體顯示該文檔的哪些章節(jié)和段落。而假如采用 XML 對文檔進行精細描述,并用 XQuery 進行細粒度檢索,就能夠滿足用戶的這類需求。 圖 9. 使用 XQuery 查詢 XML 信息
強大的關(guān)聯(lián)能力 在知識治理系統(tǒng)中,信息與信息之間的關(guān)聯(lián)是非常重要的信息。我曾經(jīng)接觸過一個大型國際體育賽事的知識治理系統(tǒng),該系統(tǒng)就非常強調(diào)信息的關(guān)聯(lián)性。比如場館信息與比賽項目信息之間就有著非常緊密地聯(lián)系,不同的比賽項目對場館有著不一樣的要求,而且它們還與票務信息緊密聯(lián)系,因為不同的比賽項目,不同的場館結(jié)構(gòu),對于 VIP 座位的定義是不一樣的。毫無疑問,采用 XML 來描述這類關(guān)聯(lián)性很強的信息是很好的選擇,因為關(guān)聯(lián)(Link)是 XML 的強項。 應用領(lǐng)域之四:更加靈活的表單應用 上一頁123456789下一頁 2003 年 10 月 14 日,萬維網(wǎng)聯(lián)盟(W3C)公布了 XForms 1.0 標準的發(fā)行,它 是新一代基于 Web 的表單的基石。傳統(tǒng)的 HTML 表單并沒有分離表單的“用途”(purpose)和“表現(xiàn)形式”(PResentation);而 XForms 則不然,它將一個表單的作用和表單的表現(xiàn)形式分離開來。這就答應一個表單可以有更加靈活的表現(xiàn)形式選擇,并可以支持多種顯示設(shè)備。XForm包括三部分:模型(model)、實例數(shù)據(jù)(instance data)和用戶界面。 圖 10. 分層的信息
這些 eForm 以 XML 原生態(tài)的形式被保存在 DB2 V9 數(shù)據(jù)庫中,并無縫結(jié)合到企事業(yè)的整個業(yè)務流程中。 圖 11. 使用原生態(tài)的 XML 信息
應用領(lǐng)域之五:內(nèi)容推送(rss) 盡管過去一段時間里有許多人在批評 Web 2.0 就是“一幫人在看皇帝的新裝而已”,然而,Web 2.0 這場變革已經(jīng)在褒貶不一的聲音中走到了我們面前,并正在靜靜地改變我們的生活。談到 Web 2.0,大家自然而然會想到 RSS、Blog、Wiki 這類應用以及 XML 和 Ajax 等技術(shù)實現(xiàn)。限于篇幅,本文不能展開討論 Web 2.0。在本章,我只是拋磚引玉地談一談 RSS 之一重要的 Web 2.0 應用,以及 DB2 V9 是如何能夠提高 RSS 的信息治理和應用開發(fā)效率的。 RSS(Really Simple Syndication)是站點與站點之間共享內(nèi)容的一種簡易方式(也稱為“聚合內(nèi)容”)。各網(wǎng)站(RSS Provider)提供 RSS Feed,然后由 RSS 聚合平臺(Web 2.0 網(wǎng)站或桌面工具等),根據(jù)用戶的喜好,進行選擇性地聚合。 上一頁123456789下一頁 然后,我們就可以將這個 RSS Feed聚合到各種聚合平臺中。如下圖,是我非常喜歡的“新浪點點通閱讀器”,我將 DB2 的技術(shù)支持、國內(nèi)新聞、國際新聞、本地新聞以及財經(jīng)地產(chǎn)等等站點的 RSS 聚合到這個閱讀器中,這樣一來,我天天就可以非常方便地閱讀我所關(guān)心的信息。 圖 12. RSS 閱讀器
為了能夠做到統(tǒng)一訂閱,RSS 具有統(tǒng)一的標準。事實上,RSS 是屬于 XML 的一種,它遵守 XML 1.0 規(guī)范。為了更方便地應用 RSS 樣式,RSS 提供了標準的元素以及這些元素的表現(xiàn)形式。 通過 DB2 V9,RSS Provider 就可以對其發(fā)布的 RSS Feed 進行更為高效的增刪改以及檢索等操作。而 RSS Reader 應用則可以利用 DB2 V9 統(tǒng)一治理用戶所訂閱的各個 RSS Feed。 圖 13. 將 RSS 發(fā)布為 Web services
甚至,還可以利用 DB2 V9 直接將這些 RSS Feed 發(fā)布成 Web Service,從而更方便地集成到應用中。 應用領(lǐng)域之六:讓用戶界面更具個性化 由于構(gòu)成圖形用戶界面的各種元素(例如窗口、菜單、字菜單等等)間天生所具有的層次和嵌套關(guān)系,與 XML 文檔中元素和屬性之間的關(guān)系十分相似,使用 XML 來描述圖形用戶界面是十分自然的想法。而使用 XML 來描述用戶界面最直接的好處就是讓用戶界面更具個性化。 本章我著重談一下使用 XML 有利于軟件產(chǎn)品的客戶化界面定制,讓用戶界面更具更具個性化。 上一頁123456789下一頁 現(xiàn)在國內(nèi)許多行業(yè)的 IT 應用開發(fā)商之間競爭異常非常激烈。激烈競爭的直接結(jié)果就是每一個項目的利潤空間大大縮水了。如何確保在客戶的項目預算范圍內(nèi)提高利潤空間呢?很自然的一個思路就是變項目開發(fā)為產(chǎn)品研發(fā)。一旦產(chǎn)品化以后,成功地在多個客戶實施,則每個項目的成本將大大降低。 然而,每個客戶的具體需求又是千差萬別的。例如,綜合醫(yī)院的信息系統(tǒng)和專科醫(yī)院的信息系統(tǒng)差別非常大。這些需求的差別包括許多方面,例如數(shù)據(jù)模型和流程等等,但往往最大的一個差異就是用戶界面。幾乎每一個客戶都有自己企業(yè)所喜好的界面風格。 我們非常欣喜地看到國內(nèi)一些有實力的開發(fā)商已經(jīng)在產(chǎn)品化和客戶定制化這兩個方面找到一個行之有效的方法,那就是采用 XML 來描述用戶界面,而這些 XML 則采用 DB2 V9 進行高效的治理。如下圖所示,用戶登錄之后,“XML-GUI個性化加載模塊” 從 DB2 V9 中獲得用戶的個性化界面定制信息(XML),接著展現(xiàn)給用戶一個個性化的界面。這樣一來,同一個產(chǎn)品在不同的企業(yè)就可以有不同的展現(xiàn)界面;不僅如此,企業(yè)中不同角色、不同等級的用戶也將擁有不同的界面。而且,最終用戶還能夠?qū)δ承┎藛位驑邮竭M行自行定制。 圖 14. 個性化用戶界面加載過程
總結(jié) DB2 V9 在對 XML 的存儲、治理和處理效率上取得革命性突破。本文列舉了可以用 DB2 V9 來為企業(yè)應用做哪些事情: 信息交換和共享; 作為一種新的數(shù)據(jù)模型:復雜的信息、靈活多變的信息、層次型特征明顯的信息、以及個體差異帶來的稀疏數(shù)據(jù); 文檔治理和知識治理(利用 XML 的細粒度檢索能力和強大的關(guān)聯(lián)能力); 構(gòu)建更加靈活的表單應用; Web 2.0 應用(例如 RSS) 讓用戶界面更具個性化 本文的真正目的在于拋磚引玉,引發(fā)讀者對 DB2 pureXML 的價值進行不斷探索。假如您對 DB2 pureXML 的企業(yè)應用價值有新的發(fā)現(xiàn),隨時歡迎您與筆者進行交流。 上一頁123456789 新聞熱點
疑難解答