Über unsMediaKontaktImpressum
Niels de Bruijn 30. August 2016

Rapid Application Development mit Oracle Application Express (APEX)

IT-Abteilungen in Unternehmen suchen eine Antwort auf das Phänomen Schatten-IT: Softwarelösungen entstanden in den Fachbereichen, meist auf Basis Access/Excel. Dabei wird ignoriert, dass die IT-Abteilung selbst das Problem verursacht hat. Die Zeiten sind nämlich längst vorbei, in denen die Fachbereiche monatelange auf eine Applikation warten. Mit Oracle Application Express (APEX) können Sie diesen Prozess beschleunigen und die Schatten-IT im Unternehmen wieder auf ein gesundes Maß zurückbringen.

Das Business wieder im Fokus

Vor 15 Jahren wurde eine Webapplikation durch einen Entwickler noch komplett ausprogrammiert. Eine Hilfestellung bekam dieser lediglich mit Hilfe von Generatoren: Der Programmcode wird nach bestimmten Vorgaben generiert. Der Nachteil dabei: Jede Erweiterung nach der Generierung erforderte wieder ein Abtauchen im Code. Heute haben wir Oracle Application Express (APEX). APEX ist eine metadatengetriebene Entwicklungs- und Laufzeitumgebung für datenbankgestützte Webapplikationen. Für typische, immer wiederkehrende Anforderungen wie Berichte, Formulare, Diagramme und Kalender sind fertige Komponenten enthalten, die durch den Entwickler über einen Browser per Klick hinzugefügt oder konfiguriert werden. Im Gegensatz zu einem Generator kann eine Erweiterung jederzeit deklarativ reingebracht werden. Sollte die Standardfunktionalität nicht ausreichen, dann ist eine programmatische Erweiterung mittels der Programmiersprache PL/SQL nach wie vor möglich. Welche Auswirkung hat dies nun fürs Geschäft? Dazu ein paar Beispiele:

  1. Eine Aufwandschätzung [1] für eine datenzentrierte Webapplikation auf Basis von Java hat 590 Personentage ergeben. Bei gleichen Anforderungen wurde die Entwicklung auf Basis APEX mit nur 380 Personentagen bemessen! Der Unterschied kommt unter anderem daher, weil die Daten bereits in der Oracle-Datenbank liegen und diese direkt verwendet werden können. In der Java-Welt muss man dagegen zuerst das Mapping zwischen den Java-Objekten und der relationalen Welt definieren.
  2. Ein Entwickler hat sich ein Symfony-Tutorial (PHP Framework für Webapplikationen) genommen und dieses mit APEX umgesetzt [2]. Ergebnis: Für die APEX-Anwendung waren 97 Zeilen Code notwendig. Im PHP-Tutorial sind es 552 Zeilen. Weniger Zeilen Code = höhere Wartbarkeit.

APEX bietet im Standard so viele Features, dass die wesentlichen Fragen eines Entwicklers sich reduzieren auf "Wo kommen die Daten her?" und "Wie soll ich diese darstellen?". Im Extremfall kann die Anwendung sogar im Gespräch mit dem Fachbereich prototypisch entwickelt werden. Übrigens müssen Sie nicht Entwickler sein, um eine erste Anwendung zu erstellen. Innerhalb von 20 Minuten hat ein jeder auf apex.oracle.com einen kostenlosen Zugriff beantragt und seine erste Anwendung erstellt.

Weniger ist mehr!

Die beste Architektur zeichnet sich dadurch aus, dass man nichts mehr streichen kann und sie außerdem skalierbar ist. APEX läuft vollständig in der Oracle-Datenbank. Diskussionen wie "Packen wir dies in die Datenbank oder auf den Applikationsserver?" gehören somit der Vergangenheit an. Die Skalierbarkeit einer Oracle-Datenbank wird nicht angezweifelt. So läuft die Abrechnung von Mautgebühren für LKWs in Deutschland über Oracle. Man kann sich leicht vorstellen, wie viele Transaktionen so pro Minute zusammenkommen.

Ab 0 Euro geht es los

APEX selbst kostet nichts, setzt aber eine lizenzierte Edition der Oracle-Datenbank voraus. Letztere gibt es mit der Express-Edition kostenlos ohne Support zum selber betreiben. Wer seine Anwendungen lieber durch Oracle in der Cloud betreiben lässt, der kann dies in Kürze mit bis zu 100 MB an Datenhaltung ebenfalls kostenlos tun. Wer mehr braucht, der sollte sich entweder die "Standard Edition 2" der Datenbank lizenzieren lassen oder eine gehostete Variante in Erwägung ziehen. Egal für welche Variante Sie sich entscheiden, beliebig viele Anwendungen können mit einer Installation betrieben werden.

Das Web macht es möglich

Alles was im Web geht, lässt sich prinzipiell mit APEX abbilden. Die Frage ist immer, ob die Standardfunktionalität in APEX ausreicht. Bei einer individuellen datenzentrierten Webapplikation, lassen sich 80-90 Prozent deklarativ erstellen. Spezielle Anforderungen können mit sogenannten Plug-Ins aus der Community [3] umgesetzt werden. Sonstige Erweiterungen lassen sich außerdem programmatisch mit Hilfe der Programmiersprache PL/SQL oder mittels JavaScript bereitstellen.

Sie müssen jedoch nicht auf der grünen Wiese anfangen. Viele Beispielanwendungen, aber auch produktionsreife Anwendungen, können bei Bedarf mit zwei Klicks installiert werden. Suchen Sie zum Beispiel eine Anwendung zur Verwaltung von Projekten, dann empfiehlt es sich, die Anwendung "P-Track" zu installieren und ggf. zu erweitern (s.Abb 4).

Im Standard lassen sich alle Anwendungen auf dem Desktop, Tablet sowie Smartphone ausführen. Darüber hinaus kann für das Smartphone zusätzlich eine dedizierte Oberfläche erstellt werden, die für eine Benutzerführung auf einem kleinen Bildschirm optimiert ist.

Fazit

Vieles geht extrem schnell, wenn mit APEX eine Webapplikation entwickelt wird. Das Rapid Application Development Framework kommt als kostenloses Feature mit der Oracle-Datenbank und wird bereits durch viele Unternehmen eingesetzt [4]. Um zu beurteilen, ob APEX auch für Sie eine Alternative darstellt, kann ich Sie nur ermutigen, sich in wenigen Minuten selbst ein Bild zu machen. Schauen Sie sich die Videos an [5] und beantragen Sie einen kostenlosen Workspace auf apex.oracle.com. Seien Sie vorgewarnt: Wer einmal anfängt, bekommt Lust auf mehr!

Autor

Niels de Bruijn

Niels de Bruijn unterstützt gemeinsam mit seinem Team von APEX-Spezialisten Kunden bei Entwicklung, Coaching oder Schulung im APEX-Umfeld. Er ist Fachbereichsleiter bei der MT AG und Oracle ACE Director.
>> Weiterlesen
botMessage_toctoc_comments_9210