Vi förklarar här Oracle Forms Architecture-funktioner i R12/R12.2
Innehållsförteckning
Funktioner för formulär i R12
-formulär distribueras som en One OC4J-instans av 10.1.3 Oracle home
-Den använder verktyget från 10.1.2 Oracle home/bin
-Forms.EAR 10.1.2 distribueras till OC4J-behållaren i Application Server 10.1.3
-Körtidsformuläret körbar f60webmx har ersatts av frmweb
-Forms Servlet är standard driftsättning/kommunikationsläge
-FORMS_ miljövariabler ersätt FORMS60_
-Ny miljövariabler t.ex. FORMS_TRACE_DIR
-$ORACLE_HOME/bin/frmbld.sh ersätter f60desm för design
-frmcmp.sh och frmcmp_batch för generation
Funktioner för formulär i R12.2
-formulär distribueras som en enhanterad server i Oracle weblogic-server
-Den använder verktyget från 10.1.2 Oracle home/bin
-Forms.EAR 10.1.2 distribueras till den hanterade tjänsten i Oracle weblogic Application Server
-Körtidsformulär executabale f60webmx har ersatts av frmweb
-Forms Servlet är standard driftsättning / kommunikationsläge
-FORMS_ miljövariabler ersätter FORMS60_
-Nya miljövariabler t.ex. FORMS_TRACE_DIR
-$ORACLE_HOME/bin/frmbld.sh ersätter f60desm för design
-frmcmp.sh och frmcmp_batch för generation
Forms Servlet Architecture
Forms Listener Servlet ansvarar för att hantera Forms Runtime-processerna och dirigera all kommunikation med klienterna. All trafik mellan Forms-klientappleten och Forms-serverns runtime-process dirigeras nu via Apache-avlyssnaren och Forms Listener-servleten.
![](http://www.sqldat.com/article/uploadfiles/202205/2022051016053627.png)
-Den URL som genereras av formulärappleten kommer att köra servleten Forms Listener. Oracle http-servern (Apache)-lyssnaren tar emot begäran, känner igen den som en begäran om att köra en servlet och delegerar den till mod_oc4j för att köras.
-Mod_oc4j skickar begäran vidare till Forms Listener Servlet (Forms OC4J-instans). Forms Listener Servlet delar upp en ny runtime-process för formulär (frmweb).
-Forms-meddelandelagret skickar tillbaka ett meddelande som innehåller formulärmetadata och data som krävs för att visa användargränssnittet. Meddelandestrukturen är densamma som används av Forms Listener Process, men den här gången returneras den via forms listener servlet och apache listener.
-Forms Servlet omsluter formulärmeddelandedata som http (med hjälp av http tunnling) och skickar den tillbaka till klienten via Apache-lyssnaren.
All efterföljande Forms-klient Forms-serverkommunikation följer samma väg.
Fördel med Servlet Mode
- HTTP- och HTTPS-trafik är lätt att känna igen av routrar, medan kommunikation i socketläge i allmänhet anses misstänkt och behandlas på undantagsbasis.
- Befintlig nätverkshårdvara kan användas för att stödja grundläggande funktioner som lastbalansering och paketkryptering för nätverksöverföring.
- Mer motståndskraftig mot omkonfigurationer av nätverk och brandväggar.
- Mer robust:servletanslutningar kan återupprättas om nätverksanslutningar oväntat avbryts för Forms, Framework och JSP-baserade sidor.
- Är den enda metoden som stöds för generiska Oracle Forms-kunder och testas därför mer noggrant av produktgrupperna Forms och E-Business Suite.
- Prestandatrafik kan övervakas via verktyg som Oracle Real User Experience Insight (RUEI).
- Socket-läge stöds inte på Windows-baserade serverplattformar.
- Ingen port behöver öppnas för att komma åt formulär i brandväggen ifall servlet.
- Enkel SSL-konfiguration vid servlet (eftersom ingen separat ssl-konfiguration krävs för formulär eftersom anslutningar sker via webb/http-server)
- Forms Listener Servlet kommunicerar via HTTP-serverporten och behöver inte extra portar för att hantera kommunikationen mellan klienten och Oracle Application Server Forms Services. Forms Servlet-arkitekturen är också kompatibel med webbapplikationsindustristandarder och stöder olika avancerade nätverkskonfigurationer som belastningsbalansering.
Forms Socket Architecture
De första versionerna av Oracle Forms Server-produkten använde en enkel metod för att ansluta klienten till servern. Anslutningen från skrivbordsklienten till Forms Listener-processen gjordes med en direkt socket-anslutning.
![](http://www.sqldat.com/article/uploadfiles/202205/2022051016053645.png)
I princip upprättas klientskrivbordsanslutning med Forms Listener-processen. En ny Formulär-körningsprocess klaffas, eller, om tillämpligt, nästa gratis poolprocess används. Socket-anslutningen mellan Forms-appleten och Forms Listener överlämnas till Forms-runtime-processen, så appleten kommunicerar direkt med runtime-processen. Om inte HTTP används krävs inte längre lyssnaren, förutom för att betjäna andra nya anslutningar.
I 11i användes CGI för att generera den första sidan som hjälpte till att skapa socket-anslutningen
I Oracle E-Business Suite Release 12 bearbetas den initiala begäran som dynamiskt genererar HTML-sidan för att starta formulärappleten av Forms Servlet, även om servleten bara tar emot en begäran per formulärsession
Fördel med Socket Mode
1.Använder upp till 40 % mindre bandbredd än Forms servletläge. Detta kan av Wide Area Network-användare (WAN) uppfattas som att det orsakar långsammare respons, beroende på nätverkslatens.
2.Använder färre JVM-resurser på programnivå än servletläge, på grund av färre TCP-varv och brist på overhead i samband med HTTP POST-hantering.
Skillnaden mellan version 11i och R12
Vi har Oracle forms 6i i 11i Oracle E-Business Suite medan Oracle formar 10g i R12.0/R12.1/R12.2 Oracle E-buisness Suite.
Grunderna förblir desamma i alla dessa. Den körbara filen skiljer sig mellan olika versioner
Formulärartefaktdefinitioner
- .fmb filen är en formulärkällfil. Det är en binär fil som innehåller metadata, källkod och kompilerad PLSQL.
-The .fmx fil är den genererade versionen av formuläret som används vid körning
-The .mmb fil är menyns källfil. Det är en binär fil.
- .mmx filen är den genererade versionen av menyn som används vid körning
-The .pll filen är den bifogade bibliotekskällfilen på klientsidan. Det kan också användas under körning, även om Oracle Applications bör använda plx-filer. Den innehåller källkod och kompilerad PLSQL.
-The .plx filen är en källkodad version av .pll, som används under körning. Den innehåller kompilerad PLSQL.
–f60webmx är runtime-processen i mellanskiktet på Unix. (11i)
–frmweb är mellannivån för formulärkörningsprocessen på Unix. (R12.0/R12.1/R12.2)
–f60srvm är Forms Listener-processen på Linux
-Forms-appleten är generisk på alla plattformar. Formulärappleten är också generisk genom att en enda applet används för att köra alla Formulär.
-Java Beans används för att implementera Oracle Applications klientsidelogik genom att utöka Formsappleten.
Formulär, bibliotek och menyer
- På den mellersta nivån består en formulärapplikation av formulär, menyer och bibliotek. Det finns även databasobjekt och paket och procedurer på serversidan på RDBMS, men dessa kommer inte att beaktas i detta dokument.
- En formulärkällfil är en binär fil och har ett .fmb-suffix, t.ex. XYZ.fmb. Den innehåller all relevant metadata, PL/SQL-programenheter och kompilerad PL/SQL. Fmb-filen används inte under körning, men kan öppnas i Form Builder eller användas för att generera runtime-versionen (.fmx) av formuläret.
- .fmx-filen är i huvudsak en binär parameterfil som läses av körbaren Forms runtime. Det är inte en körbar i sig, även om generering av .fmx ibland kallas för 'kompilering' och .fmx kallas ofta för 'körbar'.
- En .fmx-fil kan inte omvändas till motsvarande .FMB.
- Ansökningsformulär översätts, så varje språk har sin egen uppsättning formulär. Till exempel är ~/forms/US för användare där språket på mellannivån (NLS_LANG) är inställt på amerikansk engelska.
- Liknande principer gäller för menyer, där ett mmb-suffix anger en källfil och ett mmx-suffix en genererad version. Applikationer använder bara en meny, FNDMENU. Som ett formulär är den här menyn översatt till olika språk, som finns under ~/resource/US.
- Bibliotek följer lite andra regler än formulär och menyer. Källfilen har ett .pll-suffix och den avskalade källan har ett .plx-suffix. .pll kan laddas i Builder, genereras och användas under körning; den innehåller både källkod och kompilerad PL/SQL. .plx har källan borttagen och innehåller bara kompilerad PL/SQL, så den kan endast användas under körning. Oracle Applications använder .plx under körning, eftersom det är mycket mindre och därför mer effektivt.
- Bibliotek innehåller inga översättningsbara strängar, så det finns en version för alla språk, som sparas i ~/resource-katalogen.
- Bibliotek är dynamiskt länkade under körning. Applikationsstandarden är för utvecklaren att bifoga ett bibliotek utan sökväg eller .pll/.plx-suffix. Formulär söker efter ett bibliotek först i den aktuella katalogen och sedan i varje katalog som anges i FORMS60_PATH. Den söker först efter en .plx, sedan en .pll.
- Som sagt använder Applications .PLX eftersom den är mindre och kräver mindre minne. Ibland kan dock problem med miljön, särskilt när de används för anpassad utveckling, leda till att .PLL hittas först. Återigen kan truss snabbt identifiera den här typen av problem.
Läser också
Oracle HTTP Server i EBS
OC4J Container