Agricultural Data Interchange Syntax
Diese Baustelle befindet sich fälschlicherweise im Artikelnamensraum. Bitte verschiebe die Seite oder entferne den Baustein {{Baustelle}} .
|
ADIS - Agricultural Data Interchange Syntax, ist eine ASCII-Syntax für den Datenaustausch zwischen Maschinen in der Agrarwirtschaft.
Aufbau
Grundlegendes
Das Protokoll bzw. die Syntax ist Zeilenorientiert und verfolgt eine vorgeschriebene Struktur. Jede Zeile beginnt mit ihrem Zeilen Typ (ein Zeichen) und dem Status-Zeichen (ebenfalls ein Zeichen), gefolgt von einer Event bzw. Entitätsnummer (sechsstellig), danach folgen Daten oder Daten-Definitionen. Der Abschluss jeder Zeile ist zwingend eine <CR><LF> Kombination.
Zeilentypen:
Zeilentyp | Bezeichnung | Beschreibung | Schema (Pseudo Regex) |
---|---|---|---|
D | Definition | In einer D-Zeile wird der Inhalt der nachfolgenden V-Zeilen angegeben. Einer D-Zeile müssen immer eine oder mehrere V-Zeilen folgen.Wenn keine Daten verfügbar sind, müssen alle Felder (ab der Position 9) der gesamten V-Zeile mit "?" gefüllt werden. | D<Status><Entity-Nr.>(<DDI-Nr.><Feldlänge><Dezimalstellen>)+<CR><LF> |
V | Value | Die V-Zeile enthält die Werte der Datenelemente, die in der letzten D-Zeile aufgeführt sind. | V<Status><Entity-Nr.>(<Wert>)+<CR><LF> |
E | End of logical file | Die E-Zeile markiert das logische Ende einer ADIS-Datei. In einer Datei können mehrere E-Zeilen vorkommen. Der E-Zeile folgt immer eine DH- und VH-Zeile oder eine Z-Zeile. Das physische Ende eines Files wird durch eine Z-Zeile angegeben. Die letzte E-Zeile vor der Z-Zeile ist nicht erforderlich. | EN<CR><LF> |
C | Comment | Die C-Zeile kann an beliebiger Stelle in den ADIS-File eingefügt werden, und sie kann beliebigen Text enthalten. | C<Status><beliebiger Text><CR><LF> |
S | Search | In einer S-Zeile können eine oder mehrere Bedingungen spezifiziert sein. | S<Status><Ereignis-Nr.>(<DDI-Nr.><Feldlänge><Auflösung><min-Wert><max-Wert>)+<max-Anzahl><CR><LF> |
R | Request | Eine R-Zeile beinhaltet die Data Dictionary-Nummern von Attributen, die angefragt werden. | R<Status><Ereignis-Nr.>(<DDI-Nr.><Feldlänge><Auflösung>)+<CR><LF> |
F | File | Eine F-Zeile gibt den vollständigen Namen einer Bibliographie-Datei an (Pfadname und Dateiname). Diese Zeile vermeidet die Datei selbst einzuschließen. | F<Status><Pfad + Dateiname><CR><LF> |
I | Include | Eine I-Zeile beinhaltet den Pfadname und den Dateiname einer auf der I-Zeilen-Position einzufügenden Datei. Die Einfügezeile soll die ADIS-Anforderungen erfüllen, als ob sie Teil der übergeordneten Datei wären. Dies impliziert, daß die Kombination von übergeordneter Datei und der Einfügedatei den ADIS-Anforderungen entspricht. | I<Status><Pfad + Dateiname><CR><LF> |
O | Output | Eine O-Zeile beinhaltet den Pfadnamen und den Dateinamen einer Datei, zu der Daten geschrieben werden müssen. | O<Status><Pfad + Dateiname><CR><LF> |
T | Terminate | Eine T-Zeile kennzeichnet das Ende einer Informationshaupteinheit in einer ADIS-Datei. Eine T-Zeile kann verwendet werden, um unterschiedliche Blöcke innerhalb einer Datei zu unterscheiden. Nach einer T-Zeile kann keine DH + VH-Zeile (siehe auch E-Zeile) folgen. | TN<CR><LF> |
Z | Physical end of file | ZN<CR><LF> |
Statuszeichen:
Status | Bezeichnung | Beschreibung |
---|---|---|
H | Header | Daten Jede ADIS-Datei muß einen Header haben. Dies impliziert, daß eine ADIS-Datei mit einer DH-Zeile beginnt, gefolgt von einer VH-Zeile. Lediglich Kommentar-Zeilen (ungeachtet ihrer Statuszeichen) können dem Header vorangehen. Wenn der Header ausgelassen wird, ist die ganze Datei unzulässig. |
N | Normal | Normale Daten werden bereitgestellt, um den Datenbestand des Empfängers zu aktualisieren. |
S | Synchronisation | |
F | Faulty | Daten Wenn eine ADIS-Datei eine Zeile enthält, die einen oder mehrere Fehler zu enthalten scheint, ist es für den Empfänger möglich, diese ganze Zeile in eine separate ADIS-Datei zu geben, mit dem in "F" geänderten Statuszeichen. Es ist ebenfalls möglich, daß eine F-Statuszeile mehr Felder als die entsprechenden N-Statuszeile hat. Die F-Statuszeile kann z.B. detaillierte Informationen über die Fehlerart, was falsch ist, etc. enthalten. Diese Art von Informationen können in einer F-Statuszeile enthalten sein gemäß der vorangehenden DF-Zeile. Der Empfänger entdeckt die Fehler in der ADIS-Datei und sendet die F-Zeile zurück zum ursprünglichen Sender. |
D | Deletion | Wenn eine ADIS-Datei versandt wurde, die falsche Informationen enthält, kann der Übermittler die Zeile, die den Fehler enthält, in eine andere ADIS-Datei kopieren mit einem in "D" geänderten Statuszeichen und kann diese Datei ebenfalls versenden. Eine Zeile mit einem D-Status soll vollständig gelöscht werden. Die Verwendung des D-Status ist wählbar. Wenn der D-Status nicht unterstützt wird, soll er durch eine F-Zeile beantwortet werden. |
Klassen
Es gibt verschiedene Klassen der ADIS:
Klasse A | Zeilentypen D,V,C,E,Z | Obligatorisch |
Klasse B | Zusätzlich F,I,T | Erweiterung |
Klasse C | Zusätzlich R,O | Erweiterung |
Klasse D | Zusätzlich S,R,O | Erweiterung |
Klasse A wird vorrausgesetzt um in ADIS kommunizieren zu können. Alle anderen Klassen sind Erweiterungen, die nicht aufeinander aufbauen. Das heißt wenn Klasse C unterstützt wird, wird nicht automatisch Klasse B unterstützt.
Daten
Requests/Suchen
Dateibasierende Zeilentypen
- das ganze zeug ... -.-
Zertifizierungen
ISOagriNet
Unterschiede zu ADIS
Probleme von ADIS
Andere Ansätze für Agrar-Interoperabilität
agriOpenLink
Farmnet365
? weitere
Quellen
- lkv-nrw
- ISOagriNet für Entwickler und Entscheider
- agriOpenLink.com
- ...
- adis projekt github