首頁>>廠商>>軟件開發(fā)商>>穎科公司

穎科XML2DB白皮書

InfOnCall XML2DB

2001/12/05

1.術(shù)語

  Map, XML2DB, DTD,

2.簡介

  InfOnCall XML2DB實現(xiàn)了從XML數(shù)據(jù)到傳統(tǒng)關(guān)系數(shù)據(jù)庫的轉(zhuǎn)化。XML2DB的主要原理是通過一個map文件來描述數(shù)據(jù)庫中的域或表和XML樹型結(jié)構(gòu)之間的對應(yīng)關(guān)系。在作XML數(shù)據(jù)到Database之間轉(zhuǎn)化時通過對map文件的分析為XML中的每一個節(jié)點找到對應(yīng)的字段或表。這種轉(zhuǎn)化工具支持多種后臺數(shù)據(jù)庫類型,可以采用的數(shù)據(jù)庫包括Oracle,DB2等。

3.背景

  InfOnCall的DB2XML產(chǎn)品已經(jīng)實現(xiàn)了從關(guān)系數(shù)據(jù)庫中得到結(jié)構(gòu)化的XML文檔,而且DB2XML工具還提供了非常靈活、易于使用的樹型結(jié)構(gòu)查詢工具,讓你能夠從復(fù)雜的數(shù)據(jù)中選取出你所需要的數(shù)據(jù),并且非常方便地發(fā)布為和應(yīng)用有關(guān)的XML或者HTML格式的數(shù)據(jù)。

  但是在很多場合下,比如用戶信息的輸入以及數(shù)據(jù)存儲還必須依賴于數(shù)據(jù)庫來完成。也就是需要建立XML和數(shù)據(jù)庫之間的雙向轉(zhuǎn)換,因此還必須提供從XML到數(shù)據(jù)庫的轉(zhuǎn)換工具。InfOnCall的XML2DB產(chǎn)品就是穎科公司為滿足該需求而開發(fā)的最新產(chǎn)品。InfOnCall的XML2DB產(chǎn)品能夠?qū)ML文檔中的層次結(jié)構(gòu)數(shù)據(jù)和數(shù)據(jù)庫之間建立相互的映射關(guān)系,并且通過該映射關(guān)系將實際的XML文檔數(shù)據(jù)導(dǎo)入到目標(biāo)數(shù)據(jù)庫中。

4.系統(tǒng)架構(gòu)

  InfOnCall XML2DB軟件包包括了兩個圖形化工具(Map Generator和Parser Engine)和一個提供給Java應(yīng)用開發(fā)人員的XML2DB開發(fā)包。

  其中Map Generator的功能如下:首先用戶只須提供一個描述作為數(shù)據(jù)源的XML的DTD(文檔類型定義文件)。Map Generator可以從根節(jié)點開始對DTD進(jìn)行分析,并得到XML父節(jié)點和子節(jié)點元素之間的各種對應(yīng)關(guān)系(一對一或一對多)。對于其中一對一的關(guān)系則將相應(yīng)子元素 對應(yīng)于表中的字段,而對于其中的一對多關(guān)系則將相應(yīng)的子元素對應(yīng)于數(shù)據(jù)庫中的一張表。并將分析結(jié)果保存到一個用于指導(dǎo)Parser Engine工作的Map文件。并產(chǎn)生一個.sql文檔用于提示用戶可能需要創(chuàng)建的表。

  Parser Engine的實質(zhì)是一個Map文件的解釋器。它的工作就是對Map文件進(jìn)行分析根據(jù)Map文件中的標(biāo)簽執(zhí)行相應(yīng)的具體操作。作為結(jié)果,它將整個XML中的數(shù)據(jù)添加到數(shù)據(jù)庫中的一張或多張表中。



 

  除了直接采用軟件包中包括的兩個圖形化工具以外,用戶還可以根據(jù)自己的需要用xml2db.jar提供的接口來開發(fā)自己的應(yīng)用程序、中間件或Javabean組件等。

5.產(chǎn)品特點

  與其他同類產(chǎn)品相比,InfOnCall的XML2DB工具更完整的實現(xiàn)了XML到數(shù)據(jù)庫之間的轉(zhuǎn)化。這種完整性主要體現(xiàn)在以下方面。

6.應(yīng)用前景

  由于XML2DB工具的運(yùn)行獨立于不同的數(shù)據(jù)庫平臺,也獨立于不同的數(shù)據(jù)庫版本,比如在遇到數(shù)據(jù)庫要進(jìn)行升級或數(shù)據(jù)轉(zhuǎn)移的情況時,如果原有的數(shù)據(jù)不能直接轉(zhuǎn)移到目標(biāo)數(shù)據(jù)庫中,這時XML2DB和DB2XML工具將提供你完整的解決方案:通過DB2XML工具可以將需要轉(zhuǎn)移的數(shù)據(jù)表格轉(zhuǎn)換到中間的XML文檔,然后再通過XML2DB工具轉(zhuǎn)換到目標(biāo)的數(shù)據(jù)庫中。

  目前很多的網(wǎng)站將基于XML或者XHTML,在信息發(fā)布時通過XML的實現(xiàn)已經(jīng)比較成熟的方便(如通過DB2XML和XSL等)。但是同樣還存在信息傳遞和交互的需要。如果是中間的信息交互,可以交給應(yīng)用程序去處理,但是如果是需要后臺記錄和存儲的數(shù)據(jù),比如用戶信息、登記表格等,如果按照傳統(tǒng)的處理方法效率不是很高,尤其是隨著Xforms標(biāo)準(zhǔn)的完善,交互的信息或者表但格式本身就遵循XML規(guī)格,這時利用InfOnCall的XML2DB工具就能快速有效地解決從XML到數(shù)據(jù)庫后臺的存儲。對于大型的靜態(tài)文檔,可以通過可視的圖形界面來完成轉(zhuǎn)換,而對于動態(tài)的數(shù)據(jù),可以利用xml2db.jar開發(fā)包來進(jìn)行應(yīng)用開發(fā),實現(xiàn)自動的數(shù)據(jù)轉(zhuǎn)換。

  InfOnCall的XML2DB工具使得你能以可視化和可配置的方式來定義XML和數(shù)據(jù)庫之間的映射方式。該產(chǎn)品將和InfOnCall的DB2XML一起為用戶提供完成的數(shù)據(jù)庫和XML的解決方案,提供雙向的轉(zhuǎn)換,既解決基于XML的發(fā)布,又能提供從XML數(shù)據(jù)到數(shù)據(jù)庫的存儲機(jī)制,因此該系列產(chǎn)品將是數(shù)據(jù)庫整合、交換以及新一代Web發(fā)布的核心工具。你可以通過它在任何的平臺中連接到任何存在的數(shù)據(jù)庫,提供多個數(shù)據(jù)源的數(shù)據(jù)獲取以及從XML數(shù)據(jù)到不同數(shù)據(jù)庫的轉(zhuǎn)換。

穎科公司供稿 CTI論壇編輯