Anwendungsmodernisierung mit Oracle Application Express (APEX)

Preview:

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

§Drucken

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

Recommended