Sie sind auf Seite 1von 7

Aktuell

Alle Wege führen zu Forms 12c


Frank Hoffmann, Cologne Data GmbH

Am 23.Oktober 2015 hat Michael Ferrante, Produktchef von Oracle Forms, über den Twitter-Account
„@OracleFormsPM“ die neue Version 12c von Forms ausgerufen. Damit hatte die lange Zeit des Wartens
ein Ende und viele Gerüchte konnten mit Fakten beseitigt werden.

Oracle Forms hat eine Zukunft – bis mindes- Auf der diesjährigen DOAG Konferenz entwickeln. Diese Wahl wurde zu jener Zeit
tens zum Jahr 2023; trotz nebulöser Gerüch- hat Michael Ferrante die neuen Features auch von Oracle Consulting empfohlen
te, die etwas anderes behauptet haben, ist von Forms 12c vorgestellt – eine gute und gefördert. Ein aus zwei GUI-Vorgänger-
Reports12c auch an den Start gegangen und Übersicht über die neuen Features. Die versionen (4 und 5) gereiftes Release 6iR2
lebt eine ganze Applikations-Generation wichtigen Änderungen, die dieser Artikel konnte direkt in der Produktion eingesetzt
weiter. Wer bis Anfang des Jahres fleißig Än- beleuchtet, wurden „unter der Haube“ werden. Diese Begeisterungswelle gibt es
derungsvorschläge an Oracle für die neue durchgeführt. Erfahrungen aus mehrjähri- leider nicht mehr, denn heute spricht man
Forms-Version geschickt hatte, konnte nun ger Migrationserfahrung sollen auch hier auf dem Markt mehr über Apex, ADF und
die eine oder andere Anregung in der Um- einfließen sowie schlagkräftige Argumen- reine Java-Anwendungen. Es gibt sicherlich
setzung wiederfinden. Dennoch ist die neue te für Entscheider, warum ein Umstieg auf auch Projekte, die sich damit gut realisie-
Version Forms 12c ein konservatives Funk- Forms 12c sehr sinnvoll ist. ren lassen und die mit dynamischem HTML
tions-Upgrade zu der Vorgängerversion und JavaScript Eindruck machen.
Forms 11gR2 geworden. Wichtige Bibliothe- Nicht wenige alte, aber nicht gealterte
ken („webutil.pll“) und Funktionen wurden Aus der Geschichte Entwicklungschefs behaupten bis heute, und
„1:1“ übertragen, Forms-12c-Dokumente der Autor zählt sich dazu, dass es für Projek-
aus bestehenden 11gR2 Dokumenten ko- Viele Oracle-Kunden haben sich Mitte der te mit komplexen Datenbank-Modellen und
piert und Reports hat sich seit der Version 1990er-Jahre für Forms entschieden, um Workflows kein besseres und kein produkti-
10g funktional nicht mehr geändert. damit ihre Datenbank-Applikationen zu veres Tool gibt als Oracle Forms. Warum hat

56 www.aoug.at • www.doag.org • www.soug.ch


Forms 6iR2 Forms 11gR2 Forms 12c

Erscheinungsdatum Sommer 2000 Januar 2011 Oktober 2015

Support (erweitert) 2005 (2008) 2016 (2018) 2020 (2023)

JDK 32-Bit JDK 1.1 JDK 1.6

JDK 64-Bit - JDK 1.7 JDK 1.8

JRE 1.7.40+ JRE 1.7.55+


Client-Umgebung Installation Runtimeversion
JRE 1.8.51+ JRE 1.8.51+

PL/SQL-Version 8.0.6.3 11.1.0.7 11.2.0.3

Läuft 10.2, 11.2.0.4, 12.1.0.2


Datenbank „unsupported“ auf 8..11g und 11gR1 R2, + Datenbank Repository für
12c mit sqlnet Anpassung 12c R1 jede Installation (DEV0..DEV99)

Windows
Windows
IE 11
IE 8,9,10,11 FF24+
Zertifizierte Browser -
MAC IOS
FF 31+
MAC IOS (*)
Safari 7+, 8+
Safari 8+

SQLNET 8 11 11

http/https via JRE 1.8


http/https aus Browser mit
Forms/Reports oder Webstart (JNLP)
via SQLNET 8 (Client/Server) Plug-in JRE 1.7,1.8
Client-Verbindung oder JRE Stand-alone
(dann ohne JavaScript und SSO)

Java Access
Java Access Bridge mit
Barrierefreiheit Nein
JAWS12+
Bridge mit
JAWS12+

Tabelle 1 (*) Ein Testaufruf von Forms 12c mit einem aktuellen MacBook hat gut geklappt. Nach Installation von JRE 1.8.66 für Mac wird das Applet
gestartet. Der Java-Prozess der Forms-Anwendung wurde im Mac sogar zur Laufzeit in der Taskleiste angezeigt und wenige Sekunden nach Schließen
des Browsers beendet.

Oracle das in den letzten Jahren nicht mehr befolgt (Styleguide, Notation, Inline-Doku- stalliert. Die HTML-Seiten sollten durch das
so propagiert wie in den 1990er-Jahren? Wa- mentation, strukturierte Entwicklung etc.), lizenzfreie „mod_owa“ dynamisch angezeigt
rum wird reinen Java- und HTML-basierten kann Software mit hoher Nachhaltigkeit er- werden. Als Datenbank wurde eine Oracle
Lösungen in der Regel mehr Priorität einge- zeugen. Warum nicht heute mal ein neues 12c Standard Edition gewählt und für den
räumt? Warum gibt es auf der DOAG Kon- Projekt mit Oracle Forms 12 beginnen? Testaufruf über SSL ein SSL-Zertifikat ins-
ferenz nur drei Forms-Vorträge – keinen Tabelle 1 veranschaulicht die wichtig­ talliert. Bei der Auswahl des Zertifikatsher-
einzigen davon von Oracle Deutschland? sten Entwicklungen. Die Angaben dazu stellers sollte zuvor überprüft werden, ob
Niemand weiß das genau – aber es muss ja stammen aus den Zertifizierungs-Tabellen der Anbieter auch in der Oracle-Java-CA-
in den nächsten Jahren nicht so bleiben. und Dokumenten von Oracle mit Stand Liste auftaucht, denn sonst melden Brow-
am 9. Dezember 2015. ser wie Firefox und Safari die Adresse als
Forms 12c setzt auf Datenbanken und nicht vertrauenswürdig (auch wenn keine
Was an Forms begeistert Browsern einer neueren Generation auf. selbst signierten JAR-Files installiert sind).
Die Java-Prozesse laufen stabiler als in der Ein Apache-2.4-Reverse-Proxy routet in der
Oracle Forms ist ein hochproduktives Tool Vorgängerversion. Für den Autor ist das Konfiguration die Verbindungen an Forms
zur Masken-Generierung. Wer einmal die Highlight der neuen Version der Aufruf weiter. Reports wird in der Installation über
Entwicklungslogik dieses Tools verstanden ohne Browser („stand-alone“). „blobdestination“ im Hintergrund betrieben
hat, kann mit PL/SQL und einigen Entwick- und generiert PDF-Files in die Datenbank
lungsregeln Beträchtliches leisten. Die Lo- (siehe Abbildung 1 und Listing 1).
gik sowie der Basis-Funktionsumfang mit Die Forms-12c-Server- Eine erhöhte Sicherheit könnte noch
Triggern, Prozeduren und Parametern sind Architektur mit einer vorgeschalteten Maske erreicht
relativ leicht zu lernen. Wer strukturiert werden. Diese kann eine Vielzahl von Si-
programmiert, Logik in der Datenbank hält Für den Demoserver wurde Forms/Reports cherheitsprüfungen durchführen und über
und beim Aufbau der Applikation Regeln 12c auf einem Windows 2012 R2 Server in- Global-Links die Passwörter der Ziel-Da-

Red Stack Magazin 01/2016 57


Aktuell

Abbildung 1: Forms-12c-Architektur mit einer verschlüsselten https-Verbindung

Abbildung 2: Erhöhte Sicherheit mit vorgeschalteter Anmeldemaske

tenbank prüfen, bevor eine Forms-Session Die Anmelde-Datenbank kann auch als Anforderungen können abgedeckt wer-
gegen eine Produktions-Datenbank gestar- zentraler Speicherort für das neue Forms den durch:
tet wird (siehe Abbildungen 2 und 3). 12c-Repository genutzt werden. Darüber
hinaus ist auch eine zweite zentrale Da- • Abwehr von Denial-of-Service-Attacken
tenbank zur Speicherung aller asynchro- – die Maske wird bei Massenaufruf von
Anmelde-Datenbank mit An­ nen Reports denkbar. Vorteil dabei ist, einer DOS-IP sofort beendet und eine
meldemaske dass die Produktions-Datenbanken nicht Warnmeldung wird als E-Mail versendet
unnötig mit Konfigurations-Schemata von • Sicherheits-Verzögerungen bei mehrfa-
Die Anmeldemaske verbindet sich au- Forms 12c und großen BLOB-Spalten von chen Anmeldeversuchen
tomatisch mit der Anmelde-Datenbank Reports belastet werden und die Online- • Zulassung von maximal einem Anmel-
beim Start der Applikation. So kann ein Sicherungen überfrachten. Sicherheits- defenster pro Client-ID
ungültiger Login schon protokolliert wer-
den, bevor eine Anmeldung an die Pro-
duktions-Datenbank versucht wurde.
Bei der Eingabe des Passworts prüft die <VirtualHost colognedata.com:443>
Anmelde-Datenbank über einen Global- ProxyPreserveHost On
Link zur Ziel-Datenbank (Alias „PROTEST“ ProxyRequests Off
ServerName colognedata.com
verbindet beispielsweise mit „PROD1“)
ProxyPass /forms/ http://127.0.0.1:9001/forms/
das Passwort. Wenn es stimmt, wird mit ProxyPassReverse /forms/ http://127.0.0.1:9001/forms/
„NEW“-Form eine Verbindung zu „PROD1“ </VirtualHost>
über Port 1522 aufgebaut. Wenn es nicht
stimmt, wird der Anwender abgewiesen. Listing 1: Reverse-Proxy-Lösung zum Aufruf von Forms

58 www.aoug.at • www.doag.org • www.soug.ch


nity.oracle.com/community/development_
tools/forms/content“).

Konflikt unter Forms 12c

Abbildung 3: Login Wer seine Masken und Reports in einem


Verzeichnis halten und diese in dem Kon-
figurationsfile „formsweb.cfg“ einrichten
• Verbote von Anmeldungen einer Ken- Konferenz die Oracle-Seite „http://docs. will, kann dafür die Applet-Variable „Wor-
nung von verschiedenen Rechnern oracle.com/middleware/1221/formsandre- kingDirectory“ verwenden. So wird ein ge-
• Abweisung kritischer Java- und Brow- ports/index.html“ (siehe Abbildung 4). meinsames Runtime-Verzeichnis für eine
ser-Versionen Vor Beginn der Installation und den Konfiguration geschaffen. Unter Forms
• Sicherheitshinweise per E-Mail bei An- ersten Tests empfiehlt sich das Studium 12c muss dann aber im „default.env“ die
meldungen zu ungewöhnlichen Zeiten einiger weiterer Dokumente zu System- Variable „FORMS_MODUL_PATH“ auskom-
voraussetzungen (siehe „http://www.orac- mentiert werden (siehe Listing 2).
le.com/technetwork/middleware/ias/down-
Einstieg in die Welt von Forms loads/fusion-requirements-100147.html“),
12c im Selbststudium Produkt-Zertifizierungen (siehe „http://www. Neue Ereignis-Typen unter
oracle.com/technetwork/middleware/ias/ Forms 12c
Ein guter Einstiegspunkt für die Beschäfti- downloads/fusion-certification-100350.
gung mit Forms 12c ist neben dem Vortrag html“) sowie Forms Community und Sup- Forms 12c kann mit der Außenwelt nun
von Michael Ferrante auf der DOAG 2015 port für 12c-Bugs (siehe „https://commu- auch über neue System-Ereignisse kommu-
nizieren. Neue Inaktivitäts-Timer können in
Forms 12c definiert und durch Trigger abge-
fragt werden – das ging vorher nur mit Java
Beans. Dazu ein Beispiel: Bei Maskenauf-
ruf setzen wir die neuen Inaktivitäts-Timer
mit „SET_APPLICATION_PROPERTY(CLIENT_
IDLE_TIME,30);“ auf 30 Sekunden. Dann
definieren wir ein Ereignis mit dem Typ
„System Client-Idle“ und legen einen
„WHEN-EVENT-RAISED“-Trigger mit dem
Befehl „message(‚ClientIdle Trigger löst
aus ‚ || :system.last_event);“ an. Das Er-
gebnis: Bei dreißig Sekunden Client-Inakti-
vität löst der Trigger aus.

Forms 12c als Stand-alone-


JavaApplet komplett ohne
Browser starten

Dieses Feature ist sehr nützlich und ein-


Abbildung 4: Oracle-Startseite fach zu implementieren. SSO und JavaScript
fallen dann aber als Features weg. Zuerst
muss dafür das „.jar“-File „frmsal.jar“ auf
Default.env:
#FORMS_MODULE_PATH=%FORMS_PATH% dem Client installiert werden, beispiels-
weise vom Demo-Server des Autors (siehe
Listing 2: Anpassung der „default.env“ „http://forms12c.com/forms/html/fsal.htm“).
Dann kann man ein Batchfile (siehe Listing
3) lokal zum Start von Forms anlegen. Hier
c:
steht „frmsal.jar“ im Verzeichnis „C:\orac-
cd C:\oracle\java
java -jar frmsal.jar -url "http://forms12c.com/forms/frmservlet?config=s
le\java“. Auf dem DOS Fenster erscheint
tandaloneapp" -t 30000 dann ein Aufrufcode (siehe Listing 4). Nach
Schließen der Applikation wird das DOS-
Listing 3: Stand-alone-JavaApplet-Start Fenster automatisch geschlossen.

Red Stack Magazin 01/2016 59


Aktuell

Latenz-Messungen und Netz­ Browser wie Firefox und Internet Explo- cher-Methode nicht mehr regelmäßig
werk-Analysen unter Forms 12c rer haben ihre Besonderheiten. Wie auch neu gestartet werden.
schon in der Tabelle sichtbar, sind bei jeder
Latenz-Messungen kann man weiterhin Version bestimmte Browser zertifiziert und • Integration BI Publisher
wie in Forms 11gR2 durch Hinzufügung andere nicht. Schwierig ist bei Browser- Neue Produkte wie der BI Publisher
von Umgebungsvariablen erreichen (sie- Abstürzen oder Verbindungs-Abbrüchen lassen sich ähnlich wie Reports integ-
he Listing 5). Die Parameter müssen auch auch die Bereinigung der lokalen Client- rieren.
in dem jeweiligen „jpi“-Dokument bekannt Java-Sessions („Zombie“-Prozesse). Diese
gemacht werden. können das System instabil machen. Oft • WebUtil ohne OLE2 installieren
Über die Seite „http://forms12c.de/ hilft hier für den Anwender nur eine Ab- Wer auf OLE2 verzichten kann, be-
demo“ ist ein Aufruf der Beispiele jeweils meldung vom Client-System. Einige dieser kommt mit Forms 12c die Chance einer
in http oder https möglich. Auf der Seite 11g-Bugs sind mit 12c gefixt worden. Die Installation ganz ohne selbst signierte
sind auch die aufgeführten Links und Do- Migration beschränkt sich auf ein Batch- „.jar“-Files („webutil_no_ole“). Das er-
kumente abgelegt sowie eine Kopie des Recompile aller Module. Die Vorteile von gänzende „.jar“-File für die Office-Auto-
Vortrags von Michael Ferrante auf der Forms 12c gegenüber Forms 11gR2 sind: mation, das bisher selber signiert wer-
DOAG Konferenz zu Forms 12c. Der La- den musste („jacob.jar“), ist dann nicht
tenz-Test wird durch Doppelklick auf die • Weg von Forms-Aufrufen über Browser- mehr notwendig.
Anzeige der Roundtrips in dem entspre- Plug-ins
chenden Beispiel gestartet. Mit der neuen „Stand-alone“-Lösung • Neue System-Ereignistypen für Inaktivi-
lässt sich unter Forms 12c die Appli- tätskontrolle
kation ganz ohne Browser unter einer Neue Forms-12c-Ereignistypen können
Grafiken aus einem Verzeich­ Java-Realtime-Umgebung (JRE) betrei- die Funktion des „timeout.jar“-Files ab-
nis ohne „.jar“-File einlesen ben. Leider fallen hier aber auch Opti- lösen. Das spart Entwicklungszeit und
onen weg. SSO und JavaScript werden eine eigene Signierungs-Baustelle mit
Grafiken lassen sich aus 11gR2 oder 12c zur dann nicht mehr unterstützt. kostspieligem Code-Signing-Zertifikat.
Laufzeit einlesen. Das wurde erfolgreich un-
ter Forms 12c mit der Browser- und Stand- • Support bis zum Jahr 2020
alone-Version getestet (siehe Listing 6). Dazu Ende des Jahres 2016 läuft der Support
müssen zwei Einträge gemacht und der für 11gR2 aus und der kostenpflichtige Technische Argumente für
WebLogic Server einmal neu gestartet wer- „Extended Support“ beginnt. Weiterhin einen Wechsel von 6i auf 12c
den – auch bei jeder zukünftigen Änderung hat Mozilla für Ende 2016 angekündigt,
im Grafik-Verzeichnis ist wegen der Cache- keine Java-Plug-ins mehr im Firefox zu In der 6i-Umgebung kann nur mit PL/SQL
Einträge ein Neustart notwendig. Darüber erlauben. Wichtig ist auch zu prüfen, in der Version 8 programmiert werden.
hinaus muss ein neues „icons“-Verzeichnis ob der Patch für die „.jar“-Files in 11gR2 Das ist der Stand des Jahres 2000. Neuere
unter „webutil“ mit den entsprechenden eingespielt wurde. Die Zertifikate lau- PL/SQL-Funktionen sind nicht unterstützt.
GIF-Files angelegt sein. fen sonst Ende Januar 2016 aus. Das gilt auch für den C-Compiler. Alter C-
Code für Schnittstellen kann nur mit sehr,
• Optimiertes JVM-Speicher-Management sehr alten Compilern gepflegt werden.
Wechsel von älteren Forms- von Forms und Reports Das mit Forms 6i verteilte JDK 1.1 ist ein
Versionen Ein Hauptproblem der Version 11gR2 Sicherheitsrisiko und bietet auch nur den
ist das JVM-Speicher-Management. Funktionsstand aus dem Jahr 2000. Die
Wer zurzeit eine aktuelle Oracle-Forms- Hier verspricht die neue Version Bugfi- Anbindung an die Datenbank mit „NET8“
Version betreibt, kennt das Problem mit xes und einige Optimierungen. Das Re- ist veraltet. Eine Anbindung an eine Da-
Browsern und Java-Plug-ins. Es müssen cord-Management eines Forms-Blocks tenbank-Version 12 verlangt eine Anpas-
Schutz-Mechanismen (JavaScript) eingebaut wurde auch mit dieser Version in den sung der „sqlnet.ora“. Die Argumente für
sein, damit nicht unbeabsichtigt „Forms- Speicher verlegt. Der Report-Server die endgültige Verabschiedung von Forms
Browser“-Fenster geschlossen werden. muss bei der optimierten JVM-Spei- 6i sind:

Archivdateien werden in das Verzeichnis C:\Users\COLOGN~1\AppData\Local\Temp\frmsal\12.2.1.0 heruntergeladen


Forms-Session-ID: WLS_FORMS.formsapp.51
Proxyhost: null, Proxyport: 0.
Native HTTP-Implementierung für Verbindung verwendet.
Verbindungsmodus: HTTP.
Version von Forms-Applet: 12.2.1.0

Listing 4

60 www.aoug.at • www.doag.org • www.soug.ch


• Der Betrieb von Forms 6i ist und bleibt • Eine lokale Datenbank-Installation wie in schränkt die Sicherheit bei der Pass-
ein Sicherheitsrisiko Forms 6i verrät zu viel wort-Vergabe ein.
Der Betrieb von Forms 6i im Intranet Forms 6i erfordert eine Runtime-Ins-
verlangt, wie auch der Betrieb über das tallation mit NET8. Wer die Datenbank- • Mögliche Netzwerk-Belastungen mit 6i-
Internet, einen geöffneten Datenbank- Verbindung kennt, kann mit 3rd-Party- Modulen
Port. Damit ist die Datenbank verwund- Tools spielen, um eine unerwünschte Es gibt Reports für den Massendruck
bar. Einbrüche und Missbräuche der Datenbank-Verbindung herzustellen. oder lange Listen, die ein paar tausend
Accounts können über das Netz direkt Ein Bösewicht kann auch leicht mit der Mal auf die Datenbank zugreifen. Zeile
gegen die Datenbank ausgeführt wer- Host-Adresse einen DOS-Angriff star- für Zeile werden dabei stundenlang die
den. Die geforderte SQLNET Version 8 ten. Er kennt immer den Port und die Datenbank und das Netz beschäftigt. In
bietet wenige Sicherheits-Funktionen Host-Adresse der Datenbank, an der er manchen Masken werden CLOB- oder
und ist auf dem Stand des Jahres 2000. sich anmeldet – das ist aufwändig ab- BLOB-Spalten von Forms zeilenweise auf
Passwörter gehen genau wie SQL-Code zuwehren. den Client übertragen. Hier ist mit dem
in der Regel unverschlüsselt über die Lei- Umstieg auf Forms 11g/12c eine deutli-
tung. Alexander Kornbrust, ein Experte • Passwörter können nicht im „Mixed- che Optimierung möglich. Erstens sind
auf dem Gebiet der Datenbank-Sicher- Case“ betrieben werden die Netzwege zwischen Datenbank und
heit, hat schon früh mit vielen Beispie- Dadurch, dass Oracle die Passwör- Report-Server kurz und gesichert, zwei-
len darauf hingewiesen, wie groß das ter an Reports im „Upper Case“ über- tens können die Reports asynchron im
Sicherheits-Risiko eines offenen Daten- trägt, fallen Passwörter mit Groß- und Hintergrund auf dem Applikationsserver
bank-Ports ist – im Intranet schlecht, im Kleinschreibung weg. Damit leidet die ihre Arbeit verrichten und legen den Cli-
Internet ganz übel. Der gesamte Daten- Sicherheit einmal mehr. Die Daten- ent nicht lahm. Auch Forms-Module mit
bank-Verkehr läuft über die Leitungen bank muss daher bei den Passwörtern viel Datenbank-Traffic laufen auf den
und kann prima mitgelesen werden. auf Forms 6i Rücksicht nehmen und neuen Forms-Versionen performanter.

Red Stack Magazin 01/2016 61


Aktuell

Installationen wie in 11gR2 mit mindes-


Formsweb.cfg:
latencyCheck=true # Latenzmessung von 1,4kb und 64 kb Paketen tens 4 GB zusätzlichem Hauptspeicher.
networkStats=true
# Anzeige Roundtrips u. Übertragungsvolumen In Aufruftests müssen die Leitungen zum
Forms-Server auf Latenzen geprüft werden.
Listing 5: Latenz-Messungen unter Forms 12c Bei Sicherheitsnetzen ist zu prüfen, ob der
lokale DNS-Server die Zertifikate der Java-
Applets auflösen kann. Möglicherweise
Formsweb.cfg: imageBase=documentBase müssen 64-Bit-Java-Clients ausgeschlossen
Registry.dat: default.icons.iconpath=webutil/icons/ werden – sie könnten instabil sein. Oracle
empfiehlt lapidar, bei Problemen mit 64-Bit-
Listing 6: Grafiken aus dem „webutil“-Verzeichnis einlesen Java-Runtime-Umgebungen auf 32-Bit-Java-
Versionen zu wechseln.
Nicht jeder Rahmen und jeder Pixel-Ab-
• Sicherheitsrisiko bei der Verteilung der einige Menü-Aufrufe Hilfsmasken mit stand wird in der neuen Version „1:1“ über-
Module „webutil“-Canvas. In Forms 6i konnten tragbar sein. Kleinere manuelle Anpassun-
Die Forms-Module zum Betrieb einer Ap- viele Varianten programmiert werden, gen werden später noch erfolgen müssen.
plikation können beliebig getauscht wer- die unter 11gR2 nicht mehr oder anders Ein zukünftiges Ziel wird in 12c auch immer
den. Damit ist das Risiko des Missbrauchs laufen. Unter Unix müssen eventuell Win- sein, die Netzwerk-Lasten zu vermindern –
nicht zu unterschätzen. Die Authentizität dows-Schriftarten nachinstalliert werden manchmal ist es sinnvoll, ein Dokument, ei-
der Anwendung ist nicht zu gewährleis- – sonst können Reports unter Unix schon nen Text oder ein XML-Dokument erst ein-
ten. Hier können einfach der Aufruf-Pfad mal in fremdartigen Zeichen erscheinen. mal auf dem Server zu generieren, um es
der Module geändert und manipulierte Wird OLE2 genutzt, muss ein signier- dann im Ganzen an den Client zu transpor-
Module eingeschleust werden. tes „jacob.jar“-File eingebunden sein. Es tieren. Eine gute Dokumentation hilft, den
ist sinnvoll, ein Konzept zu erarbeiten, um Migrationsprozess in einem Modul später
neue 12c-Logik während der Migration au- sauber nachvollziehen zu können.
Migration von 6i auf 12c tomatisiert und standardisiert einzubinden.
Trigger, Bibliotheken und Kommentare soll-
Einen Überblick über mögliche Änderungen ten in allen Modulen einheitlich eingepflegt Reports 12c
und Anpassungen findet man in dem Up- werden. Etwas Grafik-Gestaltung wird nötig
grade Guide „Upgrading von Forms 6i nach sein: Alle Icons müssen mit transparentem Nur zwei Sätze dazu: Reports ist seit der
12c“ (siehe „http://docs.oracle.com/middle- Hintergrund in „.gif“-Files konvertiert wer- Version 10g nicht mehr geändert wor-
ware/1221/formsandreports/upgrade-forms/ den. In diesem Zuge könnte man auch Lo- den und bekommt von Oracle keine be-
index.html“). Der Guide hat sich im Vergleich gos anpassen und Grafiken von 16*16 Pixel sondere Aufmerksamkeit mehr. Ob es ein
zur 11gR2-Version kaum geändert. Es gilt ei- für die neue Reitergrafik-Funktion in Forms Reports 13c geben wird, will Oracle nicht
gentlich daher fast alles, was auch schon in 12c entwerfen. verraten – es wird auf jeden Fall definitiv
früheren Artikeln zu 11gR2 gesagt wurde. MDI-Toolbar und Trees brauchen eine nicht mehr weiterentwickelt. Man vermu-
Prophetisch hat der Autor im Januar 2012 sei- Grafik, die links oben zentriert ist. Alle an- tet, dass es weiter so vor sich hin dümpeln
nen DOAG-Vortrag daher auch „Erfahrungen deren Buttons brauchen zentrierte Grafi- wird. Die gute Nachricht ist aber, dass die
bei der Migration von Forms/Reports 6i nach ken möglichst in 32*32 Pixel. Bei Doppel- Migration von Reports 6i auf Reports 12c
Forms/Reports 11.1.2 und 12“ genannt und nutzung (MDI-Toolbar und Maske) müssen mit recht wenig Aufwand möglich ist.
alles dort Gesagte ist eigentlich noch gültig. Icons in zwei Fassungen erstellt sein. Ein Pa-
Nur das „c“ hatte er nicht erraten. rallelbetrieb von 6i und 12c ist sinnvoll, um
In jedem Projekt sollte zu Anfang der Risiken eines Produktionsausfalls zu ver-
alte 6i-Code analysiert werden, entweder meiden. Vielleicht sollte aber die Weiterent-
durch Batch-Export der Module in XML wicklung dabei eingefroren werden, sonst
oder Text oder durch schlaue API-Tools. wird der Test der neuen Version immer
Kritische Suchwörter wie „HOST“, „OLE2“, bruchstückhaft und mühselig sein, weil er
„FFI“, „RUN_PRODUCT“ oder „TEXT_IO“ nie auf einem festen Stand aufsetzen kann
helfen, Masken aufzuspüren, die Proble- – vielleicht auch nie fertig wird.
me bereiten können. Grundsätzlich las- Konfiguration und Deployment sollten
sen sich alle Masken mit solchen Aufrufen nicht unterschätzt werden, eine Imple-
automatisiert migrieren – der Aufruf unter mentation, ob Client oder Server, ist mit
Forms 11g/12c muss allerdings nach der WebLogic Servern sehr aufwändig. Wenn
Migration gründlich getestet werden. Reports weiterentwickelt werden sollen, Frank Hoffmann
WebUtil-Funktionen brauchen immer fällt die schöne Forms-12c-Stand-alone- frank.hoffmann@cologne-data.de
einen sichtbaren „Canvas“, um funktio- Lösung des Forms-12c-Builders weg und http://forms12c.de/demo
nieren zu können – eventuell benötigen es kommt zu wuchtigen und aufwändigen @forms12c

62 www.aoug.at • www.doag.org • www.soug.ch

Das könnte Ihnen auch gefallen