我正在处理一个遗留的 web 应用程序,每次 UI 发生变化时,它通过使用 castor 编组/解组 xml 文件来对各种数据类型进行 CRUD。数据类型是可配置的,因此通过修改 xml 配置文件,您可以添加具有自定义属性的新自定义数据类型。添加的每个新的自定义数据类型都会产生一个额外的 xml 文件。例如配置文件片段`
<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>
...ETC。
例如数据文件片段
`
<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 文件的子集放入一个 zip 文件并存储在 oracle db 中的 blob 中。它们随后被第二个应用程序解压缩到文件并读取。现在应用程序已经发展到变得更加复杂,存在对第一个应用程序中数据的并发修改的担忧,并且客户端只想在 oracle db 中管理这些数据(使用可定制的类型)而不使用文件系统。做这个的最好方式是什么?哪些技术是好的候选者?任何帮助深表感谢。