穎科DB2XML白皮書
InfOnCall DB2XML
2001/12/05
1.術語
JDBC, ODBC, XML parser, DB2XML
2. 簡介
InfOnCall 的DB2XML工具產品,讓您不必編寫代碼就可以從關系數據庫中得到結構化的XML文檔,它是數據庫整合、數據庫交換以及數據庫轉換的必備工具。它可以工作在任何的平臺(UNIX/NT)中,連接到任何存在的數據庫(MS SQL Server, IBM DB2, Oracle, MySQL, MS Access, Informix, Sybase 等等 )。除此以外,DB2XML工具還提供了非常靈活、容易使用的樹型結構的查詢工具,讓你能夠從復雜的數據中選取出你所需要的數據,并且非常方便地發(fā)布為與應用有關的XML或者HTML格式的數據。
InfOnCall DB2XML包含了一些Java類,這些類可以當作API,在一個單獨的運用程序中被調用,也可以當成一個Java Servlet,提供基于Web的可視化轉換界面。該產品是基于模型驅動的,根據用戶特定的一個或者多個SELECT聲明,將XML文檔模型化成一系列的表對象。可以選定需要輸出的標志名稱,以及是否包括文檔中的數據庫元數據。返回結果可以是一個文件,或者數據流、DOM對象和一個支持傳輸的XSL。轉換后的XML文檔可以通過XSL輸出為靈活的表現格式。
3. 背景
目前許多的Internet站點都建立在主流的客戶機/服務器結構之上,其中后臺(服務器端)的數據的存儲和獲取必然離不開數據庫,F在幾乎所有的信息應用系統都涉及到數據庫,因此數據庫的存在已經非常普遍和深入。數據庫技術從最初的層次型數據庫到面向對象數據庫已經經歷了深刻的發(fā)展,數據庫應用產品也層出不窮,如Foxbase, Informix, Sybase到SQL Server,DB2,Oracle等等,從產品的種類到不同的版本,數據庫的功能和特性在不斷的演進之中。
Internet應用和技術的發(fā)展,特別是XML技術推出,使得傳統的面向對象的分布計算方式逐漸演化到消息驅動的服務方式。數據庫和應用之間的耦合關系也將越來越松散,取而代之的將是以XML方式編碼的數據在不同的應用之間通過Internet協議的傳輸。隨著XML和相關標準的完善和應用的日益廣泛,許多企業(yè)和應用開發(fā)者迫切能提供方便有效的工具,能夠將提供數據庫和XML文件之間的數據轉換。穎科公司提供的DB2XML(InfOnCall DB2XML )轉換工具即是滿足該應用需求的產品。
4. 系統架構
DB2XML中通過JDBC或JDBC-ODBC橋接各種現存的數據庫,訪問數據庫中的表;通過XML parser構造出代表數據庫內容的XML文件。DTD文件描述了從數據庫中的表到XML文件的對應關系。上圖描述了DB2XML的輸入輸出關系。事實上DB2XML是按照以下步驟完成轉化工作的:
5. 產品特性
InfOnCall的DB2XML的功能特性在于:
我們都熟悉從關系型數據庫查詢成為平整數據的查詢結果。根據該平整的輸出結果,你必須針對每種情景編寫許多的代碼,這不僅浪費了時間,也增加了成本。然而,InfOnCall的DB2XML能夠自動將查詢結果轉換為層次結構的XML格式,這樣保留了數據之間的關系,并且刪除多余的數據。這使得后續(xù)的對數據的使用和處理相當的簡單和靈活,極大地節(jié)省了時間、降低了成本。
目前很多的數據庫都已經部分的提供了對XML的支持,如在SQL Server2000和Oracle9i中。這樣的數據庫支持有兩個特點:一是和特定的數據庫系統緊密結合,其優(yōu)點是利用該數據庫對XML的處理比較穩(wěn)定高效,但是如果要應用于不同數據庫之間的數據轉換或者數據同步它就無能為力了,同時應用的場合(平臺或者編程語言)都有一定的限制;另外一個特點是XML輸出結構比較固定,不便于靈活的處理和發(fā)布。而用戶往往需要按照自己的要求靈活地進行發(fā)布和輸出,既要滿足穩(wěn)定有效而且要有靈活易用的優(yōu)點。
InfOnCall的DB2XML充分地考慮到以上一些用戶需求,考慮了不同數據庫的數據類型、操縱方法、數據文件格式等差異,它的設計和應用層次建立在更通用的數據庫開放連接接口基礎上(如JDBC),而不是針對特定的數據庫,可以靈活地從數據庫中導出數據,也可以在不同類型的數據庫之間交換數據(如數據復制或同步更新),而不必定制專門的轉換程序。
所有從你的數據庫中輸出的數據都是樹型的結構化數據,是標準的XML 格式。這樣使得你能夠通過一個數據源提供多種不同的顯示。你能用來將同一數據發(fā)布在網站和無線設備中,以及用數據交換和數據庫轉換等你需要的場合。這可以通過結合XSLT來實現。除了輸出為XML格式之外,所有的輸出都可以格式化為HTML,這樣就非常便于在Web應用中使用。
InfOnCall 的DB2XML產品具有跨平臺和數據庫的特點。它可以通過JDBC和ODBC(借助于JDBC-ODBC橋)訪問所有的數據庫。能夠支持多項數據庫Schema,多個數據庫連接以及多種數據庫對于跨項目和平臺的設計顧問或開發(fā)者,DB2XML正是你追求的最佳助手
所有由InfOnCall的DB2XML工具產生的XML文檔都完全遵循W3C制定的XML1.0標準。目前這些文檔具有格式良好的特。在以后的版本中將添加語義有效性的檢查,即提供對DTD和XML Schema的支持。
I nfOnCall的DB2XML的工具使用很簡單方便,在實現和再次開放是非常便捷,用戶只要有基本的SQL和數據庫的支持就可以操作使用,基本不需要陡峭的學習曲線。在實際使用時,用戶通過Web訪問登陸頁面,設置數據庫的連接方式、數據源的URL、數據庫訪問帳號(用戶名和密碼)以及查詢SQL語句。當運行轉換按鈕時,將訪問和查詢相應的數據庫并輸出為XML的各式。另外用戶也可以方便地指定結合的XSL文件,將其轉換為其他各式的XML文件。
6. 應用前景
1)電子商務應用中的數據交換
在E-Commerce應用系統中,往往需要在多種應用、平臺之間共享、交換數據。為了解決異構應用系統之間的通信問題,DB2XML將E-Commerce應用中原有系統的數據轉化為統一格式的XML。XML的靈活性和擴展性使其可以對不同應用甚至是差異很大的應用間的數據進行描述,尤其是對于那些專用于記錄數據的應用。另外,XML具有自我描述的特性,結果是數據可以在不同的應用間進行交換與處理而不必要求相應的應用程序是針對該數據定制的。
2)強大的網站內容管理
目前HTML的將內容和表現形式捆綁在一起的固有缺點使得原來的網站模式很難符合新的需求,特別是在商務之間相互通信的場合。XML的產生和相關技術的成熟,特別是基于XML的XHTML逐漸更新HTML,使得越來越多的網站逐漸升級到基于XML設計的網站。在這個過程中既要將新的內容以XML的方式存儲和發(fā)布,同時也要考慮到兼容原來的數據。這就需要將原來的數據進行組織和轉換。對于數據庫,可以通過DB2XML將數據庫中的內容轉化到XML來實現(Infoncall也提供了通用的HTML到XML的轉化工具HTML2XML)。用戶只要在目標XML的DTD文件中定義一系列有意義的標記,這樣基于該DTD文件從數據庫中產生出來的XML文檔就可以按照任意的條件進行查詢和檢索,甚至實現計算機自動檢索,而相應的檢索引擎可以是通用的而不必局限于具體的應用。
3)多種信息發(fā)布模式支持
Infoncall DB2XML也提供了這樣機制,既可以將HTML轉換為獨立于應用的XML通用格式,然后通過XSL將 XML繼續(xù)格式化成HTML、WML或VoiceXML等。這樣通一次數據庫到XML的轉化,可以將數據庫中的內容發(fā)布到Web、 Wap或語音渠道等。這將是新一代網站發(fā)展中的重要環(huán)節(jié)。
穎科公司供稿 CTI論壇編輯