Oracle Forms
Oracle Forms ist ein Entwicklungswerkzeug der Firma Oracle und erlaubt die WYSIWYG-Erstellung sowie die Programmierung von Datenbank-gestützten, interaktiven Dialogmasken. Außer der Oracle-Datenbank werden auch diverse andere SQL-Datenbanken unterstützt; mit den neuesten Version können auch REST Services nativ mit lokalen JSON PL/SQL Packages konsumiert werden. Die Programmierung von Masken, Reports, Bibliotheken und Menüs erfolgt in PL/SQL. Die Masken können optional über Java (importierte Java-Klassen) oder C(dlls) oder WEBSOCKET(Kommunikation mit Webservern) erweitert werden. Mit der optionalen aber mitgelieferten WEBUTIL Funktion (Package, JAVA Plugin, DLLs.) lassen sich auch umfangreiche lokale Windowsfunktionen ausführen oder Office-Automationen durchführen.
Produktversionen
BearbeitenOracle Forms wurde 1979 von Bill Friend entwickelt[1] und gemeinsam mit der ersten kommerziellen ORACLE Datenbank unter der Bezeichnung IAF (Interactive Application Facility) vertrieben. Später, etwa 1982, kam mit RPT noch eine Reportsvariante (RPT) dazu. Es folgten weitere Versionen unter dem Namen „Fastforms“, „SQL Forms“ und dann schließlich „Oracle Forms“. Von 1985 bis 2002 wurde Forms von Sohaib Abbassi weiterentwickelt. Meilensteine waren die PL/SQL Integration (lange vor der Datenbank), der Screen-Builder (Möglichkeit des visuellen Maskendesigns) und 1999 eine Internet 3-Schicht Architektur. Von 2002 bis 2011 war Grant Ronald und seit 2011 ist Michael Ferrante der Produktmanager von ORACLE Forms.
Ab der Produktversion 9 wird ausschließlich die Web-basierte 3-Tier-Architektur unterstützt. Für den produktiven Betrieb von Forms-Anwendungen ist der Oracle WebLogic Server Voraussetzung (in früheren Versionen von Forms war dieses der Oracle Application Server). Einige Produkte der Oracle Applications Produktfamilie (EBS) verwenden bis heute Forms für die Realisierung der Dialogmasken in einer älteren 10er Version. Oracle Forms wird schon aus diesem Grund weiterhin von ORACLE langfristig unterstützt und weiterentwickelt. Mit dem Statement of Direction hat Oracle den weiteren Werdegang der Forms-Entwicklung beschrieben.[2] Die aktuelle Version 12.2.1.19 hat einen Premium Support bis Dezember 2026 und einen Extended Support bis Dezember 2027.[3] Das nächste Release mit Forms und Reports ist von Oracle für 2024 als Major Release (14.2.1) mit long term support (2032+) angekündigt. Es sind bereits eine Nachfolgeversionen 15 als Short term release geplant.
Grundlagen
BearbeitenOracle Forms ist eine 4GL-Entwicklungsumgebung zur schnellen Erstellung robuster Dialoganwendungen für Oracle-Datenbanken mit Hilfe auch sogenannter Formulare (Weiteres siehe auch Schema (Informatik)). Dabei werden Elemente grafischer Benutzeroberflächen intern in Blöcken organisiert, die mit Datenbanktabellen oder -prozeduren verbunden sind. Blöcke stehen untereinander in Verbindung, wenn sie z. B. Master-Detail-Relationen abbilden. Der Code zur Aktualisierung der Detail-Anzeige bei Datensatz-Navigation wird automatisch generiert. „Datenbank-nahe“ Dialoganwendungen lassen sich so ohne eine Zeile zusätzlichen Code erstellen. Abfragen, Einfügen, Ändern oder Löschen von Daten sowie ein intelligentes Locking auf Datensatzebene (u. a. zur Vermeidung von lost-updates) gehören zur Standardlogik eines Datenbankblocks und müssen nicht extra kodiert werden. Für eigene Anwendungslogik dienen ereignisgesteuerte Trigger, die mittels der Ada-ähnlichen Programmiersprache PL/SQL formuliert werden. Mit dem WYSIWYG-Designer erstellte Forms-Anwendungen werden durch den integrierten Forms-Kompilierer in ausführbare Module überführt. Bei dieser Kompilierung werden u. a. fehlende oder ungültige Datenbankobjekte oder fehlende Berechtigungen erkannt, was zur Laufzeit-Stabilität von Forms-Anwendungen beiträgt.
Ein Vorteil von Forms ist, das Datenbanklogik, die zu einem robusten und nachhaltigen Betrieb erforderlich sind, automatisch generiert werden kann. Die Maskenlogik bietet out of the BOX das Sperren von Datensätzen bei der Bearbeitung (Row Level Locking) oder auch die performanceoptimierte Abfrage der Inhalte über Optimizer freundliche Techniken (Bindings).
Ab Version 12 können Applikationen ohne Browser gestartet werden. Dazu reicht es auf dem Client-PC aus ein Java Runtime Archiv zu installieren. Entgegen früherer Aussagen von ORACLE wird Oracle Reports auch weiterhin in der aktuellen Version 12.2.1.19 angeboten und in der nächsten Version 14.1.2. Michael Ferrante, der Produktchef von Oracle Forms, hat alle Neuerungen zu dem Produkt, die mit der Familie 12.1.2.x eingeführt wurden, in einem New Features Dokument zusammengefasst (Siehe Weblinks).
Modernisierungen
BearbeitenORACLE bietet für Forms seit der ersten Version 1979 bis heute bei jedem Releasewechsel einen Migrationspfad an um sein Produkt kompatibel zu allen aktuellen Windows und Unix Server Systemen zu halten. Es besteht auch die Möglichkeit unter Windows zu entwickeln und mit einem einfachen Compile unter Unix zu deployen. Mit der Version 12 wurde FSAL eingeführt (Forms Standalone Launcher) und eine Möglichkeit geschaffen mit einem kleinen Java Startprogramm die Masken ohne Browserplugin zu betreiben. Mit den aktuellen Version 12.2.1.x und 14.1.2. werden zahlreiche neue GUI Optionen eingeführt, die es ermöglichen die Maskenerstellung moderner und zu gestalten. Diese Neuerungen werden aber konservativ eingeführt und können über Feld(Item)-Eigenschaften(Properties) oder Serverkonfigurationen aktiviert werden. Der native Forms REST Service aus Version 14.1.2 mit Forms JSON PL/SQL Packages erlaubt eine Maskenerstellung erstmalig auch ohne Datenbankanbindung.
Literatur
Bearbeiten- Perry Pakull, Stefan Jüssen, Walter Müller: Praktische Anwendungsentwicklung mit Oracle Forms. Hanser Verlag, 2007, ISBN 3-446-41098-8
- Daniel Liebhart, Guido Schmutz, Marcel Lattmann, Markus Heinisch, Michael Königs, Mischa Kölliker, Perry Pakull, Peter Welkenbach: Architecture Blueprints. Hanser Verlag, 2007, ISBN 3-446-41201-8
- Frequently Asked Questions for Oracle Forms 12c, (PDF; 199 kB) Oracle Corporation, 2016 (englisch)
Weblinks
Bearbeiten- Oracle Forms 12 auf der Oracle-Website
- Oracle Forms Community USA
- Michael Ferrante: New Features Forms (REV3) 12.2.1.0-12.2.1.19 (PDF) Stand Februar 2023
- Lifetimesupport Oracle Forms Stand Februar 2024 (PDF; 3,2 MB)
- Forms Demo Server mit Forms Version 12.2.1.19 in der Oracle Cloud Frankfurt-1
Einzelnachweise und Anmerkungen
Bearbeiten- ↑ Frank Hoffmann, Bill Friend: 40 years Oracle Forms. (PDF) In: Oraworld. EOUC/DOAG, 1. Januar 2019, abgerufen am 23. April 2019 (englisch).
- ↑ Oracle Application Development Tools Statement of Direction: Oracle Forms, Oracle Reports and Oracle Designer. (PDF; 211 kB) Oracle, September 2019 (englisch)
- ↑ Oracle: Support. (PDF) Oracle, 1. April 2019, abgerufen am 23. April 2019 (englisch).