Erweiterung der Oracle E-Business Suite mit Oracle Application Express: schnell, sicher & einfach!

10. Februar 2020

Yves Chassein PROMATIS

 

Senior Vice President – Head of Application Development

Was ist APEX?

Oracle Application Express (APEX) ist eine Entwicklungsplattform, die SQL, PL/SQL, JavaScript und HTML verwendet, um Anwendungen auf einer Oracle Datenbank zu erstellen. Die Entwicklung in APEX erfordert nur einen Browser. Als Low-Code-Plattform ermöglicht sie das Programmieren – ohne große Erfahrungen darin – von einfachen Webanwendungen schnell und mit wenig Aufwand. Natürlich sind auch Realisierungen von Webanwendungen mit hoher Komplexität wie beispielsweise ein Kundenportal möglich. APEX-Anwendungen sind leicht skalierbar. Da APEX im Gegensatz zu Oracle Application Framework (OAF), SQL und PL/SQL als Hauptprogrammiersprache verwendet, ist es für Oracle Forms-Entwickler leichter zu erlernen.

Die Hauptmerkmale von APEX:

  • Erstellung von Berichten auf Datenbanktabellen, die der Anwender selbst ändern (interaktiver Bericht) und als.csv- oder.xls-Dateien exportieren kann.
  • Erstellen von Formularen zum Eingeben, Ändern oder Löschen von Daten in Datenbanktabellen.

Abbildung 1: Sortierung und Suche in Interactive Reports (Quelle: www.oracle.com)

Abbildung 2: Hervorheben von Zeilen (Quelle: www.oracle.com)

Abbildung 3: Interactive Grid zum Editieren von Daten (Quelle: www.oracle.com)

Die Geschichte von APEX

Die erste Version von APEX wurde 2004 veröffentlicht, damals unter dem Namen HTML DB. Mit der Version 2.1 im Jahr 2006 wurde sie erstmals APEX genannt.

Ein Jahr später mit der Version 3.1 wurden interaktive Berichte eingeführt. Diese ermöglichten es, den Endanwendern spezielle Filter- und Aggregationsfunktionen für ihre Berichte zur Verfügung zu stellen, um die angezeigten Daten weiter zu analysieren und zu sortieren.

Im Jahr 2010 führte die Version 4.0 Dynamic Actions und Plug-ins ein und erweiterte damit die Entwicklungswerkzeuge enorm. Mit der Veröffentlichung von APEX 5.0 im Jahr 2015 wurde die gesamte IDE überarbeitet. Die Entwicklung erfolgte nun auf nur einer Seite – dem Page Designer – und nicht mehr auf mehreren (jede Komponente hatte früher ihre eigene Seite). Die Einführung von Universal Theme ermöglichte nun Entwicklern Anwendungen einfach anzupassen und ansprechende Benutzeroberflächen zu erstellen.

Mit der Version 5.1 wurde das interaktive Grid eingeführt, das die Funktionalität von Formularen und interaktiven Berichten kombiniert. Seit Mai 2018 lautet der Name nicht mehr APEX 5.1(.4), sondern 18.1 und bezieht sich somit auf die neuen globalen Versionsnummern bei Oracle.

Abbildung 4: Zeitliche Entwicklung von Oracle Application Express

APEX Architektur

APEX verwendet eine 3-Tier-Architektur. Über einen Webserver werden Anfragen vom Browser an die Datenbank gesendet. Die gesamte Geschäftslogik wird auf der Datenbank ausgeführt. So kann beispielsweise auf dem Webserver ein Oracle Rest Data Service (ORDS) verwendet werden, der die Anfrage entgegennimmt und an die Datenbank weiterleitet, wo sie anschließend verarbeitet wird. Nach Abschluss der Verarbeitung wird das Ergebnis über ORDS an den Browser zurückgegeben. Anstelle des ORDS ist es auch möglich, den in die Datenbank integrierten Webserver zu verwenden, jedoch wird von Oracle empfohlen, dies nicht auf einer produktiven Instanz zu tun. Eine weitere, aber veraltete Möglichkeit ist die Verwendung des Oracle HTTP Servers zusammen mit mod_plsql. Die erprobte Vorgehensweise sieht den Einsatz von ORDS vor. Hierbei ist es möglich, ORDS im Standalone-Modus (nur für Testinstanzen) oder auf einem Anwendungsserver wie Tomcat oder Weblogic anzuwenden.

Im Falle einer Integration mit der Oracle E-Business Suite kann APEX in derselben Datenbank installiert werden, ebenso wie ein zusätzlich benötigterWebserver auf dem physischen Anwendungsserver der Oracle E-Business Suite (EBS). Des Weiteren besteht die Option, APEX auf einem separaten Datenbank- und Applikationsserver zu installieren. Für den Zugriff auf die EBS-Daten ist eine Datenbankverbindung zwischen den beiden Instanzen erforderlich. In vielen Fällen ist es sinnvoll, einen zusätzlichen Tomcat-Server auf dem physischen EBS-Anwendungsserver zu installieren, auf dem die ORDS bereitgestellt werden sollen.

Abbildung 5: Architektur von Oracle ORDS und APEX (Quelle: apex.oracle.com)