{"id":7600,"date":"2022-01-13T12:25:15","date_gmt":"2022-01-13T11:25:15","guid":{"rendered":"https:\/\/proetcon.de\/?page_id=7600"},"modified":"2026-01-21T10:50:01","modified_gmt":"2026-01-21T09:50:01","slug":"cojac","status":"publish","type":"page","link":"https:\/\/proetcon.de\/index.php\/software-migration\/technologien-und-werkzeuge\/cojac\/","title":{"rendered":"CoJaC \u2013 COBOL to Java Converter"},"content":{"rendered":"<div id=\"pl-gb7600-69d6b0279483a\" class=\"panel-layout wp-block-siteorigin-panels-layout-block\"><div id=\"pg-gb7600-69d6b0279483a-0\" class=\"panel-grid panel-has-style\"><div class=\"panel-row-style panel-row-style-for-gb7600-69d6b0279483a-0\"><div id=\"pgc-gb7600-69d6b0279483a-0-0\" class=\"panel-grid-cell\"><div id=\"panel-gb7600-69d6b0279483a-0-0-0\" class=\"so-panel widget widget_text panel-first-child panel-last-child\" data-index=\"0\"><div class=\"panel-widget-style panel-widget-style-for-gb7600-69d6b0279483a-0-0-0\">\t\t\t<div class=\"textwidget\"><p><span style=\"font-weight: bold; color: #b2b2b2;\"><a href=\"https:\/\/proetcon.de\/index.php\/software-migration\/\">SOFTWARE-MIGRATION<\/a> &gt; <a href=\"https:\/\/proetcon.de\/index.php\/software-migration\/technologien-und-werkzeuge\/\">TECHNO\u00adLO\u00adGIEN UND WERKZEUGE<\/a> &gt; <a href=\"https:\/\/proetcon.de\/index.php\/software-migration\/technologien-und-werkzeuge\/cojac\/\"><u>COJAC<\/u><\/a><\/span><\/p>\n<\/div>\n\t\t<\/div><\/div><\/div><\/div><\/div><div id=\"pg-gb7600-69d6b0279483a-1\" class=\"panel-grid panel-has-style\"><div class=\"panel-row-style panel-row-style-for-gb7600-69d6b0279483a-1\"><div id=\"pgc-gb7600-69d6b0279483a-1-0\" class=\"panel-grid-cell\"><div id=\"panel-gb7600-69d6b0279483a-1-0-0\" class=\"so-panel widget widget_siteorigin-panels-builder panel-first-child\" data-index=\"1\"><div class=\"panel-widget-style panel-widget-style-for-gb7600-69d6b0279483a-1-0-0\"><div id=\"pl-w67f3a763e00a5\" class=\"panel-layout wp-block-siteorigin-panels-layout-block\"><div id=\"pg-w67f3a763e00a5-0\" class=\"panel-grid panel-has-style\"><div class=\"panel-row-style panel-row-style-for-w67f3a763e00a5-0\"><div id=\"pgc-w67f3a763e00a5-0-0\" class=\"panel-grid-cell\"><div id=\"panel-w67f3a763e00a5-0-0-0\" class=\"so-panel widget widget_text panel-first-child panel-last-child\" data-index=\"0\">\t\t\t<div class=\"textwidget\"><p><img fetchpriority=\"high\" decoding=\"async\" class=\"size-medium wp-image-8009 alignleft\" src=\"https:\/\/proetcon.de\/wp-content\/uploads\/2022\/02\/logo_cojac_schatten_vektorisiert.svg\" alt=\"Gr\u00fcnes Logo CoJaC-Tool\" width=\"300\" height=\"300\"><br>\nCoJaC ist unser Werkzeug zur Konver\u00adtie\u00adrung von histo\u00adri\u00adschen COBOL-Appli\u00ad\u00ad\u00adka\u00ad\u00adtio\u00ad\u00adnen in moderne Java-L\u00f6sun\u00ad\u00adgen. CoJaC generiert wartba\u00adren und perfor\u00adman\u00adten Java-Code, welcher seman\u00adtisch \u00e4quiva\u00adlent zum COBOL-Code ist.<br>\nDas Werkzeug erreicht bei der Konver\u00adtie\u00adrung einen Automa\u00adti\u00adsie\u00adrungs\u00adgrad von 95\u201399 %. CoJaC verbin\u00addet wissen\u00adschaft\u00adli\u00adches Know-how im Compi\u00adler\u00adbau mit Kernkom\u00adpe\u00adtenz aus erfolg\u00adrei\u00adchen Migrationsprojekten.<\/p>\n<\/div>\n\t\t<\/div><\/div><\/div><\/div><\/div><\/div><\/div><div id=\"panel-gb7600-69d6b0279483a-1-0-1\" class=\"so-panel widget widget_text\" data-index=\"2\"><div class=\"panel-widget-style panel-widget-style-for-gb7600-69d6b0279483a-1-0-1\">\t\t\t<div class=\"textwidget\"><h2>CoJaC-TECHNO\u00ad\u00adLO\u00ad\u00adGIE<\/h2>\n<p>F\u00fcr komplexe \u00dcberset\u00adzungs\u00advor\u00adg\u00e4nge wird der Einsatz spezi\u00adel\u00adler Konver\u00adtie\u00adrungs\u00adwerk\u00adzeuge, sogenann\u00adter Trans\u00adla\u00adto\u00adren notwen\u00addig. Trans\u00adla\u00adto\u00adren arbei\u00adten in Analo\u00adgie zu einem Compi\u00adler, der Quell\u00adpro\u00adgramme \u00fcber verschie\u00addene Zwischen\u00adstu\u00adfen in ausf\u00fchr\u00adba\u00adren Zielcode \u00fcbersetzt.<\/p>\n<p>CoJaC ist ein Trans\u00adla\u00adtor zur Konver\u00adtie\u00adrung von histo\u00adri\u00adschen COBOL-Appli\u00ad\u00ad\u00adka\u00ad\u00adtio\u00ad\u00adnen in moderne Java-L\u00f6sun\u00ad\u00adgen. F\u00fcr die Belange der Sprach\u00adkon\u00adver\u00adtie\u00adrung wurde dazu von uns das allge\u00admeine Compi\u00ad\u00adler-Modell zum Trans\u00adla\u00adtor\u00admo\u00addell weiterentwickelt:<\/p>\n<p><a href=\"https:\/\/proetcon.de\/wp-content\/uploads\/2021\/08\/translatormodell_cojac.svg\"><img decoding=\"async\" class=\"wp-image-5764 aligncenter\" src=\"https:\/\/proetcon.de\/wp-content\/uploads\/2021\/08\/translatormodell_cojac.svg\" alt width=\"800\"><\/a><\/p>\n<ul>\n<li><strong>FRONT-END:<\/strong> Liest das COBOL-Programm einschlie\u00df\u00adlich der dazuge\u00adh\u00f6\u00adri\u00adgen Copybooks ein und erzeugt daraus einen inter\u00adnen Syntax\u00adbaum, der das vollst\u00e4n\u00addige COBOL-Programm repr\u00e4sentiert.<\/li>\n<li><strong>TRANS\u00adFOR\u00adMA\u00adTOR:<\/strong> \u00dcberf\u00fchrt den COBOL-Syntax\u00ad\u00adbaum in einen \u00e4quiva\u00adlen\u00adten Java-Syntax\u00ad\u00adbaum. Die eigent\u00adli\u00adche Konver\u00adtie\u00adrung erfolgt auf der Basis von Syntax\u00adb\u00e4u\u00admen und nicht auf Basis von Quellcode.<\/li>\n<li><strong>POSTPRO\u00adZES\u00adSOR:<\/strong> Zerteilt den komple\u00adxen Java-Syntax\u00ad\u00adbaum in einzelne Syntax\u00adb\u00e4ume, welche die Programm\u00adstruk\u00adtur des zuk\u00fcnf\u00adti\u00adgen Java-Program\u00ad\u00admes repr\u00e4sentieren.<\/li>\n<li><strong>GENERATOR\/FORMATIERER:<\/strong> Generiert Java-Klassen und \u2011Packa\u00adges aus einzel\u00adnen Java-Syntax\u00ad\u00adb\u00e4u\u00ad\u00admen und forma\u00adtiert automa\u00adtisch den Source\u00adcode laut Kundenvorgaben.<\/li>\n<li><strong>BIBLIO\u00adTHE\u00adKEN:<\/strong> Erm\u00f6g\u00adli\u00adchen die Nutzung der COBOL-Daten\u00ad\u00ad\u00adty\u00ad\u00adpen und \u2011Funktio\u00adnen im konver\u00adtier\u00adten Java-Code, welche in Java nicht 1:1 existieren.<\/li>\n<\/ul>\n<\/div>\n\t\t<\/div><\/div><div id=\"panel-gb7600-69d6b0279483a-1-0-2\" class=\"so-panel widget widget_text panel-last-child\" data-index=\"3\"><div class=\"panel-widget-style panel-widget-style-for-gb7600-69d6b0279483a-1-0-2\">\t\t\t<div class=\"textwidget\"><h2>FEATURES<\/h2>\n<div>CoJaC zeich\u00adnet sich durch folgende Eigen\u00adschaf\u00adten&nbsp;aus:<\/div>\n<\/div>\n\t\t<\/div><\/div><\/div><\/div><\/div><div id=\"pg-gb7600-69d6b0279483a-2\" class=\"panel-grid panel-has-style\"><div class=\"panel-row-style panel-row-style-for-gb7600-69d6b0279483a-2\"><div id=\"pgc-gb7600-69d6b0279483a-2-0\" class=\"panel-grid-cell\"><div id=\"panel-gb7600-69d6b0279483a-2-0-0\" class=\"so-panel widget widget_text panel-first-child panel-last-child\" data-index=\"4\"><div class=\"panel-widget-style panel-widget-style-for-gb7600-69d6b0279483a-2-0-0\">\t\t\t<div class=\"textwidget\"><p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-8377\" src=\"https:\/\/proetcon.de\/wp-content\/uploads\/2022\/05\/cojac_feature1.png\" alt width=\"120\" height=\"120\" srcset=\"https:\/\/proetcon.de\/wp-content\/uploads\/2022\/05\/cojac_feature1.png 1000w, https:\/\/proetcon.de\/wp-content\/uploads\/2022\/05\/cojac_feature1-300x300.png 300w, https:\/\/proetcon.de\/wp-content\/uploads\/2022\/05\/cojac_feature1-150x150.png 150w, https:\/\/proetcon.de\/wp-content\/uploads\/2022\/05\/cojac_feature1-768x768.png 768w\" sizes=\"(max-width: 120px) 100vw, 120px\"><\/p>\n<p><\/p><center><strong>\u00dcbernahme der Quelltextkommentare&nbsp;<\/strong><br>\nQuell\u00adtext\u00adkom\u00admen\u00adtare werden automa\u00adtisch in den Zielcode eingebunden.<\/center>\n<\/div>\n\t\t<\/div><\/div><\/div><div id=\"pgc-gb7600-69d6b0279483a-2-1\" class=\"panel-grid-cell\"><div id=\"panel-gb7600-69d6b0279483a-2-1-0\" class=\"so-panel widget widget_text panel-first-child panel-last-child\" data-index=\"5\"><div class=\"panel-widget-style panel-widget-style-for-gb7600-69d6b0279483a-2-1-0\">\t\t\t<div class=\"textwidget\"><p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-8378\" src=\"https:\/\/proetcon.de\/wp-content\/uploads\/2022\/05\/cojac_feature2.png\" alt width=\"120\" height=\"120\" srcset=\"https:\/\/proetcon.de\/wp-content\/uploads\/2022\/05\/cojac_feature2.png 1000w, https:\/\/proetcon.de\/wp-content\/uploads\/2022\/05\/cojac_feature2-300x300.png 300w, https:\/\/proetcon.de\/wp-content\/uploads\/2022\/05\/cojac_feature2-150x150.png 150w, https:\/\/proetcon.de\/wp-content\/uploads\/2022\/05\/cojac_feature2-768x768.png 768w\" sizes=\"(max-width: 120px) 100vw, 120px\"><\/p>\n<p><\/p><center><strong>Struk\u00adtu\u00adrie\u00adrung des Zielcodes in Java-Klassen und \u2011Packa\u00adges<\/strong><br>\nDer Zielcode wird durch unser Werkzeug JPackage nach Kunden\u00advor\u00adgabe in Java-Klassen und \u2011Packa\u00adges strukturiert.<\/center>\n<\/div>\n\t\t<\/div><\/div><\/div><div id=\"pgc-gb7600-69d6b0279483a-2-2\" class=\"panel-grid-cell\"><div id=\"panel-gb7600-69d6b0279483a-2-2-0\" class=\"so-panel widget widget_text panel-first-child panel-last-child\" data-index=\"6\"><div class=\"panel-widget-style panel-widget-style-for-gb7600-69d6b0279483a-2-2-0\">\t\t\t<div class=\"textwidget\"><p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-8379\" src=\"https:\/\/proetcon.de\/wp-content\/uploads\/2022\/05\/cojac_feature3.png\" alt width=\"120\" height=\"120\" srcset=\"https:\/\/proetcon.de\/wp-content\/uploads\/2022\/05\/cojac_feature3.png 1000w, https:\/\/proetcon.de\/wp-content\/uploads\/2022\/05\/cojac_feature3-300x300.png 300w, https:\/\/proetcon.de\/wp-content\/uploads\/2022\/05\/cojac_feature3-150x150.png 150w, https:\/\/proetcon.de\/wp-content\/uploads\/2022\/05\/cojac_feature3-768x768.png 768w\" sizes=\"auto, (max-width: 120px) 100vw, 120px\"><\/p>\n<p><\/p><center><strong>Forma\u00adtie\u00adrung des generier\u00adten Java-Codes&nbsp;<\/strong><br>\nDer generierte Java-Code wird nutzer\u00adspe\u00adzi\u00adfisch formatiert.<\/center>\n<\/div>\n\t\t<\/div><\/div><\/div><div id=\"pgc-gb7600-69d6b0279483a-2-3\" class=\"panel-grid-cell\"><div id=\"panel-gb7600-69d6b0279483a-2-3-0\" class=\"so-panel widget widget_text panel-first-child panel-last-child\" data-index=\"7\"><div class=\"panel-widget-style panel-widget-style-for-gb7600-69d6b0279483a-2-3-0\">\t\t\t<div class=\"textwidget\"><p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-8380\" src=\"https:\/\/proetcon.de\/wp-content\/uploads\/2022\/05\/cojac_feature4.png\" alt width=\"120\" height=\"120\" srcset=\"https:\/\/proetcon.de\/wp-content\/uploads\/2022\/05\/cojac_feature4.png 1000w, https:\/\/proetcon.de\/wp-content\/uploads\/2022\/05\/cojac_feature4-300x300.png 300w, https:\/\/proetcon.de\/wp-content\/uploads\/2022\/05\/cojac_feature4-150x150.png 150w, https:\/\/proetcon.de\/wp-content\/uploads\/2022\/05\/cojac_feature4-768x768.png 768w\" sizes=\"auto, (max-width: 120px) 100vw, 120px\"><\/p>\n<p><\/p><center><strong>Unter\u00adst\u00fct\u00adzung verschie\u00adde\u00adner COBOL-Dialekte&nbsp;<\/strong><br>\nCoJaC unter\u00adst\u00fctzt verschie\u00addene COBOL-Dialekte (IBM, HPE NonStop, BS2000).<\/center>\n<\/div>\n\t\t<\/div><\/div><\/div><\/div><\/div><div id=\"pg-gb7600-69d6b0279483a-3\" class=\"panel-grid panel-no-style\"><div id=\"pgc-gb7600-69d6b0279483a-3-0\" class=\"panel-grid-cell\"><div id=\"panel-gb7600-69d6b0279483a-3-0-0\" class=\"so-panel widget widget_text panel-first-child\" data-index=\"8\"><div class=\"panel-widget-style panel-widget-style-for-gb7600-69d6b0279483a-3-0-0\">\t\t\t<div class=\"textwidget\"><h2>MIGRA\u00adTI\u00adONS\u00adPFADE<\/h2>\n<p>Die nachfol\u00adgende Tabelle zeigt beispiel\u00adhaft einige Migra\u00adti\u00adons\u00adpfade der Basis\u00adkom\u00adpo\u00adnen\u00adten in das entspre\u00adchende Migra\u00adti\u00adons\u00adziel&nbsp;auf:<\/p>\n<p><a href=\"https:\/\/proetcon.de\/wp-content\/uploads\/2021\/08\/cojac_migrationspfade.svg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-6205\" src=\"https:\/\/proetcon.de\/wp-content\/uploads\/2021\/08\/cojac_migrationspfade.svg\" alt width=\"800\" height=\"324\"><\/a><\/p>\n<\/div>\n\t\t<\/div><\/div><div id=\"panel-gb7600-69d6b0279483a-3-0-1\" class=\"so-panel widget widget_siteorigin-panels-builder\" data-index=\"9\"><div class=\"panel-widget-style panel-widget-style-for-gb7600-69d6b0279483a-3-0-1\"><div id=\"pl-w68ff636fc1465\" class=\"panel-layout wp-block-siteorigin-panels-layout-block\"><div id=\"pg-w68ff636fc1465-0\" class=\"panel-grid panel-no-style\"><div id=\"pgc-w68ff636fc1465-0-0\" class=\"panel-grid-cell\"><div id=\"panel-w68ff636fc1465-0-0-0\" class=\"so-panel widget widget_text panel-first-child\" data-index=\"0\">\t\t\t<div class=\"textwidget\"><h2>MIGRA\u00adTI\u00adONS\u00adASPEKTE<\/h2>\n<\/div>\n\t\t<\/div><div id=\"panel-w68ff636fc1465-0-0-1\" class=\"so-panel widget widget_sow-accordion panel-last-child\" data-index=\"1\"><div class=\"so-widget-sow-accordion so-widget-sow-accordion-default-79b21ae52b15\"><div>\n\t<div class=\"sow-accordion\">\n\t\t\t<div class=\"sow-accordion-panel\n\t\t\t\t\" data-anchor-id=\"architekturmigration\">\n\t\t\t\t<div class=\"sow-accordion-panel-header-container\" role=\"heading\" aria-level=\"2\">\n\t\t\t\t\t<div class=\"sow-accordion-panel-header\" tabindex=\"0\" role=\"button\" id=\"accordion-label-architekturmigration\" aria-controls=\"accordion-content-architekturmigration\" aria-expanded=\"false\">\n\t\t\t\t\t\t<div class=\"sow-accordion-title sow-accordion-title-icon-left\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<b>ARCHI\u00adTEK\u00adTUR\u00adMI\u00adGRA\u00adTION<\/b>\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<div class=\"sow-accordion-open-close-button\">\n\t\t\t\t\t\t\t<div class=\"sow-accordion-open-button\">\n\t\t\t\t\t\t\t\t<span class=\"sow-icon-ionicons\" data-sow-icon=\"\uf218\" aria-hidden=\"true\"><\/span>\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<div class=\"sow-accordion-close-button\">\n\t\t\t\t\t\t\t\t<span class=\"sow-icon-ionicons\" data-sow-icon=\"\uf209\" aria-hidden=\"true\"><\/span>\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\n\t\t\t<div class=\"sow-accordion-panel-content\" role=\"region\" aria-labelledby=\"accordion-label-architekturmigration\" id=\"accordion-content-architekturmigration\" style=\"display: none;\">\n\t\t\t\t<div class=\"sow-accordion-panel-border\">\n\t\t\t\t\t<p>Die Migration geht weit \u00fcber eine reine Programm\u00adtrans\u00adfor\u00adma\u00adtion hinaus und beinhal\u00adtet ebenso eine Archi\u00adtek\u00adtur\u00admi\u00adgra\u00adtion. Dabei ist es m\u00f6glich, die Zielar\u00adchi\u00adtek\u00adtur so zu w\u00e4hlen, dass sie sowohl auf einem lokalen Server als auch in der Cloud eines kommer\u00adzi\u00adel\u00adlen Anbie\u00adters betrie\u00adben werden kann:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-9738 aligncenter\" src=\"https:\/\/proetcon.de\/wp-content\/uploads\/2023\/06\/cojac_architekturmigration.svg\" alt width=\"700\" height=\"612\"><\/p>\n<p>Die Grafik skizziert beispiel\u00adhaft die Archi\u00adtek\u00adtur einer typischen COBOL-Appli\u00adka\u00adtion und das daraus resul\u00adtie\u00adrende Java-Zielsystem.<\/p>\n<ul class=\"sectionlist\">\n<li><b>COBOL-Server-Programme<\/b> werden als Webser\u00advices im Java-Zielsys\u00adtem bereitgestellt.<\/li>\n<li><b>COBOL-Batch-Programme<\/b> werden in autonome Java-Programme transformiert.<\/li>\n<\/ul>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t<div class=\"sow-accordion-panel\n\t\t\t\t\" data-anchor-id=\"cloud-migration\">\n\t\t\t\t<div class=\"sow-accordion-panel-header-container\" role=\"heading\" aria-level=\"2\">\n\t\t\t\t\t<div class=\"sow-accordion-panel-header\" tabindex=\"0\" role=\"button\" id=\"accordion-label-cloud-migration\" aria-controls=\"accordion-content-cloud-migration\" aria-expanded=\"false\">\n\t\t\t\t\t\t<div class=\"sow-accordion-title sow-accordion-title-icon-left\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<b>CLOUD-MIGRATION<\/b>\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<div class=\"sow-accordion-open-close-button\">\n\t\t\t\t\t\t\t<div class=\"sow-accordion-open-button\">\n\t\t\t\t\t\t\t\t<span class=\"sow-icon-ionicons\" data-sow-icon=\"\uf218\" aria-hidden=\"true\"><\/span>\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<div class=\"sow-accordion-close-button\">\n\t\t\t\t\t\t\t\t<span class=\"sow-icon-ionicons\" data-sow-icon=\"\uf209\" aria-hidden=\"true\"><\/span>\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\n\t\t\t<div class=\"sow-accordion-panel-content\" role=\"region\" aria-labelledby=\"accordion-label-cloud-migration\" id=\"accordion-content-cloud-migration\" style=\"display: none;\">\n\t\t\t\t<div class=\"sow-accordion-panel-border\">\n\t\t\t\t\tDas durch die Migration erstellte Zielsys\u00adtem l\u00e4sst sich auch in einer belie\u00adbi\u00adgen Cloud-Umgebung betrei\u00adben. In der Variante Infra\u00adstruc\u00adture as a Service (IaaS) ist der Betrieb de facto analog zu einer L\u00f6sung mit einem lokalen Server. Werden f\u00fcr die Einzel\u00adkom\u00adpo\u00adnen\u00adten Migra\u00adti\u00adons\u00adziele gew\u00e4hlt, die vom Cloud-Anbie\u00adter angebo\u00adten werden, ist auch Platform as a Service (SaaS) m\u00f6glich. Sofern sich bestimmte Teile aus dem ehema\u00adli\u00adgen COBOL-System extra\u00adhie\u00adren lassen, ist ein Betrieb dieser Subsys\u00adteme im Modus Software as a Service (Saas) ebenfalls denkbar. Die Optio\u00adnen und die Wahl des Betriebs\u00admo\u00addus sind stark abh\u00e4n\u00adgig vom Quell\u00adsys\u00adtem. Es gibt aber f\u00fcr jede migrierte Anwen\u00addung M\u00f6glich\u00adkei\u00adten, diese in einer Cloud zu betreiben.&nbsp;<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-9868 size-large\" src=\"https:\/\/proetcon.de\/wp-content\/uploads\/2023\/07\/cloud_migration-1024x744.png\" alt=\"Cloud-Migration - Self-Service und Managed Services\" width=\"1024\" height=\"744\" srcset=\"https:\/\/proetcon.de\/wp-content\/uploads\/2023\/07\/cloud_migration-1024x744.png 1024w, https:\/\/proetcon.de\/wp-content\/uploads\/2023\/07\/cloud_migration-300x218.png 300w, https:\/\/proetcon.de\/wp-content\/uploads\/2023\/07\/cloud_migration-768x558.png 768w, https:\/\/proetcon.de\/wp-content\/uploads\/2023\/07\/cloud_migration-1536x1116.png 1536w, https:\/\/proetcon.de\/wp-content\/uploads\/2023\/07\/cloud_migration-2048x1488.png 2048w, https:\/\/proetcon.de\/wp-content\/uploads\/2023\/07\/cloud_migration-1320x959.png 1320w\" sizes=\"(max-width: 1024px) 100vw, 1024px\">\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t<div class=\"sow-accordion-panel\n\t\t\t\t\" data-anchor-id=\"cojac-bibliotheken\">\n\t\t\t\t<div class=\"sow-accordion-panel-header-container\" role=\"heading\" aria-level=\"2\">\n\t\t\t\t\t<div class=\"sow-accordion-panel-header\" tabindex=\"0\" role=\"button\" id=\"accordion-label-cojac-bibliotheken\" aria-controls=\"accordion-content-cojac-bibliotheken\" aria-expanded=\"false\">\n\t\t\t\t\t\t<div class=\"sow-accordion-title sow-accordion-title-icon-left\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<b>CoJaC-BIBLIO\u00adTHE\u00adKEN<\/b>\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<div class=\"sow-accordion-open-close-button\">\n\t\t\t\t\t\t\t<div class=\"sow-accordion-open-button\">\n\t\t\t\t\t\t\t\t<span class=\"sow-icon-ionicons\" data-sow-icon=\"\uf218\" aria-hidden=\"true\"><\/span>\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<div class=\"sow-accordion-close-button\">\n\t\t\t\t\t\t\t\t<span class=\"sow-icon-ionicons\" data-sow-icon=\"\uf209\" aria-hidden=\"true\"><\/span>\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\n\t\t\t<div class=\"sow-accordion-panel-content\" role=\"region\" aria-labelledby=\"accordion-label-cojac-bibliotheken\" id=\"accordion-content-cojac-bibliotheken\" style=\"display: none;\">\n\t\t\t\t<div class=\"sow-accordion-panel-border\">\n\t\t\t\t\t<p>Die Biblio\u00adthe\u00adken stellen in der Java-Zielum\u00adge\u00adbung Klassen f\u00fcr die Abarbei\u00adtung der migrier\u00adten Programme zur Verf\u00fc\u00adgung. Dazu geh\u00f6ren Klassen f\u00fcr die COBOL-Daten\u00adty\u00adpen (numeri\u00adsche und alpha\u00adnu\u00adme\u00adri\u00adsche Daten) und Basis\u00adklas\u00adsen f\u00fcr Arrays und Struk\u00adtu\u00adren. Weiter\u00adhin existie\u00adren Metho\u00adden, welche die Funktio\u00adna\u00adli\u00adt\u00e4t von COBOL-Anwei\u00adsun\u00adgen imple\u00admen\u00adtie\u00adren, f\u00fcr die in Java keine nativen Anwei\u00adsun\u00adgen existie\u00adren (z.B. <code>STRING<\/code> und <code>INSPECT<\/code>). Weitere Bestand\u00adteile sind stati\u00adsche Metho\u00adden zur Abbil\u00addung der Intrin\u00adsic Functions, Metho\u00adden f\u00fcr die Typkon\u00adver\u00adtie\u00adrung und Klassen, welche die Funktio\u00adna\u00adli\u00adt\u00e4t der Schnitt\u00adstel\u00adlen (Files, SQL, Middle\u00adware) bereit\u00adstel\u00adlen. Die Biblio\u00adthe\u00adken bilden die Grund\u00adlage f\u00fcr einen kompak\u00adten, wartba\u00adren Java-Code.<\/p>\n<p>Beispiele f\u00fcr die Anwen\u00addung der CoJaC-Bibliotheken:<\/p>\n<div id=\"attachment_2400\" style=\"width: 370px\" class=\"wp-caption alignleft\"><a href=\"https:\/\/proetcon.de\/wp-content\/uploads\/2021\/02\/cojac_calltest_ci.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-2400\" class=\"wp-image-2400\" src=\"https:\/\/proetcon.de\/wp-content\/uploads\/2021\/02\/cojac_calltest_ci.png\" alt=\"Beispiel f\u00fcr die Migration von CALL-Statements\" width=\"360\" height=\"237\" srcset=\"https:\/\/proetcon.de\/wp-content\/uploads\/2021\/02\/cojac_calltest_ci.png 3792w, https:\/\/proetcon.de\/wp-content\/uploads\/2021\/02\/cojac_calltest_ci-300x198.png 300w, https:\/\/proetcon.de\/wp-content\/uploads\/2021\/02\/cojac_calltest_ci-1024x675.png 1024w, https:\/\/proetcon.de\/wp-content\/uploads\/2021\/02\/cojac_calltest_ci-768x506.png 768w, https:\/\/proetcon.de\/wp-content\/uploads\/2021\/02\/cojac_calltest_ci-1536x1013.png 1536w, https:\/\/proetcon.de\/wp-content\/uploads\/2021\/02\/cojac_calltest_ci-2048x1350.png 2048w, https:\/\/proetcon.de\/wp-content\/uploads\/2021\/02\/cojac_calltest_ci-1320x870.png 1320w\" sizes=\"(max-width: 360px) 100vw, 360px\"><\/a><p id=\"caption-attachment-2400\" class=\"wp-caption-text\">Beispiel f\u00fcr die Migration von CALL-Statements<\/p><\/div>\n<div id=\"attachment_2399\" style=\"width: 370px\" class=\"wp-caption alignleft\"><a href=\"https:\/\/proetcon.de\/wp-content\/uploads\/2021\/02\/cojac_calctest.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-2399\" class=\"wp-image-2399\" src=\"https:\/\/proetcon.de\/wp-content\/uploads\/2021\/02\/cojac_calctest.png\" alt=\"Beispiel f\u00fcr die Migration von COMPUTE- und ADD-Statements\" width=\"360\" height=\"237\" srcset=\"https:\/\/proetcon.de\/wp-content\/uploads\/2021\/02\/cojac_calctest.png 3792w, https:\/\/proetcon.de\/wp-content\/uploads\/2021\/02\/cojac_calctest-300x198.png 300w, https:\/\/proetcon.de\/wp-content\/uploads\/2021\/02\/cojac_calctest-1024x675.png 1024w, https:\/\/proetcon.de\/wp-content\/uploads\/2021\/02\/cojac_calctest-768x506.png 768w, https:\/\/proetcon.de\/wp-content\/uploads\/2021\/02\/cojac_calctest-1536x1013.png 1536w, https:\/\/proetcon.de\/wp-content\/uploads\/2021\/02\/cojac_calctest-2048x1350.png 2048w, https:\/\/proetcon.de\/wp-content\/uploads\/2021\/02\/cojac_calctest-1320x870.png 1320w\" sizes=\"(max-width: 360px) 100vw, 360px\"><\/a><p id=\"caption-attachment-2399\" class=\"wp-caption-text\">Beispiel f\u00fcr die Migration von COMPUTE- und ADD-Statements<\/p><\/div>\n<div id=\"attachment_2398\" style=\"width: 370px\" class=\"wp-caption alignleft\"><a href=\"https:\/\/proetcon.de\/wp-content\/uploads\/2021\/02\/cojac_agetest_ci.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-2398\" class=\"wp-image-2398\" src=\"https:\/\/proetcon.de\/wp-content\/uploads\/2021\/02\/cojac_agetest_ci.png\" alt=\"Beispiel f\u00fcr die Migration von 88er Stufen\" width=\"360\" height=\"237\" srcset=\"https:\/\/proetcon.de\/wp-content\/uploads\/2021\/02\/cojac_agetest_ci.png 3792w, https:\/\/proetcon.de\/wp-content\/uploads\/2021\/02\/cojac_agetest_ci-300x198.png 300w, https:\/\/proetcon.de\/wp-content\/uploads\/2021\/02\/cojac_agetest_ci-1024x675.png 1024w, https:\/\/proetcon.de\/wp-content\/uploads\/2021\/02\/cojac_agetest_ci-768x506.png 768w, https:\/\/proetcon.de\/wp-content\/uploads\/2021\/02\/cojac_agetest_ci-1536x1013.png 1536w, https:\/\/proetcon.de\/wp-content\/uploads\/2021\/02\/cojac_agetest_ci-2048x1350.png 2048w, https:\/\/proetcon.de\/wp-content\/uploads\/2021\/02\/cojac_agetest_ci-1320x870.png 1320w\" sizes=\"(max-width: 360px) 100vw, 360px\"><\/a><p id=\"caption-attachment-2398\" class=\"wp-caption-text\">Beispiel f\u00fcr die Migration von 88er Stufen<\/p><\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t<div class=\"sow-accordion-panel\n\t\t\t\t\" data-anchor-id=\"middleware-migration\">\n\t\t\t\t<div class=\"sow-accordion-panel-header-container\" role=\"heading\" aria-level=\"2\">\n\t\t\t\t\t<div class=\"sow-accordion-panel-header\" tabindex=\"0\" role=\"button\" id=\"accordion-label-middleware-migration\" aria-controls=\"accordion-content-middleware-migration\" aria-expanded=\"false\">\n\t\t\t\t\t\t<div class=\"sow-accordion-title sow-accordion-title-icon-left\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<b>MIDDLE\u00adWARE-MIGRATION<\/b>\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<div class=\"sow-accordion-open-close-button\">\n\t\t\t\t\t\t\t<div class=\"sow-accordion-open-button\">\n\t\t\t\t\t\t\t\t<span class=\"sow-icon-ionicons\" data-sow-icon=\"\uf218\" aria-hidden=\"true\"><\/span>\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<div class=\"sow-accordion-close-button\">\n\t\t\t\t\t\t\t\t<span class=\"sow-icon-ionicons\" data-sow-icon=\"\uf209\" aria-hidden=\"true\"><\/span>\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\n\t\t\t<div class=\"sow-accordion-panel-content\" role=\"region\" aria-labelledby=\"accordion-label-middleware-migration\" id=\"accordion-content-middleware-migration\" style=\"display: none;\">\n\t\t\t\t<div class=\"sow-accordion-panel-border\">\n\t\t\t\t\t<p>COBOL-Server, die unter der Steue\u00adrung einer Middle\u00adware (eines Trans\u00adak\u00adti\u00adons\u00admo\u00adni\u00adtors) arbei\u00adten, werden von CoJaC in Java-Webser\u00advices \u00fcbersetzt und in einen Appli\u00adca\u00adtion Server integriert. Dabei werden Middle\u00adware-spezi\u00adfi\u00adsche Daten und Anwei\u00adsun\u00adgen entfernt bzw. durch entspre\u00adchende Webser\u00advice-Funktio\u00adna\u00adli\u00adt\u00e4t ersetzt. Die Schnitt\u00adstelle \u00e4ndert sich dabei inhalt\u00adlich nicht. Die Webser\u00advices verar\u00adbei\u00adten die gleichen Messa\u00adges wie vorher die COBOL-Server. Notwen\u00addige Konver\u00adtie\u00adrun\u00adgen kapseln die Biblio\u00adthe\u00adken, welche auch die Verwal\u00adtung der Trans\u00adak\u00adtio\u00adnen \u00fcberneh\u00admen. Unser Werkzeug MidaS (Middle\u00adware as a Service) ist eine schlanke Alter\u00adna\u00adtive zu kommer\u00adzi\u00adel\u00adlen Syste\u00admen. MidaS stellt ein genau auf die migrier\u00adten Online-Programme zugeschnit\u00adte\u00adnes Inter\u00adface bereit und ist leicht in eine Java-Server\u00adland\u00adschaft integrierbar.<\/p>\n<p>Beispiel f\u00fcr die Middleware-Migration:<\/p>\n<div id=\"attachment_2401\" style=\"width: 370px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/proetcon.de\/wp-content\/uploads\/2021\/02\/cojac_csimpsrv_ci.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-2401\" class=\"wp-image-2401\" src=\"https:\/\/proetcon.de\/wp-content\/uploads\/2021\/02\/cojac_csimpsrv_ci.png\" alt=\"Beispiel f\u00fcr die Migration eines die Middleware nutzenden COBOL-Servers in einen Webservice\" width=\"360\" height=\"237\" srcset=\"https:\/\/proetcon.de\/wp-content\/uploads\/2021\/02\/cojac_csimpsrv_ci.png 3792w, https:\/\/proetcon.de\/wp-content\/uploads\/2021\/02\/cojac_csimpsrv_ci-300x198.png 300w, https:\/\/proetcon.de\/wp-content\/uploads\/2021\/02\/cojac_csimpsrv_ci-1024x675.png 1024w, https:\/\/proetcon.de\/wp-content\/uploads\/2021\/02\/cojac_csimpsrv_ci-768x506.png 768w, https:\/\/proetcon.de\/wp-content\/uploads\/2021\/02\/cojac_csimpsrv_ci-1536x1013.png 1536w, https:\/\/proetcon.de\/wp-content\/uploads\/2021\/02\/cojac_csimpsrv_ci-2048x1350.png 2048w, https:\/\/proetcon.de\/wp-content\/uploads\/2021\/02\/cojac_csimpsrv_ci-1320x870.png 1320w\" sizes=\"(max-width: 360px) 100vw, 360px\"><\/a><p id=\"caption-attachment-2401\" class=\"wp-caption-text\">Beispiel f\u00fcr die Migration eines die Middle\u00adware nutzen\u00adden COBOL-Servers in einen Webservice<\/p><\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t<div class=\"sow-accordion-panel\n\t\t\t\t\" data-anchor-id=\"file-migration\">\n\t\t\t\t<div class=\"sow-accordion-panel-header-container\" role=\"heading\" aria-level=\"2\">\n\t\t\t\t\t<div class=\"sow-accordion-panel-header\" tabindex=\"0\" role=\"button\" id=\"accordion-label-file-migration\" aria-controls=\"accordion-content-file-migration\" aria-expanded=\"false\">\n\t\t\t\t\t\t<div class=\"sow-accordion-title sow-accordion-title-icon-left\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<b>FILE-MIGRATION<\/b>\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<div class=\"sow-accordion-open-close-button\">\n\t\t\t\t\t\t\t<div class=\"sow-accordion-open-button\">\n\t\t\t\t\t\t\t\t<span class=\"sow-icon-ionicons\" data-sow-icon=\"\uf218\" aria-hidden=\"true\"><\/span>\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<div class=\"sow-accordion-close-button\">\n\t\t\t\t\t\t\t\t<span class=\"sow-icon-ionicons\" data-sow-icon=\"\uf209\" aria-hidden=\"true\"><\/span>\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\n\t\t\t<div class=\"sow-accordion-panel-content\" role=\"region\" aria-labelledby=\"accordion-label-file-migration\" id=\"accordion-content-file-migration\" style=\"display: none;\">\n\t\t\t\t<div class=\"sow-accordion-panel-border\">\n\t\t\t\t\t<p><a href=\"https:\/\/proetcon.de\/index.php\/software-migration\/technologien-und-werkzeuge\/fire\/\"><img loading=\"lazy\" decoding=\"async\" class=\"alignright wp-image-6627 size-medium\" src=\"https:\/\/proetcon.de\/wp-content\/uploads\/2021\/09\/logo_fire.svg\" alt=\"pro et con Software Migration Tool FiRe Files to Relational Database\" width=\"300\" height=\"300\"><\/a>Die in COBOL verwen\u00adde\u00adten Daten\u00adfiles werden bei der Migration mit unserem Werkzeug <a href=\"https:\/\/proetcon.de\/index.php\/software-migration\/technologien-und-werkzeuge\/fire\/\">FiRe<\/a> in relatio\u00adnale Daten\u00adbank\u00adta\u00adbel\u00adlen umgesetzt. Dabei werden die verschie\u00adde\u00adnen Organi\u00adsa\u00adti\u00adons\u00adfor\u00admen und Zugriffs\u00adme\u00adtho\u00adden ber\u00fcck\u00adsich\u00adtigt. In den konver\u00adtier\u00adten Java-Program\u00admen wird unter Nutzung von Metho\u00adden, welche die Biblio\u00adthe\u00adken bereit\u00adstel\u00adlen, auf die Daten\u00adbank\u00adta\u00adbel\u00adlen zugegrif\u00adfen. Diese Metho\u00adden emulie\u00adren die origi\u00adna\u00adlen COBOL-Anwei\u00adsun\u00adgen zur File-Arbeit (<code>OPEN<\/code>, <code>READ<\/code>, <code>READ NEXT<\/code>, <code>CLOSE<\/code>, \u2026).<\/p>\n<p>Beispiele f\u00fcr die File-Migration:<\/p>\n<div id=\"attachment_2410\" style=\"width: 370px\" class=\"wp-caption alignleft\"><a href=\"https:\/\/proetcon.de\/wp-content\/uploads\/2021\/02\/cojac_filehandling_struktur_ci.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-2410\" class=\"wp-image-2410\" src=\"https:\/\/proetcon.de\/wp-content\/uploads\/2021\/02\/cojac_filehandling_struktur_ci.png\" alt=\"Beispiel f\u00fcr die Migration der File-Definition und -Satzstruktur\" width=\"360\" height=\"237\" srcset=\"https:\/\/proetcon.de\/wp-content\/uploads\/2021\/02\/cojac_filehandling_struktur_ci.png 3792w, https:\/\/proetcon.de\/wp-content\/uploads\/2021\/02\/cojac_filehandling_struktur_ci-300x198.png 300w, https:\/\/proetcon.de\/wp-content\/uploads\/2021\/02\/cojac_filehandling_struktur_ci-1024x675.png 1024w, https:\/\/proetcon.de\/wp-content\/uploads\/2021\/02\/cojac_filehandling_struktur_ci-768x506.png 768w, https:\/\/proetcon.de\/wp-content\/uploads\/2021\/02\/cojac_filehandling_struktur_ci-1536x1013.png 1536w, https:\/\/proetcon.de\/wp-content\/uploads\/2021\/02\/cojac_filehandling_struktur_ci-2048x1350.png 2048w, https:\/\/proetcon.de\/wp-content\/uploads\/2021\/02\/cojac_filehandling_struktur_ci-1320x870.png 1320w\" sizes=\"(max-width: 360px) 100vw, 360px\"><\/a><p id=\"caption-attachment-2410\" class=\"wp-caption-text\">Beispiel f\u00fcr die Migration der File-Defini\u00adtion und \u2011Satzstruk\u00adtur<\/p><\/div>\n<div id=\"attachment_2409\" style=\"width: 370px\" class=\"wp-caption alignleft\"><a href=\"https:\/\/proetcon.de\/wp-content\/uploads\/2021\/02\/cojac_filehandling_program_ci.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-2409\" class=\"wp-image-2409\" src=\"https:\/\/proetcon.de\/wp-content\/uploads\/2021\/02\/cojac_filehandling_program_ci.png\" alt=\"Beispiel f\u00fcr die Migration der File-Zugriffe\" width=\"360\" height=\"237\" srcset=\"https:\/\/proetcon.de\/wp-content\/uploads\/2021\/02\/cojac_filehandling_program_ci.png 3792w, https:\/\/proetcon.de\/wp-content\/uploads\/2021\/02\/cojac_filehandling_program_ci-300x198.png 300w, https:\/\/proetcon.de\/wp-content\/uploads\/2021\/02\/cojac_filehandling_program_ci-1024x675.png 1024w, https:\/\/proetcon.de\/wp-content\/uploads\/2021\/02\/cojac_filehandling_program_ci-768x506.png 768w, https:\/\/proetcon.de\/wp-content\/uploads\/2021\/02\/cojac_filehandling_program_ci-1536x1013.png 1536w, https:\/\/proetcon.de\/wp-content\/uploads\/2021\/02\/cojac_filehandling_program_ci-2048x1350.png 2048w, https:\/\/proetcon.de\/wp-content\/uploads\/2021\/02\/cojac_filehandling_program_ci-1320x870.png 1320w\" sizes=\"(max-width: 360px) 100vw, 360px\"><\/a><p id=\"caption-attachment-2409\" class=\"wp-caption-text\">Beispiel f\u00fcr die Migration der File-Zugriffe<\/p><\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t<div class=\"sow-accordion-panel\n\t\t\t\t\" data-anchor-id=\"migration-von-embedded-sql\">\n\t\t\t\t<div class=\"sow-accordion-panel-header-container\" role=\"heading\" aria-level=\"2\">\n\t\t\t\t\t<div class=\"sow-accordion-panel-header\" tabindex=\"0\" role=\"button\" id=\"accordion-label-migration-von-embedded-sql\" aria-controls=\"accordion-content-migration-von-embedded-sql\" aria-expanded=\"false\">\n\t\t\t\t\t\t<div class=\"sow-accordion-title sow-accordion-title-icon-left\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<b>MIGRATION VON EMBEDDED SQL<\/b>\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<div class=\"sow-accordion-open-close-button\">\n\t\t\t\t\t\t\t<div class=\"sow-accordion-open-button\">\n\t\t\t\t\t\t\t\t<span class=\"sow-icon-ionicons\" data-sow-icon=\"\uf218\" aria-hidden=\"true\"><\/span>\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<div class=\"sow-accordion-close-button\">\n\t\t\t\t\t\t\t\t<span class=\"sow-icon-ionicons\" data-sow-icon=\"\uf209\" aria-hidden=\"true\"><\/span>\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\n\t\t\t<div class=\"sow-accordion-panel-content\" role=\"region\" aria-labelledby=\"accordion-label-migration-von-embedded-sql\" id=\"accordion-content-migration-von-embedded-sql\" style=\"display: none;\">\n\t\t\t\t<div class=\"sow-accordion-panel-border\">\n\t\t\t\t\t<p>Stati\u00adsche SQL-Anwei\u00adsun\u00adgen, die in den COBOL-Quell\u00adtext einge\u00adbet\u00adtet sind, werden von CoJaC in dynami\u00adsche SQL-Anwei\u00adsun\u00adgen konver\u00adtiert. In die Java-Biblio\u00adthe\u00adken wurden Metho\u00adden zur Verwal\u00adtung der Daten\u00adbank\u00adver\u00adbin\u00addung, zum Daten\u00adbank\u00adzu\u00adgriff, zum Lesen und Schrei\u00adben von Daten in die Hostva\u00adria\u00adblen sowie zur Fehler\u00adbe\u00adhand\u00adlung integriert, welche die im Basis\u00adsys\u00adtem vorhan\u00addene Funktio\u00adna\u00adli\u00adt\u00e4t abbil\u00adden. Mit dem \u00dcbergang zu dynami\u00adschem SQL sind erfah\u00adrungs\u00adge\u00adm\u00e4\u00df keine Laufzeit\u00adnach\u00adteile verbun\u00adden. Gleich\u00adzei\u00adtig wird die flexi\u00adble Erstel\u00adlung und \u00c4nderung von SQL-Anwei\u00adsun\u00adgen erm\u00f6glicht.<\/p>\n<p>Beispiele f\u00fcr die Migration von Embedded SQL:<\/p>\n<div id=\"attachment_2415\" style=\"width: 370px\" class=\"wp-caption alignleft\"><a href=\"https:\/\/proetcon.de\/wp-content\/uploads\/2021\/02\/cojac_sql_select_ci.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-2415\" class=\"wp-image-2415\" src=\"https:\/\/proetcon.de\/wp-content\/uploads\/2021\/02\/cojac_sql_select_ci.png\" alt=\"Beispiel f\u00fcr die Migration eines SELECT-Statements mit Eingabe- und Ausgabe-Hostvariablen\" width=\"360\" height=\"200\" srcset=\"https:\/\/proetcon.de\/wp-content\/uploads\/2021\/02\/cojac_sql_select_ci.png 4500w, https:\/\/proetcon.de\/wp-content\/uploads\/2021\/02\/cojac_sql_select_ci-300x167.png 300w, https:\/\/proetcon.de\/wp-content\/uploads\/2021\/02\/cojac_sql_select_ci-1024x569.png 1024w, https:\/\/proetcon.de\/wp-content\/uploads\/2021\/02\/cojac_sql_select_ci-768x427.png 768w, https:\/\/proetcon.de\/wp-content\/uploads\/2021\/02\/cojac_sql_select_ci-1536x853.png 1536w, https:\/\/proetcon.de\/wp-content\/uploads\/2021\/02\/cojac_sql_select_ci-2048x1138.png 2048w, https:\/\/proetcon.de\/wp-content\/uploads\/2021\/02\/cojac_sql_select_ci-1320x733.png 1320w\" sizes=\"(max-width: 360px) 100vw, 360px\"><\/a><p id=\"caption-attachment-2415\" class=\"wp-caption-text\">Beispiel f\u00fcr die Migration eines SELECT-State\u00adments mit Eingabe- und Ausgabe-Hostvariablen<\/p><\/div>\n<div id=\"attachment_2414\" style=\"width: 370px\" class=\"wp-caption alignleft\"><a href=\"https:\/\/proetcon.de\/wp-content\/uploads\/2021\/02\/cojac_sql_insert_ci.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-2414\" class=\"wp-image-2414\" src=\"https:\/\/proetcon.de\/wp-content\/uploads\/2021\/02\/cojac_sql_insert_ci.png\" alt=\"Beispiel f\u00fcr die Migration eines INSERT-Statements\" width=\"360\" height=\"200\" srcset=\"https:\/\/proetcon.de\/wp-content\/uploads\/2021\/02\/cojac_sql_insert_ci.png 4500w, https:\/\/proetcon.de\/wp-content\/uploads\/2021\/02\/cojac_sql_insert_ci-300x167.png 300w, https:\/\/proetcon.de\/wp-content\/uploads\/2021\/02\/cojac_sql_insert_ci-1024x569.png 1024w, https:\/\/proetcon.de\/wp-content\/uploads\/2021\/02\/cojac_sql_insert_ci-768x427.png 768w, https:\/\/proetcon.de\/wp-content\/uploads\/2021\/02\/cojac_sql_insert_ci-1536x853.png 1536w, https:\/\/proetcon.de\/wp-content\/uploads\/2021\/02\/cojac_sql_insert_ci-2048x1138.png 2048w, https:\/\/proetcon.de\/wp-content\/uploads\/2021\/02\/cojac_sql_insert_ci-1320x733.png 1320w\" sizes=\"(max-width: 360px) 100vw, 360px\"><\/a><p id=\"caption-attachment-2414\" class=\"wp-caption-text\">Beispiel f\u00fcr die Migration eines INSERT-Statements<\/p><\/div>\n<div id=\"attachment_2413\" style=\"width: 370px\" class=\"wp-caption alignleft\"><a href=\"https:\/\/proetcon.de\/wp-content\/uploads\/2021\/02\/cojac_sql_cursor_ci.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-2413\" class=\"wp-image-2413\" src=\"https:\/\/proetcon.de\/wp-content\/uploads\/2021\/02\/cojac_sql_cursor_ci.png\" alt=\"Beispiel f\u00fcr die Migration von Cursor-Handling-Statements\" width=\"360\" height=\"200\" srcset=\"https:\/\/proetcon.de\/wp-content\/uploads\/2021\/02\/cojac_sql_cursor_ci.png 4500w, https:\/\/proetcon.de\/wp-content\/uploads\/2021\/02\/cojac_sql_cursor_ci-300x167.png 300w, https:\/\/proetcon.de\/wp-content\/uploads\/2021\/02\/cojac_sql_cursor_ci-1024x569.png 1024w, https:\/\/proetcon.de\/wp-content\/uploads\/2021\/02\/cojac_sql_cursor_ci-768x427.png 768w, https:\/\/proetcon.de\/wp-content\/uploads\/2021\/02\/cojac_sql_cursor_ci-1536x853.png 1536w, https:\/\/proetcon.de\/wp-content\/uploads\/2021\/02\/cojac_sql_cursor_ci-2048x1138.png 2048w, https:\/\/proetcon.de\/wp-content\/uploads\/2021\/02\/cojac_sql_cursor_ci-1320x733.png 1320w\" sizes=\"(max-width: 360px) 100vw, 360px\"><\/a><p id=\"caption-attachment-2413\" class=\"wp-caption-text\">Beispiel f\u00fcr die Migration von Cursor-Handling-Statements<\/p><\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t<div class=\"sow-accordion-panel\n\t\t\t\t\" data-anchor-id=\"migration-der-bildschirmmasken\">\n\t\t\t\t<div class=\"sow-accordion-panel-header-container\" role=\"heading\" aria-level=\"2\">\n\t\t\t\t\t<div class=\"sow-accordion-panel-header\" tabindex=\"0\" role=\"button\" id=\"accordion-label-migration-der-bildschirmmasken\" aria-controls=\"accordion-content-migration-der-bildschirmmasken\" aria-expanded=\"false\">\n\t\t\t\t\t\t<div class=\"sow-accordion-title sow-accordion-title-icon-left\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<b>MIGRATION DER BILDSCHIRMMASKEN<\/b>\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<div class=\"sow-accordion-open-close-button\">\n\t\t\t\t\t\t\t<div class=\"sow-accordion-open-button\">\n\t\t\t\t\t\t\t\t<span class=\"sow-icon-ionicons\" data-sow-icon=\"\uf218\" aria-hidden=\"true\"><\/span>\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<div class=\"sow-accordion-close-button\">\n\t\t\t\t\t\t\t\t<span class=\"sow-icon-ionicons\" data-sow-icon=\"\uf209\" aria-hidden=\"true\"><\/span>\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\n\t\t\t<div class=\"sow-accordion-panel-content\" role=\"region\" aria-labelledby=\"accordion-label-migration-der-bildschirmmasken\" id=\"accordion-content-migration-der-bildschirmmasken\" style=\"display: none;\">\n\t\t\t\t<div class=\"sow-accordion-panel-border\">\n\t\t\t\t\t<p><a href=\"https:\/\/proetcon.de\/index.php\/software-migration\/technologien-und-werkzeuge\/matrix\/\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-2615 alignright\" src=\"https:\/\/proetcon.de\/wp-content\/uploads\/2021\/03\/matrix_testlogo_ci.png.jpg\" alt width=\"296\" height=\"107\" srcset=\"https:\/\/proetcon.de\/wp-content\/uploads\/2021\/03\/matrix_testlogo_ci.png.jpg 1500w, https:\/\/proetcon.de\/wp-content\/uploads\/2021\/03\/matrix_testlogo_ci.png-300x109.jpg 300w, https:\/\/proetcon.de\/wp-content\/uploads\/2021\/03\/matrix_testlogo_ci.png-1024x371.jpg 1024w, https:\/\/proetcon.de\/wp-content\/uploads\/2021\/03\/matrix_testlogo_ci.png-768x278.jpg 768w\" sizes=\"(max-width: 296px) 100vw, 296px\"><\/a>Die Migration der ASCII-Masken in Webober\u00adfl\u00e4\u00adchen erfolgt mit unserem Werkzeug <a href=\"https:\/\/proetcon.de\/index.php\/software-migration\/technologien-und-werkzeuge\/matrix\/\">MaTriX<\/a>. In MaTriX integriert ist ein sogenann\u00adter Masken\u00adser\u00adver, der den Infor\u00adma\u00adti\u00adons\u00adaus\u00adtausch zwischen den Masken und den Webser\u00advices \u00fcber Messa\u00adges koordiniert.<\/p>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t<\/div>\n<\/div>\n<\/div><\/div><\/div><\/div><\/div><\/div><\/div><div id=\"panel-gb7600-69d6b0279483a-3-0-2\" class=\"so-panel widget widget_siteorigin-panels-builder panel-last-child\" data-index=\"10\"><div class=\"panel-widget-style panel-widget-style-for-gb7600-69d6b0279483a-3-0-2\"><div id=\"pl-w6970a133d01da\" class=\"panel-layout wp-block-siteorigin-panels-layout-block\"><div id=\"pg-w6970a133d01da-0\" class=\"panel-grid panel-no-style\"><div id=\"pgc-w6970a133d01da-0-0\" class=\"panel-grid-cell\"><div id=\"panel-w6970a133d01da-0-0-0\" class=\"so-panel widget widget_text panel-first-child\" data-index=\"0\">\t\t\t<div class=\"textwidget\"><h2>FAQ ZUR SPRACHMIGRATION<\/h2>\n<\/div>\n\t\t<\/div><div id=\"panel-w6970a133d01da-0-0-1\" class=\"so-panel widget widget_sow-accordion\" data-index=\"1\"><div class=\"so-widget-sow-accordion so-widget-sow-accordion-default-4bd80172fa8c\"><div>\n\t<div class=\"sow-accordion\">\n\t\t\t<div class=\"sow-accordion-panel\n\t\t\t\t\" data-anchor-id=\"funktioniert-das-ueberhaupt-automatisch-habe-ich-da-nicht-zu-viel-handarbeit\">\n\t\t\t\t<div class=\"sow-accordion-panel-header-container\" role=\"heading\" aria-level=\"2\">\n\t\t\t\t\t<div class=\"sow-accordion-panel-header\" tabindex=\"0\" role=\"button\" id=\"accordion-label-funktioniert-das-%c3%bcberhaupt-automatisch-habe-ich-da-nicht-zu-viel-handarbeit\" aria-controls=\"accordion-content-funktioniert-das-%c3%bcberhaupt-automatisch-habe-ich-da-nicht-zu-viel-handarbeit\" aria-expanded=\"false\">\n\t\t\t\t\t\t<div class=\"sow-accordion-title sow-accordion-title-icon-left\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tFunktio\u00adniert das \u00fcberhaupt automa\u00adtisch? Habe ich da nicht zu viel Handarbeit?&nbsp;<\/div>\n\t\t\t\t\t\t<div class=\"sow-accordion-open-close-button\">\n\t\t\t\t\t\t\t<div class=\"sow-accordion-open-button\">\n\t\t\t\t\t\t\t\t<span class=\"sow-icon-ionicons\" data-sow-icon=\"\uf218\" aria-hidden=\"true\"><\/span>\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<div class=\"sow-accordion-close-button\">\n\t\t\t\t\t\t\t\t<span class=\"sow-icon-ionicons\" data-sow-icon=\"\uf209\" aria-hidden=\"true\"><\/span>\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\n\t\t\t<div class=\"sow-accordion-panel-content\" role=\"region\" aria-labelledby=\"accordion-label-funktioniert-das-%c3%bcberhaupt-automatisch-habe-ich-da-nicht-zu-viel-handarbeit\" id=\"accordion-content-funktioniert-das-%c3%bcberhaupt-automatisch-habe-ich-da-nicht-zu-viel-handarbeit\" style=\"display: none;\">\n\t\t\t\t<div class=\"sow-accordion-panel-border\">\n\t\t\t\t\tWir haben in mehre\u00adren Migra\u00adti\u00adons\u00adpro\u00adjek\u00adten bewie\u00adsen, dass das funktio\u00adniert (z.B. COBOL nach Java bei ITZBund und S\u00fcdLea\u00adsing). Bei COBOL nach Java k\u00f6nnen derzeit gro\u00dfe Teile des COBOL-Codes (95\u201399 %) automa\u00adtisch konver\u00adtiert werden. Das Werkzeug CoJaC erzeugt dabei seman\u00adtisch \u00e4quiva\u00adlen\u00adten Java-Code. Die restli\u00adchen 1\u20135 % werden z.B. durch geeig\u00adnete Kommen\u00adtare deutlich ausge\u00adwie\u00adsen, was eine manuelle Konver\u00adtie\u00adrung erleichtert.&nbsp;<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t<div class=\"sow-accordion-panel\n\t\t\t\t\" data-anchor-id=\"entsprechen-die-konvertierten-java-programme-einem-objektorientierten-entwurf\">\n\t\t\t\t<div class=\"sow-accordion-panel-header-container\" role=\"heading\" aria-level=\"2\">\n\t\t\t\t\t<div class=\"sow-accordion-panel-header\" tabindex=\"0\" role=\"button\" id=\"accordion-label-entsprechen-die-konvertierten-java-programme-einem-objektorientierten-entwurf\" aria-controls=\"accordion-content-entsprechen-die-konvertierten-java-programme-einem-objektorientierten-entwurf\" aria-expanded=\"false\">\n\t\t\t\t\t\t<div class=\"sow-accordion-title sow-accordion-title-icon-left\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tEntspre\u00adchen die konver\u00adtier\u00adten Java-Programme einem objekt\u00adori\u00aden\u00adtier\u00adten Entwurf?&nbsp;<\/div>\n\t\t\t\t\t\t<div class=\"sow-accordion-open-close-button\">\n\t\t\t\t\t\t\t<div class=\"sow-accordion-open-button\">\n\t\t\t\t\t\t\t\t<span class=\"sow-icon-ionicons\" data-sow-icon=\"\uf218\" aria-hidden=\"true\"><\/span>\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<div class=\"sow-accordion-close-button\">\n\t\t\t\t\t\t\t\t<span class=\"sow-icon-ionicons\" data-sow-icon=\"\uf209\" aria-hidden=\"true\"><\/span>\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\n\t\t\t<div class=\"sow-accordion-panel-content\" role=\"region\" aria-labelledby=\"accordion-label-entsprechen-die-konvertierten-java-programme-einem-objektorientierten-entwurf\" id=\"accordion-content-entsprechen-die-konvertierten-java-programme-einem-objektorientierten-entwurf\" style=\"display: none;\">\n\t\t\t\t<div class=\"sow-accordion-panel-border\">\n\t\t\t\t\tDie COBOL-Programme wurden in einer proze\u00addu\u00adra\u00adlen Sprache imple\u00admen\u00adtiert. Eine Neuauf\u00adtei\u00adlung der Funktio\u00adna\u00adli\u00adt\u00e4t auf einzelne Klassen und Metho\u00adden im Sinne des objekt\u00adori\u00aden\u00adtier\u00adten Entwurfs ist automa\u00adti\u00adsiert nicht m\u00f6glich. Das ist auch nicht unbedingt w\u00fcnschens\u00adwert, schlie\u00df\u00adlich m\u00fcssen die Entwick\u00adler den Code auch wieder\u00aderken\u00adnen. Eine zuk\u00fcnf\u00adtige, objekt\u00adori\u00aden\u00adtierte Weiter\u00adent\u00adwick\u00adlung der generier\u00adten Java-Appli\u00adka\u00adtion kann nat\u00fcr\u00adlich erfolgen.&nbsp;<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t<div class=\"sow-accordion-panel\n\t\t\t\t\" data-anchor-id=\"ist-der-entstehende-code-wartbar-und-zur-weiterentwicklung-geeignet\">\n\t\t\t\t<div class=\"sow-accordion-panel-header-container\" role=\"heading\" aria-level=\"2\">\n\t\t\t\t\t<div class=\"sow-accordion-panel-header\" tabindex=\"0\" role=\"button\" id=\"accordion-label-ist-der-entstehende-code-wartbar-und-zur-weiterentwicklung-geeignet\" aria-controls=\"accordion-content-ist-der-entstehende-code-wartbar-und-zur-weiterentwicklung-geeignet\" aria-expanded=\"false\">\n\t\t\t\t\t\t<div class=\"sow-accordion-title sow-accordion-title-icon-left\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tIst der entste\u00adhende Code wartbar und zur Weiter\u00adent\u00adwick\u00adlung geeignet?&nbsp;<\/div>\n\t\t\t\t\t\t<div class=\"sow-accordion-open-close-button\">\n\t\t\t\t\t\t\t<div class=\"sow-accordion-open-button\">\n\t\t\t\t\t\t\t\t<span class=\"sow-icon-ionicons\" data-sow-icon=\"\uf218\" aria-hidden=\"true\"><\/span>\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<div class=\"sow-accordion-close-button\">\n\t\t\t\t\t\t\t\t<span class=\"sow-icon-ionicons\" data-sow-icon=\"\uf209\" aria-hidden=\"true\"><\/span>\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\n\t\t\t<div class=\"sow-accordion-panel-content\" role=\"region\" aria-labelledby=\"accordion-label-ist-der-entstehende-code-wartbar-und-zur-weiterentwicklung-geeignet\" id=\"accordion-content-ist-der-entstehende-code-wartbar-und-zur-weiterentwicklung-geeignet\" style=\"display: none;\">\n\t\t\t\t<div class=\"sow-accordion-panel-border\">\n\t\t\t\t\tJa, defini\u00adtiv. Der Grund\u00adauf\u00adbau des generier\u00adten Java-Codes ist analog zum COBOL-Code. Dadurch steigt der Wieder\u00aderken\u00adnungs\u00adef\u00adfekt. Auch Kommen\u00adtare werden an die korrek\u00adten Stellen des Zielcodes einge\u00adf\u00fcgt. Die Entwick\u00adler des Altsys\u00adtems finden sich (Java-Kennt\u00adnisse voraus\u00adge\u00adsetzt) schnell zurecht. Es gibt ausrei\u00adchend Referenz\u00adpro\u00adjekte f\u00fcr die automa\u00adti\u00adsche Sprach\u00adtrans\u00adfor\u00adma\u00adtion von COBOL nach Java, die praktisch bewei\u00adsen, dass der generierte Code wartbar und perfor\u00admant ist. Die f\u00fcr Java verf\u00fcg\u00adba\u00adren, moder\u00adnen IDEs (z.B. Intel\u00adliJ und Eclipse) erlau\u00adben dann eine komfor\u00adta\u00adble Weiter\u00adent\u00adwick\u00adlung.\n\nBeden\u00adken werden oft von Mitbe\u00adwer\u00adben ge\u00e4u\u00dfert, welche eigene COBOL-Entwick\u00adlungs\u00adum\u00adge\u00adbun\u00adgen vermark\u00adten und deshalb kein Inter\u00adesse zeigen, \u201cvon COBOL weg\u201d zu migrieren.&nbsp;<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t<div class=\"sow-accordion-panel\n\t\t\t\t\" data-anchor-id=\"welche-cobol-anweisungen-sind-nicht-vollstaendig-konvertierbar\">\n\t\t\t\t<div class=\"sow-accordion-panel-header-container\" role=\"heading\" aria-level=\"2\">\n\t\t\t\t\t<div class=\"sow-accordion-panel-header\" tabindex=\"0\" role=\"button\" id=\"accordion-label-welche-cobol-anweisungen-sind-nicht-vollst%c3%a4ndig-konvertierbar\" aria-controls=\"accordion-content-welche-cobol-anweisungen-sind-nicht-vollst%c3%a4ndig-konvertierbar\" aria-expanded=\"false\">\n\t\t\t\t\t\t<div class=\"sow-accordion-title sow-accordion-title-icon-left\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tWelche COBOL-Anwei\u00adsun\u00adgen sind nicht vollst\u00e4n\u00addig konvertierbar?&nbsp;<\/div>\n\t\t\t\t\t\t<div class=\"sow-accordion-open-close-button\">\n\t\t\t\t\t\t\t<div class=\"sow-accordion-open-button\">\n\t\t\t\t\t\t\t\t<span class=\"sow-icon-ionicons\" data-sow-icon=\"\uf218\" aria-hidden=\"true\"><\/span>\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<div class=\"sow-accordion-close-button\">\n\t\t\t\t\t\t\t\t<span class=\"sow-icon-ionicons\" data-sow-icon=\"\uf209\" aria-hidden=\"true\"><\/span>\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\n\t\t\t<div class=\"sow-accordion-panel-content\" role=\"region\" aria-labelledby=\"accordion-label-welche-cobol-anweisungen-sind-nicht-vollst%c3%a4ndig-konvertierbar\" id=\"accordion-content-welche-cobol-anweisungen-sind-nicht-vollst%c3%a4ndig-konvertierbar\" style=\"display: none;\">\n\t\t\t\t<div class=\"sow-accordion-panel-border\">\n\t\t\t\t\tNicht vollst\u00e4n\u00addig konver\u00adtier\u00adbar sind solche Anwei\u00adsun\u00adgen, f\u00fcr die Java nicht die entspre\u00adchen\u00adden sprach\u00adli\u00adchen Mittel zur Verf\u00fc\u00adgung stellt. Das betrifft vor allem die sogenann\u00adten \u201ccompi\u00adler-direc\u00adting state\u00adments\u201d. Diese werden erst bei der \u00dcberset\u00adzung des COBOL-Program\u00admes ausge\u00adf\u00fchrt, sozusa\u00adgen in einer Pr\u00e4pro\u00adzes\u00adsor-Phase. Java stellt aber keinen Pr\u00e4pro\u00adzes\u00adsor zur Verf\u00fc\u00adgung. Somit sind diese Anwei\u00adsun\u00adgen nicht mit den \u00fcblichen Mecha\u00adnis\u00admen konver\u00adtier\u00adbar. Das bedeu\u00adtet jedoch nicht, dass z.B. keine Copybooks konver\u00adtiert werden k\u00f6nnen. CoJaC beinhal\u00adtet einen ausge\u00adkl\u00fc\u00adgel\u00adten Mecha\u00adnis\u00admus zur Konver\u00adtie\u00adrung von Copybooks in separate Java-Klassen.&nbsp;<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t<div class=\"sow-accordion-panel\n\t\t\t\t\" data-anchor-id=\"wie-sieht-es-mit-go-to-aus-in-java-stehen-ja-keine-sprunganweisungen-zur-verfuegung\">\n\t\t\t\t<div class=\"sow-accordion-panel-header-container\" role=\"heading\" aria-level=\"2\">\n\t\t\t\t\t<div class=\"sow-accordion-panel-header\" tabindex=\"0\" role=\"button\" id=\"accordion-label-wie-sieht-es-mit-go-to-aus-in-java-stehen-ja-keine-sprunganweisungen-zur-verf%c3%bcgung\" aria-controls=\"accordion-content-wie-sieht-es-mit-go-to-aus-in-java-stehen-ja-keine-sprunganweisungen-zur-verf%c3%bcgung\" aria-expanded=\"false\">\n\t\t\t\t\t\t<div class=\"sow-accordion-title sow-accordion-title-icon-left\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tWie sieht es mit GO TO aus? In Java stehen ja keine Sprung\u00adan\u00adwei\u00adsun\u00adgen zur Verf\u00fcgung.&nbsp;<\/div>\n\t\t\t\t\t\t<div class=\"sow-accordion-open-close-button\">\n\t\t\t\t\t\t\t<div class=\"sow-accordion-open-button\">\n\t\t\t\t\t\t\t\t<span class=\"sow-icon-ionicons\" data-sow-icon=\"\uf218\" aria-hidden=\"true\"><\/span>\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<div class=\"sow-accordion-close-button\">\n\t\t\t\t\t\t\t\t<span class=\"sow-icon-ionicons\" data-sow-icon=\"\uf209\" aria-hidden=\"true\"><\/span>\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\n\t\t\t<div class=\"sow-accordion-panel-content\" role=\"region\" aria-labelledby=\"accordion-label-wie-sieht-es-mit-go-to-aus-in-java-stehen-ja-keine-sprunganweisungen-zur-verf%c3%bcgung\" id=\"accordion-content-wie-sieht-es-mit-go-to-aus-in-java-stehen-ja-keine-sprunganweisungen-zur-verf%c3%bcgung\" style=\"display: none;\">\n\t\t\t\t<div class=\"sow-accordion-panel-border\">\n\t\t\t\t\t<div class=\"white_back\"><code>GO TO<\/code>-Anwei\u00adsun\u00adgen sind komplett automa\u00adti\u00adsiert migrier\u00adbar. Dabei wird zun\u00e4chst versucht, sie durch Java-typische Anwei\u00adsun\u00adgen zu erset\u00adzen. Spr\u00fcnge an das Ende einer Section werden z.B. durch eine <code>return<\/code>-Anwei\u00adsung in Java \u00fcbersetzt. Ist das nicht m\u00f6glich, \u00fcberneh\u00admen die CoJaC-Biblio\u00adthe\u00adken die Ablauf\u00adsteue\u00adrung. Im Programm wird dann das <code>GO TO<\/code> durch den Aufruf einer <code>skip()<\/code>-Methode reali\u00adsiert.<\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t<div class=\"sow-accordion-panel\n\t\t\t\t\" data-anchor-id=\"entstehen-bei-der-migration-nicht-viele-java-untypische-konstrukte-sodass-es-sich-um-ein-cobol-programm-in-java-notation-handelt\">\n\t\t\t\t<div class=\"sow-accordion-panel-header-container\" role=\"heading\" aria-level=\"2\">\n\t\t\t\t\t<div class=\"sow-accordion-panel-header\" tabindex=\"0\" role=\"button\" id=\"accordion-label-entstehen-bei-der-migration-nicht-viele-java-untypische-konstrukte-sodass-es-sich-um-ein-cobol-programm-in-java-notation-handelt\" aria-controls=\"accordion-content-entstehen-bei-der-migration-nicht-viele-java-untypische-konstrukte-sodass-es-sich-um-ein-cobol-programm-in-java-notation-handelt\" aria-expanded=\"false\">\n\t\t\t\t\t\t<div class=\"sow-accordion-title sow-accordion-title-icon-left\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tEntste\u00adhen bei der Migration nicht viele \u201cJava-untypi\u00adsche\u201d Konstrukte, sodass es sich um ein COBOL-Programm in Java-Notation handelt?&nbsp;<\/div>\n\t\t\t\t\t\t<div class=\"sow-accordion-open-close-button\">\n\t\t\t\t\t\t\t<div class=\"sow-accordion-open-button\">\n\t\t\t\t\t\t\t\t<span class=\"sow-icon-ionicons\" data-sow-icon=\"\uf218\" aria-hidden=\"true\"><\/span>\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<div class=\"sow-accordion-close-button\">\n\t\t\t\t\t\t\t\t<span class=\"sow-icon-ionicons\" data-sow-icon=\"\uf209\" aria-hidden=\"true\"><\/span>\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\n\t\t\t<div class=\"sow-accordion-panel-content\" role=\"region\" aria-labelledby=\"accordion-label-entstehen-bei-der-migration-nicht-viele-java-untypische-konstrukte-sodass-es-sich-um-ein-cobol-programm-in-java-notation-handelt\" id=\"accordion-content-entstehen-bei-der-migration-nicht-viele-java-untypische-konstrukte-sodass-es-sich-um-ein-cobol-programm-in-java-notation-handelt\" style=\"display: none;\">\n\t\t\t\t<div class=\"sow-accordion-panel-border\">\n\t\t\t\t\tDie Abbil\u00addungs\u00advor\u00adschrif\u00adten von COBOL-Konstruk\u00adten in Java-Konstrukte wurden bewusst so gew\u00e4hlt, dass der entste\u00adhende Java-Code Java-typisch ist. Es werden z.B. f\u00fcr die verschie\u00adde\u00adnen Daten\u00adty\u00adpen Java-Klassen in Biblio\u00adthe\u00adken zur Verf\u00fc\u00adgung gestellt, die alle notwen\u00addi\u00adgen Infor\u00adma\u00adtio\u00adnen, wie L\u00e4nge etc., kapseln und Metho\u00adden zu deren Verwal\u00adtung anbie\u00adten. Wo es m\u00f6glich ist, werden direkt die nativen Java-Anwei\u00adsun\u00adgen verwen\u00addet, z.B. f\u00fcr Schlei\u00adfen (<code>while<\/code>, <code>for<\/code>) oder <code>if<\/code>-Anwei\u00adsun\u00adgen.\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t<div class=\"sow-accordion-panel\n\t\t\t\t\" data-anchor-id=\"erkennen-meine-programmierer-den-quellcode-wieder-wie-gross-sind-die-strukturellen-aenderungen\">\n\t\t\t\t<div class=\"sow-accordion-panel-header-container\" role=\"heading\" aria-level=\"2\">\n\t\t\t\t\t<div class=\"sow-accordion-panel-header\" tabindex=\"0\" role=\"button\" id=\"accordion-label-erkennen-meine-programmierer-den-quellcode-wieder-wie-gro%c3%9f-sind-die-strukturellen-%c3%a4nderungen\" aria-controls=\"accordion-content-erkennen-meine-programmierer-den-quellcode-wieder-wie-gro%c3%9f-sind-die-strukturellen-%c3%a4nderungen\" aria-expanded=\"false\">\n\t\t\t\t\t\t<div class=\"sow-accordion-title sow-accordion-title-icon-left\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tErken\u00adnen meine Program\u00admie\u00adrer den Quell\u00adcode wieder? Wie gro\u00df sind die struk\u00adtu\u00adrel\u00adlen \u00c4nderungen?&nbsp;<\/div>\n\t\t\t\t\t\t<div class=\"sow-accordion-open-close-button\">\n\t\t\t\t\t\t\t<div class=\"sow-accordion-open-button\">\n\t\t\t\t\t\t\t\t<span class=\"sow-icon-ionicons\" data-sow-icon=\"\uf218\" aria-hidden=\"true\"><\/span>\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<div class=\"sow-accordion-close-button\">\n\t\t\t\t\t\t\t\t<span class=\"sow-icon-ionicons\" data-sow-icon=\"\uf209\" aria-hidden=\"true\"><\/span>\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\n\t\t\t<div class=\"sow-accordion-panel-content\" role=\"region\" aria-labelledby=\"accordion-label-erkennen-meine-programmierer-den-quellcode-wieder-wie-gro%c3%9f-sind-die-strukturellen-%c3%a4nderungen\" id=\"accordion-content-erkennen-meine-programmierer-den-quellcode-wieder-wie-gro%c3%9f-sind-die-strukturellen-%c3%a4nderungen\" style=\"display: none;\">\n\t\t\t\t<div class=\"sow-accordion-panel-border\">\n\t\t\t\t\tDie prinzi\u00adpi\u00adelle Struk\u00adtur eines Program\u00admes bleibt identisch. Aus einem Programm wird eine Klasse, aus Daten\u00adstruk\u00adtu\u00adren die (priva\u00adten) Daten\u00adfel\u00adder dieser Klasse und aus einzel\u00adnen Sections der <code>PROCEDURE DIVISION<\/code> werden die Klassen-Metho\u00adden. Dabei bleibt die Reihen\u00adfolge im Quell\u00adtext bestehen.&nbsp;<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t<div class=\"sow-accordion-panel\n\t\t\t\t\" data-anchor-id=\"entstehen-dabei-nicht-eine-menge-klone\">\n\t\t\t\t<div class=\"sow-accordion-panel-header-container\" role=\"heading\" aria-level=\"2\">\n\t\t\t\t\t<div class=\"sow-accordion-panel-header\" tabindex=\"0\" role=\"button\" id=\"accordion-label-entstehen-dabei-nicht-eine-menge-klone\" aria-controls=\"accordion-content-entstehen-dabei-nicht-eine-menge-klone\" aria-expanded=\"false\">\n\t\t\t\t\t\t<div class=\"sow-accordion-title sow-accordion-title-icon-left\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tEntste\u00adhen dabei nicht eine Menge&nbsp;Klone?&nbsp;<\/div>\n\t\t\t\t\t\t<div class=\"sow-accordion-open-close-button\">\n\t\t\t\t\t\t\t<div class=\"sow-accordion-open-button\">\n\t\t\t\t\t\t\t\t<span class=\"sow-icon-ionicons\" data-sow-icon=\"\uf218\" aria-hidden=\"true\"><\/span>\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<div class=\"sow-accordion-close-button\">\n\t\t\t\t\t\t\t\t<span class=\"sow-icon-ionicons\" data-sow-icon=\"\uf209\" aria-hidden=\"true\"><\/span>\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\n\t\t\t<div class=\"sow-accordion-panel-content\" role=\"region\" aria-labelledby=\"accordion-label-entstehen-dabei-nicht-eine-menge-klone\" id=\"accordion-content-entstehen-dabei-nicht-eine-menge-klone\" style=\"display: none;\">\n\t\t\t\t<div class=\"sow-accordion-panel-border\">\n\t\t\t\t\tCopybooks werden in separate Klassen konver\u00adtiert. Auch bei mehrfa\u00adcher Verwen\u00addung dieser Copybooks entsteht dabei nur eine Klasse. Klone entste\u00adhen ledig\u00adlich bei Verwen\u00addung von <code>COPY<\/code> mit <code>REPLACING<\/code>-Klausel oder bei <code>COPY<\/code> in der <code>PROCEDURE DIVISION<\/code>. Wir verf\u00fc\u00adgen mit JPackage \u00fcber ein Werkzeug, mit dem so entstan\u00addene Klone wieder zusam\u00admen\u00adge\u00adf\u00fchrt werden k\u00f6nnen.&nbsp;<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t<div class=\"sow-accordion-panel\n\t\t\t\t\" data-anchor-id=\"ist-es-dann-nicht-besser-den-code-gleich-in-java-neu-zu-entwickeln\">\n\t\t\t\t<div class=\"sow-accordion-panel-header-container\" role=\"heading\" aria-level=\"2\">\n\t\t\t\t\t<div class=\"sow-accordion-panel-header\" tabindex=\"0\" role=\"button\" id=\"accordion-label-ist-es-dann-nicht-besser-den-code-gleich-in-java-neu-zu-entwickeln\" aria-controls=\"accordion-content-ist-es-dann-nicht-besser-den-code-gleich-in-java-neu-zu-entwickeln\" aria-expanded=\"false\">\n\t\t\t\t\t\t<div class=\"sow-accordion-title sow-accordion-title-icon-left\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tIst es dann nicht besser, den Code gleich in Java neu zu entwickeln?&nbsp;<\/div>\n\t\t\t\t\t\t<div class=\"sow-accordion-open-close-button\">\n\t\t\t\t\t\t\t<div class=\"sow-accordion-open-button\">\n\t\t\t\t\t\t\t\t<span class=\"sow-icon-ionicons\" data-sow-icon=\"\uf218\" aria-hidden=\"true\"><\/span>\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<div class=\"sow-accordion-close-button\">\n\t\t\t\t\t\t\t\t<span class=\"sow-icon-ionicons\" data-sow-icon=\"\uf209\" aria-hidden=\"true\"><\/span>\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\n\t\t\t<div class=\"sow-accordion-panel-content\" role=\"region\" aria-labelledby=\"accordion-label-ist-es-dann-nicht-besser-den-code-gleich-in-java-neu-zu-entwickeln\" id=\"accordion-content-ist-es-dann-nicht-besser-den-code-gleich-in-java-neu-zu-entwickeln\" style=\"display: none;\">\n\t\t\t\t<div class=\"sow-accordion-panel-border\">\n\t\t\t\t\t<p>Neben den dabei anfal\u00adlen\u00adden, wesent\u00adlich h\u00f6heren Kosten sollten Sie bei dieser Entschei\u00addung auch die Projekt\u00addauer beach\u00adten. Wenn \u00fcber 95% des Java-Codes automa\u00adtisch generiert werden, ist ein Programm nat\u00fcr\u00adlich schnel\u00adler umgesetzt als von Hand. \u201cCode freezes\u201d und eventu\u00adelle Sperr\u00adzei\u00adten bei der Weiterentwicklung\/Wartung des Program\u00admes werden damit minimiert. Unsere Erfah\u00adrun\u00adgen besagen, dass sich eine Software-Migration zu einer Neuent\u00adwick\u00adlung im Verh\u00e4lt\u00adnis von 1:8 verh\u00e4lt, d.h., wenn Sie 5 Perso\u00adnen\u00adjahre f\u00fcr ein Migra\u00adti\u00adons\u00adpro\u00adjekt unter Nutzung von Trans\u00adfor\u00adma\u00adti\u00adons\u00adwerk\u00adzeu\u00adgen veran\u00adschla\u00adgen, dann ben\u00f6ti\u00adgen Sie f\u00fcr eine Neuent\u00adwick\u00adlung ein- und dessel\u00adben Programm\u00adsys\u00adtems 40 Personenjahre.<\/p>\n<p>F\u00fcr eine Neuent\u00adwick\u00adlung existie\u00adren zwei alter\u00adna\u00adtive Ans\u00e4tze: Entwe\u00adder, Sie schrei\u00adben das origi\u00adnale Programm 1:1 in Java um. Dann wird der Code dem automa\u00adtisch migrier\u00adten Code \u00e4hnlich sein, so dass Sie auch automa\u00adtisch migrie\u00adren k\u00f6nnen. Oder Sie extra\u00adhie\u00adren die Business-Logik des Program\u00admes, erstel\u00adlen daraus eine Spezi\u00adfi\u00adka\u00adtion und entwi\u00adckeln dann das Programm neu. Die Extrak\u00adtion der Business-Logik ist jedoch ein sehr aufwen\u00addi\u00adger und fehler\u00adan\u00adf\u00e4l\u00adli\u00adger Prozess.<\/p>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t<div class=\"sow-accordion-panel\n\t\t\t\t\" data-anchor-id=\"koennen-sich-java-entwickler-die-den-cobol-code-vorher-nicht-kannten-und-cobol-nicht-beherrschen-in-die-migrierten-programme-einarbeiten\">\n\t\t\t\t<div class=\"sow-accordion-panel-header-container\" role=\"heading\" aria-level=\"2\">\n\t\t\t\t\t<div class=\"sow-accordion-panel-header\" tabindex=\"0\" role=\"button\" id=\"accordion-label-k%c3%b6nnen-sich-java-entwickler-die-den-cobol-code-vorher-nicht-kannten-und-cobol-nicht-beherrschen-in-die-migrierten-programme-einarbeiten\" aria-controls=\"accordion-content-k%c3%b6nnen-sich-java-entwickler-die-den-cobol-code-vorher-nicht-kannten-und-cobol-nicht-beherrschen-in-die-migrierten-programme-einarbeiten\" aria-expanded=\"false\">\n\t\t\t\t\t\t<div class=\"sow-accordion-title sow-accordion-title-icon-left\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tK\u00f6nnen sich Java-Entwick\u00adler, die den COBOL-Code vorher nicht kannten und COBOL nicht beherr\u00adschen, in die migrier\u00adten Programme einarbeiten?&nbsp;<\/div>\n\t\t\t\t\t\t<div class=\"sow-accordion-open-close-button\">\n\t\t\t\t\t\t\t<div class=\"sow-accordion-open-button\">\n\t\t\t\t\t\t\t\t<span class=\"sow-icon-ionicons\" data-sow-icon=\"\uf218\" aria-hidden=\"true\"><\/span>\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<div class=\"sow-accordion-close-button\">\n\t\t\t\t\t\t\t\t<span class=\"sow-icon-ionicons\" data-sow-icon=\"\uf209\" aria-hidden=\"true\"><\/span>\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\n\t\t\t<div class=\"sow-accordion-panel-content\" role=\"region\" aria-labelledby=\"accordion-label-k%c3%b6nnen-sich-java-entwickler-die-den-cobol-code-vorher-nicht-kannten-und-cobol-nicht-beherrschen-in-die-migrierten-programme-einarbeiten\" id=\"accordion-content-k%c3%b6nnen-sich-java-entwickler-die-den-cobol-code-vorher-nicht-kannten-und-cobol-nicht-beherrschen-in-die-migrierten-programme-einarbeiten\" style=\"display: none;\">\n\t\t\t\t<div class=\"sow-accordion-panel-border\">\n\t\t\t\t\tNat\u00fcr\u00adlich. Das ist ein weite\u00adrer Vorteil der Software-Migration. Die Entwick\u00adler, welche die konver\u00adtier\u00adten Programme zuk\u00fcnf\u00adtig warten, m\u00fcssen kein COBOL kennen. Eine Einar\u00adbei\u00adtung kann allein anhand des Java-Codes erfolgen.&nbsp;<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t<div class=\"sow-accordion-panel\n\t\t\t\t\" data-anchor-id=\"ich-moechte-aber-meine-cobol-programmierer-behalten-wie-hoch-ist-der-schulungsaufwand-beim-umstieg\">\n\t\t\t\t<div class=\"sow-accordion-panel-header-container\" role=\"heading\" aria-level=\"2\">\n\t\t\t\t\t<div class=\"sow-accordion-panel-header\" tabindex=\"0\" role=\"button\" id=\"accordion-label-ich-m%c3%b6chte-aber-meine-cobol-programmierer-behalten-wie-hoch-ist-der-schulungsaufwand-beim-umstieg\" aria-controls=\"accordion-content-ich-m%c3%b6chte-aber-meine-cobol-programmierer-behalten-wie-hoch-ist-der-schulungsaufwand-beim-umstieg\" aria-expanded=\"false\">\n\t\t\t\t\t\t<div class=\"sow-accordion-title sow-accordion-title-icon-left\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tIch m\u00f6chte aber meine COBOL-Program\u00admie\u00adrer behal\u00adten. Wie hoch ist der Schulungs\u00adauf\u00adwand beim Umstieg?&nbsp;<\/div>\n\t\t\t\t\t\t<div class=\"sow-accordion-open-close-button\">\n\t\t\t\t\t\t\t<div class=\"sow-accordion-open-button\">\n\t\t\t\t\t\t\t\t<span class=\"sow-icon-ionicons\" data-sow-icon=\"\uf218\" aria-hidden=\"true\"><\/span>\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<div class=\"sow-accordion-close-button\">\n\t\t\t\t\t\t\t\t<span class=\"sow-icon-ionicons\" data-sow-icon=\"\uf209\" aria-hidden=\"true\"><\/span>\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\n\t\t\t<div class=\"sow-accordion-panel-content\" role=\"region\" aria-labelledby=\"accordion-label-ich-m%c3%b6chte-aber-meine-cobol-programmierer-behalten-wie-hoch-ist-der-schulungsaufwand-beim-umstieg\" id=\"accordion-content-ich-m%c3%b6chte-aber-meine-cobol-programmierer-behalten-wie-hoch-ist-der-schulungsaufwand-beim-umstieg\" style=\"display: none;\">\n\t\t\t\t<div class=\"sow-accordion-panel-border\">\n\t\t\t\t\tNun, Java m\u00fcssen sie nat\u00fcr\u00adlich lernen. Daran f\u00fchrt kein Weg vorbei. Daf\u00fcr haben diese Program\u00admie\u00adrer aber den Vorteil, dass sie sich bereits mit dem fachli\u00adchen Hinter\u00adgrund der Programme ausken\u00adnen, wogegen sich Neuein\u00adstei\u00adger diesen nat\u00fcr\u00adlich erst aneig\u00adnen m\u00fcssen.&nbsp;<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t<div class=\"sow-accordion-panel\n\t\t\t\t\" data-anchor-id=\"sind-die-konvertierten-programme-nicht-wesentlich-langsamer-und-verbrauchen-viel-mehr-speicherplatz\">\n\t\t\t\t<div class=\"sow-accordion-panel-header-container\" role=\"heading\" aria-level=\"2\">\n\t\t\t\t\t<div class=\"sow-accordion-panel-header\" tabindex=\"0\" role=\"button\" id=\"accordion-label-sind-die-konvertierten-programme-nicht-wesentlich-langsamer-und-verbrauchen-viel-mehr-speicherplatz\" aria-controls=\"accordion-content-sind-die-konvertierten-programme-nicht-wesentlich-langsamer-und-verbrauchen-viel-mehr-speicherplatz\" aria-expanded=\"false\">\n\t\t\t\t\t\t<div class=\"sow-accordion-title sow-accordion-title-icon-left\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tSind die konver\u00adtier\u00adten Programme nicht wesent\u00adlich langsa\u00admer und verbrau\u00adchen viel mehr Speicherplatz?&nbsp;<\/div>\n\t\t\t\t\t\t<div class=\"sow-accordion-open-close-button\">\n\t\t\t\t\t\t\t<div class=\"sow-accordion-open-button\">\n\t\t\t\t\t\t\t\t<span class=\"sow-icon-ionicons\" data-sow-icon=\"\uf218\" aria-hidden=\"true\"><\/span>\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<div class=\"sow-accordion-close-button\">\n\t\t\t\t\t\t\t\t<span class=\"sow-icon-ionicons\" data-sow-icon=\"\uf209\" aria-hidden=\"true\"><\/span>\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\n\t\t\t<div class=\"sow-accordion-panel-content\" role=\"region\" aria-labelledby=\"accordion-label-sind-die-konvertierten-programme-nicht-wesentlich-langsamer-und-verbrauchen-viel-mehr-speicherplatz\" id=\"accordion-content-sind-die-konvertierten-programme-nicht-wesentlich-langsamer-und-verbrauchen-viel-mehr-speicherplatz\" style=\"display: none;\">\n\t\t\t\t<div class=\"sow-accordion-panel-border\">\n\t\t\t\t\tAuch das ist ein Argument, welches h\u00e4ufig von Kunden ge\u00e4u\u00dfert wird, welches sich in bishe\u00adri\u00adgen Projek\u00adten aber nie best\u00e4\u00adtigt hat. Perfor\u00admance-Probleme existier\u00adten dort nur lokal begrenzt auf einzelne Programme und konnten durch geeig\u00adnete Optimie\u00adrungs\u00adma\u00df\u00adnah\u00admen besei\u00adtigt werden. Heutige JVM arbei\u00adten dank der fortge\u00adschrit\u00adte\u00adnen Techno\u00adlo\u00adgie der \u201cjust-in-time-Compi\u00adler\u201d die Java-Programme nur wenig langsa\u00admer ab als der Prozes\u00adsor die kompi\u00adlier\u00adten COBOL-Programme.&nbsp;<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t<div class=\"sow-accordion-panel\n\t\t\t\t\" data-anchor-id=\"welche-erfahrung-besitzt-pro-et-con-bei-der-software-migration\">\n\t\t\t\t<div class=\"sow-accordion-panel-header-container\" role=\"heading\" aria-level=\"2\">\n\t\t\t\t\t<div class=\"sow-accordion-panel-header\" tabindex=\"0\" role=\"button\" id=\"accordion-label-welche-erfahrung-besitzt-pro-et-con-bei-der-software-migration\" aria-controls=\"accordion-content-welche-erfahrung-besitzt-pro-et-con-bei-der-software-migration\" aria-expanded=\"false\">\n\t\t\t\t\t\t<div class=\"sow-accordion-title sow-accordion-title-icon-left\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tWelche Erfah\u00adrung besitzt pro et con bei der Software-Migration?&nbsp;<\/div>\n\t\t\t\t\t\t<div class=\"sow-accordion-open-close-button\">\n\t\t\t\t\t\t\t<div class=\"sow-accordion-open-button\">\n\t\t\t\t\t\t\t\t<span class=\"sow-icon-ionicons\" data-sow-icon=\"\uf218\" aria-hidden=\"true\"><\/span>\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<div class=\"sow-accordion-close-button\">\n\t\t\t\t\t\t\t\t<span class=\"sow-icon-ionicons\" data-sow-icon=\"\uf209\" aria-hidden=\"true\"><\/span>\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\n\t\t\t<div class=\"sow-accordion-panel-content\" role=\"region\" aria-labelledby=\"accordion-label-welche-erfahrung-besitzt-pro-et-con-bei-der-software-migration\" id=\"accordion-content-welche-erfahrung-besitzt-pro-et-con-bei-der-software-migration\" style=\"display: none;\">\n\t\t\t\t<div class=\"sow-accordion-panel-border\">\n\t\t\t\t\tWerkzeuge f\u00fcr die Software-Migration erfor\u00addern einen gro\u00dfen Entwick\u00adlungs\u00adauf\u00adwand. Zus\u00e4tz\u00adlich ben\u00f6tigt man ein ganz spezi\u00adel\u00adles Infor\u00adma\u00adtik-Know-how (Compi\u00adler\u00adtech\u00adnik). Wir besit\u00adzen 30 Jahre Erfah\u00adrung in der Entwick\u00adlung von Werkzeu\u00adgen f\u00fcr die Software-Migration. Die Basis bilden Forschungs\u00adar\u00adbei\u00adten auf dem Gebiet der Compi\u00adler\u00adtech\u00adnik an der Fakul\u00adt\u00e4t f\u00fcr Infor\u00adma\u00adtik der TU Chemnitz. Wir betrei\u00adben weiter\u00adhin Forschung und Entwick\u00adlung in Zusam\u00admen\u00adar\u00adbeit mit den Univer\u00adsi\u00adt\u00e4\u00adten Koblenz-Landau und Olden\u00adburg. Die Ergeb\u00adnisse spiegeln sich direkt in unseren Techno\u00adlo\u00adgien und Werkzeu\u00adgen wider.\n\nIm Verlauf der letzten Jahre entstan\u00adden dabei verschie\u00addenste Parser, Code-Genera\u00adto\u00adren, Forma\u00adtie\u00adrungs- und Metawerk\u00adzeuge, die alle in unserer pecBOX (pro et con \u2013 Toolbox f\u00fcr die Software-Migration) zusam\u00admen\u00adge\u00adfasst sind und die in unseren Migra\u00adti\u00adons\u00adpro\u00adjek\u00adten zum Einsatz kommen. Kein Migra\u00adti\u00adons\u00adpro\u00adjekt gleicht dem anderen. Bei neuen Projek\u00adten werden notwen\u00addige, neue Migra\u00adti\u00adons\u00adwerk\u00adzeuge aus den in der pecBOX befind\u00adli\u00adchen Kompo\u00adnen\u00adten zusam\u00admen\u00adge\u00adstellt, wodurch sich deren Entwick\u00adlungs\u00adzeit verk\u00fcrzt. Durch diesen generi\u00adschen Ansatz werden Migra\u00adti\u00adons\u00adpro\u00adjekte preis\u00adwer\u00adter und die Projekt\u00adlauf\u00adzeit verk\u00fcrzt sich. Das best\u00e4\u00adti\u00adgen zahlrei\u00adche Referenz\u00adkun\u00adden (Amadeus Germany GmbH, MAN Truck &amp; Bus SE, ITZBund, S\u00fcdLea\u00adsing&nbsp;GmbH,&nbsp;\u2026).&nbsp;<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t<\/div>\n<\/div>\n<\/div><\/div><div id=\"panel-w6970a133d01da-0-0-2\" class=\"so-panel widget widget_text\" data-index=\"2\">\t\t\t<div class=\"textwidget\"><div>\n<div><strong><a href=\"https:\/\/proetcon.de\/wp-content\/uploads\/2021\/08\/faq_sprachtransformation.pdf\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-3315\" src=\"https:\/\/proetcon.de\/wp-content\/uploads\/2021\/04\/pdf.svg\" alt width=\"20\" height=\"20\"><\/a> <\/strong><strong><a href=\"https:\/\/proetcon.de\/wp-content\/uploads\/2021\/08\/faq_sprachtransformation.pdf\" target=\"_blank\" rel=\"noopener\">FAQ zur automa\u00adti\u00adsier\u00adten Sprach\u00adtrans\u00adfor\u00adma\u00adtion von COBOL nach Java mit CoJaC downloaden<\/a><\/strong><\/div>\n<\/div>\n<\/div>\n\t\t<\/div><div id=\"panel-w6970a133d01da-0-0-3\" class=\"so-panel widget widget_text\" data-index=\"3\"><div class=\"panel-widget-style panel-widget-style-for-w6970a133d01da-0-0-3\">\t\t\t<div class=\"textwidget\"><h2>FAQ ZUR SPRACH\u00adMI\u00adGRA\u00adTION MIT&nbsp;KI<\/h2>\n<\/div>\n\t\t<\/div><\/div><div id=\"panel-w6970a133d01da-0-0-4\" class=\"so-panel widget widget_sow-accordion\" data-index=\"4\"><div class=\"so-widget-sow-accordion so-widget-sow-accordion-default-4bd80172fa8c\"><div>\n\t<div class=\"sow-accordion\">\n\t\t\t<div class=\"sow-accordion-panel\n\t\t\t\t\" data-anchor-id=\"kann-man-ein-legacy-softwaresystem-mit-nur-einem-ki-tool-migrieren\">\n\t\t\t\t<div class=\"sow-accordion-panel-header-container\" role=\"heading\" aria-level=\"2\">\n\t\t\t\t\t<div class=\"sow-accordion-panel-header\" tabindex=\"0\" role=\"button\" id=\"accordion-label-kann-man-ein-legacy-softwaresystem-mit-nur-einem-ki-tool-migrieren\" aria-controls=\"accordion-content-kann-man-ein-legacy-softwaresystem-mit-nur-einem-ki-tool-migrieren\" aria-expanded=\"false\">\n\t\t\t\t\t\t<div class=\"sow-accordion-title sow-accordion-title-icon-left\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tKann man ein Legacy-Software\u00adsys\u00adtem mit nur einem KI-Tool migrieren?&nbsp;<\/div>\n\t\t\t\t\t\t<div class=\"sow-accordion-open-close-button\">\n\t\t\t\t\t\t\t<div class=\"sow-accordion-open-button\">\n\t\t\t\t\t\t\t\t<span class=\"sow-icon-ionicons\" data-sow-icon=\"\uf218\" aria-hidden=\"true\"><\/span>\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<div class=\"sow-accordion-close-button\">\n\t\t\t\t\t\t\t\t<span class=\"sow-icon-ionicons\" data-sow-icon=\"\uf209\" aria-hidden=\"true\"><\/span>\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\n\t\t\t<div class=\"sow-accordion-panel-content\" role=\"region\" aria-labelledby=\"accordion-label-kann-man-ein-legacy-softwaresystem-mit-nur-einem-ki-tool-migrieren\" id=\"accordion-content-kann-man-ein-legacy-softwaresystem-mit-nur-einem-ki-tool-migrieren\" style=\"display: none;\">\n\t\t\t\t<div class=\"sow-accordion-panel-border\">\n\t\t\t\t\t<p>Nein. In einem Migra\u00adti\u00adons\u00adpro\u00adjekt kommt nicht nur ein Migra\u00adti\u00adons\u00adtool zum Einsatz, sondern es sind mehrere notwen\u00addig. G\u00e4ngige KI-Tools fokus\u00adsie\u00adren auf die reine Programm\u00adcode\u00adkon\u00adver\u00adtie\u00adrung. In einem Migra\u00adti\u00adons\u00adpro\u00adjekt sind aber noch weitere Artefakte zu migrie\u00adren, z. B. JCL, Files, Daten\u00adban\u00adken, Middle\u00adware und Masken. Das muss durch mehrere, spezi\u00adelle Tools erledigt werden, um den Migra\u00adti\u00adons\u00adpro\u00adzess zu automatisieren.<\/p>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t<div class=\"sow-accordion-panel\n\t\t\t\t\" data-anchor-id=\"ki-tools-koennen-doch-aber-bei-der-eigentlichen-programmkonvertierung-z-b-cobol-nach-java-unterstuetzung-bieten\">\n\t\t\t\t<div class=\"sow-accordion-panel-header-container\" role=\"heading\" aria-level=\"2\">\n\t\t\t\t\t<div class=\"sow-accordion-panel-header\" tabindex=\"0\" role=\"button\" id=\"accordion-label-ki-tools-k%c3%b6nnen-doch-aber-bei-der-eigentlichen-programmkonvertierung-z-b-cobol-nach-java-unterst%c3%bctzung-bieten\" aria-controls=\"accordion-content-ki-tools-k%c3%b6nnen-doch-aber-bei-der-eigentlichen-programmkonvertierung-z-b-cobol-nach-java-unterst%c3%bctzung-bieten\" aria-expanded=\"false\">\n\t\t\t\t\t\t<div class=\"sow-accordion-title sow-accordion-title-icon-left\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tKI-Tools k\u00f6nnen doch aber bei der eigent\u00adli\u00adchen Programm\u00adkon\u00adver\u00adtie\u00adrung, z. B. COBOL nach Java, Unter\u00adst\u00fct\u00adzung bieten?&nbsp;<\/div>\n\t\t\t\t\t\t<div class=\"sow-accordion-open-close-button\">\n\t\t\t\t\t\t\t<div class=\"sow-accordion-open-button\">\n\t\t\t\t\t\t\t\t<span class=\"sow-icon-ionicons\" data-sow-icon=\"\uf218\" aria-hidden=\"true\"><\/span>\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<div class=\"sow-accordion-close-button\">\n\t\t\t\t\t\t\t\t<span class=\"sow-icon-ionicons\" data-sow-icon=\"\uf209\" aria-hidden=\"true\"><\/span>\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\n\t\t\t<div class=\"sow-accordion-panel-content\" role=\"region\" aria-labelledby=\"accordion-label-ki-tools-k%c3%b6nnen-doch-aber-bei-der-eigentlichen-programmkonvertierung-z-b-cobol-nach-java-unterst%c3%bctzung-bieten\" id=\"accordion-content-ki-tools-k%c3%b6nnen-doch-aber-bei-der-eigentlichen-programmkonvertierung-z-b-cobol-nach-java-unterst%c3%bctzung-bieten\" style=\"display: none;\">\n\t\t\t\t<div class=\"sow-accordion-panel-border\">\n\t\t\t\t\tIn COBOL z. B. existiert ein komple\u00adxes Daten\u00adtyp\u00adkon\u00adzept, f\u00fcr welches in Java keine 1:1\u2011Abbildung existiert. Zus\u00e4tz\u00adlich kommen in COBOL noch \u201eSprach\u00adspe\u00adzia\u00adli\u00adt\u00e4\u00adten\u201c wie etwa \u00dcberla\u00adge\u00adrun\u00adgen von Varia\u00adblen unter\u00adschied\u00adli\u00adchen Daten\u00adtyps und weitere dazu. Unsere Experi\u00admente mit verschie\u00adde\u00adnen KI-Tools haben gezeigt, dass bei KI-Tools im Wesent\u00adli\u00adchen COBOL-Daten\u00adty\u00adpen in Java-Daten\u00adty\u00adpen abgebil\u00addet werden. Die konver\u00adtier\u00adten Java-Programme sind zwar lauff\u00e4\u00adhig, liefern aber falsche Ergeb\u00adnisse. Die seman\u00adti\u00adsche \u00c4quiva\u00adlenz ist aber der wichtigste Faktor zwischen Alt- und Neusys\u00adtem in einem Migra\u00adti\u00adons\u00adpro\u00adjekt. Nat\u00fcr\u00adlich k\u00f6nnen diese Tools entspre\u00adchend trainiert werden. Um jedoch eine vollst\u00e4n\u00addige Abbil\u00addung von COBOL nach Java zu errei\u00adchen, ist ein gro\u00dfer Aufwand notwen\u00addig, der nach unseren Erkennt\u00adnis\u00adsen dem einer Neuent\u00adwick\u00adlung nahekommt. Diese Abbil\u00addun\u00adgen sind bei unseren Tools in Form einer Java-Biblio\u00adthek schon vorhan\u00adden, welche aktuell einen Abdeckungs\u00adgrad von 95\u201399 % erreicht. Um diesen Abdeckungs\u00adgrad in Migra\u00adti\u00adons\u00adpro\u00adjek\u00adten zu erzie\u00adlen, war eine jahr(zehnt)elange Entwick\u00adlungs\u00adzeit notwen\u00addig. Spezi\u00adell f\u00fcr die Sprach\u00adkon\u00adver\u00adtie\u00adrung trainierte KI-Tools, z. B. COBOL nach Java, errei\u00adchen nach unseren Erfah\u00adrun\u00adgen diesen Abdeckungs\u00adgrad nicht. Das bedingt dann manuelle Eingriffe und Erwei\u00adte\u00adrun\u00adgen in den konver\u00adtier\u00adten Java-Program\u00admen. Ein gro\u00dfer manuel\u00adler Aufwand und Fehler\u00adan\u00adf\u00e4l\u00adlig\u00adkei\u00adten sind damit vorprogrammiert.&nbsp;<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t<div class=\"sow-accordion-panel\n\t\t\t\t\" data-anchor-id=\"kann-ein-ki-tool-prozeduralen-cobol-code-direkt-in-objektorientierten-java-code-migrieren-ich-habe-sowas-mal-im-internet-gelesen\">\n\t\t\t\t<div class=\"sow-accordion-panel-header-container\" role=\"heading\" aria-level=\"2\">\n\t\t\t\t\t<div class=\"sow-accordion-panel-header\" tabindex=\"0\" role=\"button\" id=\"accordion-label-kann-ein-ki-tool-prozeduralen-cobol-code-direkt-in-objektorientierten-java-code-migrieren-ich-habe-sowas-mal-im-internet-gelesen\" aria-controls=\"accordion-content-kann-ein-ki-tool-prozeduralen-cobol-code-direkt-in-objektorientierten-java-code-migrieren-ich-habe-sowas-mal-im-internet-gelesen\" aria-expanded=\"false\">\n\t\t\t\t\t\t<div class=\"sow-accordion-title sow-accordion-title-icon-left\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tKann ein KI-Tool proze\u00addu\u00adra\u00adlen COBOL-Code direkt in objekt\u00adori\u00aden\u00adtier\u00adten Java-Code migrie\u00adren? Ich habe sowas mal im Inter\u00adnet gelesen.&nbsp;<\/div>\n\t\t\t\t\t\t<div class=\"sow-accordion-open-close-button\">\n\t\t\t\t\t\t\t<div class=\"sow-accordion-open-button\">\n\t\t\t\t\t\t\t\t<span class=\"sow-icon-ionicons\" data-sow-icon=\"\uf218\" aria-hidden=\"true\"><\/span>\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<div class=\"sow-accordion-close-button\">\n\t\t\t\t\t\t\t\t<span class=\"sow-icon-ionicons\" data-sow-icon=\"\uf209\" aria-hidden=\"true\"><\/span>\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\n\t\t\t<div class=\"sow-accordion-panel-content\" role=\"region\" aria-labelledby=\"accordion-label-kann-ein-ki-tool-prozeduralen-cobol-code-direkt-in-objektorientierten-java-code-migrieren-ich-habe-sowas-mal-im-internet-gelesen\" id=\"accordion-content-kann-ein-ki-tool-prozeduralen-cobol-code-direkt-in-objektorientierten-java-code-migrieren-ich-habe-sowas-mal-im-internet-gelesen\" style=\"display: none;\">\n\t\t\t\t<div class=\"sow-accordion-panel-border\">\n\t\t\t\t\tIn den letzten Jahr(zehnt)en gab es eine Reihe wissen\u00adschaft\u00adli\u00adcher Arbei\u00adten zum Thema: automa\u00adti\u00adscher Umbau proze\u00addu\u00adra\u00adlen Codes in objekt\u00adori\u00aden\u00adtier\u00adten Code (unabh\u00e4n\u00adgig von einer Migration). Nach unserem Kennt\u00adnis\u00adstand f\u00fchrte keine dieser Arbei\u00adten zu einem Ergeb\u00adnis, welches zufrie\u00adden\u00adstel\u00adlend praktisch nutzbar ist. Wenn solche Verfah\u00adren nicht existie\u00adren, kann es auch kein Werkzeug geben, welches solche Algorith\u00admen automa\u00adtisch imple\u00admen\u00adtiert. Das ist unabh\u00e4n\u00adgig davon, ob es sich um ein KI-Tool handelt oder nicht. Nat\u00fcr\u00adlich k\u00f6nnen zuk\u00fcnf\u00adtige Weiter\u00adent\u00adwick\u00adlun\u00adgen des migrier\u00adten Systems objekt\u00adori\u00aden\u00adtiert erfol\u00adgen, sodass im Laufe der Zeit zuneh\u00admend Objekt\u00adori\u00aden\u00adtiert\u00adheit dominiert, auch durch weitere Refak\u00adto\u00adrie\u00adrung des migrier\u00adten Programm\u00adsys\u00adtems in der Wartung\/Weiterentwicklung. Das best\u00e4\u00adtigt sich z. B. in Projek\u00adten, welche wir nach erfolg\u00adrei\u00adcher Migration im Kunden\u00adauf\u00adtrag warten und weiterentwickeln.&nbsp;<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t<div class=\"sow-accordion-panel\n\t\t\t\t\" data-anchor-id=\"welche-unterstuetzung-koennen-ki-tools-aktuell-in-einem-migrationsprojekt-leisten\">\n\t\t\t\t<div class=\"sow-accordion-panel-header-container\" role=\"heading\" aria-level=\"2\">\n\t\t\t\t\t<div class=\"sow-accordion-panel-header\" tabindex=\"0\" role=\"button\" id=\"accordion-label-welche-unterst%c3%bctzung-k%c3%b6nnen-ki-tools-aktuell-in-einem-migrationsprojekt-leisten\" aria-controls=\"accordion-content-welche-unterst%c3%bctzung-k%c3%b6nnen-ki-tools-aktuell-in-einem-migrationsprojekt-leisten\" aria-expanded=\"false\">\n\t\t\t\t\t\t<div class=\"sow-accordion-title sow-accordion-title-icon-left\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tWelche Unter\u00adst\u00fct\u00adzung k\u00f6nnen KI-Tools aktuell in einem Migra\u00adti\u00adons\u00adpro\u00adjekt leisten?&nbsp;<\/div>\n\t\t\t\t\t\t<div class=\"sow-accordion-open-close-button\">\n\t\t\t\t\t\t\t<div class=\"sow-accordion-open-button\">\n\t\t\t\t\t\t\t\t<span class=\"sow-icon-ionicons\" data-sow-icon=\"\uf218\" aria-hidden=\"true\"><\/span>\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<div class=\"sow-accordion-close-button\">\n\t\t\t\t\t\t\t\t<span class=\"sow-icon-ionicons\" data-sow-icon=\"\uf209\" aria-hidden=\"true\"><\/span>\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\n\t\t\t<div class=\"sow-accordion-panel-content\" role=\"region\" aria-labelledby=\"accordion-label-welche-unterst%c3%bctzung-k%c3%b6nnen-ki-tools-aktuell-in-einem-migrationsprojekt-leisten\" id=\"accordion-content-welche-unterst%c3%bctzung-k%c3%b6nnen-ki-tools-aktuell-in-einem-migrationsprojekt-leisten\" style=\"display: none;\">\n\t\t\t\t<div class=\"sow-accordion-panel-border\">\n\t\t\t\t\t<p>Aktuell ergibt sich bei KI-Tools eine Reihe n\u00fctzli\u00adcher Einsatz\u00adm\u00f6g\u00adlich\u00adkei\u00adten in einem Migra\u00adti\u00adons\u00adpro\u00adjekt, z. B. bei der Testun\u00adter\u00adst\u00fct\u00adzung, bei der Codekom\u00admen\u00adtie\u00adrung, bei der Refak\u00adto\u00adrie\u00adrung und der Programm\u00addo\u00adku\u00admen\u00adta\u00adtion. Aber eben nur als Assis\u00adten\u00adten. Beim IBM watsonx Code Assistant for Z ist diese Funktio\u00adna\u00adli\u00adt\u00e4t schon im Namen hinterlegt.&nbsp;<\/p>\n<p>Wenn der Kunde in \u00fcberschau\u00adba\u00adrer Projekt\u00adzeit und mit \u00fcberschau\u00adba\u00adrem Budget einen Wechsel der Program\u00admier\u00adspra\u00adche und\/oder einen Platt\u00adform\u00adwech\u00adsel w\u00fcnscht, dann ist aktuell die toolge\u00adst\u00fctzte, compi\u00adler\u00adba\u00adsierte Software-Migration das Mittel der Wahl. KI-Tools k\u00f6nnen dabei wertvolle, assis\u00adtenz\u00adba\u00adsierte Unter\u00adst\u00fct\u00adzung leisten.<\/p>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t<\/div>\n<\/div>\n<\/div><\/div><div id=\"panel-w6970a133d01da-0-0-5\" class=\"so-panel widget widget_text panel-last-child\" data-index=\"5\">\t\t\t<div class=\"textwidget\"><div>\n<div><strong><a href=\"https:\/\/proetcon.de\/wp-content\/uploads\/2025\/10\/faq_ki_sprachtransformation.pdf\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-3315\" src=\"https:\/\/proetcon.de\/wp-content\/uploads\/2021\/04\/pdf.svg\" alt width=\"20\" height=\"20\"><\/a> <\/strong><strong><a href=\"https:\/\/proetcon.de\/wp-content\/uploads\/2025\/10\/faq_ki_sprachtransformation.pdf\" target=\"_blank\" rel=\"noopener\">FAQ zur KI-basier\u00ad\u00adten Sprach\u00adtrans\u00adfor\u00adma\u00adtion von COBOL nach Java downloaden<\/a><\/strong><\/div>\n<\/div>\n<\/div>\n\t\t<\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/div>\n\n<div class=\"so-widget-sow-accordion so-widget-sow-accordion-default-863f14d4d245\"><div>\n\t<div class=\"sow-accordion\">\n\t\t\t<div class=\"sow-accordion-panel\n\t\t sow-accordion-panel-open\t\t\" data-anchor-id=\"downloads\">\n\t\t\t\t<div class=\"sow-accordion-panel-header-container\" role=\"heading\" aria-level=\"2\">\n\t\t\t\t\t<div class=\"sow-accordion-panel-header\" tabindex=\"0\" role=\"button\" id=\"accordion-label-downloads\" aria-controls=\"accordion-content-downloads\" aria-expanded=\"true\">\n\t\t\t\t\t\t<div class=\"sow-accordion-title sow-accordion-title-icon-left\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<b>DOWNLOADS<\/b>\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<div class=\"sow-accordion-open-close-button\">\n\t\t\t\t\t\t\t<div class=\"sow-accordion-open-button\">\n\t\t\t\t\t\t\t\t<span class=\"sow-icon-ionicons\" data-sow-icon=\"\uf218\" aria-hidden=\"true\"><\/span>\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<div class=\"sow-accordion-close-button\">\n\t\t\t\t\t\t\t\t<span class=\"sow-icon-ionicons\" data-sow-icon=\"\uf209\" aria-hidden=\"true\"><\/span>\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\n\t\t\t<div class=\"sow-accordion-panel-content\" role=\"region\" aria-labelledby=\"accordion-label-downloads\" id=\"accordion-content-downloads\">\n\t\t\t\t<div class=\"sow-accordion-panel-border\">\n\t\t\t\t\t<p><a href=\"https:\/\/proetcon.de\/wp-content\/uploads\/2021\/08\/datenblatt_cojac.pdf\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-3315\" src=\"https:\/\/proetcon.de\/wp-content\/uploads\/2021\/04\/pdf.svg\" alt width=\"20\" height=\"20\"><\/a>&nbsp;<a href=\"https:\/\/proetcon.de\/wp-content\/uploads\/2021\/08\/datenblatt_cojac.pdf\" target=\"_blank\" rel=\"noopener\">CoJaC \u2013 Datenblatt<\/a><\/p>\n<p><a href=\"https:\/\/proetcon.de\/wp-content\/uploads\/2022\/05\/every_cobol_java_migration_project_holds_new_surprises_wsre22.pdf\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-3315\" src=\"https:\/\/proetcon.de\/wp-content\/uploads\/2021\/04\/pdf.svg\" alt width=\"20\" height=\"20\"><\/a><a href=\"https:\/\/proetcon.de\/wp-content\/uploads\/2022\/05\/every_cobol_java_migration_project_holds_new_surprises_wsre22.pdf\" target=\"_blank\" rel=\"noopener\"> \u201cJedes COBOL-Java-Migra\u00adti\u00adons\u00adpro\u00adjekt birgt neue \u00dcberraschungen\u201d<\/a><br>\nAbstract zum 24. Workshop \u201cSoftware-Reengi\u00adnee\u00adring &amp; \u2011Evolu\u00adtion\u201d am 02.\u201304. Mai 2022 in Bad Honnef, erschie\u00adnen&nbsp;in:<br>\n<em>Software\u00adtech\u00adnik-Trends, Band 42, Heft 2, Mai&nbsp;2022<\/em><\/p>\n<p><a href=\"https:\/\/proetcon.de\/wp-content\/uploads\/2022\/09\/success_story_suedleasing.pdf\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" class=\"alignnone wp-image-3315\" src=\"https:\/\/proetcon.de\/wp-content\/uploads\/2021\/04\/pdf.svg\" alt width=\"20\"> Success Story: <\/a><a href=\"https:\/\/proetcon.de\/wp-content\/uploads\/2021\/09\/success_story_itzbund.pdf\" target=\"_blank\" rel=\"noopener\">\u201c<\/a><a href=\"https:\/\/proetcon.de\/wp-content\/uploads\/2022\/09\/success_story_suedleasing.pdf\" target=\"_blank\" rel=\"noopener\">Erfolg\u00adrei\u00adche COBOL-Java-Migration bei S\u00fcdlea\u00adsing GmbH<\/a><a href=\"https:\/\/proetcon.de\/wp-content\/uploads\/2021\/09\/success_story_itzbund.pdf\" target=\"_blank\" rel=\"noopener\">\u201d<\/a><\/p>\n<p><a href=\"https:\/\/proetcon.de\/wp-content\/uploads\/2021\/09\/success_story_itzbund.pdf\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" class=\"alignnone wp-image-3315\" src=\"https:\/\/proetcon.de\/wp-content\/uploads\/2021\/04\/pdf.svg\" alt width=\"20\"> Success Story: \u201cErfolg\u00adrei\u00adche BS2000-Migration bei ITZBund\u201d<\/a><\/p>\n<p><a href=\"https:\/\/proetcon.de\/index.php\/downloadbereich\/\"><strong>ZUM DOWNLOADBEREICH<\/strong><\/a><\/p>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t<\/div>\n<\/div>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>SOFTWARE-MIGRATION &gt; TECHNO\u00adLO\u00adGIEN UND WERKZEUGE &gt; COJAC CoJaC-TECHNO\u00adLO\u00adGIE F\u00fcr komplexe \u00dcberset\u00adzungs\u00advor\u00adg\u00e4nge wird der Einsatz spezi\u00adel\u00adler Konver\u00adtie\u00adrungs\u00adwerk\u00adzeuge, sogenann\u00adter Trans\u00adla\u00adto\u00adren notwen\u00addig. Trans\u00adla\u00adto\u00adren arbei\u00adten in Analo\u00adgie zu einem Compi\u00adler, der Quell\u00adpro\u00adgramme \u00fcber verschie\u00addene Zwischen\u00adstu\u00adfen in ausf\u00fchr\u00adba\u00adren Zielcode \u00fcbersetzt. CoJaC ist ein Trans\u00adla\u00adtor zur Konver\u00adtie\u00adrung von histo\u00adri\u00adschen COBOL-Appli\u00adka\u00adtio\u00adnen in moderne Java-L\u00f6sun\u00adgen. F\u00fcr die Belange der Sprach\u00adkon\u00adver\u00adtie\u00adrung wurde dazu vonCon\u00adti\u00adnue reading&nbsp;\u2192<\/p>\n","protected":false},"author":1,"featured_media":4739,"parent":7588,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"inline_featured_image":false,"wp_typography_post_enhancements_disabled":false,"footnotes":""},"class_list":["post-7600","page","type-page","status-publish","has-post-thumbnail","hentry","has-thumb"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/proetcon.de\/index.php\/wp-json\/wp\/v2\/pages\/7600","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/proetcon.de\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/proetcon.de\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/proetcon.de\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/proetcon.de\/index.php\/wp-json\/wp\/v2\/comments?post=7600"}],"version-history":[{"count":0,"href":"https:\/\/proetcon.de\/index.php\/wp-json\/wp\/v2\/pages\/7600\/revisions"}],"up":[{"embeddable":true,"href":"https:\/\/proetcon.de\/index.php\/wp-json\/wp\/v2\/pages\/7588"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/proetcon.de\/index.php\/wp-json\/wp\/v2\/media\/4739"}],"wp:attachment":[{"href":"https:\/\/proetcon.de\/index.php\/wp-json\/wp\/v2\/media?parent=7600"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}