X

Technologie - Trends - Tipps&Tricks
in deutscher Sprache

Oracle Application Express (APEX) und Autonomous Database

Oracle APEX gibt es jetzt auch auf (serverless) Autonomous Database - Grund genug das Thema auch in unserem Blog zu thematisieren.
 
Für alle diejenigen, die sich noch nicht mit APEX beschäftigt haben, und sich fragen, was ist eigentlich Oracle Application Express (kurz APEX) und welche Anwendungsbereiche gibt es, eine kurze Erklärung vorab.

APEX, das übrigens seit ca. 2006 zur Verfügung steht und sich bis zur aktuellen Version 19 stetig weiterentwickelt hat, ist eine browserbasierte Entwicklungsumgebung zur Erstellung datenbankzentrischer Webapplikationen. APEX steht automatisch auf allen gängigen Plattformen und in allen Editionen der Oracle Datenbank zur Verfügung und ist somit besonders gut für Entwickler mit SQL und PL/SQL Kenntnissen geeignet. Ein wichtiges Merkmal von APEX ist dabei, dass kein ausführbarer Code erzeugt wird, sondern die Anfragen im Browser direkt in PL/SQL-Aufrufe umgesetzt werden. Dabei werden die Webapplikationen, die in Datenbanktabellen gespeichert sind, in Echtzeit aus Metadaten "ge-rendert". 

Was kann man nun mit APEX machen? Mit APEX lassen sich Daten laden, Tabellenkalkulationen importieren, REST-Schnittstellen entwickeln, Datenvisualisierungen erstellen sowie für Desktop-Anwendungen als auch für mobile Geräte, um nur einige Beispiele zu nennen. 

Es gibt eine Menge ausgezeichneter Blogeinträge zum Thema und die Community ist groß. Wer mit APEX starten möchte, kann beispielsweise folgende Tutorials verwenden: 

Und nun gibt es APEX auch mit Autonomous Database! Was bedeutet dies für den APEX Entwickler und für den DBA, der APEX bereitstellt? "Oracle APEX on Autonomous Database" ist eine installierte, vorkonfigurierte, vollständig verwaltete und gesicherte Umgebung und stellt bis auf wenige Ausnahmen die gleichen Funktionen wie auf On-Premises Installationen zur Verfügung. APEX steht dabei sowohl für ADW (Autonomous Data Warehouse) Instanzen als auch für ATP (Autonomous Transaction Processing) Instanzen zur Verfügung. Hat man also eine (serverless) Autonomous Database - egal welchen Workload Typs - provisioniert, kann man fast sofort beginnen, mit APEX zu entwickeln. Keine weitere Installation oder Konfiguration ist nötig.

Alles Wichtige für den Einstieg findet sich im Autonomous Handbuch im Kapitel 7 Creating Applications with Oracle Application Express in Autonomous Database oder auch im Blogeintrag von Joel Kallman The Quick Guide for Getting Started with APEX on Autonomous Database Serverless 

Die wenigen Schritte sind auch hier kurz beschrieben:
Da die APEX Instanz einer autonomous Datenbank über keine vordefinierten Workspaces für Oracle Application Express verfügt, muss zuerst ein neuer Workspace erstellt werden.

Hinweis für alle Neulinge mit APEX: Ein Workspace ist ein Bereich in einer APEX Installation, die mehreren Usern erlaubt, ihre Applikation und Daten in einem gemeinsamen privaten Bereich - dem Workspace - zusammenzufassen. So können sich mehrere APEX User einen Workspace teilen oder auch einem dedizierten Workspace angehören. Datenbankseitig ist der Workspace ein logischer Bereich, der aus Tabellen, Views, Stored Procedures usw. besteht. Ein einzelnes Datenbankschema kann dabei mit einem oder mehreren Workspaces verknüpft sein.

Um einen neuen Workspace anzulegen, navigiert man im Cloud Menü über die Service Konsole auf den Menüpunkt Development.

Dann klickt man auf den Button "Oracle Application Express" und gelangt von dort aus in den Bereich "Administration Services". Die Administration einer APEX Instanz erfolgt in der Regel über diese "Administration Services" und nicht über SQL*PLUS oder dem Werkzeug Enterprise Manager.

 

Nach erfolgreicher Eingabe des Passworts des Users ADMIN, befindet man sich im "Instance Administration" Bereich. Hier lassen sich dann Workspaces anlegen und auch monitoren. Dazu kann man entweder neue User anlegen oder auch den Workspace mit einem bestehenden Schema verbinden.

Dieser User ist dann ein Workspace Administrator und kann alle administrativen Tätigkeiten bzgl. des Workspaces durchführen.

Und nun kann es schon losgehen: Wir navigieren entweder über die Service Console auf die Application Express Login Site und loggen uns mit dem Workspace und Username/Passwort ein. Am Besten bookmarkt man sich gleich die entsprechende URL.

In meinem Fall sieht die URL ungefähr so aus:
https://xxxxxx-dbjun.adb.eu-frankfurt-1.oraclecloudapps.com/ords/apex

So kann man ganz einfach und schnell in wenigen Minuten und ohne detaillierte Kenntnisse von APEX Daten laden und eine Applikation entwickeln. Damit man erkennen kann, wie einfach das Handling mit APEX ist, zeige ich im Folgenden ein paar interessante Anwendungen. 

Wie funktioniert zum Beispiel ein Upload einer CSV Datei in APEX? Man navigiert vom "SQL Workshop" über "Utilities" zum "Data Workshop" Button. Von hier aus lassen sich dann Daten in unterschiedlichen Formaten wie zum Beispiel CSV, XLSX, XML und JSON laden.

Generell lassen sich mit dem "Create Application" Wizard, Applikationen entweder auf schon bestehenden Daten oder nach dem Neuladen von Daten erstellen. 

Oder man installiert schnell eine der vielen Sample Apps (hier Live Poll) und probiert sie gleich nach der Installation aus.

Was steckt eigentlich hinter APEX und wie ist das Zusammenspiel mit (serverless) Autonomous Database? Oracle APEX verwendet eine einfache 3-Tier-Architektur, bei der Anfragen vom Browser über einen Webserver an die Datenbank gesendet werden. Wie man an der URL erkennen kann, wird Oracle REST Data Services (ORDS) verwendet um die Anfragen an die Datenbank zur Bearbeitung zu senden. Innerhalb der Datenbank wird der Request dann von Oracle APEX verarbeitet. Nach Abschluss der Verarbeitung wird das Ergebnis über ORDS an den Browser zurückgegeben.

Da wir es mit einer managed Plattform zu tun haben, das bedeutet Konfiguration, Patching, Monitoring und Upgrades von APEX Komponenten wird von Oracle durchgeführt, erübrigt sich eigentlich die Frage nach der APEX Version oder auch nach dem Monitoring von SQL Performance. Trotzdem lassen sich natürlich die Aktivitäten wie SQL Statements wie immer im Activity Monitor in der Autonomous Database Service Konsole monitoren, wie man aus folgendem Screenshot ersehen kann.  

Möchte man wissen, welche APEX Version installiert ist, kann man sich wie in allen Tools mit dem Help Button behelfen. APEX steht, wie zu erwarten war, in der aktuellen Version 19.1 zur Verfügung. 

Bestehende Applikationen lassen sich natürlich importieren. Beachten sollte man allerdings ein paar Einschränkungen beispielsweise bzgl. Administration Service, Printing Service oder im  Authentication Bereich. Nachlesen kann man diese im Kapitel zu "Restrictions and Limitations for Oracle Application Express with Autonomous Transaction Processing".

Möchte man mehr zu APEX wissen, kann man unter der URL https://apex.oracle.com/en/learn/documentation/ das aktuelle Handbuch finden. Für Neulinge eignen sich die zu Beginn des Blogs erwähnten Tutorials / Handson Labs, die in ca 1-1.5 Stunden durchgearbeitet werden können. Folgende Themen stehen aktuell zum Ausprobieren zur Verfügung:

Am Besten also einfach ausprobieren! In wenigen Minuten lässt sich damit schnell eine Anwendung auf "Oracle APEX on Autonomous Database" erstellen. 

 

Be the first to comment

Comments ( 0 )
Please enter your name.Please provide a valid email address.Please enter a comment.CAPTCHA challenge response provided was incorrect. Please try again.