Migration von Forms Client/Server-Anwendungen ins Web

Werbung
Migration von Forms
Client/Server-Anwendungen ins
Web
Oracle White Paper
Oktober 2005
Migration von Forms Client/ServerAnwendungen ins Web
Einführung.......................................................................................................... 3
Oracle Application Server Forms Services – das Ziel ................................. 4
Migration von Forms ins Web – der Weg..................................................... 5
Migration von Forms ins Web – die Werkzeuge.......................................... 8
Forms Developer .......................................................................................... 8
Forms Compiler............................................................................................ 9
Forms Migration Assistant ........................................................................ 10
Forms API (Java, C) ...................................................................................11
WebUtil......................................................................................................... 11
PITSS.CON ................................................................................................. 14
Beispiele und Referenzen ............................................................................... 15
Informationen und Dienstleistungen rund um die Migration.................. 15
Migration von Forms/Client Server-Anwendungen ins Web
Seite 2
Migration von Forms Client/ServerAnwendungen ins Web
EINFÜHRUNG
Gemäß dem Tools Statement of Direction vom September 2005
(http://www.oracle.com/technology/products/forms/pdf/10g/ToolsSOD.pdf)
endet mit dem 31. Januar 2005 der Standard-Support für Oracle Forms in der
Version 6i. Für die Nachfolgeversionen Forms 9i bzw. Forms 10g wird als
Laufzeitumgebung nur noch das Web-Deployment unterstützt. Oracle Forms
bleibt weiterhin ein wichtiges, strategisches Werkzeug zur Entwicklung von DialogAnwendungen. Deshalb garantiert Oracle den Support für Oracle Forms bis zum
Jahr 2013.
Daraus ergibt sich die Notwendigkeit, Forms-Anwendungen aus früheren
Versionen (Forms 2.3, 4.0, 4.5, 6.0) auf die aktuelle Version zu migrieren und die
dafür erforderliche Laufzeitumgebung (Forms Services) innerhalb des Oracle
Application Servers zur Verfügung zu stellen.
Durch die Migration werden langjährige Investitionen in bestehende FormsAnwendungen geschützt. Gleichzeitig eröffnen sich durch das Web-Deployment
neue Möglichkeiten der Integration von Web Services, J2EE-Komponenten und
anderen Services des Oracle Application Servers in die existierenden FormsAnwendungen.
Das vorliegende Dokument beschreibt die Möglichkeiten und Wege der Migration
und soll damit als Hilfestellung bei der Planung und Vorbereitung der Migration
dienen.
Migration von Forms/Client Server-Anwendungen ins Web
Seite 3
ORACLE APPLICATION SERVER FORMS SERVICES – DAS ZIEL
Der Oracle Application Server stellt mit den Forms Services eine moderne
Ablaufumgebung für Forms-Anwendungen zur Verfügung. Diese
Ablaufumgebung basiert auf offenen Standards (HTTP, HTTPS) und nutzt den
J2EE-Container (OC4J) des Oracle Application Servers.
OracleAS 10g
Abbildung 1:
Oracle Application Server Forms Services
Client PC
Neben der Webfähigkeit der Forms-Anwendungen ergeben sich daraus zwei
entscheidene Vorteile:
•
Forms-Applikationen können mit anderen Anwendungs-Technologien
(Reports Services, Web Services, J2EE-Komponenten, etc.) verbunden
werden.
•
Forms-Applikationen können direkt die Infrastruktur-Services des
Oracle Application Servers (Single Sign-On, Oracle Internet Directory,
Application Server bzw. Grid Control, etc.) nutzen.
Damit bestehende Forms-Anwendungen auf dem Oracle Application Server
betrieben werden können, müssen sowohl die eingesetzte Forms-Version als auch
die in den Forms-Modulen verwendete Funktionalität bestimmte Voraussetzungen
erfüllen.
Die Überprüfung dieser Voraussetzungen und notwendige Modifikationen sind
Gegenstand des Migrationsprozesses.
Migration von Forms/Client Server-Anwendungen ins Web
Seite 4
MIGRATION VON FORMS INS WEB – DER WEG
In einem ersten Schritt muss ermittelt werden, in welcher Forms-Version die
existierenden Anwendungen vorliegen.
Handelt es sich um Forms 6i (>6.0.8.8.0) ist eine direkte Migration nach Forms 9i
oder 10g möglich. Für Vorgängerversionen (Forms 3.0 bis 6.0) ist zunächst als
Zwischenschritt ein Upgrade auf die Version Forms 6i notwendig.
Abbildung 2:
Oracle Forms - MIgrationspfade
Mit den OracleAS Forms Services laufen die Forms-Module nicht mehr auf dem
Desktop (Client Tier), sondern auf dem Application Server (Middle Tier) ab. Damit
werden bestimmte Aufrufe in den Forms-Anwendungen nicht mehr unterstützt
oder funktionieren anders als bisher gewohnt. So würde beispielsweise das
Schreiben von Daten in eine Datei nicht mehr im Dateisystem auf dem Desktop
sondern auf dem Application Server erfolgen, was in vielen Fällen nicht gewünscht
ist.
Die eigentliche Migration besteht darin, diese Aufrufe in geeigneter Weise zu
ersetzen.
Eine Übersicht der obsoleten Features findet man in der
Forms 6i to Oracle9i Forms Upgrade Reference http://www.oracle.com/technology/products/forms/pdf/forms_upgrade_reference.pdf
Migration von Forms/Client Server-Anwendungen ins Web
Seite 5
Die Beantwortung der folgenden Fragen hilft, sich einen Überblick über die in den
Forms-Anwendungen eingesetzte Funktionalität zu verschaffen. Auf dieser
Grundlage ist eine ungefähre Abschätzung des Migrationsaufwandes möglich.
1. Wird Forms im Character Mode unter VMS oder UNIX eingesetzt?
⇒ Mit Forms 9i/10g wird kein Character Mode mehr unterstützt.
2. Welche betriebssystem-spezifischen Techniken werden genutzt?
VBX
OLE Container
OCX/ActiveX Controls
Sound Item
⇒ Diese Techniken können in Forms 9i/10g durch Java Beans oder
Pluggable Java Components (PJC) ersetzt werden.
Weitere Informationen findet man im White Paper
Client Side OLE Integration from Oracle9i Forms http://www.oracle.com/technology/products/forms/pdf/ClientSideOLE.pdf
3. Wie werden aus Forms heraus Oracle Reports Programme gestartet?
⇒ Da der Aufruf RUN_PRODUCT in Forms 9i/10g nur noch in
Verbindung mit Oracle Graphics verwendet werden sollte, ist eine Ersetzung
durch den Aufruf RUN_REPORT_OBJECT erforderlich.
Weitere Informationen findet man im White Paper Oracle Application Server 10g
– Integrating Oracle Reports in Oracle Forms Services applications http://www.oracle.com/technology/products/forms/pdf/10g/frm10gsrw10g.pdf
4. Werden noch Forms V2 Style Trigger genutzt?
⇒ Diese konnten nur noch in Forms 5 bearbeitet werden. In Forms 6i
kann man sie weder bearbeiten noch ansehen. Beim Upgrade auf
Forms 9i/10g wird eine Warnung ausgegeben und die Trigger werden
gelöscht.
5. Werden die binären Forms-Module in der Datenbank gespeichert?
Findet ein Subclassing von Objekten aus diesen Modulen statt?
⇒ In Forms 9i/10g werden die binären Forms-Module nur noch im
File System gespeichert.
6. Werden When-Mouse-Move / When-Mouse-Enter / When-MouseLeave Trigger genutzt?
⇒ Diese werden im Web nicht unterstützt, da sie zu viel Netzwerklast
erzeugen.
7. Welche der folgenden Routinen werden genutzt :
Aufrufe von OS-Kommandos (HOST, OHOST, ...)
ORA_FFI
TEXT_IO
User Exits
⇒ Es ist zu beachten, dass diese Routinen auf der Middle Tier und
nicht mehr auf dem Desktop ausgeführt werden. Wenn dies nicht
Migration von Forms/Client Server-Anwendungen ins Web
Seite 6
gewünscht ist, können sie durch Java Beans oder Pluggable Java
Components (PJC) ersetzt werden.
8. Werden Zugriffe auf dem Client z.B. auf das File System oder die
Registry durchgeführt?
⇒ Es ist zu beachten, dass diese Routinen auf der Middle Tier und
nicht mehr auf dem Client ausgeführt werden. Wenn dies nicht
gewünscht ist, können sie durch Java Beans oder Pluggable Java
Components (PJC) ersetzt werden.
9. Sind Grafiken über Oracle Graphics in Forms eingebunden worden?
⇒ Oracle Graphics wird mit Forms 9i/10g nicht mehr ausgeliefert. Mit
den Business Intelligence Graph Beans (BI Beans) steht für Forms
9i/10g eine moderne komponenten-basierte Technologie auf Basis von
Java und XML zur Verfügung. Es gibt keine Möglichkeit, Oracle
Graphics zu migrieren. Die Alternative besteht darin, Oracle Graphics
6i in einem separaten Oracle Home zusammen mit Forms 9i/10g
laufen zu lassen. Die Grafiken müssen in diesem Fall nicht migriert
werden. In diesem Fall müssen einige kleinere Anpassungen
durchgeführt werden.
Weitere Informationen findet man im White Paper
Deploying Graphics in Oracle9iAS Forms Services http://www.oracle.com/technology/products/forms/pdf/ogonweb44.pdf
10. Werden Anwendungen genutzt, die mehrsprachig sind? Wie wurden
diese übersetzt? Wurde der Oracle Translation Builder genutzt ?
⇒ Der Oracle Translation Builder wird durch den TranslationHub
ersetzt, der auch bei der Übersetzung von Forms-Modulen der Oracle
E*Business Suite genutzt wird.
11. Wird PVCS oder Clearcase als Source Code Control System genutzt?
⇒ In Forms 9i/10g sind diese Systeme nicht mehr mit Forms
integriert. Stattdessen kann in Forms 9i/10g der Oracle Software
Configuration Manager (SCM) genutzt werden, der ebenfalls in der
Oracle Developer Suite enthalten ist.
Weitere Informationen findet man im OTN unter Oracle9i SCM and
Oracle9i Forms Integration http://www.oracle.com/technology/products/repository/htdocs/
9iscmforms.html
Der Aufwand für die Migration hängt vom Umfang der zu ersetzenden Aufrufe in
den Forms-Modulen ab und kann daher in verschiedenen Anwendungen stark
variieren.
Eine grobe Abschätzung kann beispielsweise durch Gruppierung der FormsModule nach Größe, Funktionalität und Komplexität sowie der anschließenden
Ermittlung des Aufwandes für jeweils einen Vertreter pro Gruppe erfolgen.
Alternativ bieten Partnerunternehmen Werkzeuge und Serviceangebote zur
Migrationsplanung und Aufwandsschätzung an.
Migration von Forms/Client Server-Anwendungen ins Web
Seite 7
MIGRATION VON FORMS INS WEB – DIE WERKZEUGE
Im Prozess der Migration können folgende Werkzeuge zum Einsatz kommen:
•
Forms Developer
•
Forms Compiler
•
Forms API (C, Java)
•
Forms Migration Assistant
•
WebUtil
•
PITSS.CON
Diese Werkzeuge können interaktiv oder im Batch, einzeln oder in Kombination
eingesetzt werden. So lässt sich ein nach den Erfordernissen des jeweiligen
Projektes optimales Vorgehen praktizieren.
Ein Schwerpunkt der Migration besteht in der Ersetzung ungültiger oder nicht
mehr gewünschter Aufrufe (Built-Ins) durch gültige bzw. modifizierte Aufrufe
(Built-Ins). So ist beispielsweise für die Integration von Reports in FormsAnwendungen die Ersetzung des Aufrufs RUN_PRODUCT durch
RUN_REPORT_OBJECT notwendig.
Das notwendige Search & Replace dieser Aufrufe kann
- für einzelne Forms-Module im Forms Developer
- für eine größere Zahl von Modulen mit Hilfe des Forms Migration Assistant
durchgeführt werden.
Forms Developer
Mit dem Forms Developer können bestehende Forms-Module interaktiv migriert
werden, indem die Module in der Entwicklungsumgebung geöffnet, kompiliert und
abgespeichert werden. Auftretende Fehler und Warnungen sind unmittelbar
sichtbar, allerdings ist diese Form der Migration bei einer größeren Zahl von
Modulen wenig effizient.
Migration von Forms/Client Server-Anwendungen ins Web
Seite 8
Forms Compiler
Alternativ können Module mit dem Forms Compiler interaktiv oder im Batch
migriert werden, indem die Option Upgrade=YES gesetzt wird. Die Ergebnisse
werden in einer Datei protokolliert.
Abbildung 3:
ifcmp90 module=app1.fmb userid=scott/tiger@orcl upgrade=yes batch=yes
Forms Compiler im Batch-Modus
(Windows)
Abbildung 4:
Forms Compiler interaktiv
Forms Developer und Forms Compiler eignen sich vor allem für Module, die
Standardfunktionalität enthalten und bei denen keine größeren Umstellungen
erforderlich sind.
Migration von Forms/Client Server-Anwendungen ins Web
Seite 9
Forms Migration Assistant
Bestehende Forms-Module der Version 6i können mit Hilfe des Forms Migration
Assistant in die Version 9i/10g konvertiert werden. Der Forms Migration Assistant
wird mit der Oracle Developer Suite installiert oder kann aus dem Oracle Technet
bezogen werden. Das Werkzeug kann wahlweise im Batch oder im Wizard-Modus
(GUI) eingesetzt werden.
Mit dem Tool können automatische Konvertierungen nicht mehr unterstützter
Aufrufe vorgenommen werden. In der Datei search_replace.properties kann die
Ersetzung bestimmter Aufrufe konfiguriert werden (z.B. Ersetzung von
RUN_PRODUCT durch RUN_REPORT_OBJECT).
Hinweise und Warnungen werden in einer Log-Datei ausgegeben.
Weitere Informationen findet man in der Note 209545.1, How to Use Migration
Assistant to Migrate Forms 6i to Forms 9i
Abbildung 5:
Forms Migration Assistant
Bei der Migration sollten zunächst die Menü- und Library-Module migriert werden,
da diese von den Forms-Modulen referenziert werden. Die migrierten Menü- und
Library-Module sollten anschließend in einem Verzeichnis abgelegt werden, das im
Forms-Pfad (FORMS90_PATH) enthalten ist. Erst danach können die FormsModule migriert werden.
Migration von Forms/Client Server-Anwendungen ins Web
Seite 10
Forms API (Java, C)
Eine Möglichkeit zur Automatisierung gleichartiger Änderungen besteht in der
Nutzung des Forms Developer APIs. Alle Einstellungen und Aufrufe eines FormsModuls können mit Hilfe des APIs gelesen und geändert werden.
Wahlweise steht das API in den Varianten
•
Java Developer API (JDAPI)
•
Open API (C/C++)
zur Verfügung.
WebUtil
Viele traditonelle Forms-Anwendungen sind eng mit dem Desktop des Anwenders
integriert (lokale Datenzugriffe, OLE, Nutzung von Betriebssystem-Funktionen).
Es wurde bereits erwähnt, dass als Konsequenz des Web Deployments viele dieser
Funktionen nicht mehr zur Verfügung stehen oder nicht in der gewohnten Weise
funktionieren.
Technologisch besteht die Lösung darin, die gewünschte Funktionalität durch Java
Beans oder Pluggable Java Components (PJC) in den Forms zu implementieren.
Um den Aufwand für diese Umstellungen möglichst gering zu halten und den
Kunden ein Äquivalent für die entfallenen Funktionen zu bieten, stellt Oracle mit
dem WebUtil eine Bibliothek von vordefinierten Komponenten für das
Deployment von Forms im Web zur Verfügung. Der Funktionsumfang des
WebUtil geht dabei über den reinen Ersatz von Desktop-Funktionaltität hinaus,
indem zusätzliche Möglichkeiten der Integration im Web (z.B. Integration mit dem
Browser) angeboten werden.
Mit diesen Komponenten können folgende Funktionen implementiert werden:
•
Text I/O auf dem Client
•
Dateiauswahl auf dem Client
•
Maniuplation von Dateien auf dem Client (Copy, Rename, Delete etc.)
•
Lesen von Variablen auf dem Client
•
OLE-Integration auf dem Client
•
Dateitransfer zwischen Client, Application Server und Datenbank
•
Lesen/Schreiben von Bilddateien vom/zum Client
•
C API Interface auf dem Client
•
Asynchroner/synchroner Aufruf von Programmen auf dem Client
•
Erkennung und Umleitung ‚toter’ Sessions
•
Funktionen zur Integration mit dem Browser
Migration von Forms/Client Server-Anwendungen ins Web
Seite 11
Das WebUtil ist ein offizielles Produkt und kann aus dem Oracle Technet
(http://www.oracle.com/technology/software/products/forms/index.html)
bezogen werden. Für die produktive Nutzung sind wenige Installationsschritte
erforderlich, die in dem dazugehörigen Handbuch beschrieben sind.
Benötigt man eine der im WebUtil enthalten Komponenten in seiner FormsAnwendung sind dazu nur drei einfache Schritte notwendig:
1.
Attachement der WebUtil Library (webutil.pll) zur Form. Diese Library enthält
das API (PL/SQL) zum Aufruf aller Funktionen des WebUtil.
2.
Referenzierung der Object Group aus der WebUtil Object Library
(webutil.olb). Die Object Library enthält alle Pluggable Java Components (PJC)
des WebUtil.
Abbildung 6:
WebUtil – Attachement der pll-Library
Abbildung 7:
WebUtil – Attachement der Object Library
Migration von Forms/Client Server-Anwendungen ins Web
Seite 12
3.
Umbennen der Aufrufe in der Form (z.B. TEXT_IO in CLIENT_TEXT_IO)
Abbildung 8:
WebUtil – Anpassung der Aufrufe
Da die Java-Komponenten über das PL/SQL aufgerufen werden, können FormsEntwickler diese ohne spezielle Java-Kenntnise in ihre Anwendungen einbinden.
Migration von Forms/Client Server-Anwendungen ins Web
Seite 13
PITSS.CON
Die Firma PITSS (www.pitss.de) bietet mit PITSS.CON ein universelles Werkzeug
zur Entwicklung, Migration und Pflege von Forms-Anwendungen an.
Das Werkzeug deckt folgende Funktionsbereiche ab:
- Verwendungs- und Abhängigkeitsanalysen
- Transformation von Funktionalität
- Migration von früheren Forms-Versionen (3.0,4.5,5.0,6.0,6i) auf das aktuelle
Release 10g
- Qualitätssicherung und Dokumentation
- Versionsführung.
Abbildung 9:
PITSS.CON – Funktionale Bereiche
Durch die Automatisierung der Migrationsschritte und einen repository-gestützten
Ansatz kann eine drastische Reduzierung des Aufwandes in Migrationsprojekten
erreicht werden.
Migration von Forms/Client Server-Anwendungen ins Web
Seite 14
BEISPIELE UND REFERENZEN
Viele Unternehmen, die Oracle Forms seit Jahren einsetzen, haben bereits ihre
Forms-Anwendungen ins Web migriert. Zu den weltweit größten Anwendungen
zählt beispielsweise die Warenwirtschaft der Metro AG mit über 4000 Benutzern.
Nähere Informationen zur Warenwirtschaft der Metro AG finden Sie unter
http://www.oracle.com/global/de/referenzen/profile/metro_mgi.html
Auch die Oracle E-Business Suite nutzt die OracleAS Forms Services in den
aktuellsten Versionen für ihr ‘Professional User Interface’.
Eine Liste erfolgreicher Projekte finden Sie auf der Oracle Web Site unter
http://www.oracle.com/lang/de/referenzen/toolsquotes.html.
INFORMATIONEN UND DIENSTLEISTUNGEN RUND UM DIE
MIGRATION
Innerhalb des Oracle Technet steht Ihnen mit dem Forms Upgrade Center
(http://www.oracle.com/technology/products/forms/htdocs/upgrade/index.html)
ein zentrales Informationsportal für das Migrationsthema zur Verfügung. Über das
Forms Upgrade Center erhalten Sie Zugang zu einer Vielzahl von Dokumenten,
Referenzen, Software, Dokumentationen, Code-Beispielen, Online-Schulungen und
Diskussionsforen.
Die Dokumentation Migrating Forms Applications from Forms6i enthält spezielle
Hinweise zur Migration von Forms 6i nach Forms 9i (Part-No. A92183-01) bzw.
Forms 10g (B10469-01).
Da viele Forms-Anwendungen bereits erfolgreich auf die OracleAS Forms Services
im Web umgestellt wurden, verfügen viele Partner-Unternehmen und der
Consulting-Bereich von Oracle über umfangreiche Expertise auf diesem Gebiet.
Diese findet sich sowohl in Migrations-Werkzeugen als auch in speziellen
Dienstleistungsangeboten zur Planung, Aufwandsschätzung und Durchführung der
Migration.
Nähere Informationen zu unseren spezialisierten Partnern finden Sie auf der Oracle
Web Site unter
http://www.oracle.com/technology/products/forms/htdocs/partners.html.
Nähere Informationen zum Consulting-Bereich von Oracle finden Sie auf der
Oracle Web Site unter http://www.oracle.com/global/de/consulting/index.html.
Wenn Sie diese Erfahrungen nutzen wollen, können wir Ihnen gerne kompetente
Ansprechpartner in Ihrer Nähe bzw. Ihrer Branche vermitteln.
Migration von Forms/Client Server-Anwendungen ins Web
Seite 15
Migration von Forms Client/Server-Anwendungen ins Web
August 2004
Autor: Dr. Jürgen Menge
Oracle Deutschland GmbH
Hauptverwaltung
Riesstraße 25
D – 80992 München
Tel e fon (0 89) 1 4 30-0
Telefax (0 89) 1 4 30-1150
Copyright © 2003, Oracle. All rights reserved.
This document is provided for information purposes only
and the contents hereof are subject to change without notice.
This document is not warranted to be error-free, nor subject to
any other warranties or conditions, whether expressed orally
or implied in law, including implied warranties and conditions of
merchantability or fitness for a particular purpose. We specifically
disclaim any liability with respect to this document and no
contractual obligations are formed either directly or indirectly
by this document. This document may not be reproduced or
transmitted in any form or by any means, electronic or mechanical,
for any purpose, without our prior written permission.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective owners.
Herunterladen