Slide 2
CoJaC – COBOL to Java Converter

CoJaC ist unser Werkzeug zur Konver­tie­rung von histo­ri­schen COBOL-Appli­­­ka­­tio­­nen in moderne Java-Lösun­­gen. CoJaC generiert wartba­ren und perfor­man­ten Java-Code, welcher seman­tisch äquiva­lent zum COBOL-Code ist.
Das Werkzeug erreicht bei der Konver­tie­rung einen Automa­ti­sie­rungs­grad von 95–99 %. CoJaC verbin­det wissen­schaft­li­ches Know-how im Compi­ler­bau mit Kernkom­pe­tenz aus erfolg­rei­chen Migrationsprojekten.

CoJaC-TECHNO­­LO­­GIE

Für komplexe Überset­zungs­vor­gänge wird der Einsatz spezi­el­ler Konver­tie­rungs­werk­zeuge, sogenann­ter Trans­la­to­ren notwen­dig. Trans­la­to­ren arbei­ten in Analo­gie zu einem Compi­ler, der Quell­pro­gramme über verschie­dene Zwischen­stu­fen in ausführ­ba­ren Zielcode übersetzt.

CoJaC ist ein Trans­la­tor zur Konver­tie­rung von histo­ri­schen COBOL-Appli­­­ka­­tio­­nen in moderne Java-Lösun­­gen. Für die Belange der Sprach­kon­ver­tie­rung wurde dazu von uns das allge­meine Compi­­ler-Modell zum Trans­la­tor­mo­dell weiterentwickelt:

  • FRONT-END: Liest das COBOL-Programm einschließ­lich der dazuge­hö­ri­gen Copybooks ein und erzeugt daraus einen inter­nen Syntax­baum, der das vollstän­dige COBOL-Programm repräsentiert.
  • TRANS­FOR­MA­TOR: Überführt den COBOL-Syntax­­baum in einen äquiva­len­ten Java-Syntax­­baum. Die eigent­li­che Konver­tie­rung erfolgt auf der Basis von Syntax­bäu­men und nicht auf Basis von Quellcode.
  • POSTPRO­ZES­SOR: Zerteilt den komple­xen Java-Syntax­­baum in einzelne Syntax­bäume, welche die Programm­struk­tur des zukünf­ti­gen Java-Program­­mes repräsentieren.
  • GENERATOR/FORMATIERER: Generiert Java-Klassen und ‑Packa­ges aus einzel­nen Java-Syntax­­bäu­­men und forma­tiert automa­tisch den Source­code laut Kundenvorgaben.
  • LAUFZEIT­SYS­TEM: Ermög­licht die Nutzung der COBOL-Daten­­­ty­­pen und ‑Funktio­nen im konver­tier­ten Java-Code, welche in Java nicht 1:1 existieren.

FEATURES

CoJac zeich­net sich durch folgende Eigen­schaf­ten aus:

Übernahme der Quelltextkommentare 
Quell­text­kom­men­tare werden automa­tisch in den Zielcode eingebunden.

Struk­tu­rie­rung des Zielcodes in Java-Klassen und ‑Packa­ges
Der Zielcode wird durch unser Werkzeug JPackage nach Kunden­vor­gabe in Java-Klassen und ‑Packa­ges strukturiert.

Forma­tie­rung des generier­ten Java-Codes 
Der generierte Java-Code wird nutzer­spe­zi­fisch formatiert.

Unter­stüt­zung verschie­de­ner COBOL-Dialekte 
CoJaC unter­stützt verschie­dene COBOL-Dialekte (IBM, HPE NonStop, BS2000).

MIGRA­TI­ONS­PFADE

Die nachfol­gende Tabelle zeigt beispiel­haft einige Migra­ti­ons­pfade der Basis­kom­po­nen­ten in das entspre­chende Migra­ti­ons­ziel auf:

MIGRA­TI­ONS­ASPEKTE

FAQ ZUR SPRACHMIGRATION

DOWNLOADS

 CoJaC – Datenblatt

“Jedes COBOL-Java-Migra­ti­ons­pro­jekt birgt neue Überra­schun­gen“
Abstract zum 24. Workshop “Software-Reengi­nee­ring & Evolu­tion” am 02.–04. Mai 2022 in Bad Honnef, erschie­nen in:
Software­tech­nik-Trends, Band 42, Heft 2, Mai 2022

Success Story: Erfolg­rei­che COBOL-Java-Migration bei Südlea­sing GmbH

Success Story: “Erfolg­rei­che BS2000-Migration bei ITZBund”

ZUM DOWNLOADBEREICH