Podiumsdiskussion zur Forms-Modernisierung

In diesem Video diskutieren Joel Kallman, Senior Director of Software Development, und zahlreiche Experten der globalen APEX-Community über die Modernisierung von Oracle Forms. Sie erläutern sowohl die positiven Aspekte als auch die Herausforderungen bei der Modernisierung Ihrer Oracle Forms-Anwendungen mit Oracle APEX. Reale Erfolgsgeschichten, Herausforderungen und Tipps werden diskutiert.

Teilnehmer

Joel Kallman (Moderator)
Senior Director of Software Development, Oracle, in Columbus, Ohio, USA

Dario Bilić
Vorstandsmitglied und Manager, BiLog in Zagreb, Kroatien

Simon Greenwood
Development Services Director, Explorer UK Ltd. in Leeds, Großbritannien

Sergei Martens
Geschäftsführender Gesellschafter, Smart4APEX in Tilburg, Niederlande

Francis Mignault
CTO und Mitgründer, Insum Solutions in Montreal, Kanada

Diese Aufzeichnung wurde im Rahmen der APEX Office Hours erstellt: https://apex.oracle.com/officehours

Wichtigste Diskussionspunkte

Frage 1

Würden Sie eines Ihrer abgeschlossenen Projekte (oder ein laufendes Projekt) kurz für uns zusammenfassen? (11:55)

Dario:

  • Eine große regionale europäische Bank
  • 500 Oracle Forms-Komponenten; 600 Oracle Reports-Komponenten
  • Pilotversuch mit APEX, Java mit Angular, .NET, Upgrade auf Forms 12c
  • Aufgrund des Pilotversuchs Entscheidung für Oracle APEX

Simon:

  • ISV im Energiesektor, der intelligente Gas- und Stromzähler verwaltet
  • Wird von 4 der 6 größten Energielieferanten Großbritanniens verwendet
  • Hunderte Forms umgewandelt
  • Gründe für die Modernisierung:
    • Benötigte ein SaaS-Angebot für die Bereitstellung von Software (nur Browser)
    • Responsives, modernes Design für Tablets, nicht nur Desktops
    • Niedrigere Einstiegskosten
    • Benötigte in Zukunft eine Cloud-Option - kein Oracle Forms-Cloud-Service
    • Ausbreitung nach Europa, daher mehrere Sprachen erforderlich
    • Forms-Entwickler hatten Vorkenntnisse zum Erlernen von APEX

Sergei:

  • Tankterminalunternehmen in der Öl- und Gasindustrie
  • Oracle Forms-Modernisierung als Vorbereitung auf die Zukunft und das erwartete Wachstum sowie Refactoring zur besseren Erfüllung der Geschäftsanforderungen
  • Zunächst erfolglose Nutzung von ADF und Erwartung, APEX sei schneller
  • Entwicklung unternehmenskritischer App von 2 Teams mit jeweils 10 Mitgliedern

Francis:

  • Große US-amerikanische Kreuzfahrtlinie, Immobilienverwaltungssystem an Bord (Einschiffen, Landausflüge, Gastservices, Backoffice und Berichte)
  • Viele Projekte über viele Jahre
  • 300 Forms und zahlreiche Berichte modernisiert
  • Gründe für die Modernisierung:
    • Performanceprobleme
    • Verbesserte UI
    • Möglichkeit zur Weiterverwendung aller PL/SQL-Investitionen

Frage 2

Welche Methode würden Sie bei der Modernisierung mit APEX verwenden? Umschreiben? Teilmigration? Neue Apps parallel zu den vorhandenen Oracle Forms-Apps erstellen? (20:50)

Simon:

  • Je nach Situation sollten alle Methoden in Erwägung gezogen werden
  • Im Allgemeinen vollständiges Umschreiben, um von geringeren Lizenzierungskosten usw. zu profitieren
  • Kann like-for-like ausgeführt werden, aber nicht empfehlenswert - Forms grundsätzlich Client/Server
  • Moderne Webanwendung mit APEX erstellen
  • Keine "Wunderwaffe" für die Migration von Forms zu einer anderen Anwendung - Neuentwicklung erforderlich
  • So viel Code wie möglich wiederverwenden

Sergei:

  • Mit Eins-zu-eins-Migration (oder mehr) beginnen, damit Entwickler APEX erlernen können
  • Triggerlogik in Datenbanklogik umwandeln
  • Einfach erreichbares Ziel für neue Funktionalität auswählen, um die Unternehmensanforderungen zu erfüllen
  • Migrieren von Benutzergruppen in Betracht ziehen, damit sie nicht gleichzeitig in Forms und APEX arbeiten müssen

Francis:

  • "Big Bang"-Szenario schwierig zu rechtfertigen, bei dem die gesamte Migration in einem Projekt erfolgt
  • Vorhandene Apps teilweise umschreiben - nach Modul
  • APEX zuerst kennenlernen und zu Beginn mit vorhandenen Tabellen verwenden

Frage 3

Was waren die größten Herausforderungen, denen Sie sich bei dieser Art von Projekt stellen mussten? (29:40)

Sergei:

  • Einstellung von Forms-Entwicklern ändern, vom Vollpacken einer Seite hin zu einem webfreundlichen Design
  • Bei größeren Projekten: UI-Standards festlegen und Konsistenz wahren
  • Scope Creep - Unternehmen fordert ständig neue Funktionalität

Simon:

  • Forms-Entwickler sind an permanente Datenbankverbindungen gewöhnt und verwenden daher temporäre Tabellen. In APEX müssen APEX-Collections verwendet werden
  • Mehrzeiliges Bearbeiten von Seiten
  • Validierungen anhand von Element- und Blocktriggern anstatt Validierung bei Seitenweiterleitung in APEX
  • Probleme beim Versuch, die Forms-Verarbeitung zu 100 % zu replizieren (z.B. über mehrere Seiten hinweg)

Frage 4

Was war der größte Vorteil für den Kunden? War der Kunde zufrieden mit dem Ergebnis?

Dario:

  • Kunden bezahlen bereits für APEX (über Datenbanklizenzen) und können daher Geld sparen, wenn sie Forms nicht mehr nutzen
  • Möglichkeit, die Forms-Entwickler für APEX zu schulen - beträchtliche Kosteneinsparungen
  • Sofortige Umstellung auf Webtechnologie - Deployment über das Web (zentral) statt Installationen bei Tausenden Endbenutzern
  • Mobile- und REST-Servicefunktionen in APEX
  • Modernisierte Apps begeistern Business-Anwender

Francis:

  • Bereits getätigte Investitionen in Oracle weiter nutzen - Lizenzierung, Datenmodell, identischer Technologiestack
  • Forms-Entwickler können leichter in APEX als in anderen Webtechnologien geschult werden
  • Sprung ins 21. Jahrhundert - mobile, responsive, moderne Apps

Frage 5

Wir reden ständig über den Erhalt Ihrer Investitionen in die Backend-Geschäftslogik, in SQL und PL/SQL. Ist das ein Trugschluss? Wie viel des Backend-Codes musste geändert werden, um in der neuen Umgebung mit APEX zu arbeiten? (41:50)

Francis:

  • Sofern die Logik in der Datenbank (nicht in Forms) enthalten ist, kann fast der gesamte Code weiterverwendet werden
  • Wurde die Logik in Forms erstellt (oder von Designer generiert), ist es schwerer, die Geschäftslogik zu extrahieren
  • Logik kann mit dem in APEX integrierten APEX-Forms-Migrationsfeature annotiert werden
  • Entwicklungsmethode von APEX ist der von Forms sehr ähnlich = einfachere Wiederverwendung

Dario:

  • Wenn ein Großteil des Codes innerhalb von Forms gespeichert ist, muss versucht werden, den Code in die Datenbank zu verlagern
  • Wenn der Code bereits in der Datenbank gespeichert ist, kann er sehr einfach wiederverwendet werden.

Frage 6

Können Sie den Prozess beschreiben, mit dem beurteilt werden kann, ob eine Anwendung für die Modernisierung mit APEX geeignet ist? Können Sie ein Beispiel für ein Szenario nennen, bei dem Sie APEX nicht zur Modernisierung einer Forms-App verwenden würden? (46:30)

Simon:

  • Einige Anwendungen sind nicht für ein Web-Framework geeignet, beispielsweise web_util (zur Ausführung von Desktopvorgängen)
  • Feststellen, wie viel Code in den Forms-Triggern enthalten ist, um den Aufwand zu beurteilen
  • Prüfen, welche Abschnitte immer noch verwendet werden (nicht mehr verwendete Abschnitte = nicht modernisieren)

Dario:

  • Da APEX webbasiert ist (nicht Client/Server), gelten bestimmte Einschränkungen
  • Bei Forms lag die Kontrolle mehr auf der Clientseite, was für Web-Apps nicht wirklich sinnvoll ist
  • Zur Erfüllung der clientseitigen Anforderungen können Plug-ins und andere Techniken verwendet werden

Frage 7

Wie schulen Sie Personen in APEX, die einen Forms-Hintergrund haben? Es sind Webanwendungen, und Webanwendungen sind anders. (50:55)

Sergei:

  • Forms-Entwickler wurden in 3 Stufen im Unternehmen geschult
    • Anfänger - APEX-Grundlagen; dann konnten Entwickler durch Ausprobieren weitere Erfahrungen sammeln
    • Mittelstufe - Renderingphase, Clientphase, Verarbeitungsphase
    • Fortgeschrittene - Best Practices und Standards; Konsistenz
  • Wenn sie mit der Entwicklung beginnen, über JS und CSS reden
  • Für JS, CSS, HTML am besten fachkundige Webentwickler einsetzen

Dario:

  • Am besten werden Webtechnologieexperten im Team eingesetzt, um neue Webtechnologien zu verstehen
  • Zielgerichtete Workshops mit Forms, die modernisiert werden müssen
  • Bedeutung der APEX-Community herausstellen (Twitter, apex.world)
  • Stellen von Fragen anregen (auch über Google-Suche)
  • Plug-ins für gemeinsame Features erstellen, die auf mehreren Seiten/in mehreren Apps verwendet werden
  • Drittanbieter-Frameworks wie FOEX berücksichtigen

Francis:

  • Am wichtigsten ist es, Forms-Entwickler in der Funktionsweise der Webtechnologie zu schulen und ihre Einstellung zu ändern
  • Sie dazu bringen, APEX auszuprobieren und einfache Apps zu erstellen
  • Mit ihnen zusammenarbeiten und Dos and Don'ts vermitteln
  • Lernen, wie das Debugging/Tracing von Apps funktioniert
  • Endbenutzer müssen auch geschult werden - Bildschirme und Prozesse sind anders

Frage 8

Wie lange dauert es, bis vorhandene Forms-Entwickler Qualifikationen in APEX und Webentwicklung erworben haben? Konnten sie die weitere Entwicklung selbständig ausführen? (1:01:45)

Dario:

  • 42 Minuten
  • Nach der Schulung sollten sie mit Unterstützung innerhalb weniger Wochen produktiv sein
  • Nach ein bis zwei Monaten sollten sie ohne viel Unterstützung produktiv sein

Simon:

  • Einstieg innerhalb weniger Tage, sichere Verwendung innerhalb weniger Wochen
  • Andere Webtechnologien wie JavaScript oder jQuery erfordern eine längere Einarbeitung von mehreren Monaten
  • Entwickler müssen APEX erfassen, was Zeit und Erfahrung erfordert

Frage 9

Können Kunden diese Migration selbständig ausführen? An diesem Office Hours-Forum sind unsere zahlreichen Partner beteiligt. Würde ich dieses Video sehen, würde ich denken: "Wow, dafür brauche ich Hilfe von außen." Was sagen Sie dazu?

Francis:

  • Wenn sie APEX bereits kennen, können sie die Migration problemlos selbst ausführen
  • Sehr hilfreich, einen erfahrenen Coach/Partner zu haben
  • Partner haben Tools, können Schulungen anbieten und mehr.
  • Partner haben viel Erfahrung bezüglich Herausforderungen, Sicherheit, Methode und so weiter
  • Kunden sollten mit einem kleinen Prototyp beginnen

Sergei:

  • Kleinere Apps sind kein Problem
  • Bei größeren Apps ist die Verwendung von Best Practices (Versionskontrolle, Umgebungen, Plug-ins usw.) wichtig, die Partner bereitstellen können
  • Hilfe in den ersten Monaten besonders wichtig

Frage 10

Haben Sie für jemanden, der dieses Video sieht und darüber nachdenkt, seine Forms-Apps mit APEX zu modernisieren, einen bestimmten Rat? (1:08:40)

Dario:

  • Business-Anwender sind begeistert, Management ist begeistert, Entwickler sind wirklich begeistert, also trauen Sie sich
  • Nehmen Sie an einer der Oracle- oder APEX-Konferenzen teil, und sehen Sie die Begeisterung und die großartigen Inhalte

Simon:

  • Laden Sie die neueste Version von APEX herunter
  • Registrieren Sie sich unter apex.oracle.com
  • Forms-Entwickler können schnell in APEX einsteigen
  • Prüfen Sie die vorhandenen Apps, um sicherzustellen, dass die Seiten immer noch verwendet werden
  • Es gibt keine "Wunderwaffe" für die Migration - es ist in erster Linie eine Umgestaltung
  • Siehe Whitepaper zu Forms: "Java-Clientroadmap" zur Beurteilung der zukünftigen Entwicklung
    { https://www.oracle.com/technetwork/java/javase/javaclientroadmapupdate2018mar-4414431.pdf}

Sergei:

  • Beginnen Sie im Kleinen. Wählen Sie ein kleines Projekt mit einem schnellen Ergebnis aus
  • Untersuchen Sie die Berichtsfunktionen, wie interaktive Berichte, interaktive Grids usw.

Francis:

  • Steigen Sie sofort in APEX ein - probieren Sie es aus
  • Planen Sie die UI, planen Sie die Sicherheit (Authentifizierung und Autorisierung), und planen Sie die Navigation
  • Entwickeln Sie in Phasen, kein "Big Bang"
  • Verwenden Sie das KISS-Prinzip - kein Schnickschnack
  • Versuchen Sie nicht, Forms zu reproduzieren
  • Änderungsmanagement - Benutzer, Entwickler, Analysten, DBAs müssen geschult werden
  • Beteiligen Sie sich an der APEX-Community