Aktion Update

Synchronisation der am Client und am Host seit dem letzten Update vorgenommenen Veränderungen.

Die Art der ausgetauschten Daten ist natürlich anwendungsspezifisch, hier beispielhaft für ZIPS.

Die Funktionalität kann aber allgemeingültig implementiert werden.

Verschiedene Stadien des Datenaustausches werden durch den Parameter modus unterschieden.

  Parameter Antwort vom Server  
Starten des Uploads aktion=update
&modus=start
ein Handle xxxxx Der Server legt eine Datei an, passend zum Handle, die dann mit "put" Zeile für Zeile gefüllt  werden kann.
Daten hochladen
(je ADIS-Zeile)
aktion=update
&modus=put
&handle=xxxxx
&data=<eine ADIS-Zeile>
ok Die Zeile wird an die zum Handle gehörende Datei angehängt.
Wenn der Server data=ZN empfangen hat, wird die temporäre Datei abgeschlossen, umbenannt und dadurch für die Verarbeitung am Host freigegeben.
Datei 
anzeigen
aktion=update
&modus=view
&handle=xxxxx
  Die bisher mit "put" gefüllte temporäre Datei kann zur Kontrolle angezeigt werden, solange noch kein ZN gesendet wurde. Das dürfte nur für die Phase der Programmentwicklung interessant sein.
Daten herunterladen aktion=update
&modus=get
&handle=<Personal_ID>
die bereitstehende ADIS-Datei Da die vom Host erzeugten Dateinamen feststehen (aufgrund der Applikation und der Personal_ID), wird als  Handle die Personal_ID verwendet. Eventuelle Erweiterungen des Dateinamens werden vom Servlet hinzugefügt. 
Alle passenden Dateien werden mit einem "get" geholt.
Empfang quittieren aktion=update
&modus=quit
&handle=<Personal_ID>
keine Die "gegetteten" Dateien werden am Server gelöscht.

Testdatei: zi_upload.ads

für die Benennung der vom Host bereitgestellten Dateien zur Synchronisation des ZI-Programms werden folgende Namen benutzt:

u_2001_pool_???.ads          
u_2001_auftrag_???.ads
     
u_2001_pedigree_???.ads
  

Dabei steht 2001 jeweils für die Personal_ID (hier die ZI-Nummer) und wird in der Anforderung als Handle betrachtet.

u_ wird benötigt, um die Dateien als zum "update" gehörend zu kennzeichnen.

??? wird von OSIS durch eine laufende Nummer ersetzt, so daß auch Downloads ausfallen und später nachgeholt werden können.

Das Servlet muß auf eine "get"-Anforderung alle Dateien u_2001_*.* senden bzw. bei "quit" löschen.

Damit das Ergebnis ADIS-konform ist, muß bei den einzelnen Dateien die jeweils abschließende ZN-Zeile durch EN ersetzt und die Gesamtdatei (bzw. der Stream) wieder mit ZN beendet werden.