国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > XML > 正文

DB2 V9 pureXML 在企業(yè)應用程序中的典型應用(1)

2024-07-21 02:41:45
字體:
供稿:網(wǎng)友
  如何有效地存儲 xml、治理 XML 和提高 XML 的處理效率一直是束縛 XML 企業(yè)級應用的基礎(chǔ)性難題。DB2 V9 首次有效地解決了上述三個基礎(chǔ)性難題。IBM 將這一在信息治理領(lǐng)域有著里程碑式意義的技術(shù)稱為“DB2 pureXML”。本文將和讀者一起來探討:在應用了 DB2 v9 pureXML技術(shù),排除了XML應用的基礎(chǔ)性技術(shù)障礙之后,我們可以用XML來為企業(yè)應用做哪些事情?  DB2 V9 解決了 XML 的存儲、治理和高效處理問題  我相信,XML 對于多數(shù)讀者來說已經(jīng)是一個耳熟能詳?shù)男g(shù)語了。由于XML具有自我描述性(易理解性)、靈活性、平臺無關(guān)性和標準化等優(yōu)點,因此,許多 IT 精英和組織都在探索如何將 XML 這一“基因”優(yōu)秀的技術(shù)廣泛應用到企業(yè)各個領(lǐng)域。  要讓 XML 在企業(yè)級層面廣泛應用的第一個問題就是技術(shù)規(guī)范和標準。1998 年 2 月,W3C 正式發(fā)布了有關(guān) XML 的規(guī)范,并一直不斷地完善其標準。到目前為止,XML 的技術(shù)規(guī)范和標準方面應該說是相當成熟了。  然而,XML 廣泛應用于企業(yè)應用還有一些一直困擾著 IT 人的基礎(chǔ)問題:如何有效地存儲 XML?如何更好地治理 XML?如何提高 XML 的信息處理效率,包括查詢、部分更新等等? 這些基礎(chǔ)問題不解決,XML 在企業(yè)應用中就“無法落地”,或者至少說是“無法令人滿足地進行落地治理”。例如,XML 在前些年已經(jīng)廣泛應用于數(shù)據(jù)交換領(lǐng)域,從此,IT 系統(tǒng)與系統(tǒng)之間就有了“公共語言”。然而,人們一直沒有找到一種方式,將這些“公共語言”進行高效率地原生態(tài)存儲和治理,就像原始人有了語言以后長期沒有找到能夠原生態(tài)記錄和治理語言的方式——“文字”。  人類是布滿聰明的,IT 人更是如此。原始人在沒有發(fā)明文字的時候,采用了“結(jié)繩記事”等等簡陋的或是間接的方法來記錄和治理人與人之間交流的語言。而 IT 人在過去幾年里,也嘗試用了一些簡陋的或是間接的方式來存儲和治理 XML,簡單歸納如下: 123456789下一頁   傳統(tǒng)方式1:將 XML 簡單地保存在文件系統(tǒng)中。這種方式可以說是非常簡陋的,基本上沒有治理性和效率可言。XML 文件數(shù)量不多的情況還勉強可以接受,到了一定規(guī)模的企業(yè)應用就是難以忍受了。我親眼目睹了一家公司的應用將數(shù)千個 XML 文檔放在一個文件夾中,然后通過 java 應用進行信息查詢、更新和刪除。其效率、應用維護的復雜度、權(quán)限治理等等方面幾乎可以用“慘不忍睹”來形容。  傳統(tǒng)方式2:將 XML 存入關(guān)系數(shù)據(jù)庫(DBMS)的大對象字段中。實際上,這種方式只不過是將“傳統(tǒng)方式1”中 XML 存儲的位置從簡單的文件系統(tǒng)挪到數(shù)據(jù)庫大字段中而已,并沒有實質(zhì)性地提高 XML 的可治理性和可操作性。而且不僅如此,我們知道,治理大對象并非 DBMS 的強項。例如在多數(shù) DBMS 中,大對象是不能夠像一般結(jié)構(gòu)化數(shù)據(jù)那樣進入數(shù)據(jù)庫內(nèi)存緩沖池的,因此,效率上大打折扣。  傳統(tǒng)方式3:將 XML 分解到關(guān)系數(shù)據(jù)庫的多張關(guān)系型表中。假如 XML 文檔本身比較簡單還好,假如稍微復雜一點,則可能一個 XML 文檔就要映射到好幾張關(guān)系表,而假如不幸的,XML 的格式經(jīng)常要發(fā)生一些變化的話,那這個映射關(guān)系維護起來就更復雜了。這是問題之一。其二,這種方式會讓 XML 文檔本身的完整性蕩然無存,對于一些需要保證 XML 文檔完整性的應用就非常不合適。其三,這種分解的方式會耗費數(shù)據(jù)庫服務器的大量 CPU 和內(nèi)存資源,有可能使數(shù)據(jù)庫系統(tǒng)面臨系統(tǒng)資源不足的風險。  傳統(tǒng)方式4:將XML存放到XML-Only的數(shù)據(jù)庫中。這種非凡的XML-Only的數(shù)據(jù)庫大大提升了XML的可治理性和可操作性。然而將這類非主流的、尚未經(jīng)過業(yè)界驗證的數(shù)據(jù)庫應用到企業(yè)系統(tǒng)中,未免讓人心驚膽戰(zhàn)。其次,這種XML-Only的數(shù)據(jù)庫基本上不支持關(guān)系型數(shù)據(jù),而二十幾年的關(guān)系型數(shù)據(jù)歷史讓關(guān)系數(shù)據(jù)庫已經(jīng)滲入到企業(yè)應用的各個方面,因此這種XML-Only數(shù)據(jù)庫在保護投資方面也是倍受批評的。 上一頁123456789下一頁   DB2 V9 的推出開辟了 XML 存儲和治理的新天地。在存儲方面,DB2 V9 將 XML 進行高效地原生態(tài)的存儲,在應用訪問方面,支持 SQL 和 XML 兩種訪問方式。不僅如此,所有關(guān)系型的操作方式和數(shù)據(jù)庫工具都可用于 XML 之上,例如索引機制、導入導出、關(guān)聯(lián)查詢、高速批量加載、系統(tǒng)優(yōu)化等等。IBM 將這一技術(shù)稱之為“pureXML”。有了 pureXML 技術(shù),XML 在關(guān)系數(shù)據(jù)庫中再也不是“二等公民”了。DB2 V9 成為一個既支持關(guān)系數(shù)據(jù),又原生態(tài)支持 XML 的名副其實的雙引擎數(shù)據(jù)庫。  圖 1. DB2 V9 中的“雙引擎”處理方式  DB2 V9 pureXML 在企業(yè)應用程序中的典型應用  那么,在應用了 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 對比  DB2 V9 pureXML 在企業(yè)應用程序中的典型應用  現(xiàn)在,有了 DB2 pureXML 技術(shù),這些數(shù)據(jù)交換平臺的能力大大增強了,這些交換的 XML 可以被 DB2 數(shù)據(jù)庫原生態(tài)地治理起來。應用可以非常便捷地將 XML 以靈活的格式送入“信息高速公路”(企業(yè)總線),或者從企業(yè)總線中獲得 XML。如圖 3 所示:  圖 3. 通過 XML 的信息集成和交換  DB2 V9 pureXML 在企業(yè)應用程序中的典型應用  應用領(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 表示電子病歷中的信息  DB2 V9 pureXML 在企業(yè)應用程序中的典型應用  圖 5. XML 電子病歷信息的形式  DB2 V9 pureXML 在企業(yè)應用程序中的典型應用  靈活多變的信息  例如員工的聯(lián)系信息、靈活的表單信息、供給商及客戶信息等等。這類信息非常輕易發(fā)生結(jié)構(gòu)性的變化。例如,前些年的老系統(tǒng)中員工電話可能只有一個,而隨著移動電話的快速普及,員工很可能每人擁有多個聯(lián)系電話。這時修改結(jié)構(gòu)化表的代價是非常高的,而假如聯(lián)系信息采用 XML 形式,則易如反掌。如下圖所示:  圖 6. 通過 XML 存儲聯(lián)系信息  DB2 V9 pureXML 在企業(yè)應用程序中的典型應用  層次型特征明顯的信息  例如汽車行業(yè)的物料清單信息(往往采用好幾個層級來描述一輛汽車的零部件和供給商),民航服務公司的旅客票務信息等等。此類層次性特征明顯的信息假如采用 E-R 模型來建模,則免不了就會出現(xiàn)若干個層級,從而經(jīng)常出現(xiàn)許多張大表的關(guān)聯(lián)查詢,其效率往往非常低。  圖 7. 通過 XML 進行數(shù)據(jù)關(guān)聯(lián)  DB2 V9 pureXML 在企業(yè)應用程序中的典型應用  個體差異帶來的稀疏數(shù)據(jù)  為什么采用關(guān)系型方式會出現(xiàn)稀疏數(shù)據(jù)呢?我認為其根本原因是關(guān)系型表的結(jié)構(gòu)是固化的,每個個體(數(shù)據(jù)行)的字段數(shù)量都必須相同,而個體之間往往又存在較大的差異。而假如采用 XML 來描述此類信息則完全沒有這個問題。 上一頁123456789下一頁   圖 8. 使用 XML 避免冗余數(shù)據(jù)  DB2 V9 pureXML 在企業(yè)應用程序中的典型應用  應用領(lǐng)域之三:文檔治理和知識治理  發(fā)揮細粒度檢索能力以及強大的關(guān)聯(lián)能力,進行文檔治理和知識治理。  細粒度檢索能力  采用一般的全文本搜索引擎往往只能告訴用戶他/她要的信息在哪篇文檔中,而無法告訴用戶具體在那些文檔的哪個章節(jié)和段落。而一篇企業(yè)文檔(例如技術(shù)文檔、規(guī)章制度、文獻、報告等等)往往包含幾十、幾百、甚至上千頁,這對用戶而言就很不方便,因此就出現(xiàn)了“細粒度檢索”的需求,即能夠搜索結(jié)果不包含哪篇文檔,還要具體顯示該文檔的哪些章節(jié)和段落。而假如采用 XML 對文檔進行精細描述,并用 XQuery 進行細粒度檢索,就能夠滿足用戶的這類需求。  圖 9. 使用 XQuery 查詢 XML 信息  DB2 V9 pureXML 在企業(yè)應用程序中的典型應用  強大的關(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. 分層的信息  DB2 V9 pureXML 在企業(yè)應用程序中的典型應用  這些 eForm 以 XML 原生態(tài)的形式被保存在 DB2 V9 數(shù)據(jù)庫中,并無縫結(jié)合到企事業(yè)的整個業(yè)務流程中。  圖 11. 使用原生態(tài)的 XML 信息  DB2 V9 pureXML 在企業(yè)應用程序中的典型應用  應用領(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 閱讀器  DB2 V9 pureXML 在企業(yè)應用程序中的典型應用  為了能夠做到統(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 pureXML 在企業(yè)應用程序中的典型應用  甚至,還可以利用 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. 個性化用戶界面加載過程  DB2 V9 pureXML 在企業(yè)應用程序中的典型應用  總結(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
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 浑源县| 三明市| 旬阳县| 临夏县| 油尖旺区| 共和县| 霞浦县| 永定县| 曲水县| 漾濞| 玛纳斯县| 榕江县| 雷山县| 西平县| 汶上县| 铜鼓县| 慈溪市| 饶阳县| 上饶市| 抚远县| 佛坪县| 安福县| 防城港市| 九台市| 衡东县| 旺苍县| 克什克腾旗| 平果县| 北碚区| 三原县| 扶沟县| 内黄县| 罗定市| 桂林市| 淮南市| 景洪市| 富民县| 景洪市| 南木林县| 岱山县| 龙海市|