P3/COBOL for Cloud: Gradle, Maven und irgendwo noch ein bisschen ANT
P3/COBOL for Cloud: 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 bzw. Spring Boot an. Gefolgt vom containerbasierten Deployment (z.B. Docker) aber auch den Entwicklungsworkflow.
P3/COBOL for Cloud: Java EE & Spring Boot
Moderne Anwendungen nach dem RestAPI oder MVC Prinzip werden heute mit Java EE oder Spring Boot entwickelt. Dabei ändert sich zwar das Interface gegenüber Legacy-Architekturen, der Business-Kern der Anwendung bleibt jedoch bestehen.
Mit P3/COBOL for Cloud wird der COBOL Business-Kern einfach in die neu Java Architektur übernommen. Java typische Schnittstellen ermöglichen es COBOL Programme direkt in Java wiederzuverwenden.
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 for Cloud gewährleistet.
Mit ein paar kleinen Handgriffen ist COBOL in die Cloud überführt.
P3/COBOL for Cloud: Docker, Podman und Co.
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 for Cloud 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 for Cloud: Gradle, Maven und irgendwo noch ein bisschen ANT
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 for Cloud sind COBOL-Anwendungen: CI/CD ready!