22
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

Forms nach Apex 101 - DOAG

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 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

Page 2: Forms nach Apex 101 - DOAG

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

Page 3: Forms nach Apex 101 - DOAG

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

Page 4: Forms nach Apex 101 - DOAG

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/

Page 5: Forms nach Apex 101 - DOAG

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

Page 6: Forms nach Apex 101 - DOAG

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

Page 7: Forms nach Apex 101 - DOAG

7 www.pitss.com

Copyright 2013 PITSS GmbH

Hilfsmittel

Abgleich der Komponenten: Forms Modul --> Apex Application

Page 8: Forms nach Apex 101 - DOAG

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

Page 9: Forms nach Apex 101 - DOAG

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

Page 10: Forms nach Apex 101 - DOAG

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

Page 11: Forms nach Apex 101 - DOAG

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

Page 12: Forms nach Apex 101 - DOAG

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

Page 13: Forms nach Apex 101 - DOAG

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.

Page 14: Forms nach Apex 101 - DOAG

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

Page 15: Forms nach Apex 101 - DOAG

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

Page 16: Forms nach Apex 101 - DOAG

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

Page 17: Forms nach Apex 101 - DOAG

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

Page 18: Forms nach Apex 101 - DOAG

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

Page 19: Forms nach Apex 101 - DOAG

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

Page 20: Forms nach Apex 101 - DOAG

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

Page 21: Forms nach Apex 101 - DOAG

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

Page 22: Forms nach Apex 101 - DOAG

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!