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; die Programmierung erfolgt in PL/SQL oder Java (importierte Java-Klassen).
Produktversionen
Oracle 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. Seit 2002 waren Grant Ronald und Michael Ferrante die weiteren 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 Forms für die Realisierung der Dialogmasken. 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.4 hat einen Premium Support bis August 2022 und einen Extended Support bis August 2025.[3] Es sind bereits weitere Nachfolgeversionen geplant. Das nächste Release soll Ende 2021 als Major Release (14/21) erscheinen und zur Zeit werden Modernisierungen in folgenden Bereichen diskutiert:
1. Improvements to Java client UI - GUI Verbesserungen für das Java Interface
2. HTML/JS replacement for Java client - Ein neuer Javascript Client als Alternative zum Javaclient
3. More installation options (e.g. standalone Form Builder with lightweight runtime) - Entschlackte Installation des Forms Builders
4. Improved integration with other technologies and products - Integration von neuen Technologien z. B. REST Services
Hier ein Beispiel[4] aus der frühen Entwicklungsphase der nächsten Formsversion. Die klassischen Formsobjekte wie Felder(items), Rahmen und Blöcke werden dabei auf dem Client in einem modernen Webdesign dargestellt.
Aktuelle Version:
- Die aktuelle Version Forms & Reports 12c (12.2.1.4) erschien am 27. September 2019[5]
Grundlagen
Oracle 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.4 angeboten und möglicherweise sogar in der nächsten Version. 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). Mit der neuen Version 12.2.1.4 wurde Forms am 27. September 2019 auf den aktuellen Stand gebracht und ist nun zertifiziert auf allen gängigen Server Betriebssysteme (Windows, Solaris, Unix) und den Datenbanken 11.2.0.4, 12.1., 12.2, 18.3+ und 19.3+. Der Sprachumfang erlaubt nun PL/SQL in der Version 12.1 und Datenbankverbindungen mit SQLNET12. Eine Forms Lizenz beinhaltet nun auch eine Lizenz zur Nutzung des BI Publisher. Der BI-Publisher wurde in Forms integriert und kann ähnlich komfortabel aufgerufen werden.
In Deutschland hat sich in der DOAG eine Forms Gruppe mit etwa 100 aktiven Formsentwicklern zusammengefunden. Dr. Jürgen Menge und Jan-Peter Timmermann leiten diese Gruppe, die unter dem Link "ORACLE Forms Community Deutschland" in den Weblinks erreichbar ist. Teil der Aktivität ist auch ein Demoserver, der von der Gruppe mit kostenlosen Demos betrieben werden die nach dem "OPEN SOURCE" Gedanken kostenfrei Online getestet und heruntergeladen werden können.
Eine Aktivität dieser Gruppe ist der jährlich stattfindende Formsday.
Modernisierungen
Es gibt diverse Ansätze, aus dem alten Forms etwas „Neues“ zu machen: Teilweise über das Aufhübschen mit Java oder die Migration in Richtung Oracle ADF. Das bekannteste Framework, für das „modernisieren“ von Oracle-Forms-Anwendungen, ist das LAF-Projekt[6] von Francois Degrelle.[7][8]
Die neue Version 12.2.1.4 erlaubt viele Modernisierungen die keine „Java Extensions“ mehr benötigen. Details lassen sich aus dem Dokument von Michael Ferrante in den Weblinks entnehmen.
Mit der Möglichkeit ab 12.2.1.x lässt sich auch das GUI etwas moderner gestalten (CustomColorScheme, ROW Banding, Smartbarheight etc.)
Literatur
- 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
- Oracle Forms 12 auf der Oracle-Website
- Oracle Forms Community USA
- Michael Ferrante: New Features Forms (REV3) 12.2.1.0-12.2.1.4 (PDF) Stand September 2019
- Oracle Forms Community Deutschland
- Lifetimesupport Oracle Forms (PDF; 4,4 MB)
- Forms Demo Server mit Forms Version 12.2.1.4 in der Oracle Cloud Frankfurt-1
Einzelnachweise und Anmerkungen
- Frank Hoffmann, Bill Friend, Sohaib Abassi: 40 years Oracle Forms. (PDF) 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).
- Michael Ferrante: What if your OracleForms could look a bit fresher. In: @OracleFormsPM. 1. November 2019, abgerufen am 7. Januar 2020 (englisch).
- Oracle: Forms 12.2.1.4 Releasenotes. Oracle, abgerufen am 7. Januar 2020 (englisch).
- LAF-Projekt – entlehnt aus dem englischen ‚LAF project‘, welches wohl zuvor aus ‚Look and Feel Project‘ verkürzt wurde
- Oracle Forms Look and Feel Project (englisch) – Francois Degrelle’s blog; 2. November 2010; u. a. mit „LAF project“
- Forms Look and Feel Project (englisch) – Start- oder Homeseite; abgerufen am 7. Dezember 2017