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. 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] Es sind bereits weitere Nachfolgeversionen geplant. 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 und wird z. B. folgende Verbesserungen bringen:

1. Zahlreiche GUI Verbesserungen für das Java Frontend die über Property und Konfigigurationen nativ genutzt werden können

2. Ein interner Forms Rest Service der erlaubt Forms Blöcke ohne Datenbankverbindungen auf Rest Services zu legen

3. Die Möglichkeit Multirecordblöcke responsive nach Anzahl der records aufzubauen, Sortiermechanismen im cache (GRID) ohne Datenbankzugriff

4. UI Erweiterungen um Formsinhalte grafisch darzustellen (Diverse Diagramme)

Hier ein Beispiel[4] aus der aktuellen Entwicklungsphase der nächsten Formsversion 14.1.2. Die klassischen Formsobjekte wie Felder(items), Rahmen und Blöcke werden dabei auf dem Client in einem modernen Webdesign dargestellt.

Aktuelle Version:

  • Die aktuellste Version Forms & Reports 12.2.1.19 mit Datenbankclient 19.14 ist im Februar 2023[5] erschienen. Stand September 2023 ist diese aktuellste Version für LINUX, HP-UX, IBM AIX , Windows und Solaris erhältlich und setzt den Oracle WebLogic Server 12.2.1.4.0 sowie ein Java 8, Version 1.8.0_341 oder höher voraus.

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.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). Mit der neuen Version 12.2.1.19 ist Forms nun zertifiziert auf allen gängigen Server Betriebssysteme (Windows, Solaris, Unix) und den aktuellen Datenbanken 19.3+. Der Sprachumfang erlaubt nun PL/SQL in der Version 19.14 und Datenbankverbindungen mit SQLNET19. Forms 14.1.2 wird einen Datenbankclient der Version 23 bekommen. Damit lässt sich in der nächsten Version mit PL/SQL 23 entwickeln.

Aktuelles : In Deutschland findet einmal jährlich ein Forms Thementag im Rahmen der DOAG K&A statt. Oracle führt selber jährlich einen Formsday mit verschiedenen Oracoe Partnern in Berlin durch. Der nächste Formsday ist für den 11. und 12. Juni 2024 geplant.

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.19 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
  • Frequently Asked Questions for Oracle Forms 12c, (PDF; 199 kB) Oracle Corporation, 2016 (englisch)
  • 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

Weblinks

Einzelnachweise und Anmerkungen

  1. Frank Hoffmann, Bill Friend, Sohaib Abassi: 40 years Oracle Forms. (PDF) DOAG, 1. Januar 2019, abgerufen am 23. April 2019 (englisch).
  2. Oracle Application Development Tools Statement of Direction: Oracle Forms, Oracle Reports and Oracle Designer. (PDF; 211 kB) Oracle, September 2019 (englisch)
  3. Oracle: Support. (PDF) Oracle, 1. April 2019, abgerufen am 23. April 2019 (englisch).
  4. Michael Ferrante: What if your OracleForms could look a bit fresher. In: @OracleFormsPM. 1. November 2019, abgerufen am 7. Januar 2020 (englisch).
  5. Oracle: Forms 12.2.1.19 Releasenotes. Oracle, abgerufen am 24. Juni 2023 (englisch).
  6. LAF-Projekt – entlehnt aus dem englischen LAF project, welches wohl zuvor aus Look and Feel Project verkürzt wurde
  7. Oracle Forms Look and Feel Project (englisch) – Francois Degrelle’s blog; 2. November 2010; u. a. mit LAF project
  8. Forms Look and Feel Project (englisch) – Start- oder Homeseite; abgerufen am 7. Dezember 2017