Over 10 years we help companies reach their financial and branding goals. Engitech is a values-driven technology agency dedicated.

Gallery

Contacts

411 University St, Seattle, USA

engitech@oceanthemes.net

+1 -800-456-478-23

Cloud ready
mit P3/COBOL

Mit COBOL zukunftssicher in die Cloud:
Ist das überhaupt möglich?

Viele stellen sich Fragen wie…

    • Muss ich meine Anwendung neu schreiben, wenn ich in die Cloud möchte?
    • Geht Cloud nicht nur mit modernen Programmiersprachen wie JavaScript, Python, Go, Rust oder Java?
    • Kann ich COBOL überhaupt in einem Docker Container laufen lassen?
    • Lässt sich meine COBOL Anwendung skalieren?
    • Sind meine Transaktionen sicher?
    • Kann ich Teile meiner COBOL Anwendung in einer modernen Webserver Architektur wieder verwenden?
Ja - mit P3/COBOL ist all das möglich!

Im Folgenden schauen wir uns an:

    • P3/COBOL: Java EE & SpringBoot
    • P3/COBOL: Docker, Podman und Co.
    • P3/COBOL: Gradle, Maven und irgendwo noch ein bisschen ANT
    • P3/COBOL: Batch Server

Im Zentrum steht das Framework, das für die Entwicklung der Enterprise Anwendung gewählt wurde. Um so wichtiger ist es zu prüfen: Kann ich meine bestehende COBOL Anwendung, genauer gesagt den Businesskern, auch in einem modernen Framework verwenden?

Dazu schauen wir uns zunächst die Verwendung mit Java EE/Spring Boot an. Gefolgt vom containerbasierten Deployment aber auch den Entwicklungsworkflow.

 - Grafik_1 - Grafik_1

P3/COBOL: Java EE & SpringBoot

 - Grafik_2 - Grafik_2

Moderne Anwendungen nach dem RestAPI oder MVC Prinzip werden heute mit Java EE oder SpringBoot entwickelt. Dabei ändert sich zwar das Interface gegenüber Legacy-Architekturen, der Business-Kern der Anwendung bleibt jedoch bestehen.

Mit P3/COBOL wird der COBOL Business-Kern einfach in die neu Java Architektur übernommen. Java typische Schnittstellen ermöglichen es COBOL Programme direkt in Java wiederzuverwenden.

 - Grafik_3 - Grafik_3

Die Übergabe der Parameter an die das COBOL Programm (LINKAGE SECTION) erfolgt Java-Like:

    • Client Aufruf via RestAPI
    • Übergabe im JSON-Format
    • Dto-Mapping via Getter- bzw. Setter-Methoden (vom JSON-Objekt zum Java-Objekt der COBOL Satz-Struktur)
    • Übergabe an das COBOL-Programm (Java)

Über Jahrzehnte entstandene Business-Logik, welche immer noch einen sehr großen Unternehmenswert darstellt (und damals nun mal in COBOL geschrieben wurde, seit Jahrzehnten erprobt ist und zuverlässig korrekte Ergebnisse liefert), muss nicht neu erfunden oder entwickelt werden. Sie kann einfach, elegant und modern weiterverwendet werden.

Transaktionssicherheit (der Request) wird durch das verwendete Java Framework und die flexible Konfiguration in P3/COBOL gewährleistet.

Mit ein paar kleinen Handgriffen ist Ihre COBOL-Anwendung Cloud ready!

P3/COBOL: Docker, Podman und Co.

 - Grafik_4 - Grafik_4

Der Betrieb von Software, also die Produktivumgebungen, hat sich über die Jahre verändert. Anstatt schwergewichtiger und klobiger virtueller Maschinen haben leichtgewichtige Container die Produktionslandschaft erobert.

Kubernetes ist der am weitesten verbreitete Begriff, wenn es um die Orchestrierung von Containern geht. Es gibt aber auch Alternativen:

    • Docker Swarm (Docker-eigenes Tool für die Orchestrierung von Clustern)
    • Apache Mesos (Apache Lösung für große Systeme)
    • AWS Fargate
    • OpenShift (RedHat unter der Haube; geeignet für den Rollout auf mehreren Cloud-Umgebungen)
    • Rancher (basiert auf Kubernetes; geeignet für die Verwaltung mehrerer Kubernetes Cluster über eine zentrale Oberfläche)
    • Nomad (HashiCorp Lösung; kann in Verbindung mit Kubernetes, aber auch standalone verwendet werden)

Der gemeinsame Nenner all dieser Lösungen ist: Bereitstellung der auszuliefernden Software in einem Container.

Mit P3/COBOL werden COBOL-Anwendungen nach Java gebracht. Die Paketierung bzw. Auslieferung erfolgt über ein Java typisches JAR-Archiv.

Wie am vorherigen Beispiel Java EE & Spring Boot erklärt, wird die gesamte Anwendung in ein Container Image gepackt und deployt.

Damit ist jede COBOL-Anwendung quasi: Container ready!

P3/COBOL: Gradle, Maven und irgendwo noch ein bisschen ANT

 - Grafik_5 - Grafik_5

Entwickler, die auf Eclipse als Entwicklungsplattform setzen, können dank des P3/COBOL Eclipse Plugins beide Welten an einem Ort vereinen: Java- und COBOL-Entwicklung mit nur einem Entwicklungswerkzeug.

Dabei lässt sich P3/COBOL in gewohnte und moderne Build- und Deploymentprozesse mit Maven oder Gradle sehr leicht integrieren:

Im Beispiel wird anhand von Gradle aufgezeigt, wie einfach P3/COBOL in moderne Build-Systeme eingebunden werden kann.

Gradle oder Maven bieten alles, was für Build, Test und Deploy erforderlich ist. COBOL- und Java-Anwendungen können so gemeinsam von der Entwicklung bis hin zur Produktion über CI/CD-Pipelines (Continuous Integration / Continuous Delivery) automatisiert werden.

Mit P3/COBOL sind COBOL-Anwendungen: CI/CD ready!