Hallo!
Ich soll ein Repository für Nachrichten aufsetzen und die entsprechenden Java-Klassen schreiben. Das bedeutet ich muss ne Datenbank aufsetzen und für die verschiedenen Nachrichtentypen Klassen erstellen. Leider weiss ich nicht so recht wie ich das am elegantesten lösen soll und erhoffe mir hier ein paar Hinweise.
Erstmal generelles zu den Nachrichten:
Im Prinzip hab ich 2 Möglichkeiten:
Die "Gute" wäre, wenn mein System einhergehende Nachrichten parst und überprüft ob diese gültig wären. Die "schlechte" wäre, wenn mein System lediglich die Daten einliest, aber nicht überprüft.
Mein Ansatz war nun der, für jedes Segment eine Klasse zu schreiben, die alle möglichen Datenelemente als Attribute beinhaltet. Jede dieser Klassen hätte dann ne parse-Funktion die das jeweilige Segment parst und gleichzeitig überprüft. Da kommt mir aber nun Punkt 7 in die Quere, da ich beim erstellen der Klasse ja noch nicht weiss wie die Abfolge der Datenelemente sein muss (hängt ja davon ab wo das Segment nachher in der Nachricht steht).
Insgesamt wäre diese Lösung eine extrem aufwendige, da sehr viele Klassen erstellt werden müssen.
Evtl könnte ich auch ein XML-Schema der verschiedenen Nachrichten & Segmente bekommen, könnte man daraus vielleicht die Klassen automatisch generieren lassen?
Gruß,
Christoph
Ich soll ein Repository für Nachrichten aufsetzen und die entsprechenden Java-Klassen schreiben. Das bedeutet ich muss ne Datenbank aufsetzen und für die verschiedenen Nachrichtentypen Klassen erstellen. Leider weiss ich nicht so recht wie ich das am elegantesten lösen soll und erhoffe mir hier ein paar Hinweise.
Erstmal generelles zu den Nachrichten:
- Es gibt ca 20 verschiedene Nachrichtentypen
- Jede Nachricht besteht aus einer Ansammlung von Segmenten.
- Die Abfolge von Segmenten in einer Nachricht ist vorgegeben, jedoch gibt es viele Optionale Segmente
- Es gibt ca 25 verschiedene Segmente
- Jedes Segment besteht wiederrum auf verschiedensten Datenelementen.
- Die Abfolge der Datenelemente ist wieder vorgegeben, allerdings auch hier wieder optionale Sachen.
- Desweiteren ist die vorgegebene Abfolge von Datenelementen abhängig davon wo das Segment in der Nachricht steht
Im Prinzip hab ich 2 Möglichkeiten:
Die "Gute" wäre, wenn mein System einhergehende Nachrichten parst und überprüft ob diese gültig wären. Die "schlechte" wäre, wenn mein System lediglich die Daten einliest, aber nicht überprüft.
Mein Ansatz war nun der, für jedes Segment eine Klasse zu schreiben, die alle möglichen Datenelemente als Attribute beinhaltet. Jede dieser Klassen hätte dann ne parse-Funktion die das jeweilige Segment parst und gleichzeitig überprüft. Da kommt mir aber nun Punkt 7 in die Quere, da ich beim erstellen der Klasse ja noch nicht weiss wie die Abfolge der Datenelemente sein muss (hängt ja davon ab wo das Segment nachher in der Nachricht steht).
Insgesamt wäre diese Lösung eine extrem aufwendige, da sehr viele Klassen erstellt werden müssen.
Evtl könnte ich auch ein XML-Schema der verschiedenen Nachrichten & Segmente bekommen, könnte man daraus vielleicht die Klassen automatisch generieren lassen?
Gruß,
Christoph