Forms nach Apex 101 - DOAG
Embed Size (px)
Transcript of Forms nach Apex 101 - DOAG

1 www.pitss.com
Copyright 2013 PITSS GmbH
Forms nach APEX 101 – Kann alles migriert werden? Fallbeispiele& Tests
DOAG 2013 Nürnberg Convention Center Raum Oslo 20.11.13, 11:00 Uhr

2 www.pitss.com
Copyright 2013 PITSS GmbH
PITSS Standorte
PITSS Region Südwest (HQ) D-70567 Stuttgart
[email protected] Tel.: +49 711 728 752-00
PITSS Region Südost D-82515 Wolfratshausen [email protected] Tel.: +49 8171 21 62-10
PITSS Region Nord D-33604 Bielefeld
[email protected] Tel.: +49 521 546 795-00
Troy (MI), USA
Milton Keynes, UK

3 www.pitss.com
Copyright 2013 PITSS GmbH
Nihad Haskovic Oracle DB-Anwendungsentwickler Bei PITSS seit Januar 2013 Begeistert von APEX seit 2007 in Projekten verschiedenartiger Größen und Komplexität Auch zwei Jahre Forms Entwicklung PITSS.CON Entwicklung: Forms2Apex Migrator und APEX Repository Hobbies: Fußball spielen, Fahrrad fahren, auf Reisen gehen
Vorstellung
Markus Salm Oracle DB-Anwendungsentwickler Bei PITSS seit Oktober 2010 Begeistert von APEX seit 2008 (Version 3 damals) Erfahrung mit Forms2Apex Projekt PITSS.CON Entwicklung: Forms2Apex Migrator Hobbies: Ins Kino gehen, Fahrrad fahren, auf Reisen gehen

4 www.pitss.com
Copyright 2013 PITSS GmbH
Einer der angesagtesten Modernisierungtrends für Oracle Forms!
Zeitgemäße Herausforderungen: Web user experience
Web Look-And-Feel Performance over the Web
Moderne Technologie Service-Oriented architecture Investition ohne Risiko
Schnelles und sicheres Umfeld Integration Einfache Wartung
Von Forms nach APEX
http://www.oracle.com/technetwork/developer-tools/apex/

5 www.pitss.com
Copyright 2013 PITSS GmbH
Architektur des Apex Assistant
De-Compose using Forms API, Reports XML
Re-Build using APEX API
PITSS.CON 12 Repository
Input: Jede Forms Version
Objects ID
API_ID
Parent
Properties ID
API_ID
Obj_ID
Logic ID
Parent
Logic
Pure APEX constructs Not-proprietary code
Forms Modules FMB Files
Reports Modules RDF Files
Object Libraries OLB Files
PL/SQL Libraries PLL Files
Menu Module MMB Files
Database Objects
External Apps: Java, C, SQL
Output: APEX 4
APEX Export Script
Documentation LOG Files
User Interface Redesign
Data Model Generation
Reengineer
Parsing, Dependency
Analysis
Hilfsmittel

6 www.pitss.com
Copyright 2013 PITSS GmbH
PITSS.CON APEX Assistant Abgleich der Komponenten
Hilfsmittel
- Die meisten Forms-Objekte können automatisch nach Apex übersetzt werden
Aber:
- Manuelle Nacharbeit wird dann benötigt, wenn das Transaktionsmodell und die Navigierung der
Anwendung an die Apex Architektur angepasst werden muss Ist sehr häufig der Fall!
- Die automatisch erzeugte Dokumentation beinhaltet einen kompletten Abgleich zwischen den
ursprünglichen Objekten der Forms-Anwendung und den von Apex erzeugten Objekten (Object-
Mapping), genauso wie eine detailierte Liste mit den Schritten, die noch benötigt werden um die
Modernisierung der Anwendung abzuschließen

7 www.pitss.com
Copyright 2013 PITSS GmbH
Hilfsmittel
Abgleich der Komponenten: Forms Modul --> Apex Application

8 www.pitss.com
Copyright 2013 PITSS GmbH
Commits
Nur eine tabular form pro page
Mehr als ein interactive report pro page
interactive report: mehr als 100 Spalten
PDF-Unterstützung
Bekannte Hindernisse
Neue Anwendung so umstrukturieren damit das Verhältnis zwischen „muss sein und damit leben können“ noch passt
Eine Lösungsvariante erstellt einen Classic Report und
erstellt dort die Objekte manuell (genauso wie den Rest): -> Select …. APEX_ITEM.TEXT(2,ename) ….
Entweder mit conditions/ plugins/ dynamic actions arbeiten oder auf mehrere pages verteilen Report muss webtauglich sein, daher Prioritäten setzen und mit Workaround restliche Spalten darstellen
Apex ruft alte Oracle Reports weiter auf / kostenlose PDF-Tools funktionieren auch, haben aber weniger Spielraum, die anderen schon, aber dafür sind sie teuer

9 www.pitss.com
Copyright 2013 PITSS GmbH
Fallbeispiel – Deutscher Anbieter im Bildungsbereich
Herausforderungen:
Erstellen der Seiten war mittelschwer, aber:
Sehr komplizierte Business-Logik
Komplexer Transaktionsmechanismus
Musste zusammen mit der Forms-Anwendung arbeiten
Datenzugriff wurde durch fest zugeordnete DB-Schemata und Views geregelt
Migration von Forms 6i nach APEX 4.1
Lösungen:
Migration mit PITSS.CON
Anwendung bereinigt
Forms Business-Logik in die DB gelegt
Anwendung so angepasst, dass es mit
dem APEX Transaktionsmechanismus
zusammenarbeitet
Datenzugriff mit VPD realisiert
Fallbeispiel

10 www.pitss.com
Copyright 2013 PITSS GmbH
Anpassen an das APEX Transaktionsverhalten
Neudefinition der Seiten wegen des Transaktionsmodells
Was bedeutete das?
Neue Spezifikationen mussten geschrieben werden
Die Akzeptanz der Endbenutzer musste erfüllt werden
Entwicklung
=> Für komplexe Seiten hieß das: Fast komplette Neu-Entwicklung
Fallbeispiel

11 www.pitss.com
Copyright 2013 PITSS GmbH
Der Login-Mechanismus
Erforderlich: Gemeinsames Sicherheitssystem für Forms und APEX
Forms: Die Oracle-Datenbank-Verbindung
Problematik:
Beide benutzen gemeinsam Daten und stored business logic
Daten wurden in Forms dynamisch eingeschränkt, je nach Benutzer-Verbindung
APEX DB-Änderungen durften sich nicht auf die aktuelle Forms-Anwendung auswirken
Lösung: VPD auf einem extra Schema für APEX
Fallbeispiel

12 www.pitss.com
Copyright 2013 PITSS GmbH
Erforderlich: gemeinsames Sicherheitssystem für Forms und APEX
Table A Table B Table C
View A View B View C Forms
Compile
Schema
View A
Select
where…
View B
Select
where…
View C
Select
where…
Forms
Runtime
Users
Mehrere schemata: user1, user2, …
schränkten die Daten zur Laufzeit ein
aufgrund von verschiedenen Bedingungen
Forms
Lösung: VPD auf einem extra Schema für Apex. Das wirkte sich nicht auf die Forms Anwendung aus.
Fallbeispiel

13 www.pitss.com
Copyright 2013 PITSS GmbH
Table A Table B Table C
View A View B View C Forms
Compile
Schema
View A
Select
where…
View B
Select
where…
View C
Select
where…
Forms
Runtime
Users
View A
Select
where VPD
View B
Select
where VPD
View C
Select
where VPD
APEX
Schema
Where clause wurde verwaltet von der VPD für die
APEX-Anwendung-Benutzer (user1, user2,…)
Mehrere schemata: user1, user2, …
schränkten die Daten zur Laufzeit ein
aufgrund von verschiedenen Bedingungen
Forms APEX
Fallbeispiel
Erforderlich: gemeinsames Sicherheitssystem für Forms und APEX
Lösung: VPD auf einem extra Schema für Apex. Das wirkte sich nicht auf die Forms Anwendung aus.

14 www.pitss.com
Copyright 2013 PITSS GmbH
Was und wie soll von Oracle Forms nach Oracle APEX migriert werden?
Fragen zur Migration:
Welche Forms-Komponenten können mit Apex-Komponenten verglichen werden?
Was kann von Forms nach Apex migriert werden?
Was kann nicht nach Apex migriert werden?
Lohnt es sich manuell zu migrieren?
Können wir diesen Vorgang automatisieren?
Antworten zur Migration:
Blocks - Regions, Items – Items, Canvases - Pages …
Canvases, Blocks, Items, Record Groups…
Windows, Triggers …
Das erfordert viel Zeit und Stress
Es ist möglich, aber nicht zu 100%
Live-Demo

15 www.pitss.com
Copyright 2013 PITSS GmbH
Probleme die während der Migration auftreten können
Probleme:
Es dürfen nicht mehr als 200 items auf einer page sein, was dann?
Es können keine 2 tabular forms auf einer Seite sein, was dann?
Wie wird Master-Detail-Detail von Forms in APEX dargestellt?
Wo soll der Code von triggers und program units hin?
Was soll mit diesem Code gemacht werden?
Antworten:
Erstelle auf verschiedenen Seiten Regionen mit den items und stelle sie mit dem tabs plugin auf der selben Seite dar
Eine tabular form auf einer Seite und alle andere werden mit dem tabs plugin auf der selben Seite dargestellt
Die erste Seite ruft eine Modal page auf, die zweite Seite
enthält eine weitere Detail Ansicht
Processes, validations, dynamic actions, computations…
Entferne die built-ins und ändere den Code um in anzupassen
Live-Demo

16 www.pitss.com
Copyright 2013 PITSS GmbH
Multiple-Forms Anwendungen
Nehmen wir an, es gäbe 500 Forms , was dann?
Wie soll diese System-Struktur implementiert werden?
Bewege die Forms in PITSS.CON
Erzeuge die Apex-Anwendung basierend auf PITSS.CON
Live-Demo

17 www.pitss.com
Copyright 2013 PITSS GmbH
Online Forms to APEX Previewer
Ziele:
• Input: jede FMB-Datei
• Output: funktionierende APEX Anwendung
• Informativ sein: mit Wizards und verständlichen Infos
• Einfach strukturiert: Erstellt selbst die benötigten Tabellen, Views, Test-Daten
• Wurde schon mit sehr großen und komplexen FMBs getestet
Live-Demo

18 www.pitss.com
Copyright 2013 PITSS GmbH
Das APEX Repository
Sehr große APEX Anwendungen neu aufbauen
Führt Änderungen der Anwendung in diesen Bereichen durch: data manipulation user interface
Entfernt unbenutzten Code Kontrolliert die Qualität-Standards Behebt Architektur-Probleme Stabilisiert große Anwendungen Upgradet obsolete Komponenten
Ausblick

19 www.pitss.com
Copyright 2013 PITSS GmbH
Oracle Apex != Oracle Forms, daher Abwägung notwendig
Hilfsmittel teilweise vorhanden und diese werden besser
Aber: eine voll-automatische Migration wird nicht umsetzbar sein
Es gilt generell die 80/20-Regel
Research und Workarounds gehören dazu, mehr als bei anderen Umgebungen
Aber: Jede neue Apex-Version bringt Features mit, die bei der täglichen Arbeit helfen und alte Workarounds nicht mehr nötig machen, da sie dann fest in Apex verankert sind
Zusammenfassung

20 www.pitss.com
Copyright 2013 PITSS GmbH
Zeit Raum Thema Referent
13.00 - 13.45 18 / Sydney Oracle Text – Ein vergessenes Feature in der Oracle DB Stephan La Rocca (PITSS)
15.00 - 15.45 20 / EG ADF, Forms und .NET – Alles vereint in einer Handheld Scanner App Madi Serban (PITSS), David Christmann
(Volkswagen)
16.00 - 16.45 8 / Helsinki Dein Blogreader – die Top 20 Artikel zu SQL & PL/SQL Stephan La Rocca (PITSS)
17.00 - 17.45 8 / Helsinki Multiprocessing in PL/SQL – Der Weg aus dem Single Thread Christian Wille (PITSS)
17.00 - 17.45 16 / Krakau Lesson Learned – Oracle Fusion Middleware Forms / Reports 11g Jan-Peter Timmermann (PITSS)
10.00 - 10.45 11 / Oslo Wie kann ich meine (bestehende) Forms GUI moderner gestalten? Daniel Kampf (PITSS)
11.00 - 11.45 11 / Oslo Forms nach APEX 101 – Kann alles migriert werden? Fallbeispiele &
Tests
Markus Salm, Nihad Haskovic (PITSS)
12.00 - 12.45 11 / Oslo Dynamische Mehrsprachigkeit für Forms & Report Ronald Steiner (PITSS)
13.00 - 13.45 19 / EG Test & Pimp my Forms Application Nils Baranowski (PITSS),
Dr. Jürgen Menge (ORACLE)
16.00 - 16.45 11 / Oslo Forms-Wissen trifft auf ADF Jan-Peter Timmermann (PITSS)
16.00 - 16.45 17 / Hongkong Experten-Panel: Mobile Computing Stephan La Rocca (PITSS),
Frank Nimphius (ORACLE)
13.00 - 13.45 15 / Prag Das ABC der Forms-nach-ADF Migrationen –
Beispiele & Live-Demo
Madi Serban, Bahar Us (PITSS)
16.00 - 16.45 12 / Istanbul Performance managen ohne Performance Management Pack Jan-Peter Timmermann (PITSS)
Die
nst
ag, 1
9.1
1.2
013
M
ittw
och
, 2
0.1
1.2
013
Do
, 21
.11
.20
13
PITSS Vorträge auf der DOAG 2013

21 www.pitss.com
Copyright 2013 PITSS GmbH
Next PITSS Event
Free PITSS Webinar
10. Dec 2013 - Forms Strategy & Source Code Analytics Deutsch: 10.00 – 11.00 Uhr Englisch: 14.00 – 15.00 Uhr
Weitere Events finden Sie auf www.pitss.de

22 www.pitss.com
Copyright 2013 PITSS GmbH
Vielen Dank! Besuchen sie unseren Stand - Nr. 206
Expertengespräche ADF & APEX Previewer …im Anschluss an diesen Vortrag! Wir freuen uns auf Ihren Besuch!
Markus Salm, Nihad Haskovic PITSS GmbH www.pitss.de
ADF & APEX to go!