PDA

View Full Version : Java und XML



KM
13-07-07, 17:14
Hallo,

wir wollen demnächst mit Partnern Daten via XML austauschen. Das heißt ich benötige ein komfortables (kostenloses !) Tool, mit dem ich aus DB2/400-Daten XML-Dateien erstellen kann und umgekehrt. Am besten also ein XML-to-DB-Mapping Tool. Ich weiß, dass viele Wege nach Rom führen. Aber ich wollte jetzt das Rad nicht neu erfinden, sondern einfach mal fragen, ob jemand von Euch sowas vielleicht schon macht. Ich habe momentan die Open Source Software "Castor" im Auge, mit der ich so ein Mapping evtl. machen könnte. Kennt Ihr was besseres/eleganteres ? Evtl. auch mit Validierung ? Ein paar Ideen wären nett.

Danke,
KM

KM
20-07-07, 13:51
Hmmmmhhh....

vielleicht habe ich mich in meiner ersten Anfrage auch ein wenig ungenau ausgedrückt und deshalb keine Antwort erhalten.

Ich möchte beim Datenaustausch XML-Databinding verwenden, um so eine direkte Zuordnung der XML-Elemente bzw. Attribute zu Java-Objekten zu erhalten. Beim Unmarshalling werden ja die XML-Elemente in die Java-Objekte übertragen und beim Marshalling umgekehrt. Dafür gibt es ja etliche Tools (Castor, JAXB, Zeus, Jibx, etc.).

Dann möchte ich diese Java-Objekte den entsprechenden Datenbankfeldern auf der iSeries zuordnen. Wenn ich das richtig verstanden habe, kann ich das wohl mit Hibernate o.ä. machen. Ist das korrekt ?

Kann mir jemand sagen, ob ich damit auf dem richtigen Weg bin oder ob man sowas viel eleganter/einfacher lösen kann ? Welche Tools würdet Ihr dazu empfehlen ?

Danke,
KM

UFK
23-07-07, 18:55
Interessantes Thema. Bin gespannt, was die anderen dazu sagen.

Ich habe schon mal eine spezielle Lösung dafür gebaut, die aber ganz ohne Java zu machen war, nur mit COBOL, Websphere MQ und Bordmitteln. Es würde mich interessieren, wie die anderen AS400-Spezis es heute mit Java auf der i-5 machen.

KM
22-10-07, 09:50
Hallo,

ich wollte nur mal kurz berichten wie ich unsere Anforderung umgesetzt habe.

Ich habe jetzt doch Castor verwendet. Für das XML-Databinding verwende ich Castor XML. Dazu muß man zunächst mal eine entsprechende XML Schema Definition erstellen, die die Struktur der späteren XML-Instanzen beschreibt. Über ein Commandline-Tool werden daraus dann für jeden Elementtyp automatisch die entsprechenden Java-Sourcecodes erstellt (mit getter- und setter-Methoden). Diese muß man nur noch alle kompilieren und am besten in eine jar-Datei zusammenpacken. Eine evtl. gewünschte Validierung der XML-Dateien ist standardmäßig eingeschaltet. Damit kann man nun die XML-Elemente und -Attribute in Java als Objekte bzw. Variablen ansprechen. Für individuelle Anpassungen der XML-Struktur kann man auch noch eine Mapping-Datei benutzen.

Für die Datenbank-Persistenz verwende ich das OR-Mapping Tool Castor JDO. Dies hat übrigens nichts mit der JDO-Spezifikation von Sun zu tun. Mit Castor JDO kann man sehr einfach über eine XML-Datei das Mapping der einzelnen Datenbankfelder herstellen. Die zugehörigen Java-Sourcen (mit getter und setter) muß man jedoch manuell erstellen.

Mit der Kombination dieser beiden Tools Castor XML und Castor JDO ist es nun sehr einfach und relativ elegant möglich aus DB2/400-Daten XML-Dateien zu erstellen und umgekehrt auch XML-Dateien validieren und deren Inhalte in die DB2 schreiben.

Gruß,
KM