Lernen Sie warum man für legacy Anwendungen basierend auf Oracle Forms oder MS Access überlegen sollte, warum eine Migration auf eine neue Technologie sinnvoll ist.
8. 8
Über mich
§ Niels de Bruijn, Fachbereichsleiter APEX
§ Geboren in 1977, verheiratet, drei Töchter, Wohnort Ratingen
§ seit 12.2003 bei der MT AG in Ratingen
§ zuvor 2 Jahre als Berater bei Oracle Nederland B.V. angestellt
§ Beschäftigt sich seit 2004 mit APEX
§ Federführend beim Vertrieb/Marketing/Delivery von APEX Projekten
§ https://apex.mt-ag.com
§ Themenverantwortlicher für APEX bei der DOAG & Organisator von APEX Connect
§ Hält Vorträge u.A. auf der DOAG Konferenz, APEX World, DOAG APEX Connect & ODTUG
Kscope
11. § Forms ist ein rüstiger Patient im besten Alter, ist
wieder völlig fit, genießt sein weiteres Leben und
hat keine Pläne, vorzeitig abzutreten. Im Moment
können viele Jüngere, wie Java, ADF oder APEX von
seiner Erfahrung profitieren. Irgendwann werden
die Jungen das Ruder übernehmen, und Forms wird
sich aufs Altenteil zurückziehen, aber bis dahin
werden noch viele Jahre ins Land gehen.
Sven-Olaf Kelbert, DOAG News 2/2011
11
13. § 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
§ 100.000 Kunden weltweit
§ viele Kundenreferenzen und Lösungen
§ zahlreiche Veranstaltungen
13
Oracle Forms heute
14. § Bewährt
§ Effizient
§ Nicht mehr modern, Technologie veraltet
§ Hohe Kosten (Anschaffung / Betrieb / Schulung)
§ Schlechte Zukunftsaussichten (Know-how am Markt verschwindet)
§ Insum hat es in einem Artikel gut wieder gegeben:
§ https://insum.ca/time-modernize-oracle-forms-reports-application
14
Status Quo Oracle Forms
15. § Lifetime Support für Oracle Forms und Reports
§ Version Forms 12c Bestandteil der Oracle Fusion Middleware 12c
§ Entwicklungs-Aktivitäten werden fokussiert
§ leichtere Upgrades von einer Version auf die nächste
§ Integration mit Features der übrigen Plattform
§ Produkt-Stabilität
§ kein weiteres Reports-Release nach Version 12c
§ Terminal Release 12.2.1.3
§ Designer seit Version 10g eingestellt
§ Discoverer seit Version 11g nicht mehr weiter entwickelt
15
Oracle Forms / Reports / Designer / Discoverer
18. § keine Trennung von Geschäfts- und Präsentationslogik
§ Geschäftslogik nicht wiederverwendbar
§ Präsentationslogik/Layout über alle Masken und Reports verteilt
§ allgemeine Änderungen am Aussehen erfordern ein Anfassen sämtlicher Module
§ keine Unterstützung von Build-Prozessen
§ keine Unterstützung von Unit-Tests
18
Nachteile von Forms
Gründe für eine Modernisierung
19. § Jinitiator, JRE oder Java Web Start (12c) muss auf dem Client installiert werden
§ Look & Feel nicht zeitgemäß
§ Integration in moderne Unternehmens-IT-Architekturen schwierig
§ wiederverwendbare Geschäftslogik
§ Workflow-gestütztes Arbeiten
§ Schnittstellen zu anderen Systemen
19
Nachteile von Forms
Gründe für eine Modernisierung
21. § Oracle APEX
§ Java / JEE
§ VisionX
§ .NET
§ JavaScript
§ AuraPlayer (setzt Forms voraus)
21
moderne Technologien zur Auswahl
22. § Oracle Application Express (APEX)
§ Seit 2004 als kostenlose Option der Oracle Datenbank verfügbar
§ 2 bzw. 3-Tier-Framework (je nach Betrachtung)
§ moderne, browserorientierte Lösung
§ Weiterentwicklung mit hoher Produktivität möglich
§ in PL/SQL-Packages abgelegte Geschäftslogik weiterhin verwendbar
§ Mit Plugins erweiterbar
§ Sowohl für den Desktop als auch mobile Endgeräte entwickelt
§ Mit APEX 5.1 keine Limitationen in der Standardfunktonalität mehr
§ Master-Detail-Subdetail: es geht!
§ Mehr als 200 Items auf einer Seite: es geht!
22
moderne Technologien zur Auswahl
26. § Die Oberfläche lässt sich damit zügig erstellen
§ Die wesentlichen Elemente sind Datentabelle und die zugehörigen Eingabefelder
§ Bindungen an die Datenbank erfolgen automatisch
§ Programmlogik lässt sich ebenfalls im Editor schnell erstellen
§ Weitere Logik lässt sich simultan in der IDE erstellen
26
Der Hauptteil der Implementierung erfolgt hauptsächlich durch das „Zusammenklicken“
VisionX – WYSIWYG
28. 28
Was ist mit Oracle Reports?
JasperReports,
BIRT
APEX Office
Print
Oracle
BI Publisher
APEX
Plugins
PL-JRXML
2PDF
PL/PDF Oracle REST
Data Services
MTdoxx APEXIR_XLSX
Server
Technologie
Java-Server (JEE) APEX Plugin +
Executable or
Cloud
Oracle WebLogic
Server
PL/SQL in
RDBMS
PL/SQL
in
RDBMS
PL/SQL in
RDBMS
WebLogic /
Glassfish /
Apache Tomcat
.Net / IIS PL/SQL in
RDBMS
Client Tool für
die Definition
JasperSoft Studio,
Eclipse/Birt
Word / Excel /
PowerPoint
Word / Excel
(Plugin
notwendig) /
Browser
APEX ggf. SQL
Plus
JasperSoftStud
io (jrXML)
SQL Plus und
ggf. Word
Altova
StyleVision oder
Stylus Studio
Word / Excel IR in APEX
Mögliches
Layout?
Pixel perfekt Pixel perfekt Pixel perfekt Nicht Pixel
perfekt
Nicht Pixel
perfekt
Pixel perfekt Pixel perfekt Pixel perfekt Vorgegeben
Ausgabe über
IR?
Nein Ja (DA oder
Process Plugin
mit support für
mehrere IRs)
Ja Nein Nein Nein Ja Nein Ja (Plugin)
Schnittstelle für
APEX
URL, PL/SQL PL/SQL API,
APEX Plugin
XSL-FO/ XML PL/SQL PL/SQL PL/SQL XSL-FO/ XML SOAP Web
Service
PL/SQL
Formate XLS(X), PDF, RTF,
DOCX (JR), PPT
(BIRT), DOC (BIRT)
XLSX, PPTX,
PDF, DOCX,
HTML5
XLS, PDF, DOC PDF, XLSX PDF PDF, DOCX,
XLSX
PDF DOCX, PDF XLSX, PPTX
Kostenpflichtig? Nein
(Open Source)
Ja Ja Nein
(Open Source)
Nein
(Open Source)
Ja Nein Ja Nein
(Open Source)
29. 29
Provokativ vorerst die Frage stellen: Brauche ich überhaupt noch eine Lösung hierfür?
Punktuelle Lösungen
§ Resultat Interactive Report 1:1 in XLSX überführen: APEXIR_XLSX (läuft in der DB)
§ Resultat Interactive Report 1:1 in PDF überführen: Reports2PDF Plugin (läuft in der DB)
§ Einfache pixelperfekte Berichte in PDF überführen: PL-JRXML2PDF (läuft in der DB)
Enterprise Lösungen
§ Reporting-Tool als Vorlage verwenden
§ Pixelperfectes Layout: Jasper Reports / Birt
§ Office als Vorlage verwenden
§ Nahtlose Integration mit APEX: APEX Office Print
§ Massengenerierung von Dokumenten: MTdoxx (setzt Windows Server voraus)
Und nun? „Well, it depends...“
30. § Implementiert auf Basis .Net und bereitgestellt als Windows Dienst
§ Generierung von Word (.docx) oder PDF Dokumenten
§ Vorlagen auf Basis Word (.docx)
§ Verrechnung mit APEX Integrationsleistungen
30
Zur Dokumentengenerierung
MTdoxx-Lite
APEXVorlagen MTdoxx generierte
Dokumente
32. § Steht die Entscheidung für die Zieltechnologie?
§ wenn nein à Strategieberatung
§ Aufbau Kriterienkatalog durch MT AG
§ Gewichtung Kriterien durch Kunde
§ Festlegung zu analysierender Technologien durch Kunde
§ Bewertung der Kriterien durch Technologie-Experten der MT AG
32
Modernisierung – wohin geklärt?
33. Es liegen folgende Kriteriengruppen vor:
1. Product functional requirements
1. Enduser User Interface/Client requirements
2. Server related criteria
3. Developer Skills
4. Development Environment
5. Testing / Debugging
2. Product non functional requirements
1. Deployment and staging features
3. Strategic safety
4. Investments for implementation and
license
5. Maintenance and managed service costs
33
Aufbau eines Kriterienkatalogs als Entscheidungsgrundlage
34. § Steht die Entscheidung für die Zieltechnologie?
§ wenn ja à Proof of Concept
§ Aufwandsschätzung oder einfach los legen?
§ verschiedene Wege zum Ziel
34
Modernisierung – wohin geklärt?
35. § Unterstützung durch Analyse-Tool
§ PITSS
§ Forms-API-Master
§ FormsTool
§ QAFE
§ Forms Migration Assistent in APEX
§ Analyse durch erfahrene Entwickler
§ Erstellung eines Konzepts
§ Wegner‘s Lemma: „It is not possible to completely specify an interactive system.”
35
Aufwandsschätzung
36. § Upgrade auf neueste Forms-Releases
§ auf der sicheren Seite bzgl. Support
§ WebLogic Server Basis für weitere Schritte
§ Extraktion von möglichst viel Logik aus Forms in die DB
§ Logik nicht nur in Forms nutzbar
§ von anderen DB-Funktionalitäten
§ von anderen Anwendungen
§ WebServices
§ Anwendung keine Black Box mehr
§ danach über Migrationen in andere Technologien nachdenken
36
Szenario 1: langfristige Ablösung von Forms
Empfehlung für Modernisierung
37. § strategische Beratung hinsichtlich neuer Technologie
§ APEX
§ VisionX (Java)
§ JEE
§ JavaScript
§ Microsoft .Net
§ Stück-für-Stück-Ablösung von Forms
§ Entwicklung durch MT AG und Kunden
§ Coaching des Kunden durch MT AG
§ Integration neuer Bestandteile in alte Anwendung
§ agiles Vorgehen für schnelle Erfolge
37
Szenario 2: kurz-/mittelfristige Ablösung von Forms
Empfehlung für Modernisierung
39. Rapid Application Development mit APEX 5 39
Über mich
§ Oliver Lemm, Competence Center Leiter APEX
§ Geboren in 1980, verheiratet, vier Kinder, Wohnort Dinslaken
§ seit 02.2007 bei der MT AG in Ratingen
§ Projektleitung und Entwicklung
§ Blog oliverlemm.blogspot.de
§ Twitter @OliverLemm
§ Hält Vorträge u.A. auf der DOAG Konferenz, APEX World, DOAG APEX Connect & ODTUG
Kscope
§ XING https://www.xing.com/profile/Oliver_Lemm
§ LinkedIn https://www.linkedin.com/in/oliverlemm
40. § APEX vs Forms
§ FOEX
§ Oracle Forms Migration Assistent
§ APEX Generator
§ Enterprise APEX
Agenda
41. Unterschiede in den Technologien
APEX vs Forms
Oracle Application Express Oracle Forms
Oracle Datenbank
PL/SQL & SQL
Apache Tomcat & ORDS Oracle Middleware (Weblogic)
JavaScript & jQuery
HTML 5 & CSS 3
Oracle Jet
54. 54
Arbeitsschritte
APEX Generator der MT AG
Generierung
• Regions
• Items & Buttons
• Processes & Branches
• Dynamic Actions
Metadaten
• Seiten
• Tabellen
APEX
• Erstellung der Anwendung
• Layout „Subscriptions“
• LOV „Subscriptions“
f100.sql
55. § einfache Stammdatenmasken generierbar
§ Änderungen an allen Seiten durch Anpassung Metadaten
§ Keine nachträgliche Änderungen von Hand
§ gleiches Layout
§ keine händischen Fehler
§ robust
55
Fazit
APEX Generator der MT AG
56. § Analyse der Forms Anwendung
§ Identifikation der bisherigen Formulare
§ Prozesse, Funktionalitäten & Schnittstellen
§ Vorgaben für neue Anwendung
§ UI / Corporate Design
§ Optimierung von Prozessen & Layouts
§ Aufwandsschätzung
§ abhängig vom Know-How bzgl. Prozesse & Verarbeitung
§ Logik in der Datenbank?
§ jeweils pro Formular <-> APEX Seite(n)
§ 2-x APEX Anwendungen
§ Risikoaufschlag zwischen 25-100% des Entwicklungsaufwands
56
Migrationsvorgehen
57. § Allgemein
§ Datenmodell Metadaten 1PT
§ Funktionslogik pro Projekt 10PT
§ CI-Automatisierung 3PT
§ Testautomatisierung 5PT
§ pro Stammdatentabelle
§ Metadaten bereitstellen 0,25PT
§ pro Maske ca. (bei 50 insg.) 0,5PT
§ bei 50 Stammdatentabellen 31,5PT
57
einfache Maske (Stammdaten) – mit APEX Generator der MT AG
Entwicklungsaufwände
58. § Report
§ Interactive Report 0,25PT
§ Formular (Modal/non Modal)
§ Formular 0,25PT
§ Validierungen 0,125PT
§ Seitenobjekte 0,125PT
§ Tests
§ Entwicklertests 0,125PT
§ Abnahmetests 0,125PT
§ pro Maske 1PT
§ Bei 50 Stammdatentabellen 50PT
58
einfache Maske – ohne APEX Generator und ohne automatisiertes Vorgehen
Entwicklungsaufwände
59. § Formular „Seitenkopf“
§ Verarbeitung 2PT
§ Validierungen 1PT
§ Gesamtlayout 1PT
§ 8 Tabreiter jeweils
§ Verarbeitung 1PT
§ Validierungen 0,5PT
§ Layout 0,5PT
§ Gesamt 20PT
59
Beispiel von einer Maske aus der Kategorie „komplex“
Entwicklungsaufwände