Oracle Forms und der Weg in eine zukunftsorientierte Entwicklungsumgebung Jürgen Allmich, MT AG Sven-Olaf Kelbert, MT AG Häufig gestellte Fragen Bei uns soll künftig mit J2EE entwickelt werden. Was wird aus den FormsAnwendungen? Bietet Oracle für FormsEntwickler eine Migration nach J2EE? 19.03.2009 Wie lange wird Oracle noch Forms unterstützen? Wir nutzen heute Forms Client/Server. Wie soll es damit weitergehen? Forms-Modernisierung 2 Überblick Oracle Forms heute Gründe für eine Modernisierung Varianten der Modernisierung Forms ablösen Forms modernisieren Vor- und Nachteile Randnotizen weitere Vorgehensweise 19.03.2009 Forms-Modernisierung 3 Wege zum Ziel APPLICATION DEVELOPMENT FRAMEWORK 19.03.2009 Forms-Modernisierung 4 Oracle Forms heute sehr aktive Kundenbasis > 2000 Beiträge/Monat im OTN-Forum > 7000 Downloads/Monat (OTN) > 32000 Besuche der Forms-Seiten ca. 3000 Forms-Kunden in Deutschland viele Kundenreferenzen und Lösungen zahlreiche Veranstaltungen 19.03.2009 Forms-Modernisierung 5 Der einfache Weg APPLICATION DEVELOPMENT FRAMEWORK 19.03.2009 Forms-Modernisierung 6 Beibehaltung der Architektur Forms als Client/Server-Anwendung weiter betreiben Vorteile - keine Kosten/Aufwände für die Migration - keine Kosten/Aufwände für den Oracle Application Server - kein Umlernen für Anwender und Entwickler Nachteile - kein Support - u. U. Probleme mit neuen Client-Betriebssystemen - u. U. Probleme mit neuen Datenbank-Versionen - keine neuen Features (z. B. Java- oder Browser-Integration) 19.03.2009 Forms-Modernisierung 7 Gründe für eine Modernisierung 19.03.2009 Forms-Modernisierung 8 Gründe für eine Modernisierung technische Gründe Portabilität Flexibilität einfaches Einhalten von Standards Applikation als „Self-Service“ oder „Business to Customer“ im Internet Nutzung eines extrem einfachen HTML User-Interface Möglichkeit der individuellen Gestaltung der Applikation 19.03.2009 Forms-Modernisierung 9 Der Weg in die Datenbank APPLICATION DEVELOPMENT FRAMEWORK 19.03.2009 Forms-Modernisierung 10 Was ist APEX? 19.03.2009 Forms-Modernisierung 11 Warum APEX? moderne Web-Entwicklung einfach und schnell in der Entwicklung leichter Umstieg für Forms-Entwickler deklarativ und Wizard-gestützt RAD SQL und PL/SQL-zentrierte Tools kostenloses Datenbank-Feature benötigt nur die Datenbank viele eingebaute Konzepte für höhere Entwickler-Produktivität 19.03.2009 Forms-Modernisierung 12 Wie APEX? schnelle Neuentwicklung einer Anwendung Forms-Migration ab APEX-Version 3.2 19.03.2009 Forms-Modernisierung 13 APEX Forms Migration Migration IST Starthilfe für ein Modernisierungsprojekt von Forms nach APEX automatische Konvertierung von einigen Forms-Komponenten Analyse der Forms-Applikations-Logik Bequeme Verfolgung der manuelle Konvertierung von Triggern und nichtkonvertierbarer Logik Migration IST NICHT eine Wunderwaffe ein Forms Emulator 19.03.2009 Forms-Modernisierung 14 Wofür APEX? abgegrenzte datenbanknahe Anwendungen mit nicht zu viel Komplexität Ersatz von Access-Lösungen Ersatz von Excel 19.03.2009 Forms-Modernisierung 15 Der Weg in die Java-Welt APPLICATION DEVELOPMENT FRAMEWORK 19.03.2009 Forms-Modernisierung 16 Ablösung durch Java Neuentwicklung Migration mit Tools von Drittanbietern Problem: Objektorientierung, andere Entwicklungsmethoden Automatische Erzeugung des Datenmodells PL/SQL-Logik kann nicht sinnvoll übertragen werden ? 19.03.2009 Forms-Modernisierung 17 Der Weg in die Java-Welt von Oracle APPLICATION DEVELOPMENT FRAMEWORK 19.03.2009 Forms-Modernisierung 18 Was ist ADF? Komplettes Java-Framework mit viel enthaltener Funktionalität Unterstützung moderner Technologien und Architekturen (JSP, JSF, MVC, SOA,…) Schnelle Implementierung durch visuelle und deklarative Entwicklung (Rapid Application Development) Praktisch unbegrenzte Entwicklungsmöglichkeiten und Flexibilität durch J2EE Einfacher Datenbankzugriff (ADF Business Components) Große Auswahl an Web User Interface Komponenten (ADF Faces) und Templates einfacher Einstieg für Forms-Entwickler in die Java-Welt 19.03.2009 Forms-Modernisierung 19 Oracle ADF Faces Rich Client Components mehr als 150 AJAX-fähige Komponenten ab OAS 10.3 (WebLogic) 19.03.2009 Forms-Modernisierung 20 ADF-Seiteneffekte Heterogene Umgebung erfordert viel Wissen bei komplexen Anwendungen (J2EE, XML, Oracle, Patterns, JDeveloper, …) Eventuell ist ein Redesign von Teilen der Anwendungsarchitektur notwendig (z. B. User- und Rechteverwaltung) Initialer Integrationsaufwand ist notwendig (z. B. Versionsverwaltung, Benutzerverwaltung, Browser-/GUIKomponenten) Mapping Forms- auf J2EE-Konzepte 19.03.2009 Forms-Modernisierung 21 Oracle ADF Faces Rich Client Components deklaratives Partial Page Rendering Unterstützung für „reusable page regions“ und „deklarative Komponenten“ Nutzung von Task Flows zur Navigation in der Anwendung Nutzung von Bookmarking 19.03.2009 Forms-Modernisierung 22 Oracle ADF Faces Rich Client Components Page Templates 19.03.2009 Forms-Modernisierung 23 Oracle ADF Faces Rich Client Components Verschiedene Styles und Skinning 19.03.2009 Forms-Modernisierung 24 Oracle ADF Faces Rich Client Components Datenvisualisierungskomponenten Mehr als 50 Graph-Typen Adobe Flash-Rendering und Animation Interaktivität 19.03.2009 Forms-Modernisierung 25 Migration von Forms nach ADF Migration mit JHeadstart automatische Erzeugung des Datenmodells nach ADF BC automatische Erstellung des Layouts in ADF Faces Übernahme von PL/SQL-Code (Trigger,…) problematisch manuelle Übernahme in die DB und Integration in ADF oder Neu-Entwicklung der Business-Logik in ADF 19.03.2009 Forms-Modernisierung 26 Der Weg von Oracle weg APPLICATION DEVELOPMENT FRAMEWORK 19.03.2009 Forms-Modernisierung 27 Ablösung durch .NET Neuentwicklung Migration mit Forms2net sinnvoll, wenn .NET strategische Systemumgebung ist gute Integration mit MS Office und MS Server-Produkten völlig neues Terrain mit Unwägbarkeiten 19.03.2009 Forms-Modernisierung 28 Der Weg in die Modernisierung APPLICATION DEVELOPMENT FRAMEWORK 19.03.2009 Forms-Modernisierung 29 Oracle Forms Support Forms 6i (auch C/S) / 9i: Support ausgelaufen Forms 10g: Extended Support bis 31.12.2009 Forms 10gR2: Extended Support bis 31.12.2011 Zukünftige Forms-Releases: Support bis mindestens 2017 19.03.2009 Forms-Modernisierung 30 Forms modernisieren Modernisierung durch Migration auf neueste Releases Neues Look-and-Feel Einbindung von Java in Forms Einbindung in SOA-Umgebung - Nutzung und Bereitstellung von Web-Services - Einbindung in BPEL-Prozess 19.03.2009 Forms-Modernisierung 31 Pluggable Java Components (PJC) Komponenten mit optischen und funktionalen Erweiterungen. 19.03.2009 Forms-Modernisierung 32 Pluggable Java Components (PJC) Standard-Forms-Items: Ausgangspunkt für eigene Erweiterungen 19.03.2009 01.03.2009 Forms-Modernisierung 33 Pluggable Java Components (PJC) Alles ist möglich – ist alles nötig? 19.03.2009 01.03.2009 Forms-Modernisierung 34 Forms Look-and-Feel 19.03.2009 Forms-Modernisierung 35 Forms Look & Feel 19.03.2009 01.03.2009 Forms-Modernisierung 36 Vorteile der Forms-Modernisierung Bewährte, datenbanknahe Technologie + Schritt halten mit technologischen Entwicklungen Modernes Look-and-Feel Integration in die SOA-Welt Zentrales Deployment und Administration Performance Keine oder nur geringe Umstellung der Entwickler 1. Schritt: Migration auf neueste Releases 19.03.2009 Forms-Modernisierung 37 Vorteile der Forms-Ablösung Zukunftsfähige Technologie Portabilität Flexibilität Individualisierung einfaches Einhalten von Standards bei der Entwicklung Verbesserung der QS-Möglichkeiten 19.03.2009 Forms-Modernisierung 38 Randnotizen Auswirkungen auf die Entwicklungsumgebung Ersatz für den Designer Schnittstellen zu anderen Systemen Ersatz für Reports 19.03.2009 Forms-Modernisierung 39 SQL Developer Data Modeling Logische Modellierung (ERD) Relationale Modellierung Physikalische Modellierung Forward/Reverse Engineering Import, Export und Code Generierung Verschiedene Formatierungsmöglichkeiten 19.03.2009 Forms-Modernisierung 40 Reporting Tools 19.03.2009 Forms-Modernisierung 41 Antworten Bei uns soll künftig mit J2EE entwickelt werden. Was wird aus den FormsAnwendungen? Bietet Oracle für FormsEntwickler eine Migration nach J2EE? 19.03.2009 Wie lange wird Oracle noch Forms unterstützen? Wir nutzen heute Forms Client/Server. Wie soll es damit weitergehen? Forms-Modernisierung 42 Antworten Bei uns soll künftig mit J2EE entwickelt werden. Was wird aus den FormsAnwendungen? Bietet Oracle für FormsEntwickler eine Migration nach J2EE? 19.03.2009 mindestens bis 2017 Wir nutzen heute Forms Client/Server. Wie soll es damit weitergehen? Forms-Modernisierung 43 Antworten Umstellung oder Einbindung Bietet Oracle für FormsEntwickler eine Migration nach J2EE? 19.03.2009 mindestens bis 2017 Wir nutzen heute Forms Client/Server. Wie soll es damit weitergehen? Forms-Modernisierung 44 Antworten Umstellung oder Einbindung mindestens bis 2017 Jein! Wir nutzen heute Forms Client/Server. Wie soll es damit weitergehen? 19.03.2009 Forms-Modernisierung 45 Antworten Umstellung oder Einbindung mindestens bis 2017 Jein! Eine Umstellung wird immer wahrscheinlicher 19.03.2009 Forms-Modernisierung 47 Wohin soll es gehen? APPLICATION DEVELOPMENT FRAMEWORK 19.03.2009 Forms-Modernisierung 48 Entscheidungsfindung für die optimale Zielumgebung Wie sieht die aktuelle DV Landschaft aus ? Welche aktuellen Anforderungen oder Bedürfnisse haben die Fachabteilungen ? Sind größere Anpassung an bestehenden Systemen geplant ? Welche nächsten Projekte sind geplant ? Welches Entwickler know-how ist an Board ? Sind SOA Projekte geplant ? Welche Schnittstellen bestehen zwischen den aktuellen Systemen ? Gibt es neuen Anforderungen an externe Schnittstellen ? Welchen Umfang haben die aktuellen Forms Anwendungen ? … 19.03.2009 Forms-Modernisierung 49 Der Weg zu einer modernen Zielumgebung Das Ziel steht fest ! Aber wie sieht der Weg dahin aus ? Forms 2009 201? Forms Java APEX 19.03.2009 Forms-Modernisierung 50 Migrations / Modernisierungs - Optionen Horizontale Migration Austausch einzelner Architekturschichten Vertikale Migration Austausch kompletter Anwendungen bzw. Anwendungsfunktionen Kompletter Umstieg Migration der gesamten Developer Anwendungen in einem Gesamtprojekt Stufenweiser Umstieg Migration in einzelnen Schritten 19.03.2009 Forms-Modernisierung 51 Horizontale Migration Forms Austausch Modernisierung Präsentationsschicht Austausch / Modernisierung Formsmasken ? Integration z.B. von Java Beans Geschäftslogik Austausch / Modernisierung Geschäftsregeln PL/SQL in DB WebServices Datenbankschicht Austausch / Modernisierung Datenbankregeln ? WebServices In erster Linie für die Ebene der Geschäftslogik geeignet Qualitätssteigerung des Code durch bessere Strukturierung und Wiederverwendbarkeit (-> SOA Ansätze) Es können sehr kleine Projekte gestartet werden, da man theoretisch nach Masken bzw. Geschäftsfunktionen vorgehen kann 19.03.2009 Forms-Modernisierung 52 Vertikale Migration Forms - Anwendungen A B Java Anwendungen A B N Präsentationschicht PS PS N Präsentationsschicht PS PS Ablauflogik AL PL Businesslogik BL BL Businesslogik BL BL Datenbankschicht DB Datenzugriff DZ DZ DB Datenbankschicht DB DB Technologieumstieg Kompletter Architekturumstieg wird kennen gelernt Mögliche Problemstellungen bei Schnittstellen zu anderen Systemen (z.B. gegenseitiger Aufruf und Datenaustausch) Projekte lassen sich nach Geschäftsprozessen schneiden 19.03.2009 Forms-Modernisierung 53 Komplettumstieg Forms-Anwendungen Java-Anwendungen A A B B C C D D Entspricht quasi der Neuentwicklung des Gesamtsystems Großes Projekt mit großem Risiko (Zeit, Aufwand ?) Zusätzliche Anforderungen „stören“ das Projekt Nur bei kleiner Anzahl Forms-Anwendungen oder bei Release Migration sinnvoll 19.03.2009 Forms-Modernisierung 54 Stufenweiser Umstieg Forms-Anwendungen Java-Anwendungen A 1. A B Java-Anwendungen C B 2. C D 3. APEX-Anwendungen D Begrenztes Risiko Erster Erfahrungsaufbau möglichst mit einfachen Anwendungen Endanwender müssen sich ggf. auf zwei unterschiedliche Systeme einstellen Ideale Vorgehensweise bei großen Anwendungen 19.03.2009 Forms-Modernisierung 55 Stufenweise / Vertikale Migration als optimaler Weg 201? 2009 Forms Forms Java Java APEX 19.03.2009 APEX Forms-Modernisierung 56 Nicht nur die Technologie modernisieren ! Sondern auch: Neue Modellierungsmethoden und Werkzeuge (UML, Objektorientierung) Neue Entwicklungsumgebung und Vorgehensweisen (Versionsverwaltung, Buildprozesse, …) Qualifizierung der Mitarbeiter Neue Testverfahren und Testwerkzeuge Umgewöhnung der Endanwender Zusätzliche Anforderungen an IT-Architekten (stärkere Nutzung Appl. Server, ggf. ESB, Webservices, …) Stufenweise Migration bedeutet auch stufenweises Lernen ! 19.03.2009 Forms-Modernisierung 57 Mit MT AG in 3 Schritten zur Migration/Modernisierung 1. Analyse der aktuellen Rahmenbedingungen 2. Konzept für eine mögliche Migrations-/Modernisierungs-Strategie 3. Identifikation der geeigneten Anwendungen / Funktionen Grobplanung des Umstiegsszenarios Aus- und Weiterbildungskonzept Entwicklungsumgebung / Vorgehensweisen QS Verfahren und Werkzeuge Umsetzung der Migration/Modernisierung Durchführung von Workshops & Coaching Maßnahmen Einbindung von Experten Know-how aus diversen Technologiethemen Unterstützung bei der konkreten Umsetzung Komplettrealisierung einzelner Arbeitspakete 19.03.2009 Forms-Modernisierung 58 Erfahrungen MT AG FormsMigrationsProjekte Workshops / Schulungen Entwicklung von Style Guides und Richtlinien Weiterbildung von FormsEntwicklern Richtung Java 19.03.2009 Training on the Job Forms-Modernisierung APEXProjekte JavaProjekte ADFEinführung 59 Fazit Bleiben Sie solange bei Forms, wie es geht Migrieren Sie immer auf die aktuelle Forms-Version und nutzen Sie die jeweiligen neuen Features zur Modernisierung der Anwendungen Prüfen Sie die Möglichkeit der „Code-Bereinigung“ von FormsAnwendungen (-> SOA Ansatz) Bereiten Sie mögliche Modernisierungs/Umstiegs-Szenarien frühzeitig vor Stellen Sie Ihre Anwendung schrittweise um Nutzen Sie die Erfahrungen und Unterstützungsmöglichkeiten durch MT AG und Oracle 19.03.2009 Forms-Modernisierung 60 Vielen Dank für Ihre Aufmerksamkeit! Kontakt: Jü[email protected] [email protected] Ansprechpartner APEX: Niels de Bruijn Java: Volker Koster ADF: Arne Platzen Forms: Sven-Olaf Kelbert 19.03.2009 Forms-Modernisierung 62