Slide 2
CoJaC – COBOL to Java Converter

CoJaC ist unser Werkzeug zur Konver­tie­rung von histo­ri­schen COBOL-Appli­­ka­­ti­o­­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 bis zu 95 %. 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­­ti­o­­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-Synta­x­­baum in einen äquiva­len­ten Java-Synta­x­­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-Synta­x­­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-Synta­x­­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

  • Einbin­dung der Quell­text­kom­men­tare in den Zielcode
  • Struk­tu­rie­rung des Zielcodes in Java-Klassen und ‑Packa­ges durch unser Werkzeug JPackage nach Kundenvorgabe
  • Nutzer­spe­zi­fi­sche Forma­tie­rung des generier­ten Java-Codes
  • Unter­stüt­zung verschie­de­ner 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

“Vom COBOL-Server zum Java-Webservice”
Abstract zum 12. Workshop “Software-Reengi­nee­ring” am 03.–05. Mai 2010 in Bad Honnef, erschie­nen in: Software­tech­nik-Trends, Band 30, Heft 2, Mai 2010

“Ein Trans­la­tor für die COBOL-Java-Migration”
Abstract zum 13. Workshop “Software-Reengi­nee­ring” am 02.–04. Mai 2011 in Bad Honnef, erschie­nen in: Software­tech­nik-Trends, Band 31, Heft 2, Mai 2011

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

ZUM DOWNLOAD­BE­REICH