| 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
© Copyright 2024 ExpyDoc