lug-dd@schlittermann.de on Dienstag, 20. Juli 2004 at 11:28 +0100 wrote:
vielleicht versuchst du einen Mittelweg. Da du die XML Dateien ja in keiner Weise in deinem Transaktionssystem verändern mußt, speichere die doch einfach ganz normal als BLOB oder TEXT in der releationalen Datenbank. Die XML DB ist doch erst dann wirklich interessant, wenn ich schnell/einfach auf einzelne Bestandteile des Dokuments zugreifen will.
Doch, ich verändere die XMLs derart, dass ich aus einem XML je nach Inhalt 2 oder 3 Stück mache und diese dann getrennt übertrage. Wenn das getan ist, wird pro XML noch eine "Fertig"-Tag hinzugefügt, dass ich es nicht noch mal umwandle. Aber das funktioniert ja jetzt auch schon.
Probleme bereiten mir die Syncronisation der Übertragung. Es handelt sich zum Beispiel um Artikel und deren Zubehörartikel. Im Zielsystem kann keine Verknüpfung zu einem Zubehör erfolgen, wenn das Zubehör dort noch nicht existiert. Wenn das Zielsystem jetzt eine Liste von Zubehörverknüpfungen bekommt, kann es vielleicht 2 von 10 Verknüpfungen nicht ausführen, weil die Zubehörartikel noch fehlen. Das sagt es mir und ich putzel mein XML so zurecht, dass nur noch die 2 Verknüpfungen drinne stehn, lege es in die Ecke und sage: du bist erst in 2 Stunden wieder dran! Oder es kommt ein Preisupdate für einen Artikel, der aber noch in seinem XML in der anderen Warteschlange steht und im Zielsystem ebenfalls noch nicht existiert. Das Preisupdate wird jetzt verworfen. Ich will mir das aber merken, das es noch nicht ausgeführt werden konnte, und will es ebenfall in einer halben Stunde nochmal probieren.
Letztenendes muss ich diese ganzen Transaktioninfos und Änderungen an den übertragenen Daten mir nicht in XML merken. Das das Zielsystem aber ebenfalls XML versteht, wäre es auch Quark, das XML in eine interne Form zu bringen und es erst bei der Übertragung ins Ziel wieder zu generieren. Darum meine Überlegung, das mit einer XML-DB zu machen (und natürlich meiner Neugier, wie sowas geht)
Mit freundlichen Grüßen
Jens Puruckherr