Upload
niels-de-bruijn
View
109
Download
3
Embed Size (px)
Citation preview
Anwendungs-modernisierung
Niels de Bruijn / Sven-Olaf Kelbert, MT AGOliver Lemm, MT AG
Januar 2017
2
Facts & Figures
Technologie-orientiertBranchen-unabhängig
HauptsitzRatingen
240 Beschäftigte
Gründung1994
NiederlassungenKöln, Dortmund
& Frankfurt am Main
Ausbildungs-betrieb
Inhabergeführt
Zertifizierter Partner von
Oracle, Microsoftund SAP
24 Mio. Euro Umsatz
MT AG - Application Development3
JAVASCRIPTTECHNOLOGIES
DEVELOPMENTENTERPRISE
CLOUD SOLUTIONS
Technologien
Application Express Development
§ APEX, PL/SQL, Oracle DBMS
§ Mobile WebApps
§ Rapid Development
§ FOEX
§ Migration von Forms, Access, Reports
MT AG - Application Development 4
Technologien im Detail
ENTERPRISE
Java Enterprise Development
§ Java EE/SE, JSF (Primefaces), Spring Framework, EJB, JPA (Hibernate), Swing
§ JBoss, Tomcat, WebLogic
§ Microservices, BPM, Container(Docker)
§ DB2, Oracle, MySQL, Cassandra
JavaScript Development
§ JavaScript, ES2016
§ AngularJS, Ionic, React
§ TypeScript, Angular 2
§ Node.js, Electron
§ MongoDB, CouchDB
MT AG - Application Development 5
Technologien im Detail
Hybrid Mobile Apps Development
§ JavaScript
§ HTML5, CSS3
§ jQuery (Mobile & UI), Bootstrap
§ SQLite
§ Apache Cordova, PhoneGap
JAVASCRIPTTECHNOLOGIES
Microsoft Development
§ C#, VB.NET, ASP.NET, WPF, XAML, Entity Framework, WF
§ Dokumentengenerierung MTdoxx
§ SQL Server, SQL Reporting-, Analysis- und Integration Services
§ BizTalk Server, SharePoint Server
MT AG - Application Development 6
Technologien im Detail
Cloud-based Development
§ Agile Cloud Development, Testautomatisation and Continuous Delivery
§ Azure, AWS
§ Office 365, Apps
§ Collaboration CoffeeNet365
DEVELOPMENTCLOUD SOLUTIONS
Strategien für datenbankgestützte
Legacy Anwendungen
Niels de Bruijn, MT AG
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
§ Oracle Forms & Co.
§ Modernisierung – warum?
§ Modernisierung – wohin?
§ Modernisierung – wie?
9
Agenda
10
§ 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
§ Versionen§ 1986 2.x§ 1997 Erste Webforms-Version§ 2000 6iR2 (letzte Client/Server-Version)§ 2002 9i§ 2005 10g§ 2010 11g§ 2015 12c
12
Oracle Forms gestern
§ 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
§ 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
§ 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
Modernisierung – warum?
17
Gründe für eine Modernisierung
§ 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
§ 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
Modernisierung – wohin?
§ Oracle APEX
§ Java / JEE§ VisionX
§ .NET
§ JavaScript
§ AuraPlayer (setzt Forms voraus)
21
moderne Technologien zur Auswahl
§ 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
23
FOEX Plugins als addon
Migration von Forms auf APEX mittelsFOEX Plugins
§ JAVA, .NET, JavaScript§ browserorientierte Lösung § Bereitstellung gut strukturierter PL/SQL Packages vereinfacht die Modernisierung § weit verbreitetes Know-how§ Objektorientierung
24
moderne Technologien zur Auswahl
25
Java-App, Web-App, sowie iOS/Android-App
VisionX – Simultane Generierung von adaptiven GUIs
§ 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
27
AuraPlayer
28
Was ist mit Oracle Reports?
JasperReports,BIRT
APEX Office Print
OracleBI 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ürdie Definition
JasperSoft Studio,Eclipse/Birt
Word / Excel / PowerPoint
Word / Excel(Plugin
notwendig) / Browser
APEX ggf. SQL Plus
JasperSoftStudio (jrXML)
SQL Plus und ggf. Word
AltovaStyleVision oder
Stylus Studio
Word / Excel IR in APEX
MöglichesLayout?
Pixel perfekt Pixel perfekt Pixel perfekt Nicht Pixelperfekt
Nicht Pixelperfekt
Pixel perfekt Pixel perfekt Pixel perfekt Vorgegeben
Ausgabe überIR?
Nein Ja (DA oderProcess Plugin mit support für
mehrere IRs)
Ja Nein Nein Nein Ja Nein Ja (Plugin)
Schnittstelle fürAPEX
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
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...“
§ 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 generierteDokumente
Modernisierung – wie?
§ 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?
Es liegen folgende Kriteriengruppen vor:
1. Product functional requirements1. Enduser User Interface/Client requirements2. Server related criteria3. Developer Skills4. Development Environment5. Testing / Debugging
2. Product non functional requirements1. 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
§ 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?
§ 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
§ 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
§ 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
Anwendungs-modernisierungmit Oracle Application Express 5.1
Oliver Lemm, MT AG
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
§APEX vs Forms
§ FOEX
§Oracle Forms Migration Assistent
§APEX Generator
§ Enterprise APEX
Agenda
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
42
Architektur APEX
APEX vs Forms
§ Globale Variablen
§Validierungen
§ Commit & Rollback
§Unittests
§ Locking
43
Stateless vs statefull
APEX vs Forms
§ LOV§ Wertelisten mit mehreren Rückgabewerten
§ „Trigger“§ Forms Trigger vs Dynamic Actions
§ Web „submit“
44
APEX vs Forms
§ Tastatur & Maus vs Tastatur & Maus/Touch
§ Suchmodus & Bearbeitungsmodus vs Report & Formular
45
Bedienung
APEX vs Forms
§ Logik in der Datenbank
§ PL/SQL
§ Blocks / Regions
§ Program Unit / Process
§ Items
46
APEX == Forms
47
Layout
APEX vs Forms
48
Layout
FOEX Plugins
49
Oracle Forms Migration Assistent
50
Oracle Forms Migration Assistent
§ Assistent nur zur „Analyse“ verwenden!
§ PL/SQL Code aus Forms Masken
§ „Komplexität wird sichtbar“
51
Oracle Forms Migration Assistent
52
Metadatentabellen
Oracle Forms Migration Assistent
53
Generiert „out-of-the-box“ APEX Seiten, sinnvoll z.B. zur Verwaltung von Stammdaten
APEX Generator der MT AG
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
§ 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
§ 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
§ 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
§ 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
§ 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
60
Enterprise APEX – SW-Entwicklungsprozess
Rapid Application Development mit APEX 5
MT AG
4.
EntwicklungsUmgebung
8.
TestUmgebung
5.
Versionierung
11.
AbnahmeUmgebung
13.
ProduktionsUmgebung
7.
Build-Prozess
Kunde
9.
Vers. Tests*
2.
Aufgaben1.
Aufträge
12.
Vers. Tests*6.
Modultests
*) Modul-, Qualitäts-, Integrations-,Performance-,Sicherheits-,,Akzeptanz- &Browsertests
**) Release Notes,DV-Konzept,Installationsanleitung
Zeiterfassung
10.1
Auslieferung
14.
Bugs
3.
Projektplan
Projektleiter
Auftraggeber
IT/Fachbereich EndanwenderQA-SpezialistEntwickler
Neue Features
10.2
Dokumentation**
Abhängigkeiten
Richtlinien
Manager Delivery SpezialistDelivery Spezialist
Ausgewählte Projektreferenzen
62
Hygiene-Industrie: Migration von Oracle Forms
63
Hygiene-Industrie: Migration von Oracle Forms
64
Vodafone: Migration von MS Access
65
Union Investment: Migration von Oracle Forms
Migration von Forms auf APEX
Migration auf APEX 5inkl. Universal Theme
66
Versicherer: Prototyp Migration von Oracle Forms
Migration von Forms auf APEXinkl. FOEX Plugins
APEX Community
Niels de Bruijn, MT AGOliver Lemm, MT AG
68
Software/Dokumentation apex.oracle.com
APEX World apex.world
APEX Showcase apex.mt-ag.com
Open Source oraopensource.com
Oracle Learning Library oll.oracleapex.com
Oracle Community (DE): lang.oracleapex.com
BLOG Aggregator (RSS Feed): aggrssgator.com/rss/odtug/apex
Forum: forum.oracleapex.com
Plug-Ins: apex-plugin.com & apex.world
Twitter Hash Tag: #orclapex
Feature Requests: apex.oracle.com/vote
Snippets: Denes Kubicek & Jari‘s
Podcasts: apex.press/talkshow
Built with APEX: builtwithapex.com
Die APEX Community
69
Jetzt anmelden! – apex.doag.org
Neu in 2017: 30 minutige 1:1 Gespräche mit dem APEX Dev Team!
Q&A
@MT_AG_
http://blog.mt-ag.com/apex