 
                                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