Technische Lösungen für COBOL

English |

Deutsch

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 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. (Das Tool zur Erstellung eines Copybooks aus einem Schema kann zur Hilfe bei der Erstellung verwendet werden.) 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

Parsing geschieht auf ähnliche Weise wie oben dargestellt, mit dem Unterschied, daß das Anwendungsprogramm das JSON-Objekt an RCJSNPAR übergibt, welches dann die COBOL-Daten in der CRD zurückliefert.

Technische Informationen

Die „Redvers COBOL JSON Interface” 2.1 Unterprogramme werden als COBOL Quellcode verkauft. Sie werden installiert, indem sie in Ihre Quellcodebibliothek eingefügt und mit Ihrem normalen COBOL-Compiler kompiliert werden. Indem die Kompilierung beim Kunden passiert, kann die Installation auf unterschiedlichsten Plattformen erfolgen, und das stellt sicher, daß die Redvers-Software vollständig mit allen anderen COBOL-Anwendungsprogrammen, die dort vorhanden sind, kompatibel ist.

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 (COBOL Record Definition oder CRD) kann so kodiert werden, daß jedes JSON-Objekt generiert oder geparst werden kann. Sehr große JSON-Objekte werden generiert oder geparst, indem das Interface mehrfach aufgerufen wird, so daß der Bedarf an Hauptspeicher minimiert wird.

Die generierten Objekte entsprechen dem JSON Data Interchange Standard, wie er auf der Seite www.json.org dargestellt ist.

Die geparsten Objekte werden auf Syntaxfehler untersucht. Falls ein Fehler gefunden wurde, erfolgt ein Hinweis, der die Stelle des fehlerhaften Zeichens im Eingabestring bezeichnet. Es wird keine Schemavalidierung durchgeführt.

Die Generierung von JSON geschieht mit einer Geschwindigkeit von 9,6 Megabytes pro Sekunde und das Parsen mit 8,8 Megabytes pro Sekunde, getestet auf einem IBM zSeries Mainframe unter z/OS 1.10. Die maximale Objektgröße bei Onlineverarbeitung beträgt 99 MByte; es gibt keine maximale Objektgröße bei Batchanwendungen.

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...

PDF-Version:


„Alles wurde bestens umgesetzt und läuft. Vielen Dank für Ihre schnelle Unterstützung.”

R+V Allgemeine Versicherung AG (Deutschland)



„Mit Redvers Consulting haben wir einen kompetenten und zuverlässigen Partner gefunden, der sowohl eine performante und einfach einzusetzende Software bereitstellen als auch durch fachgerechte Beratung und passendes Customizing den Einsatz des COBOL JSON Interface deutlich optimieren konnte.”

Ritzenhoefer & Company (Deutschland)