Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Oracle-Formulare in R12/R12.2

Wir erklären hier die Funktionen der Oracle Forms-Architektur in R12/R12.2

Inhaltsverzeichnis

Merkmale von Formularen in R12

-Formulare werden als eine einzige OC4J-Instanz von 10.1.3 Oracle Home bereitgestellt
-Es verwendet das Dienstprogramm von 10.1.2 Oracle Home/bin
-Forms.EAR 10.1.2 wird im OC4J-Container bereitgestellt in Application Server 10.1.3
-Ausführbares Laufzeitformular f60webmx wurde durch frmweb ersetzt
-Forms Servlet ist Standardbereitstellungs-/Kommunikationsmodus
-FORMS_ Umgebungsvariablen ersetzen FORMS60_
-Neu Umgebungsvariablen z.B. FORMS_TRACE_DIR
-$ORACLE_HOME/bin/frmbld.sh ersetzt f60desm für design
-frmcmp.sh und frmcmp_batch für die Generierung

Funktionen von Formularen in R12.2

-Formulare werden als ein verwalteter Server in Oracle Weblogic Server bereitgestellt
-Es verwendet das Dienstprogramm von 10.1.2 Oracle Home/bin
-Forms.EAR 10.1.2 wird für den verwalteten Dienst in Oracle WebLogic bereitgestellt Anwendungsserver
-Ausführbares Laufzeitformular f60webmx wurde durch frmweb ersetzt
-Forms Servlet ist standardmäßiger Bereitstellungs-/Kommunikationsmodus
-FORMS_ Umgebungsvariablen ersetzen FORMS60_
-Neue Umgebungsvariablen, z. FORMS_TRACE_DIR
-$ORACLE_HOME/bin/frmbld.sh ersetzt f60desm für design
-frmcmp.sh und frmcmp_batch für die Generierung

Forms-Servlet-Architektur

Das Forms Listener Servlet ist für die Verwaltung der Forms Runtime-Prozesse und das Routing der gesamten Kommunikation mit den Clients verantwortlich. Der gesamte Datenverkehr zwischen dem Forms-Client-Applet und dem Laufzeitprozess des Forms-Servers wird jetzt über den Apache-Listener und das Forms-Listener-Servlet geleitet.

-Die vom Forms Applet generierte URL führt das Forms Listener Servlet aus. Der Listener des Oracle HTTP-Servers (Apache) empfängt die Anfrage, erkennt sie als Anfrage zum Ausführen eines Servlets und delegiert sie zur Ausführung an mod_oc4j.
-Mod_oc4j leitet die Anfrage an das Forms Listener Servlet (Forms OC4J-Instanz) weiter. Das Forms Listener Servlet verzweigt einen neuen Forms-Laufzeitprozess (frmweb).
- Die Forms-Nachrichtenschicht sendet eine Nachricht zurück, die die Metadaten des Formulars und Daten enthält, die zum Anzeigen der Benutzeroberfläche erforderlich sind. Die Nachrichtenstruktur ist dieselbe wie die vom Formular-Listener-Prozess verwendete, jedoch wird sie dieses Mal über das Formular-Listener-Servlet und den Apache-Listener zurückgegeben.
- Das Forms-Servlet verpackt die Forms-Nachrichtendaten als http (unter Verwendung von HTTP-Tunneling) und sendet sie über den Apache-Listener zurück an den Client.

Die gesamte nachfolgende Forms-Client-Formular-Server-Kommunikation folgt demselben Pfad.

Vorteil des Servlet-Modus

  1. HTTP- und HTTPS-Datenverkehr ist für Router leicht erkennbar, während die Kommunikation im Socket-Modus im Allgemeinen als verdächtig gilt und auf Ausnahmebasis behandelt wird.
  2. Vorhandene Netzwerkhardware kann verwendet werden, um grundlegende Funktionen wie Lastenausgleich und Paketverschlüsselung für die Netzwerkübertragung zu unterstützen.
  3. Belastbarer gegenüber Netzwerk- und Firewall-Neukonfigurationen.
  4. Robuster:Servlet-Verbindungen können wiederhergestellt werden, wenn Netzwerkverbindungen für Formulare, Frameworks und JSP-basierte Seiten unerwartet unterbrochen werden.
  5. Ist die einzige unterstützte Methode für generische Oracle Forms-Kunden und wird daher von den Produktgruppen Forms und E-Business Suite gründlicher getestet.
  6. Leistungsverkehr kann mit Tools wie Oracle Real User Experience Insight (RUEI) überwacht werden.
  7. Der Socket-Modus wird auf Windows-basierten Serverplattformen nicht unterstützt.
  8. Kein Port muss geöffnet werden, um auf Formulare in der Firewall im Falle eines Servlets zuzugreifen.
  9. Einfache SSL-Konfiguration im Falle eines Servlets (da für Formulare keine separate SSL-Konfiguration erforderlich ist, da die Verbindungen über einen Web-/http-Server erfolgen)
  10. Das Forms Listener Servlet kommuniziert über den HTTP-Serverport und benötigt keine zusätzlichen Ports, um die Kommunikation zwischen dem Client und den Oracle Application Server Forms Services abzuwickeln. Die Forms-Servlet-Architektur ist auch mit Industriestandards für Webanwendungen kompatibel und unterstützt verschiedene erweiterte Netzwerkkonfigurationen wie Lastenausgleich.

Forms-Socket-Architektur

Erste Releases des Oracle Forms Server-Produkts verwendeten eine einfache Methode zum Verbinden des Clients mit dem Server. Die Verbindung vom Desktop-Client zum Forms Listener-Prozess wurde über eine direkte Socket-Verbindung hergestellt.

Grundsätzlich wird die Client-Desktop-Verbindung mit dem Forms Listener-Prozess hergestellt. Ein neuer Forms-Laufzeitprozess wird verzweigt oder, falls zutreffend, wird der nächste freie Poolprozess verwendet. Die Socket-Verbindung zwischen dem Forms-Applet und dem Forms-Listener wird an den Forms-Laufzeitprozess übergeben, sodass das Applet direkt mit dem Laufzeitprozess kommuniziert. Wenn HTTP nicht verwendet wird, wird der Listener nicht mehr benötigt, außer um andere neue Verbindungen zu bedienen.

In 11i wurde CGI verwendet, um die Anfangsseite zu generieren, die beim Erstellen der Socket-Verbindung hilft

In Oracle E-Business Suite Release 12 wird die anfängliche Anforderung, die die HTML-Seite zum Starten des Formular-Applets dynamisch generiert, vom Forms-Servlet verarbeitet, obwohl das Servlet nur eine Anforderung pro Formularsitzung erhält

Vorteil des Socket-Modus

1.Verwendet bis zu 40 % weniger Bandbreite als der Forms-Servlet-Modus. Dies kann von Wide Area Network (WAN)-Benutzern je nach Netzwerklatenz als langsamere Reaktionsfähigkeit wahrgenommen werden HTTP-POST-Verarbeitung.

Unterschied zwischen Version 11i &R12

Wir haben Oracle Forms 6i  in 11i Oracle E-buisness Suite  während Oracle  10g in R12.0/R12.1/R12.2 Oracle E-buisness Suite.

Die Grundlagen bleiben bei all diesen gleich. Die ausführbare Datei unterscheidet sich zwischen verschiedenen Versionen

Definitionen von Formularartefakten

-Die .fmb Datei ist eine Formularquelldatei. Es ist eine Binärdatei, die Metadaten, Quellcode und kompiliertes PLSQL enthält.
- Die .fmx Datei ist die generierte Version des zur Laufzeit verwendeten Formulars
- Die .mmb file ist die Menüquelldatei. Es ist eine Binärdatei.
-Die .mmx Datei ist die generierte Version des zur Laufzeit verwendeten Menüs
-Die .pll file ist die clientseitig angehängte Bibliotheksquelldatei. Es kann auch zur Laufzeit verwendet werden, obwohl Oracle-Anwendungen plx-Dateien verwenden sollten. Es enthält Quellcode und kompiliertes PLSQL.
-Die .plx Datei ist eine quellenbereinigte Version der .pll-Datei, die zur Laufzeit verwendet wird. Es enthält kompiliertes PLSQL.
f60webmx ist der Formularlaufzeitprozess der mittleren Ebene unter Unix. (11i)
frmweb  ist der Laufzeitprozess für Formulare der mittleren Ebene unter Unix. (R12.0/R12.1/R12.2)
f60srvm ist der Formular-Listener-Prozess unter Linux
-Das Formular-Applet ist plattformübergreifend generisch. Das Formular-Applet ist auch insofern generisch, als ein einziges Applet verwendet wird, um alle Formulare auszuführen.
-Java Beans werden verwendet, um die clientseitige Logik von Oracle Applications zu implementieren, indem das Formular-Applet erweitert wird.

Formulare, Bibliotheken und Menüs

  • Auf der mittleren Ebene besteht eine Forms-Anwendung aus Formularen, Menüs und Bibliotheken. Es gibt auch Datenbankobjekte und serverseitige Pakete und Prozeduren auf dem RDBMS, aber diese werden in diesem Dokument nicht berücksichtigt.
  • Eine Formularquelldatei ist eine Binärdatei und hat die Endung .fmb, z. XYZ.fmb. Es enthält alle relevanten Metadaten, PL/SQL-Programmeinheiten und kompiliertes PL/SQL. Die fmb-Datei wird zur Laufzeit nicht verwendet, kann aber im Form Builder geöffnet oder zur Generierung der Laufzeitversion (.fmx) des Formulars verwendet werden.
  • Die .fmx-Datei ist im Wesentlichen eine binäre Parameterdatei, die von der ausführbaren Forms-Laufzeitdatei gelesen wird. Es ist selbst keine ausführbare Datei, obwohl das Generieren der .fmx-Datei manchmal als „Kompilieren“ und die .fmx-Datei oft als „ausführbare Datei“ bezeichnet wird.
  • Eine .fmx-Datei kann nicht zurück in die entsprechende .FMB-Datei zurückentwickelt werden.
  • Antragsformulare werden übersetzt, sodass jede Sprache ihre eigenen Formulare hat. Beispielsweise ist ~/forms/US für Benutzer gedacht, bei denen die Sprache auf der mittleren Ebene (NLS_LANG) auf amerikanisches Englisch eingestellt ist.
  • Ähnliche Prinzipien gelten für Menüs, wo ein mmb-Suffix eine Quelldatei bezeichnet und ein mmx-Suffix eine generierte Version. Anwendungen verwenden nur ein Menü, FNDMENU. Wie ein Formular wird dieses Menü in verschiedene Sprachen übersetzt und befindet sich unter ~/resource/US.
  • Bibliotheken folgen etwas anderen Regeln als Formulare und Menüs. Die Quelldatei hat das Suffix .pll und die entfernte Quelle hat das Suffix .plx. Die .pll kann in den Builder geladen, generiert und zur Laufzeit verwendet werden; es enthält sowohl Quell- als auch kompiliertes PL/SQL. Die .plx-Datei hat den Quellcode entfernt und enthält nur kompiliertes PL/SQL, sodass sie nur zur Laufzeit verwendet werden kann. Oracle Applications verwendet die .plx-Datei zur Laufzeit, da sie viel kleiner und daher effizienter ist.
  • Bibliotheken enthalten keine übersetzbaren Zeichenketten, daher gibt es eine Version für alle Sprachen, die im Verzeichnis ~/resource gespeichert wird.
  • Bibliotheken werden zur Laufzeit dynamisch eingebunden. Der Anwendungsstandard sieht vor, dass der Entwickler eine Bibliothek ohne Pfad oder Suffix .pll/.plx anfügt. Forms sucht zuerst im aktuellen Verzeichnis und dann in jedem Verzeichnis, das in FORMS60_PATH angegeben ist, nach einer Bibliothek. Es sucht zuerst nach einer .plx-Datei, dann nach einer .pll-Datei.
  • Wie bereits erwähnt, verwendet Applications die .PLX-Datei, da sie kleiner ist und weniger Speicher benötigt. Manchmal können jedoch Probleme mit der Umgebung, insbesondere bei der Verwendung für benutzerdefinierte Entwicklungen, dazu führen, dass die .PLL-Datei zuerst gefunden wird. Auch hier kann Truss diese Art von Problem schnell erkennen.

Liest auch
Oracle-HTTP-Server in EBS
OC4J-Container