COBOL XML interface, Cloaking Device, zu Datenverschlüsselungs- und Datenkomprimierungsprodukten von Redvers Consulting

Technische Lösungen für COBOL

Deutsch

English

Redvers COBOL XML, Cloaking, Encryption & Compression Products

Häufige Fragen (FAQ) zum Redvers Cobol XML Interface

Wieso wurde das Interface in COBOL geschrieben?

Wir sind den ungewöhnlichen Weg gegangen, dieses Produkt als COBOL Quelltext Unterprogramme anzubieten, weil wir Ihnen ein Produkt anbieten möchten, das sich einfach in Ihre bestehende Softwareumgebung einfügt. Wenn Sie ein Produkt suchen, das XML ermöglichen soll, mit COBOL-Anwendungen Daten auszutauschen, dann verfügen Sie bereits über COBOL-Programme und einen Compiler. Ein weiterer Vorteil ist, daß die Anwender des Redvers-Programms bereits mit der Schreibweise, den Besonderheiten und Anwendungsmöglichkeiten von COBOL-Programmen vertraut sind.

Welche technischen Beschränkungen sind zu beachten?

Da das Produkt in COBOL geschrieben ist und auch kompiliert wird, gelten dieselben Beschränkungen wie auch für das rufende Programm. Selbst wenn Ihre Anwendung daher Datenfelder mit jeweils über 3.000 Bytes Länge besitzt, insgesamt also auf 16 Mbyte ausgelegt ist, wenn es 5.000 Felder hat, und jedes Feld ein XML-Tag von 500 Zeichen Länge benötigt, können all das unsere Unterprogramme verarbeiten. Um eine sparsame Verwendung Ihrer Rechnerkapazität zu erreichen, werden zahlreiche Parametervariablen (die in den Handbüchern als „Vom Benutzer bestimmte Variablen User Maintained Variables (UMV)” bezeichnet werden) per Default mit ziemlich kleinen Werten belegt, aber diese können nach Bedarf erhöht oder verringert werden.

Ist das Interface kompatibel mit beiden Zeichensätzen ASCII und EBCDIC?

Ja, alle unsere Softwareprodukte laufen ohne Codeveränderungen auf ASCII und EBCDIC Plattformen.

Kann das Interface in Anwendungsumgebungen verwendet werden, die „Little-Endian” Binärspeicher nutzen?

Ja, alle unsere Softwareprodukte sind kompatibel zu „Big-Endian” und „Little-Endian”-Plattformen. Es ist keine Anpassung des Codes notwendig.

Wie schnell arbeitet das Interface?

Die Generierung von XML geschieht mit einer Geschwindigkeit von 7,8 Megabytes pro Sekunde und das Parsen mit 4,3 Megabytes pro Sekunde, getestet auf einem IBM zSeries Mainframe unter z/OS 1.10 im IBM Research & Development GmbH, Boeblingen Deutschland.

Die meisten Anwendungen benötigen I/O-Operationen außerhalb des Interface, um Daten einzulesen, die in XML umgewandelt werden sollen, oder um mit dem eingelesenen XML einen Update von COBOL-Dateien oder Datenbanken durchzuführen. Da innerhalb des Interface kaum Ein- und Ausgabeoperationen durchgeführt werden, treten in der Regel keine Probleme auf, mit der Geschwindigkeit des rufenden Programms Schritt zu halten.

Validiert der Parser das eingelesene XML-Dokument?

Die Parser Interfaceprogramme geben eine Fehlermeldung aus, falls ein zu verarbeitendes XML-Dokument nicht wohlgeformt ist (also Syntaxfehler enthält).

Wenn Sie zu dieser Entwicklung weitere Einzelheiten erfahren möchten, nutzen Sie bitte unsere Kontaktseite.

Welchen Unterschied gibt es zwischen der Batchversion und der Message-Level Version?

Die Batchversion liest oder schreibt direkt ein XML-Dokument unter Verwendung seiner eigenen FDs (FILE DEFINITIONS) und der internen Dateinamen RCXMLIN bzw. RCXMLOUT.

Die Message-Level Version läuft auch als Teil eines Batchprogramms, aber sie akzeptiert und liefert XML Dokumente vom bzw. an das rufende Programm in der Linkage Section. Das bedeutet, daß das rufende Programm das XML-Dokument lesen oder schreiben muß, aber es ermöglicht die Verarbeitung von XML-Dokumenten aus oder an eine „Message Queue”-Anwendung wie etwa MQ-Series.

Wie werden zwei- oder mehrdimensionale Datenfelder verarbeitet?

Wie in unseren Handbüchern beschrieben, sind in der COBOL-Satzbeschreibung (CRD) nur eindimensionale Felder erlaubt. Das hindert Sie jedoch nicht daran, eine beliebige Anzahl Dimensionen vom Interface generieren oder parsen zu lassen. Die CRD enthält lediglich die Felder oder Elemente, die bei einem einzelnen Aufruf des Interfaces an dieses / von diesem übergeben werden können. Um das am Beispiel der Bevölkerungsstatistik zu erklären, wäre eine Person, die an einer bestimmten Adresse wohnt, die niedrigste Dimension. Es wäre unrealistisch anzunehmen, daß an jeder beliebigen Adresse auf der Welt höchstens eine bestimmte Anzahl Menschen wohnen, und daß zu jeder Stadt höchstens eine bestimmte Anzahl Adressen gehören. Daher wird die CRD definiert als einfaches Auftreten der Daten zu einer Person an einer einzigen Adresse, was sinnvoller ist als die Definition mehrdimensionaler Felder mit festgelegten Zahlen in der OCCURS-Klausel. Für jede Person an der ersten Adresse wird das Interface dann einzeln aufgerufen. Wenn alle Personen verarbeitet worden sind, geht es weiter mit der ersten Person an der nächsten Adresse, und die Verarbeitung wiederholt sich für jede Person mit dieser neuen Adresse. Diese Schleife geht weiter für jede Adresse in einer Stadt, bis schließlich die Daten der nächsten Stadt an das Interface übergeben werden und die Verarbeitung damit die Datenhierarchie nach oben wandert.

Wenn die Anzahl gleichartiger Datensätze nicht im vorhinein sicher ist, empfehlen wir vorzugsweise wiederholte Aufrufe eines Unterprogramms durchzuführen, anstatt eines mehrdimensionalen Datenfeldes, das mit einem Aufruf abgearbeitet wird. Beachten Sie, daß es in XML keine Obergrenze für die Häufigkeit des Auftretens eines Elements innerhalb einer Datei gibt. Durch diese Vorgehensweise umgeht man auch die eventuelle Überschreitung expliziter Größenbeschränkungen von Tabellen und man spart Speicherplatz.

Ist es möglich, eine CRD automatisch aus einem XML Schema oder einer XML DTD erzeugen zu lassen?

Wir bieten jetzt zwei kostenlose Tools RCSCHCRD und RCDTDCRD an. Sie erstellen eine einfache CRD aus den im Schema bzw. in der XML DTD enthaltenen Informationen. Wie bei all unseren Tools üblich, wurden sie in Open Source COBOL erstellt. Sie finden beide zum Download im Abschnitt Partner auf unserer Webseite.

Die Antwort auf meine Frage ist hier nicht aufgeführt.

Wenn Ihre Frage hier nicht aufgeführt ist, nutzen Sie bitte unsere Kontaktseite, um mit uns in Verbindung zu treten. Wir werden Ihre Rückmeldung umgehend beantworten.


Klicken Sie hier, um Ihre kostenlose Demoversion zu bestellen