Frage

Gibt es eine Möglichkeit COBOL-Daten in einem Java-Programm zu lesen? Konkreter bin ich mit dem folgenden Fall konfrontiert:

Ich habe eine Datei mit fester Länge von Datensätzen. Die Datendefinition wird als Cobol Copybooks getan. Was ich denke, der ist eine Bibliothek, die unter Berücksichtigung der Hefte diese Aufzeichnungen lesen würde.

Im Idealfall sollte es möglich sein, grundlegende Java-Klassen und Strukturen auf der Schreibheft Informationen zu generieren. In einem späteren Schritt würden die data analysiert und die Daten in Objekte dieser generierten Klassen gefüllt.

Kennen Sie eine Bibliothek, die diese Art von Funktionalität? Oder irgendwelche andere Techniken mit dem Problem fertig zu werden COBOL-Daten lesen?


Es gibt einige kommerzielle Tools, die diese Funktionalität bereitstellen. Sie sind jedoch sehr teuer. Kennen Sie eine Open-Source-Alternative oder eine Kombination verschiedenen Tools, die gesamte Funktionalität zur Verfügung zu stellen? Zum Beispiel liest die cb2xml Schreibheft Strukturen und verwandelt sie in XML. Ein späterer Schritt wäre einen Rekord Leser zu erzeugen, die auf den cb2xml xml Informationen. Oder einen Datensatz Leser zu verwenden, die konfigurierbar ist. Kennen Sie einen COBOL-Satzleser (Decoder)?

War es hilfreich?

Lösung

Sie bei JRecord aussehen könnte - http://sourceforge.net/projects/jrecord/ oder cb2java http://sourceforge.net/projects/cb2java/ beide können Sie COBOL-Dateien zugreifen aber weder die vollen Klassen erzeugen.


Update Januar 2011

Da die ursprüngliche Antwort:

  • JRecord weiter entwickelt werden. Es gibt jetzt eine JRecord Code generator als entweder ein eigenständiges Programm oder in der Recordeditor . Diese Code Generator wird JRecord JRecord Code aus einem Cobol Copybook bauen. Siehe RecordEditor Jrecord CodeGen
  • Entwicklung auf cb2java wurde beendet
  • cobol2j geschrieben wurde. Es wurden keine Updates gewesen für ein Jahr.
  • Es gibt auch Legstar wieder nichts für ein paar Jahre veröffentlicht

Update August 2017

Die RecordEditor hat eine generieren Option zum Erzeugen von Java / JRecord Code aus einem Cobol Heft. Siehe RecordEditor Code Generation Notizen .

Update Januar 2018

Es gibt einige Informationen auf der Generierung von Java ~ JRecord Code in dieser Frage / Antwort:

Wie generieren Sie Java ~ jrecord Code für a Cobol Schreibheft

Andere Tipps

Ja. Ich habe zuvor getan. Ich habe eine ODBC-Verbindung zu COBOL-Dateien und dann mit jdbc:. Odbc Brücke, habe ich Metadaten Klassen zu erzeugen, Lesen von Daten und Port, um alles zu Oracle

Hier ist ein schöne Anleitung, wie man metada Informationen mit JDBC zuzugreifen. Hier ist eine andere.

Beachten Sie, dass Sie die JDBC nicht benötigen: ODBC-Bridge-Ansatz. Wenn Sie eine native JDBC-Treiber erhalten können, um Ihre Cobol Datasource zu verbinden, wird es besser sein. In diesem Zusammenhang habe ich auch einen IBM nativen Treiber. wenn Sie nicht an den Namen erinnern. Es war vor langer Zeit.

Es erscheinen einige kommerzielle Lösungen sein für diese. Alternativ können Sie verwenden cb2xml die Hefte in XML zu konvertieren und dann die XML in Java importieren Sie mit welchen Mechanismus auch immer erforderlich ist.

Ich habe Bruce JRecord (von Sourceforge) Paket für mein Projekt verwendet. Es dauerte nur wenige Tage zu lernen, es zu benutzen und mich gerettet Monate Arbeit in einer viel weniger allgemeine Lösung auf meinem eigenen Ausrollen. Ich empfehle es.

Mikrofokus eine Art des Aufrufs OO COBOL von Java zur Verfügung stellen.

"Sie können Klassen in OO COBOL schreiben, die von Java-Programmen aufgerufen werden können, als ob sie Java-Klassen waren. Sie dies tun, indem Sie eine Java-Wrapper-Klasse bereitstellt, die für jede Methode in der OO COBOL Klasse eine Funktion zur Verfügung stellt. Der Net Express-Klasse und Methode Wizards machen dies einfach für Sie, indem Sie den Java-Code zur gleichen Zeit wie der COBOL-Code zu generieren. "

Sie bieten auch ein Tool Enterprise Server genannt, die COBOL mit Web Services interagieren können.

Wenn Sie ein COBOL-Programm A, das Werkzeug ermöglicht es Ihnen, eine der Schnittstellenabschnitt als Web-Service verfügbar zu machen.

Natürlich, denn jetzt mit einem Web-Service jede andere Art von Programm (Befehlszeile, Windows-Anwendung, Java, ASP, etc.) kann nun auch anrufen und somit die COBOL-Daten über zu einem Java-Programm übergeben.

BEA verwendet, um ein Produkt mit dem Namen JAM, die verwendet wurde, mit Mainframe-COBOL-Programmen zu kommunizieren. Es umfasste ein Werkzeug, das Heft lesen würde und erzeugen sowohl entsprechende Java POD Klassen und Datenkonvertierung Code.

Ich weiß nicht, ob dies noch verfügbar ist, habe ich den Überblick verloren, als ich BEA links.

Rational Application Developer kann COBOL-Quellcode lesen und Java-Klassen generiert. Die erzeugten Klassen Methoden für die verschiedenen Teil des COBOL-Datenstruktur zugreift. Die Klasse, die erzeugt wird, ist kompatibel mit dem J2EE Connector Architecture . So erstellen Sie eine Klasse in Ihrem Projekt, wählen Sie Datei, Neu, Andere wählen Sie dann die CICS / IMS Java Data Binding-Assistenten unter J2C. Weiter klicken. Wählen Sie COBOL nach Java für die Zuordnung. Wählen Sie Ihre COBOL-Datei. Wählen Sie die Struktur, die Sie wünschen, eine Java-Klasse zu erzeugen, um dann auf Fertig stellen klicken und los geht. Es gibt natürlich eine Reihe von Optionen, die Sie auf dem Weg wählen können, die ich nicht erwähnt. Für weitere Informationen suchen Hilfe für J2C.

Hier finden Sie aktuelle Javolution Struct .

Sie können dann einen Makro verwenden, um Ihre COBOL DATAT in Struct zu konvertieren.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top