Technische Lösungen für COBOL

Deutsch

English

Redvers COBOL JSON Interface

Das „Redvers COBOL JSON Interface” ermöglicht COBOL Anwendungen schnellen und effizienten Zugriff auf die Welt von JSON-Objekte. Es besteht aus dem JSON-Generator und dem JSON-Parser. Diese Standardsoftware wurde in reinem COBOL geschrieben. Alles, was Sie noch machen müssen, ist die Kodierung einer COBOL-Satzbeschreibung und eines CALL-Befehls, um JSON-Objekte zu generieren oder zu parsen.


Merkmale:

Das „Redvers COBOL JSON Interface” arbeitet auf Datensatzebene. Das hat zur Folge, daß alle JSON-Objektstrukturen vom Interface bei der Generierung automatisch erzeugt werden bzw. beim Parsen interpretiert werden. Durch diesen Ansatz vermeiden wir eine umständliche Anwendungslogik auf Objektebene und haben stattdessen nur einen einzigen CALL-Befehl, der den nächsten logischen Satz dem Interface übergibt bzw. von diesem erhält.

Unsere verschiedenen Interfaces werden derzeit von Kunden auf der ganzen Welt genutzt, auf den Plattformen iSeries/AS400, UNIX, HP, Linux, Fujitsu Siemens BS2000, Micro Focus und auf IBM Mainframes.

Funktionsweise des Programms

Bevor eine COBOL-Anwendung JSON generieren oder parsen kann, muß eine COBOL Satzbeschreibung (CRD) kodiert werden, in der es eine Felddefinition in der Working Storage für jedes JSON-Objekt gibt. Die CRD wird in die normale Copybibliothek eingefügt und ein COPY/INCLUDE Befehl wird der Anwendung hinzugefügt.

Der CRD-Quellcode wird auch in das rufende Programm eingefügt, damit die Daten im CALL an die Interface-Unterprogramme übergeben werden können. Das kann entweder dadurch geschehen, daß der Quelltext in die Working Storage fest kodiert wird, oder indem der Quelltext zum Zeitpunkt der Ausführung aus der Copybibliothek gelesen wird.

Um JSON zu generieren, wird die CRD von der COBOL-Anwendung befüllt, die sie anschließend dem Generierungs-Unterprogramm (RCJSNGEN) weiterreicht, zusammen mit dem CRD-Quelltext in einem CALL-Aufruf. RCJSNGEN konvertiert dann die COBOL-Daten zu JSON-Objekten, und gibt das oberste JSON-Objekt an das Anwendungsprogramm zurück.

Um JSON zu parsen, übergibt das Anwendungsprogramm das JSON-Objekt und den CRD-Quellcode an das Parser-Unterprogramm (RCJSNPAR), das die COBOL-Daten in den CRD-Feldern zurückliefert.

Der Generierungs Prozeß wird hier dargestellt:

COBOL JSON Interface Programmablauf

Technische Informationen

Jede Stufe besteht aus jeweils zwei COBOL Unterprogrammen, die JSON generieren oder parsen. Unbegrenzt große JSON-Objekte und Wiederholungen von Objekten werden bearbeitet, indem das Interface mehrfach aufgerufen wird. Dadurch kann es komplexe JSON-Objekte verarbeiten, ohne übermäßig viel Hauptspeicher zu benötigen.

Die Verwendung von Quellcode erlaubt es dem Kunden auch, den Inhalt gewisser Werte zu verändern, die ansonsten fest kodiert wäre. Diese Felder werden „Benutzerdefinierte Variable” oder im Original „User Maintained Variables” (UMV's) genannt, und sie können verändert werden, um die Effizienz der Programmausführung zu steigern und/oder die Formatierung des ausgegebenen JSON zu verbessern. Details zu allen UMV's finden Sie in den Handbüchern zu unserer Software.

Um Kunden und Autoren vor unberechtigten Quellcodeänderungen zu schützen, wird der Quellcode der Unterprogramme mit dem „Redvers Cloaking Device”. verschlüsselt. Dadurch wird der Quellcode logisch nicht verändert, doch er wird für Menschen unverständlich.

Die COBOL Satzbeschreibung (CRD) kann kodiert werden, um jede Art von JSON-Objekt zu generieren oder zu parsen. Die generierten Objekte entsprechen dem JSON Data Interchange Standard, wie er auf der Seite www.json.org beschrieben ist.

Die Generierung von JSON geschieht mit einer Geschwindigkeit von 11,7 Megabytes pro Sekunde und das Parsen mit 8,6 Megabytes pro Sekunde, getestet auf einem IBM zSeries Mainframe unter z/OS 1.10. Die maximale Dokumentgröße liegt bei 99 Megabytes.

Beispielausgabe

Ein Beispiel für JSON, wie es vom „Redvers COBOL JSON Interface” erzeugt werden kann:

Beispielausgabe


Laden Sie den COBOL-Quellcode herunter,
mit dem dieses JSON-Objekt erzeugt wurde:

Laden Sie hier eine kostenlose 30-Tage Demoversion herunter...

Wir sind seit 25 Jahren mit COBOL-Lösungen für Sie da (1988 - 2013)