Oracle Forms

Oracle Forms är en mjukvaruprodukt för att skapa skärmar som interagerar med en Oracle-databas . Den har en IDE som inkluderar en objektnavigator, egenskapsblad och kodredigerare som använder PL/SQL . Det utvecklades ursprungligen för att köra serversidan i terminalsessioner i teckenläge. Den portades till andra plattformar, inklusive Windows, för att fungera i en klient-servermiljö . Senare versioner portades till Java där den körs i en Java EE- container och kan integreras med Java och webbtjänster som kan startas från en URL. Nya versioner ger ett sätt att köra formulären från en stationär dator utan att behöva en webbläsare.

Forms primära fokus är att skapa datainmatningssystem som kommer åt en Oracle-databas.

Hur det fungerar

Oracle Forms kommer åt Oracle-databasen och genererar en skärm som presenterar data. Källformuläret (*.fmb) kompileras till en plattformsspecifik "körbar" (*.fmx), som körs (tolkas) av forms runtime-modulen. Formuläret används för att visa och redigera data i databasdrivna applikationer. Olika GUI-element, såsom knappar, menyer, rullningslister och grafik kan placeras på formuläret. Källkod kan också placeras i biblioteksfiler (*.pll) som kompileras till bibliotekskörbara filer (*.plx) som används under körning.

Miljön tillhandahåller inbyggda postskapande, fråge- och uppdateringslägen, var och en med sina egna standarddatamanipulationer. Detta minimerar behovet av att programmera vanliga och tråkiga operationer, som att skapa dynamisk SQL, känna av ändrade fält och låsa rader.

Som är normalt med händelsedrivna gränssnitt implementerar programvaran händelsehanteringsfunktioner som kallas triggers som automatiskt anropas vid kritiska steg i bearbetningen av poster, mottagandet av tangentbordstryck och mottagandet av musrörelser. Olika triggers kan anropas före, under och efter varje kritiskt steg.

Varje triggerfunktion är initialt en stubb, som innehåller en standardåtgärd eller ingenting. Programmering av Oracle Forms består därför i allmänhet av att modifiera innehållet i dessa triggers för att ändra standardbeteendet. Vissa utlösare, om de tillhandahålls av programmeraren, ersätter standardåtgärden medan andra förstärker den.

Som ett resultat av denna strategi är det möjligt att skapa ett antal standardformulärlayouter som har fullständig databasfunktionalitet men som inte innehåller någon programmeringsskriven kod alls.

Historia

Oracle Forms säljs och släpps separat från Oracle-databasen . Men större utgåvor av en Oracle-databas resulterar vanligtvis i en ny huvudversion av Oracle Forms för att stödja nya funktioner i databasen.

Interactive Application Facility (IAF)

Oracle Forms startade som Interactive Application Facility (IAF) , som hade två huvudkomponenter: kompilatorn (Interactive Application Generator - IAG) och runtime-tolken (Interactive Application Processor - IAP). Utgiven med den första Oracle Database version 2 (det fanns ingen version 1), tillhandahöll IAF ett teckenlägesgränssnitt för att tillåta användare att ange och fråga data från en Oracle-databas .

Det döptes om till FastForms med Oracle Database version 4 och lade till ett extra verktyg för att skapa ett standardformulär att redigera med IAG, formulärredigeraren.

Det döptes om en tredje gång till SQL*Forms version 2 tillsammans med Oracle 5-databasversionen.

Blanketter 2.x

Formulär 2.0 hade ingen formulärredigerare med en skärmmålare så formulären underhålls genom att redigera den textbaserade *.INP-filen

Forms 2.3 var en stor förbättring eftersom det lades till en skärmmålare. Den här utgåvan var karaktärsbaserad och utvecklingen och körtiden var vanligtvis i en terminal. Källfilen var en *.INP ASCII- fil och redigerades med skärmmålaren, men filen var en ASCII-fil och att redigera denna fil direkt i en textredigerare var vanligt på grund av begränsningarna i formulärredigeraren .

Den här versionen av Forms inkluderade inte PL/SQL- språket utan använde istället sitt eget anpassade språk baserat på triggersteg. Språket var mer primitivt än PL/SQL-språket som var tillgängligt i SQL*Plus. Det begränsade språket utökades med användarutgångar som kompilerade språkkod kopplad till binären för den Oracle-försedda körtiden .

Forms 2.3 användes som grund för Oracle Financials redovisningspaket. Som ett resultat av detta förblev 2.3 i användning långt efter att Form 3 och 4 blev tillgängliga för att stödja kundformulär som skapades för att integrera med Oracle Financials.

Blanketter 3.x

Oracle Forms 3 var den första versionen som gjorde det möjligt för PL/SQL att användas inom Forms triggers och procedurer. PL/SQL-funktioner kan också användas som en odokumenterad funktion.

Forms 3 var ett teckenlägesapplikation och användes främst i terminaler som Digital VT220 och datorer med Microsoft DOS. Det kunde köras under X men stödde inte några X-gränssnittsspecifika funktioner som kryssrutor , så det var i princip ett teckenlägesprogram som kördes i ett GUI-fönster.

Även om en mus kunde användas för att klicka på fält, fanns det inga musspecifika triggers (som när-mus-dubbelklick) tillgängliga i den här utgåvan

Källfilen var en *.INP ASCII-fil. Runtime-filen var en *.FRM binär fil.

IDE förbättrades avsevärt för att tillåta redigering av PL/SQL-kod och detta minskade den vanliga metoden att redigera INP-källfilen direkt.

Forms 3 genererade automatiskt Formulärutlösare och kod för att stödja vissa databasrestriktioner som primärnycklar och främmande nycklar. Begränsningar kunde definieras, men inte genomdrivas i Oracle 6-databasen för närvarande, så Oracle använde Forms 3 för att hävda att det stödde begränsningar i sin teknologistack.

Formulär 4.0

Oracle Forms version 4.0 var den första riktiga GUI-baserade versionen av produkten som stödde GUI-element som kryssrutor och radiogrupper i Forms-redigeraren och vid körning.

Även om det inte annonserades offentligt var en teckenbaserad körtid fortfarande tillgänglig för vissa kunder på begäran.

Ankomsten av Microsoft Windows 3 och konkurrenskraftiga produkter som körs under Windows tvingade Oracle att släppa den här GUI-versionen av Forms av kommersiella skäl. Forms 4.0 åtföljde Oracle databas version 6 med stöd för Microsoft Windows och X Windows.

En ny IDE introducerades i denna version. Varje typ av objekt hade ett editorfönster som var optimerat för det, så fältredigeraren såg helt annorlunda ut än fönsterredigeraren. Dessa skulle överges i nästa utgåva och ersättas med egenskapsblad som gjordes populära med Visual Basic.

4.0-källfilerna var *.FMB för formulär, *.PLL för bibliotek och *.OLB för objektbibliotek. Runtime-filerna 4.0 var *.FMX för formulär, *.PLX för bibliotek. *.OLB-filer kompilerades till FMX.

Programvarupaketet Oracle Financials använde inte denna version av Forms utan fortsatte istället att använda Forms 2.3.

Blanketter 4.5

Oracle Forms version 4.5 var verkligen en stor utgåva snarare än en " point release " av 4.0 trots dess ".5" versionsnummer. Den fick namnet 4.5 för att uppfylla avtalsenliga skyldigheter att stödja Forms 4 under en period för vissa kunder så att den kunde marknadsföra 4.5 som en patch till 4.0, även om en fullständig installation krävdes, snarare än att uppgradera 4.0 till 4.5 med en lappa.

Denna version innehöll betydande funktionsförändringar och en helt ny IDE, som ersatte IDE som introducerades i 4.0. Den lade till GUI -baserade triggers och gav en modern IDE med en objektnavigator, egenskapsblad och kodredigerare . Denna design hade blivit populär vid den tiden på grund av dess användning av Microsoft Visual Basic.

Utvecklingsmiljön har förändrats väldigt lite sedan den här utgåvan, så en mjukvaruutvecklare som har erfarenhet av Forms 4.5 kan enkelt arbeta med vilken version av Forms som helst upp till den senaste versionen.

Blanketter 5.x

Oracle Forms version 5 åtföljde Oracle databas version 7.

Blanketter 6.x

Forms 6 släpptes med Oracle 8.0-databasen och släpptes på nytt som Forms 6i med Oracle 8i. Denna version var i grunden Forms 4.5 med några extra guider och buggfixar. [ citat behövs ] Det inkluderade möjligheten att köra inuti en webbserver. En Forms Server tillhandahölls för att lösa problemet med att anpassa Oracle Forms till en webbläsarbaserad leverans i tre nivåer , utan att göra stora förändringar i dess programmatiska gränssnitt. Det komplexa, mycket interaktiva formulärgränssnittet tillhandahölls av en Java-applet som kommunicerade direkt med Forms-servern. Men webbversionen fungerade inte särskilt bra över HTTP . En fix från Forms 9i eftermonterades till senare versioner av 6i för att åtgärda detta.

Namn- och numreringssystemet som tillämpas på Oracle Forms genomgick flera förändringar på grund av marknadsföringsfaktorer, utan att ändra produktens väsentliga karaktär. Möjligheten att koda i Java, såväl som PL/SQL, tillkom under denna period.

Blanketter 9.x

Versionsnumret hoppade direkt från 6 till 9 för att behålla numret samma som Oracle-databasversionen som släpptes vid samma tidpunkt.

Forms 9i inkluderade många buggfixar till 6i och var känd som en bra stabil version. Stödet togs bort för Windows klient-serverkörning, teckenbaserade gränssnitt och istället är det tredelade, webbläsarbaserade användargränssnittet det enda distributionsalternativet. Möjligheten att importera java-klasser gör att den kan fungera som en webbtjänstklient .

Från och med den här utgåvan skulle versionsnumret för Oracle Forms framöver hållas synkroniserat med Oracles databasversion. Som ett resultat hoppade version 8 över och versionsnumret hoppade till 9

Efter denna utgåva gjordes mycket få produktändringar förutom att hålla versionsnumret synkroniserat med Oracle-databasen.

Blanketter 10.x

Forms 10g är faktiskt Forms version 9.0.4, så det är bara en ommärkt Forms 9i.

Blanketter 11.x

Formulär 11 innehöll några nya funktioner [ vilka? ] , förlitar sig på Oracle AQ för att tillåta det att interagera med JMS .

Blanketter 12.x

Java Web Start tillåter användare att köra Oracle Forms-applikationer utan att ha en överordnad webbläsare. Även om en webbläsare kan användas för att initialt skaffa programmets Java Web Start-startfil (.jnlp), är webbläsaren inte ansvarig för att vara värd för programmet och kan stängas efter att programmet har startats. JWS stöder Internet Explorer, Firefox ESR, Chrome, Edge.

Versionssammanfattning

namn Version (*1) Databas Karaktär/GUI Kommentarer
IAF 2 Karaktär Ingen IDE
FastForms+IAG 4 Karaktär
SQL*Forms 2 5 Karaktär Ny IDE, ingen PL/SQL, användarutgångar, INP ASCII-fil, FRM Runtime-fil
SQL*Forms 2.3 5 Karaktär Körtidsförbättringar
SQL*Forms 3 6 Karaktär Stor omskrivning, förbättrad IDE, PL/SQL ingår, X-stöd, generera kod för att upprätthålla begränsningar
Oracle Forms 4.0 6-7 GUI / karaktär Major Rewrite, New IDE, FMB-källkod binär fil, FMX Runtime, optimerad för Client-Server. Det nya gränssnittet är långsamt, buggigt och inte populärt bland klientbasen.
Oracle Forms 4.5 7 GUI / karaktär Major Rewrite, New IDE baserat på Object Navigator & Property Sheets. Bra release, snabb, populär bland kundbasen. Oracle ville att kunderna skulle uppgradera från v4 snabbt eftersom v4 var väldigt buggigt och Oracle fick ett kontrakt för att stödja v4 under en period för några stora, viktiga kunder. Så Oracle döpte den här versionen till 4.5 (snarare än 5) vilket gjorde att Oracle kunde hävda fortsatt stöd för v4. Detta gjorde det möjligt för en del kunder som var låsta till v4 under hela projektets livslängd att uppgradera från v4 till v4.5 genom att hävda att detta var en patch-release även om det helt klart var en större release.
Oracle Forms 5 7 GUI / karaktär
Oracle Forms 6 8 GUI / karaktär Formulärserver / webbformulär introduceras. Client-Server fortfarande tillgänglig och används av de flesta klienter. Forms Server-läget är långsamt, buggigt och använder mycket minne per session.
Oracle Forms 6i 8 GUI / karaktär
Oracle Forms 9i (*2) 9i GUI Klient-serverkörningstiden togs bort vilket lämnar Forms Server (webbgränssnitt) som enda körtidsalternativ. Stora förändringar på servernivå, effektivare kommunikation mellan användarens webbläsare och servern.
Oracle Forms 10 g 10 g GUI Detta är en Forms 9-version (9.0.4.0.19). Bytt namn externt för att indikera stöd för 10g databas. Meny-Hjälp-Om visar v9.0.4.0.19. Inte framåtkompatibel med 10gr2 (kan inte öppna 10gr2-formar i 10g/904)
Oracle Forms 10gR2 10gR2 GUI version 10.1.2.0.2 - registrets hemnyckel flyttad. Max NUMBER längd reducerad från 40 till 38
Oracle Forms 11 g 11 g GUI version 11.1.1.X Externa händelser, JavaScript
Oracle Forms 11gR2 11gR2 GUI version 11.1.2.X Oracle Access Manager-integration, prestanda och övervakning, interaktion med verklig användarupplevelse
Oracle Forms 12c 12c GUI

(*1) Varje version av Oracle Forms kan ansluta till flera versioner av ORACLE-databasen och säljs och släpps separat från ORACLE-databasen. Oracle Forms är i allmänhet framåt- och bakåtkompatibel med Oracle-databasen - till exempel: Oracle Forms 9 kan ansluta till minst Oracle 8,9, 10 och 11. Databasversionerna som listas här är den primära versionen som var tillgänglig vid tidpunkten för Formsläpp

(*2) Oracle-produkter har historiskt följt sina egna release-numrerings- och namnkonventioner. Detta ändrades med Oracle RDBMS 9i release när Oracle Corporation började standardisera Oracle Forms (och rapporter och utvecklare) för att använda samma huvudversionsnummer som databasen. Detta förklarar hoppet i Oracle Forms-versioner från 6i till 9i (det fanns ingen v7 eller v8)

Integration med Oracle Designer CASE Tool

Oracle Designer är ett datorstödd programvaruteknik (CASE)-verktyg som såldes av Oracle. Den kunde generera olika programvarumoduler inklusive Oracle Forms och Oracle Reports. Den senaste versionen av Oracle Designer var 2010 och den har sedan dess utgått.

Nuvarande status

Medan Oracles föredragna tillvägagångssätt för nyutveckling är dess Java- baserade Oracle Application Development Framework eller Oracle Application Express , är Oracles utvecklingsverktyg ganska tydlig i sitt engagemang för att fortsätta att stödja Oracle Forms och fortsätta att utveckla och förbättra det inom följande områden:

  • Göra uppgraderingen till webben och till nya versioner så smidig som möjligt
  • Tillåta Formulär- och Rapportapplikationer att dra full nytta av applikationsservertjänsterna och samverka med Java EE- applikationer.

Ett alternativ till Oracle Application Development Framework är också Oracle Application Express . En av fördelarna med Oracle Application Express är att det är mer relaterat till Forms eftersom det också är starkt beroende av PL/SQL .

externa länkar