Versioning: Unterschied zwischen den Versionen

Aus DRV STRING
Wechseln zu: Navigation, Suche
K
 
Zeile 1: Zeile 1:
* - Aufbau der Nachrichten mit einer stabilen Hülle und einem volatilen Container
+
* Aufbau der Nachrichten mit einer stabilen Hülle und einem volatilen Container
 
+
 
<nowiki><xml>
 
<nowiki><xml>
 
  <version>1.3</version>
 
  <version>1.3</version>

Aktuelle Version vom 16. August 2017, 11:49 Uhr

  • Aufbau der Nachrichten mit einer stabilen Hülle und einem volatilen Container

<xml> <version>1.3</version> <data> … </data> </xml>

  • Im Rahmen wird der Container und eine Versionsinformation mitgesendet
  • Es findet ein Version-Handshake zwischen Sender und Empfänger statt. Beide tauschen die Information über die unterstützten Versionen aus und einigen sich auf eine gemeinsam unterstützte Version (für eine Session muss diese Version stabil gehalten werden). Diese unterstützen Versionsinformationen werden über einen separaten Request-/Response ausgetauscht.
  • Die Major-Versionsnummer in der Hülle wird nur bei Breaking-Changes (Syntaktisch oder Semantisch) hochgezählt. Die Minor-Versionsnummer kann bei jeder Änderung (z.B. neue Felder) hochgezählt werden, muss aber innerhalb des Major-Releases abwärtskompatibel sein.
  • Die Major-Versionsnummer könnte Bestandteil des Namespaces des inneren Container-Schemas sein
  • Neue Nachrichtentypen könnten an der Versionnummer hängen und so geprüft werden oder aber einfach bei der Verarbeitung durch die empfangene Stelle eine Fehlermeldung auslösen