2013-01-07 13 views
0

我正在處理遺留的Web應用程序,每當UI發生變化時,通過使用castor編組/解組xml文件來刪除各種數據類型。 數據類型可通過修改xml配置文件進行配置,您可以使用自定義屬性添加新的自定義數據類型。每添加一個新的自定義數據類型都會生成一個額外的xml文件。 例如config file snippet `如何將可配置的xml數據類型和數據移動到oracle數據庫

<group name="x"> 
    <my_attribute name="a1"> 
     <field name="id"> 
      <display_name>ID</display_name> 
      <type>String</type> 
      <nullable>false</nullable> 
      <default_value/> 
      <minimum_boundary/> 
      <maximum_boundary/> 
      <editable>false</editable> 
     </field> 
     <field name="name"> 
      <display_name>Name</display_name> 
      <type>String</type> 
      <nullable>false</nullable> 
     </field> 

...等等。

例如數據文件片段

`

<display-name>a1</display-name> 
<values xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" timestamp="1357573081953" xsi:type="java:com.xxx"> 
    <id>blab1</id> 
    <name>blab1name</name> 
</values> 

`

部分數據需要由第二個應用程序,XML文件中的一個子集放在一個壓縮文件,並存儲在讀blob在oracle數據庫中。隨後解壓縮到第二個應用程序的文件並讀取。 現在應用程序已經發展到變得越來越複雜了,因爲有關於第一個應用程序中的數據併發修改的顧慮,而客戶端只想在Oracle數據庫中管理這些數據(使用可定製的類型)而不使用文件系統。做這個的最好方式是什麼?哪些技術是很好的候選人?任何幫助深表感謝。

+0

幫助迫切需要請 - 如果不是完整的答案,一些指針在正確的方向/評論! – jazzdup

+0

28天,31次,0條評論 - 我應該在哪裏問這個問題呢? – jazzdup

回答

0

第一個想法是使用二進制存儲(從11g)將所有xml存儲爲oracle xmltype,並且每次讀取/寫入整個xml塊,利用oracle的優化...每個屬性名稱都是主鍵的一部分... 這確實需要規定數據大小和NFR來確定理想的解決方案,但是在此階段需要考慮所有選項。

相關問題