0

UIに変更があるたびに、キャスターを使用してxmlファイルをマーシャリング/アンマーシャリングすることにより、さまざまなデータ型をCRUDするレガシーWebアプリケーションを扱っています。データ型は構成可能であるため、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>

...等。

例: データ ファイル スニペット

`

<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>

`

このデータの一部は 2 番目のアプリケーションで読み取る必要があるため、xml ファイルのサブセットが zip ファイルに入れられ、Oracle データベースの BLOB に格納されます。その後、2 番目のアプリケーションによってファイルに解凍され、読み取られます。現在、アプリケーションは進化し​​てより複雑になり、最初のアプリケーションでのデータの同時変更に関する懸念があり、クライアントは、ファイルシステムを使用せずに oracle db でこのデータ (カスタマイズ可能な型を持つ) のみを管理したいと考えています。これを行う最善の方法は何ですか?どの技術が良い候補ですか? どんな助けでも大歓迎です。

4

1 に答える 1

0

最初のアイデアは、すべてのxmlをバイナリストレージ(11g以降)を使用してoracle xmltypeとして格納し、毎回xmlのチャンク全体を読み書きするだけで、oracleの最適化を利用することです...各属性名はプライマリの一部になりますキー...これには、理想的なソリューションを決定するためにデータサイズとNFRの仕様が本当に必要ですが、この段階ですべてのオプションを考慮する必要があります。

于 2013-01-09T20:15:54.137 に答える