| Dr. Gudrun Pabst | Trivadis GmbH |
WebUtil
Client-Funktionalitäten für Forms 9i
WebUtil – Inhalt
Inhalt:
Einführung
Installation
Konfigurationsdateien
Erstellen und Konvertieren von Masken
Funktionen des WebUtil-Pakets
©
Copyright Trivadis GmbH
2
Einfü
Einführung
Wofür WebUtil?
ab Forms9i: Forms nur noch im Web
Problem: Aufruf von Client-Programmen funktioniert mit
Forms-Mitteln nicht mehr
Lösungsmöglichkeit JavaBeans
WebUtil: Paket von Oracle, in dem für die in Forms6i
vorhandenen Client-Funktionalitäten eine Web-Variante
geboten wird
©
Copyright Trivadis GmbH
3
Einfü
Einführung
Vorteile von WebUtil:
Programmierung mit PL/SQL
der Programmierer muss sich nicht um die Java-Seite der ClientAnbindung kümmern
Selbstinstallation der client-seitigen Komponenten
Kein administrativer Aufwand
Einfache Portierung bestehender Anwendungen
Die PL/SQL-APIs von WebUtil haben, soweit möglich, dasselbe
Verhalten wie die entsprechenden eingebauten Forms-Funktionen.
Erweiterung von Forms um Funktionalitäten, die es bisher
noch nicht gab
©
Copyright Trivadis GmbH
4
Einfü
Einführung
Technologie von WebUtil:
WebUtil benützt die Erweiterungsmöglichkeiten von Forms
Auf Client-Seite: Pluggable Java Components
Auf Server-Seite: Forms-Interface für Java (ORA_JAVA)
WebUtil bietet für die Java-Erweiterungen PL/SQL-Wrapper
©
Copyright Trivadis GmbH
5
Installation: Voraussetzungen
Oracle Forms 9i Version 9.0.2 und höher
Auf Client-Seite:
JInitiator 1.3.1.9 und höher oder Sun Java Plug-in 1.4.1.01 und höher
Auf Application-Server-Seite:
Java Virtual Machine Version 1.2.2 oder höher (z.B. JVMs der Oracle
9iDS und des Oracle 9iAS)
Für den File-Transfer in die Datenbank und aus der
Datenbank:
Oracle 9i DB der Version 9.0.1 oder höher
(sonst steht diese Funktionalität nicht zur Verfügung)
©
Copyright Trivadis GmbH
6
Installation: Vorarbeiten
Die OLE-Funktionalität von WebUtil wird über JACOB
(externe Java-Bibliothek) zur Verfügung gestellt
Download von JACOB:
http://danadler.com/jacob/jacobBin_17.zip
Die Libraries jacob.jar und jacob.dll müssen in dasselbe
Verzeichnis gestellt werden wie webutil.jar.
Die Java-Bibliotheken jacob.jar und webutil.jar müssen mit
demselben Zertifikat signiert werden. Hierzu werden
entweder die üblichen Java-Tools oder die bei WebUtil
mitgelieferten Skripte verwendet.
©
Copyright Trivadis GmbH
7
Installation: Komponenten
webutil.pll
Programm-Library mit der WebUtil-API
webutil.olb
Object-Library mit den Vorlage-Objekten
webutil.jar, jacob.jar (extern)
Java-Klassen
d2kwut60.dll, JNIsharedstubs.dll, jacob.dll (extern)
webutil.cfg, webutil.env, webutiljini.htm
WEBUTIL_DB (über create_webutil_db.sql)
Datenbank-Package zum File-Upload und -Download
©
Copyright Trivadis GmbH
8
Installation: Datenbank
WebUtil-Filetransfer (Package WEBUTIL_FILE_TRANSFER)
benötigt als Voraussetzung die Datenbank-Package
WEBUTIL_DB.
DB-Package WEBUTIL_DB greift zu auf die DB-Packages
DBMS_LOB
UTL_ENCODE
UTL_RAW
Installation: Skript create_webutil_db.sql
Einrichten: Public Synonym und Rechte für die Benutzer
©
Copyright Trivadis GmbH
9
Installation: Entwicklungsumgebung (1)
webutil.pll und webutil.olb in den FORMS90_PATH legen
Optional: webutil.jar im FORMS90_BUILDER_CLASSPATH
eintragen (WebUtil-Java-Beans sind dann im Form-Builder
sichtbar)
webutil.jar, jacob.jar nach <Oracle_Home>\forms90\java
(oder Unterverzeichnis) kopieren
Eintrag in formsweb.cfg, Variante1: generell
envFile=webutil.env
baseHTMLjinitiator=webutiljini.htm
webUtilArchive=webutil/webutil.jar
archive_jini=f90all_jinit.jar,jacob.jar,webutil/
webutil.jar
©
Copyright Trivadis GmbH
10
Installation: Entwicklungsumgebung (2)
Eintrag in formsweb.cfg, Variante 2: eigene Konfiguration
[webutil]
envFile=webutil.env
baseHTMLjinitiator=webutiljini.htm
webUtilArchive=webutil/webutil.jar
archive_jini=f90all_jinit.jar,jacob.jar,webutil/
webutil.jar
Bei Variante 2 zusätzliche Einstellung im Form-Builder:
Preferences
Runtime
Application Server URL:
http://<server_name>:8888/forms90/f90servlet?config=
webutil
©
Copyright Trivadis GmbH
11
Installation: Entwicklungsumgebung (3)
Zum Verwenden der Auto-Installations-Funktionalität:
Bekanntgeben des Pfades für die DLLs bei OC4J durch
Eintrag im File orion-web.xml
(Pfad \j2ee\Oracle9iDS\application-deployments\forms\forms90web):
<virtual-directory virtual-path="/webutil_dll"
real-path="[WEBUTIL-DLL-PFAD]" />
Angabe dieses Pfades als install.syslib.location in der
webutil.cfg (siehe später):
install.syslib.location=
http://<host>:<port>/forms90/webutil_dll
ACHTUNG: funktioniert in den Tests nur mit absoluter URL!
©
Copyright Trivadis GmbH
12
Installation: Laufzeitumgebung
webutil.pll muss in den FORMS90_PATH gelegt werden.
webutil.jar muss im FORMS90_CLASSPATH eingetragen sein.
Weitere Jar-Files auch im FORMS90_CLASSPATH angeben
Bekanntgeben des DLL-Pfads beim Application Server durch
Eintrag im File forms90.conf:
AliasMatch ^/forms90/webutil_dll/(..*) "[WEBUTIL-DLLPFAD]/$1"
Eintrag in formsweb.cfg:
[webutil]
envFile=webutil.env
baseHTMLjinitiator=webutiljini.htm
webUtilArchive=webutil/webutil.jar
archive_jini=f90all_jinit.jar,jacob.jar,
webutil/webutil.jar
©
Copyright Trivadis GmbH
13
Installation: Umgebungsdatei webutil.env
FORMS90_PATH
webutil.pll muss im Pfad liegen
maximal 255 Zeichen
WEBUTIL_CONFIG
gibt die Datei an, die die Konfig-Einstellungen von WebUtil enthält
CLASSPATH
muss webutil.jar und das Java-Runtime-Jarfile rt.jar enthalten
(Windows) PATH
jvm.dll muss im Pfad liegen
(z.B. %JAVA_HOME%\jre\bin\classic)
(UNIX) Library load path
libjava.so muss im Pfad liegen
(z.B. unter Linux: $JAVA_HOME/jre/lib/i386/native_threads)
©
Copyright Trivadis GmbH
14
Installation: Konfigurationsdatei webutil.cfg
enthält Angaben zu
Logging
automatischer Installation
File–Upload und –Download
Fehlermeldungstexten
muss für die automatische Installation angepasst werden
(siehe vorher)
weitere Anpassungen nur, wenn Einstellungen geändert
werden sollen
©
Copyright Trivadis GmbH
15
Formsweb.cfg: WebUtilWebUtil-Parameter
Neue Parameter in der formsweb.cfg für WebUtil:
WebUtilArchive=webutil.jar
– benötigtes JAR-File, um WebUtil zu
WebUtilArchive
registrieren; dieser Parameter muss vorhanden sein!
WebUtilLogging – schaltet das Logging ein oder aus
WebUtilLoggingDetail – legt den Logging-Level fest
WebUtilErrorMode – gibt an, wo Fehler ausgegeben werden
WebUtilDispatchMonitorInterval – legt fest, wie oft der MonitorThread überprüft, ob die Forms-Session noch besteht
WebUtilMaxTransferSize – Segment-Größe für den Datei-Transfer;
Maximalwert 16k
©
Copyright Trivadis GmbH
16
Formsweb.cfg: anzupassende Parameter
Anzupassende Parameter in der formsweb.cfg für WebUtil:
BaseHTMLjinitiator=webutiljini.htm
Für den Jinitiator wird die HTML-Seite mitgeliefert.
BaseHTML=webutil.htm
Diese Seite muss selbst erstellt werden.
EnvFile=webutil.env
Eine webutil.env – Beispieldatei wird mitgeliefert; dort müssen
der CLASSPATH und der WEBUTIL_CONFIG-Parameter (Pfad der
Datei webutil.cfg) angepasst werden.
archive_jini=f90all_jinit.jar,jacob.jar,webutil/
webutil.jar
©
Copyright Trivadis GmbH
17
Neue Masken mit WebUtil
Neues Forms-Modul: nur zwei Schritte nötig
Anhängen der Library webutil.pll
Referenzieren der Object Group WEBUTIL
aus der Object Library webutil.olb
©
Copyright Trivadis GmbH
18
Migration bestehender Masken
Bestehendes Forms-Modul:
Anhängen der Library webutil.pll
Referenzieren der Object Group WEBUTIL aus der Object Library
webutil.olb
Konvertierung bestehender Client-Funktionalitäten
("Client Server Parity API"):
©
get_file_name
client_get_file_name
host
client_host ( besser: webutil_host )
read/write_image_file
client_image.read/write_image_file
ole2
client_ole2
text_io
client_text_io
tool_env
client_tool_env
Copyright Trivadis GmbH
19
Client Server Parity APIs
Zum einfachen Konvertieren bestehender Masken fürs Web
Dem Namen des bestehenden Built-In wird CLIENT_
vorangestellt.
Die meisten dieser Funktionen sind mit den generellen
WebUtil-Funktionen implementiert.
Die generellen WebUtil-Funktionen bieten meist mehr Flexibilität und
Funktionsumfang.
Client Server Parity APIs:
client_get_file_name
client_host
client_image
client_ole2 (nur Win32-Clients)
client_text_io
client_tool_env
©
Copyright Trivadis GmbH
20
D2KWUTIL (nur auf Win32 – Clients)
Nur Portierung der Win_API_Environment-Package
Wie bei den Client Server Parity APIs:
Aufruf über vorangestelltes CLIENT_:
CLIENT_WIN_API_Environment
Erleichterung für die Konvertierung bestehender Masken
Meist bessere Variante mit WebUtil-Funktionen vorhanden
©
Copyright Trivadis GmbH
21
WebUtilWebUtil-Funktionen (1)
WebUtil_ClientInfo: Informationen über den ClientRechner
WebUtil_C_API: Anbindung von C-Libraries auf dem
Client; derzeit nur für Win32-Clients
WebUtil_File: Datei-Operationen auf dem Client
WebUtil_File_Transfer: Austausch von Dateien
zwischen Client und Server
WebUtil_Host: Aufruf von Programmen auf dem Client
©
Copyright Trivadis GmbH
22
WebUtilWebUtil-Funktionen (2)
WebUtil_Session: Möglichkeit, den Browser auf eine URL
umzuleiten, wenn die Forms-Session unterbrochen wird
WebUtil_Browser: Interaktion mit dem Browser
WebUtil_SeparateFrame: Interaktion mit dem Applet,
wenn der Parameter separateFrame auf true gesetzt ist
WebUtil_Core: Zugriffsmöglichkeit auf Fehlerzustand und
Fehlermeldungen von WebUtil
©
Copyright Trivadis GmbH
23
Nützliche Zusatzfunktionen
DelimStr: Package zur Bearbeitung von kommagetrennten
Strings:
der String wird als Array aufgefasst
einzelne Werte des Arrays können über die Angabe des Index
ausgelesen und gesetzt werden
Show_WebUtil_Information: Anzeige des versteckten
WebUtil-Fensters mit Versionsangabe für alle Komponenten
WebUtil_Util: Package mit einer einzigen Funktion zur
Konvertierung eines Boolean-Wertes in die Strings true und
false (oder selbstgewählte Werte)
©
Copyright Trivadis GmbH
24
Dokumentation
WebUtil:
Download, Familiarization Manual:
http://otn.oracle.com/products/forms/htdocs/webutil/webutil.htm
©
Copyright Trivadis GmbH
25