Vi forklarer her Oracle Forms Architecture-funktioner i R12/R12.2
Indholdsfortegnelse
Funktioner af formularer i R12
-forms er implementeret som en One OC4J-instans af 10.1.3 Oracle home
-Den bruger værktøjet fra 10.1.2 Oracle home/bin
-Forms.EAR 10.1.2 er implementeret til OC4J containeren i Application Server 10.1.3
-Køretidsformular eksekverbar f60webmx er blevet erstattet af frmweb
-Forms Servlet er standardimplementering / kommunikationstilstand
-FORMS_ miljøvariabler erstatte FORMS60_
-Ny miljøvariabler f.eks. FORMS_TRACE_DIR
-$ORACLE_HOME/bin/frmbld.sh erstatter f60desm for design
-frmcmp.sh og frmcmp_batch for generation
Funktioner af formularer i R12.2
-forms er implementeret som en én administreret server i Oracle weblogic server
-Den bruger hjælpeprogrammet fra 10.1.2 Oracle home/bin
-Forms.EAR 10.1.2 er implementeret til den administrerede server i Oracle weblogic Application Server
-Run time form executabale f60webmx er blevet erstattet af frmweb
-Forms Servlet er standard deployment / kommunikationstilstand
-FORMS_ miljøvariabler erstatter FORMS60_
-Nye miljøvariabler f.eks. FORMS_TRACE_DIR
-$ORACLE_HOME/bin/frmbld.sh erstatter f60desm for design
-frmcmp.sh og frmcmp_batch for generation
Forms Servlet Architecture
Forms Listener Servlet er ansvarlig for at administrere Forms Runtime processerne og dirigere al kommunikation med klienterne. Al trafik mellem Forms-klient-appletten og Forms-serverens runtime-proces dirigeres nu via Apache-lytteren og Forms Listener-servlet'en.
-URL'en, der genereres af Forms-appletten, kører Forms Listener Servlet. Oracle http server (Apache) lytteren modtager anmodningen, genkender den som en anmodning om at køre en servlet og delegerer den til mod_oc4j for at udføre.
-Mod_oc4j sender anmodningen videre til Forms Listener Servlet (Forms OC4J instans). Forms Listener Servlet forgrener en ny formular-runtime-proces (frmweb).
-Forms-meddelelseslaget sender en besked tilbage, der indeholder formularmetadata og data, der kræves for at vise brugergrænsefladen. Meddelelsesstrukturen er den samme, som den bruges af Forms Listener Processen, men denne gang returneres den via Forms Listener servlet og apache listener.
-Forms Servlet ombryder formularmeddelelsesdataene som http (ved hjælp af http tunneling) og sender det tilbage til klienten via Apache-lytteren.
Al efterfølgende Forms-klient Forms-serverkommunikation følger samme vej.
Fordel ved Servlet-tilstand
- HTTP- og HTTPS-trafik er let genkendelig af routere, mens kommunikation i sockettilstand generelt betragtes som mistænkelig og behandles på undtagelsesbasis.
- Eksisterende netværkshardware kan bruges til at understøtte grundlæggende funktioner såsom belastningsbalancering og pakkekryptering til netværkstransit.
- Mere modstandsdygtig over for netværks- og firewall-omkonfigurationer.
- Mere robust:Servletforbindelser kan genetableres, hvis netværksforbindelser falder uventet for Forms, Framework og JSP-baserede sider.
- Er den eneste understøttede metode for generiske Oracle Forms-kunder og er derfor mere grundigt testet af produktgrupperne Forms og E-Business Suite.
- Performancetrafik kan overvåges via værktøjer som Oracle Real User Experience Insight (RUEI).
- Socket-tilstand understøttes ikke på Windows-baserede serverplatforme.
- Ingen port skal åbnes for at få adgang til formularer i firewallen i tilfælde af, at servlet.
- Simpel SSL-konfiguration i tilfælde af servlet (da der ikke kræves en separat ssl-konfiguration for formularer, da forbindelser er via web/http-server)
- Forms Listener Servlet kommunikerer gennem HTTP-serverporten og behøver ikke ekstra porte for at håndtere kommunikationen mellem klienten og Oracle Application Server Forms Services. Forms Servlet-arkitekturen er også kompatibel med webapplikationsindustristandarder og understøtter forskellige avancerede netværkskonfigurationer såsom belastningsbalancering.
Forms Socket Architecture
De første udgivelser af Oracle Forms Server-produktet brugte en simpel metode til at forbinde klienten med serveren. Forbindelsen fra desktop-klienten til Forms Listener-processen blev opnået ved hjælp af en direkte socket-forbindelse.
Grundlæggende er klient Desktop-forbindelsen etableret med Forms Listener-processen. En ny Forms-runtime-proces forgrenes, eller, hvis det er relevant, bruges den næste gratis puljeproces. Socket-forbindelsen mellem Forms-applet og Forms Listener videregives til Forms-runtime-processen, så Applet kommunikerer direkte med runtime-processen. Medmindre HTTP bruges, er lytteren ikke længere påkrævet, undtagen for at betjene andre nye forbindelser.
I 11i blev CGI brugt til at generere den indledende side, som hjalp med at skabe socketforbindelsen
I Oracle E-Business Suite Release 12 behandles den indledende anmodning, der dynamisk genererer HTML-siden for at starte formular-appletten, af Forms Servlet, selvom servlet kun modtager én anmodning pr. formularsession
Fordel ved Socket Mode
1. Bruger op til 40 % mindre båndbredde end Forms servlet-tilstand. Dette kan af Wide Area Network (WAN)-brugere opfattes som at forårsage langsommere reaktionsevne, afhængigt af netværksforsinkelse.
2. Bruger færre JVM-ressourcer på applikationsniveau end servlet-tilstand på grund af færre TCP-vendinger og manglende overhead forbundet med HTTP POST-håndtering.
Forskellen mellem version 11i og R12
Vi har Oracle formularer 6i i 11i Oracle E-buisness Suite mens Oracle former 10 g i R12.0/R12.1/R12.2 Oracle E-buisness Suite.
Det grundlæggende forbliver det samme i alle disse. Den eksekverbare er forskellig mellem forskellige versioner
Formularartefaktdefinitioner
- .fmb fil er en formularkildefil. Det er en binær fil, som indeholder metadata, kilde og kompileret PLSQL.
-The .fmx fil er den genererede version af formularen, der blev brugt under kørsel
-The .mmb fil er menuens kildefil. Det er en binær fil.
- .mmx fil er den genererede version af menuen, der bruges under kørsel
-The .pll fil er den vedhæftede bibliotekskildefil på klientsiden. Det kan også bruges under runtime, selvom Oracle Applications bør bruge plx-filer. Den indeholder kildekode og kompileret PLSQL.
-The .plx fil er en kildestribet version af .pll, der bruges under kørsel. Den indeholder kompileret PLSQL.
–f60webmx er runtime-processen på mellemniveauet på Unix. (11i)
–frmweb er runtime-processen på mellemniveauet på Unix. (R12.0/R12.1/R12.2)
–f60srvm er Forms Listener-processen på Linux
-Forms-applet er generisk på tværs af platforme. Forms-applet er også generisk, idet en enkelt applet bruges til at køre alle formularer.
-Java Beans bruges til at implementere Oracle Applications klientsidelogik ved at udvide formular-applet.
Formularer, biblioteker og menuer
- På det mellemste niveau består en formularapplikation af formularer, menuer og biblioteker. Der er også databaseobjekter og serversidepakker og procedurer på RDBMS, men disse vil ikke blive taget i betragtning i dette dokument.
- En formularkildefil er en binær fil og har et .fmb-suffiks, f.eks. XYZ.fmb. Den indeholder alle relevante metadata, PL/SQL-programenheder og kompilerede PL/SQL. Fmb-filen bruges ikke under runtime, men kan åbnes i Form Builder eller bruges til at generere runtime-versionen (.fmx) af formularen.
- .fmx-filen er i bund og grund en binær parameterfil, der læses af den eksekverbare Forms runtime. Det er ikke en eksekverbar i sig selv, selvom generering af .fmx nogle gange omtales som 'kompilering', og .fmx kaldes ofte 'eksekverbar'.
- En .fmx-fil kan ikke reverse engineering tilbage til den tilsvarende .FMB.
- Ansøgningsskemaer oversættes, så hvert sprog har sit eget sæt formularer. For eksempel er ~/forms/US for brugere, hvor sproget på mellemniveauet (NLS_LANG) er indstillet til amerikansk engelsk.
- Lignende principper gælder for menuer, hvor et mmb-suffiks angiver en kildefil, og et mmx-suffiks en genereret version. Applikationer bruger kun én menu, FNDMENU. Som en formular er denne menu oversat til forskellige sprog, placeret under ~/ressource/US.
- Biblioteker følger lidt andre regler end formularer og menuer. Kildefilen har et .pll-suffiks, og den fjernede kilde har et .plx-suffiks. .pll kan indlæses i Builder, genereres og bruges under kørsel; den indeholder både kildekode og kompileret PL/SQL. .plx'en har fjernet kilden og indeholder kun kompileret PL/SQL, så den kan kun bruges under kørsel. Oracle Applications bruger .plx under runtime, da den er meget mindre og derfor mere effektiv.
- Biblioteker indeholder ingen oversættelige strenge, så der er én version for alle sprog, som er gemt i ~/ressource-mappen.
- Biblioteker er dynamisk linket ind under kørsel. Applikationsstandarden er for udvikleren at vedhæfte et bibliotek uden sti eller .pll/.plx-suffiks. Forms søger efter et bibliotek først i den aktuelle mappe og derefter i hver mappe, der er angivet i FORMS60_PATH. Den søger først efter en .plx, derefter en .pll.
- Som nævnt bruger Applications .PLX, fordi den er mindre og kræver mindre hukommelse. Men nogle gange kan problemer med miljøet, især når det bruges til tilpasset udvikling, føre til, at .PLL'en bliver fundet først. Igen kan truss hurtigt identificere denne type problemer.
Læser også
Oracle HTTP Server i EBS
OC4J Container