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:
- Läuft auf jedem Rechner, der COBOL ausführen kann
- Wird als COBOL Quellprogramm lizensiert (verschlüsselt)
- Generiert und parst mehrdimensionale Felder (verschachteltes
OCCURS
) - Einfache Bedienung
- Schnell, effizient, professionell und skalierbar
- Benötigt keine Einarbeitungszeit für COBOL Programmierer
- Kostenloses Tool, um aus einem Schema ein Copybook einfach erstellen zu können
- Läuft im Batch- oder Online-Modus
- Kostenlose 30-Tage-Demoversion
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:

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:

Laden Sie den COBOL-Quellcode herunter, mit dem dieses JSON-Objekt erzeugt wurde: |
Laden Sie hier eine kostenlose 30-Tage Demoversion herunter...