CI/CD für Oracle-APEX-Anwendungen mit GitLab

CI/CD für Oracle-APEX-Anwendungen mit GitLab

Oracle Application Express (APEX) ist eine Low-Code-Plattform zur Erstellung von datenbasierten Webanwendungen, die direkt in einer Oracle-Datenbank installiert wird. Die Entwicklung einer solchen Webanwendung findet in der APEX-eigenen Entwicklungsumgebung statt. Dieser Artikel zeigt eine Möglichkeit auf, wie die Entstehung einer APEX-Applikation anhand CI/CD automatisiert auf verschiedene Umgebungen (TEST und PROD) ausgerollt werden kann.

Die Low-Code-Plattform Oracle APEX wird von Oracle seit vielen Jahren als Teil aller Datenbankeditionen entwickelt. Sie beinhaltet eine grafische Benutzeroberfläche zur Entwicklung von datenbasierten Webanwendungen und besteht neben der Benutzeroberfläche in der Regel aus zusätzlichen Oracle-Datenbank-Objekten (wie Tabellen, Packages usw.). Ein häufiges Problem bei der Nutzung von Oracle APEX in größeren Projekten ist der aufwendige, manuelle Prozess, um eine Applikation und alle dazugehörigen Komponenten von einer Umgebung, beispielsweise der Entwicklungsumgebung, auf eine andere Umgebung, wie die Testumgebung, zu übertragen. Hierzu müssen alle Datenbankobjekte, statische Daten sowie die Applikation selbst manuell von der Entwicklungsumgebung auf die Testumgebung und später auf die Produktivumgebung übertragen werden.

Oracle APEX besitzt hierfür seit der Version 20.1 ein eingebautes Feature namens Remote Deployment, das den Deployment-Prozess von einer Umgebung auf eine andere vereinfachen soll. Dennoch besteht der Remote-Deployment-Prozess aus vielen einzelnen Schritten, auf die bereits während der Entwicklung geachtet werden muss. So müssen beispielsweise Skripte zur Aktualisierung des Datenbankschemas manuell geschrieben und in der APEX-Applikation als Update-Skripte hinterlegt werden. Der Prozess des eigentlichen Deployments ist hier ebenfalls ein händischer Prozess. In der APEX-Entwicklungsoberfläche muss eine APEX-Applikation mit manuellen Klicks durch mehrere Masken auf der Zielumgebung installiert werden. Hierbei können sich durch die manuelle Durchführung und Komplexität der Weboberfläche immer wieder Fehler einschleichen.

Diese und weitere Probleme werden in der modernen Softwareentwicklung typischerweise anhand einer Automatisierung durch CI/CD gelöst. CI/CD beschreibt die Automatisierung des Tests, der Auslieferung und der Überwachung von Software. Der Prozessablauf hilft dabei, die Änderungen der Entwickler in kürzeren Intervallen auf den Haupt-Entwicklungszweig zu bringen. Darüber hinaus sorgt CI/CD mit automatischen Tests und Deployments für eine bessere Qualität sowie häufigere Releases einer Software.

Im weiteren Verlauf dieses Artikels zeigen wir auf, wie wir es geschafft haben, eine CI/CD-Pipeline für APEX-Applikationen aufzubauen, um diese erfolgreich bei Kunden einzusetzen.

Lesen Sie hier den kompletten Beitrag im Red Stack Magazin 02/2023.

Autor: Johannes Michler, Simon Grossmann

Bildquelle: © pixabay.com

Oracle APEX vs. Oracle VBCS: Vergleich der beiden Frontend-Technologien / Teil 1

Oracle APEX vs. Oracle VBCS: Vergleich der beiden Frontend-Technologien / Teil 1

Yves Chassein PROMATIS

 

Senior Vice President – Head of Application Development

Oracle Application Express (APEX) sowie der Oracle Visual Builder Cloud Service (VBCS) sind zwei Low Code Plattformen von Oracle, die beide zur Erstellung von Webapplikationen genutzt werden können. Doch was sind die Unterschiede und Gemeinsamkeiten dieser beiden Front-End Technologien? Dieser Frage wollen wir in der zweiteiligen Blog-Reihe auf den Grund gehen. Zunächst werden Oracle APEX sowie Oracle VBCS vorgestellt und im zweiten Teil werden diese beiden Technologien gemäß verschiedener Kategorien verglichen.

Was ist Oracle APEX?

Oracle APEX ist eine Low Code Plattform von Oracle, die mit Hilfe von SQL, PL/SQL, JavaScript und HTML Webapplikationen auf der Oracle Datenbank erstellen lässt. APEX selbst ist Teil einer jeden Oracle Datenbank und kann ohne weitere Lizenzkosten genutzt werden. APEX gibt es schon sehr lange: die Erfolgsgeschichte begann 2004 mit dem ersten Release, damals noch unter dem Namen HTML-DB. Über die Jahre kamen neue Funktionen hinzu wie der Interactive Report (2008), den Dynamic Actions (2010) oder dem Interactive Grid (2017). Mit Hilfe von Interactive Reports kann der User die Daten, die per Query aus der Datenbank gelesen werden, im Front-End – Excel ähnlich – filtern, sortieren und sogar regelbasiert einfärben. Dynamic Actions ermöglichen dem Entwickler, JavaScript-Aktionen deklarativ zu programmieren und Ajax-Calls zur Datenbank auszuführen. Das Interactive Grid ist die Weiterentwicklung des Interactive Reports, das neben der Anzeige auch die Manipulation der Daten beherrscht. Aktuell gibt es APEX in der Version 20.2. Seit der Version 5.1 setzt APEX vermehrt auf Oracle JET, einem Open Source Toolkit zur Entwicklung von JavaScript.

 

 Zeitstrahl Oracle APEX

 

APEX baut auf einer 3-tier Architektur auf. Http-Anfragen werden vom Client, in diesem Falle dem Browser, über den Oracle Rest Data Service an die Datenbank gesendet. Die Antworten werden vice versa zurück an den Browser geschickt. Hierbei werden Datenabfragen und -manipulationen direkt in der Datenbank ausgeführt.

Mit Oracle APEX ist es somit leicht, datenbanknahe Webapplikationen anzufertigen. Ebenfalls ist möglich, Excel-ähnliche Auswertungen auf Daten der Datenbank zu erstellen. Auch können Erweiterungen von Standardapplikationen – wie der Oracle E-Business Suite –  einfach erstellt werden.

Was ist Oracle VBCS?

Oracle VBCS ist eine relativ neue Low Code Plattform von Oracle. Oracle VBCS basiert auf REST-Services, JavaScript und HTML5. Bei JavaScript wird, wie auch bei APEX, auf das Framework JET zurückgegriffen. Dieses ist zu 100% in VBCS integriert. Entwicklung und Runtime liegen in der Cloud. Oracle VBCS muss über Universal Credits lizenziert werden.

Oracle JET bringt eine Reihe vorgefertigter Komponenten wie Tabellen, Listen, Toolbars oder ähnliches mit. Diese können in der VBCS genutzt werden, um responsive Web Applikationen zu implementieren. Anzuzeigende Daten müssen in Form von REST Services bereitgestellt werden. Ein direkter Zugriff auf Datenbanken oder Dateien ist nicht möglich. Oracle VBCS wird meist zusammen mit einer Autonomous Datenbank und einem ORDS betrieben. Um auf Daten aus anderen Datenquellen zugreifen zu können, müssen diese über REST Services zur Verfügung gestellt werden.

 

 Architektur Oracle VBCS

Mit Hilfe von Oracle VBCS können schnell Web-Applikationen erstellt, debuggt und getestet werden. Darüber hinaus ist es möglich, fast nahtlos Oracle Software as a Service (SaaS) Produkte wie die Oracle Fusion HCM Cloud zu erweitern. Auch die Anzeige und Manipulation von Daten ist schnell implementiert. Mit Hilfe von Oracle VBCS lassen sich responsive Web Apps genauso wie Progress Web Apps (PWA) leicht umsetzen.

Um eine bessere Vorstellung zu haben, wie eine Applikation mit APEX bzw. VBCS aussieht, wurde eine einfache Applikation in beiden Technologien erstellt. Diese Applikation zeigt die Daten einer Tabelle mit 3 Spalten (ID, Vortrag und Datum) an und man kann neue Datensätze hinzufügen. In APEX wurde dies durch ein Interactive Grid gelöst, in VBCS wurde dies durch eine Tabelle mit Formular umgesetzt.

 

Beispiel in VBCS:

 Anzeige der Datensätze in VBCS

 

Oracle VBCS

Neuen Datensatz erzeugen in VBCS

 

Beispiel in APEX:

 Anzeige und Bearbeitungsmaske in APEX

 

Im zweiten Teil dieser Blog-Reihe werden Oracle APEX und Oracle VBCS gegenübergestellt und in sieben Kategorien miteinander verglichen.

Oracle APEX vs. Oracle VBCS: Vergleich der beiden Frontend-Technologien / Teil 1

ORACLE APEX Cloud Service preiswert in der Oracle Cloud verfügbar

Yves Chassein PROMATIS

 

Senior Vice President – Head of Application Development

Oracle Application Express (APEX) ist eine beliebte Low Code Plattform zur Entwicklung von datenbankgestützten Web-Anwendungen. Wollte man bisher solche Anwendungen in der Oracle Cloud betreiben, hatte man zwei reelle Alternativen. Zum einen Autonomous Database Service oder Oracle Cloud Infrastructure (OCI) mit einer manuell installierten und gewarteten Datenbank und zum anderen APEX. Seit Anfang des Jahres bietet Oracle nun auch einen Oracle APEX Cloud Service an. Für wen dieser geeignet ist und welche Vor- und Nachteile er mit sich bringt, will ich im Folgenden beleuchten.

Oracle APEX Cloud Service, was ist enthalten?

Der Oracle APEX Cloud Service besteht aus seiner komplett von Oracle gemanagten Datenbank-Instanz, ähnlich der Autonomous Database, sowie einer APEX Installation mit vorkonfiguriertem Oracle Rest Data Service (ORDS). Abgerechnet wird – wie für Datenbanken in der Cloud üblich – nach OCPUs und Terrabyte Daten, also keine Abrechnung nach Usern, Entwicklern oder ähnlichem. Auf die Datenbank kann per SQL Developer Web, APEX oder – nach Implementierung – REST-Service zugegriffen werden. Über das SQL Developer Web lassen sich SQL-Queries und Skripte ausführen, Datenbankobjekte Wizard gesteuert erstellen und verändern sowie Datenbankmodelle erzeugen. Durch den vorkonfigurierten ORDS ist es möglich, REST-Services zur Verfügung zu stellen, die Daten der Datenbank zu lesen oder manipulieren zu können.

Was ist der Unterscheid zu Autonomous Database Service?

Im Vergleich zum Autonomous Database Service ist es beim Oracle APEX Service nicht möglich, sich per JDBC zur Datenbank zu verbinden, somit ist der Einsatz von Clients, wie dem SQL-Developer von Oracle, nicht möglich. Das heißt Schnittstellen, die nicht über REST mit der Datenbank kommunizieren, können mit dem APEX Cloud Service nicht erstellt werden. Erkennt man, dass diese doch benötigt werden, kann der Oracle APEX Cloud Service mit einem Click zu einer „vollen“ Oracle Autonomous Transaction Processing Database aufgewertet werden (natürlich erhöhen sich damit auch die Kosten). Darüber hinaus ähneln sich die beiden Cloud Services sehr stark. Beide Cloud Services werden komplett von Oracle gewartet und Updates werden automatisch eingespielt.

Was ist der Unterschied zum Oracle Infrastructure Cloud Service?

Hier sind die Unterschiede größer. Neben der fehlenden Vorkonfiguration von Oracle APEX und ORDS müssen bei der OCI Variante auch alle Patches manuell installiert werden. Hier ist somit immer ein Datenbankadministrator nötig. Im Vergleich hierzu wird die Autonomous Database sowie auch der Oracle APEX Service von Oracle selbst gewartet und im Falle von anstehenden Updates aktualisiert. Bei der OCI Variante ist es – im Gegensatz zum APEX Service – möglich, sich per JDBC zur Datenbank selbst und darüber hinaus per SSH auf den Datenbankhost zu verbinden. Dafür ist eine SQL Developer Web Unterstützung Out of the Box nicht verfügbar und muss nachinstalliert werden.

Fazit

Ist man auf der Suche nach einem einfachen und kostengünstigen Weg, mit APEX in die Oracle Cloud zu gehen, ist der Oracle APEX Service genau die richtige Wahl. Denn man kann schnell und kurzerhand starten. Ebenfalls ist es mit diesem Cloud Service möglich, Applikationen mit mehr als 500 Usern, zu betreiben. Und reicht am Ende die REST-Schnittstelle und das Oracle SQL Developer Web nicht mehr aus, ist ein Upgrade auf eine „volle“ Oracle Autonomous Transaction Processing Database leicht möglich.

Oracle’s popular APEX low-code application development platform

For the first time, Oracle’s popular APEX low-code application development platform is now available as a standalone OCI service

Oracle today is making its popular APEX low-code development platform available as a managed cloud service that developers can use to build data-driven enterprise applications quickly and easily. Oracle APEX Application Development expands on two decades of APEX functionality already used by 500,000 developers as an easy-to-use, browser-based service for creating modern Web and mobile apps. While the original APEX platform was only available as part of the Oracle Database, APEX Application Development is available as a standalone service and works with a variety of applications.

to the Oracle post