sql >> Database >  >> RDS >> Oracle

Oracle Forms in R12/R12.2

We leggen hier de Oracle Forms Architecture-functies uit in R12/R12.2

Inhoudsopgave

Kenmerken van formulieren in R12

-forms worden geïmplementeerd als een één OC4J-instantie van 10.1.3 Oracle home
-Het gebruikt het hulpprogramma van 10.1.2 Oracle home/bin
-Forms.EAR 10.1.2 wordt geïmplementeerd in de OC4J-container in Application Server 10.1.3
-Runtime form uitvoerbaar f60webmx is vervangen door frmweb
-Forms Servlet is standaard implementatie/communicatiemodus
-FORMS_ omgevingsvariabelen vervangen FORMS60_
-Nieuw omgevingsvariabelen b.v. FORMS_TRACE_DIR
-$ORACLE_HOME/bin/frmbld.sh vervangt f60desm voor design
-frmcmp.sh en frmcmp_batch voor generatie

Kenmerken van formulieren in R12.2

-forms worden geïmplementeerd als één beheerde server  in  Oracle weblogic-server
-Het gebruikt het hulpprogramma van 10.1.2 Oracle home/bin
-Forms.EAR 10.1.2 wordt geïmplementeerd op de beheerde server in Oracle weblogic Toepassingsserver
-Runtime form executabale f60webmx is vervangen door frmweb
-Forms Servlet is standaard implementatie/communicatiemodus
-FORMS_ omgevingsvariabelen vervangen FORMS60_
-Nieuwe omgevingsvariabelen b.v. FORMS_TRACE_DIR
-$ORACLE_HOME/bin/frmbld.sh vervangt f60desm voor design
-frmcmp.sh en frmcmp_batch voor generatie

Vormt Servlet-architectuur

De Forms Listener Servlet is verantwoordelijk voor het beheer van de Forms Runtime-processen en voor het routeren van alle communicatie met de clients. Al het verkeer tussen de Forms-client-applet en het runtime-proces van de Forms-server wordt nu omgeleid via de Apache-listener en de Forms Listener Servlet.

-De URL gegenereerd door de Forms Applet zal de Forms Listener Servlet uitvoeren. De Oracle http-server (Apache) listener ontvangt het verzoek, herkent het als een verzoek om een ​​servlet uit te voeren en delegeert het aan mod_oc4j om het uit te voeren.
-Mod_oc4j geeft het verzoek door aan de Forms Listener Servlet (Forms OC4J instance). De Forms Listener Servlet zorgt voor een nieuw formulier-runtime-proces (frmweb).
-De Forms-berichtenlaag stuurt een bericht terug met de metagegevens van het formulier en de gegevens die nodig zijn om de gebruikersinterface weer te geven. De berichtstructuur is dezelfde als die wordt gebruikt door het Forms Listener Process, maar deze keer wordt deze geretourneerd via de formulierenlistener-servlet en apache-listener.
-De Forms-servlet verpakt de Forms-berichtgegevens als http (met behulp van http-tunneling) en verzendt het terug naar de client via de Apache-luisteraar.

Alle volgende Forms-client Forms-servercommunicatie volgt hetzelfde pad.

Voordeel van Servlet-modus

  1. HTTP- en HTTPS-verkeer is gemakkelijk herkenbaar voor routers, terwijl communicatie in socketmodus over het algemeen als verdacht wordt beschouwd en bij uitzondering wordt behandeld.
  2. Bestaande netwerkhardware kan worden gebruikt om basisfuncties te ondersteunen, zoals taakverdeling en pakketversleuteling voor netwerktransit.
  3. Beter bestand tegen herconfiguraties van netwerken en firewalls.
  4. Robuuster:servletverbindingen kunnen opnieuw tot stand worden gebracht als netwerkverbindingen onverwachts wegvallen voor Forms-, Framework- en JSP-gebaseerde pagina's.
  5. Is de enige ondersteunde methode voor generieke Oracle Forms-klanten en is daarom grondiger getest door de productgroepen Forms en E-Business Suite.
  6. Prestatieverkeer kan worden gecontroleerd via tools zoals Oracle Real User Experience Insight (RUEI).
  7. Socketmodus wordt niet ondersteund op Windows-gebaseerde serverplatforms.
  8. Er hoeft geen poort te worden geopend om formulieren in de firewall te openen in het geval van servlet.
  9. Eenvoudige SSL-configuratie in het geval van servlet (omdat er geen aparte ssl-configuratie nodig is voor Formulieren aangezien verbindingen via web/http-server verlopen)
  10. De Forms Listener Servlet communiceert via de HTTP-serverpoort en heeft geen extra poorten nodig om de communicatie tussen de client en de Oracle Application Server Forms Services af te handelen. De Forms Servlet-architectuur is ook compatibel met industriestandaarden voor webapplicaties en ondersteunt verschillende geavanceerde netwerkconfiguraties zoals taakverdeling.

Formuleert Socket-architectuur

Bij de eerste releases van het Oracle Forms Server-product werd een eenvoudige methode gebruikt om de client met de server te verbinden. De verbinding van de desktopclient naar het Forms Listener-proces is tot stand gebracht met een directe socketverbinding.

In principe wordt de client Desktop-verbinding tot stand gebracht met het Forms Listener-proces. Er wordt een nieuw Forms-runtimeproces gebruikt, of, indien van toepassing, het volgende gratis poolproces. De socketverbinding tussen de Forms-applet en Forms-listener wordt overgedragen aan het Forms-runtimeproces, zodat de applet rechtstreeks communiceert met het runtime-proces. Tenzij HTTP wordt gebruikt, is de luisteraar niet langer nodig, behalve om andere nieuwe verbindingen te onderhouden.

In 11i werd CGI gebruikt om de eerste pagina te genereren die helpt bij het maken van de socketverbinding

In Oracle E-Business Suite versie 12 wordt het eerste verzoek dat dynamisch de HTML-pagina genereert om de formulierenapplet te starten, verwerkt door de formulierenservlet, hoewel de servlet slechts één verzoek per formuliersessie ontvangt

Voordeel van Socket-modus

1.Gebruikt tot 40% minder bandbreedte dan de Forms-servletmodus. Dit kan door Wide Area Network-gebruikers (WAN) worden gezien als een tragere reactie, afhankelijk van de netwerklatentie.
2.Gebruikt minder JVM-bronnen op applicatieniveau dan de servlet-modus, vanwege minder TCP-turns en gebrek aan overhead in verband met HTTP POST-verwerking.

Verschil tussen de versie 11i en R12

We hebben Oracle Forms 6i  in 11i Oracle E-business Suite  terwijl Oracle  forms 10g in R12.0/R12.1/R12.2 Oracle E-business Suite.

De basis blijft hetzelfde in al deze. Het uitvoerbare bestand verschilt tussen verschillende versies

Formuleert artefactdefinities

-De .fmb bestand is een formulierbronbestand. Het is een binair bestand dat metadata, bron en gecompileerde PLSQL bevat.
-De .fmx bestand is de gegenereerde versie van het formulier dat tijdens runtime wordt gebruikt
-De .mmb bestand is het menubronbestand. Het is een binair bestand.
-De .mmx bestand is de gegenereerde versie van het menu dat tijdens runtime wordt gebruikt
-The .pll bestand is het aan de clientzijde bijgevoegde bibliotheekbronbestand. Het kan ook tijdens runtime worden gebruikt, hoewel Oracle Applications plx-bestanden zou moeten gebruiken. Het bevat de broncode en gecompileerde PLSQL.
-De .plx bestand is een gestripte bronversie van de .pll, die tijdens runtime wordt gebruikt. Het bevat gecompileerde PLSQL.
f60webmx is het runtime-proces van de middelste laag op Unix. (11i)
frmweb   is het runtime-proces van de middelste laag op Unix. (R12.0/R12.1/R12.2)
f60srvm is het Forms Listener-proces op Linux
-De Forms-applet is generiek voor alle platforms. De Forms Applet is ook generiek in die zin dat een enkele applet wordt gebruikt om alle Forms uit te voeren.
-Java Beans worden gebruikt om Oracle Applications client-side logica te implementeren door de Forms Applet uit te breiden.

Formulieren, bibliotheken en menu's

  • Op de middelste laag bestaat een Forms-applicatie uit formulieren, menu's en bibliotheken. Er zijn ook database-objecten en server-side pakketten en procedures op het RDBMS, maar deze worden in dit document niet besproken.
  • Een formulierbronbestand is een binair bestand en heeft het achtervoegsel .fmb, b.v. XYZ.fmb. Het bevat alle relevante metadata, PL/SQL-programma-eenheden en gecompileerde PL/SQL. Het fmb-bestand wordt niet tijdens runtime gebruikt, maar kan worden geopend in de Form Builder of worden gebruikt om de runtime-versie (.fmx) van het formulier te genereren.
  • Het .fmx-bestand is in wezen een binair parameterbestand dat wordt gelezen door het uitvoerbare bestand Forms runtime. Het is zelf geen uitvoerbaar bestand, hoewel het genereren van de .fmx soms wordt aangeduid als 'compileren' en de .fmx vaak het 'uitvoerbare bestand' wordt genoemd.
  • Een .fmx-bestand kan niet via reverse-engineering worden teruggezet in de overeenkomstige .FMB.
  • Aanvraagformulieren zijn vertaald, dus elke taal heeft zijn eigen set formulieren. ~/forms/US is bijvoorbeeld voor gebruikers waarbij de taal op de middelste laag (NLS_LANG) is ingesteld op Amerikaans Engels.
  • Vergelijkbare principes zijn van toepassing op menu's, waarbij een mmb-achtervoegsel een bronbestand aangeeft en een mmx-achtervoegsel een gegenereerde versie. Applicaties gebruiken slechts één menu, FNDMENU. Net als een formulier is dit menu vertaald in verschillende talen, te vinden onder ~/resource/US.
  • Bibliotheken volgen enigszins andere regels dan formulieren en menu's. Het bronbestand heeft een .pll-achtervoegsel en de gestripte bron heeft een .plx-achtervoegsel. De .pll kan in de Builder worden geladen, gegenereerd en tijdens runtime worden gebruikt; het bevat zowel source als gecompileerde PL/SQL. De .plx heeft de broncode verwijderd en bevat alleen gecompileerde PL/SQL, dus kan alleen tijdens runtime worden gebruikt. Oracle Applications gebruikt de .plx tijdens runtime, omdat deze veel kleiner en dus efficiënter is.
  • Bibliotheken bevatten geen vertaalbare tekenreeksen, dus er is één versie voor alle talen, die wordt opgeslagen in de map ~/resource.
  • Bibliotheken worden tijdens runtime dynamisch gekoppeld. De Applications-standaard is dat de ontwikkelaar een bibliotheek kan toevoegen zonder pad of .pll/.plx-achtervoegsel. Forms zoekt eerst naar een bibliotheek in de huidige map en vervolgens in elke map die is opgegeven in FORMS60_PATH. Het zoekt eerst naar een .plx en daarna naar een .pll.
  • Zoals gezegd gebruikt Applications de .PLX omdat deze kleiner is en minder geheugen vereist. Soms kunnen problemen met de omgeving er echter toe leiden dat de .PLL als eerste wordt gevonden, vooral wanneer deze wordt gebruikt voor aangepaste ontwikkeling. Nogmaals, truss kan dit soort problemen snel identificeren.

Leest ook
Oracle HTTP-server in EBS
OC4J-container


  1. Oracle-tabel of weergave bestaat niet vanuit de opgeslagen procedure

  2. MySQL Toon gebruikers

  3. Oracle-weergave meer dan 24 uur

  4. Hoe te groeperen op maand in PostgreSQL