Herbstroadshow 2016: Oracle Forms zum Anfassen und fürs Auge
Forms Optimizer
10.11.2016 Version 0.6
� Herausforderungen
� Was ist der Forms Optimizer
� Motivation
� Technischer Überblick
� Hauptkomponenten
� Implementierungsbeispiel
� Ausblick
Unser Partner
Agenda
2
� Produktive und bewährte Technologie mit kleinen Schwächen� "altbackene" Oberfläche (UI)� Kaum UI-Elemente für Touch-Screens� Keine wesentliche Erweiterung der UI-Komponenten durch den
Hersteller (z.B. fehlendes Data-Grid)� Über den Standard hinausgehende Funktionalitäten müssen
durch Java-Komponenten implementiert werden, doch viele Forms-Entwickler haben keine Erfahrung mit Java
� Aufwändige Administration der Desktops (Java Runtime und Java Plugin)
� Aufwändige Einbindung von Web-Services� Integration und hybrider Technologieeinsatz erfordern komplexe
Lösungen
Herausforderungen für Forms-Kunden
3
� Warten auf neue Features � Fokus bislang auf Integration, Deployment und Sicherheit
� Projekt „Forms Look&Feel“� Open-Source� Letzte Version von 2013
� Kunden- / projektbezogene Einzellösungen� Hohe Entwicklungsaufwände, Kosten und Risiken� Geringe Wiederverwendbarkeit
� Ergänzende Module in anderen Technologien (APEX, ADF, ...)
� …
Lösungsansätze
4
� Zusammenfassung bewährter Lösungen zu einer Komponenten-Bibliothek „Forms Optimizer“� Anforderungen von Kunden werden eingearbeitet� Kontinuierliche Weiterentwicklung der Bibliothek� Support� „Sauberer“ Java-Source-Code aus einem Guss
Unser Lösungsansatz
5
� Beispiel Forms-Maske:
Unser Lösungsansatz
6
Was ist der Forms Optimizer?
Mit dem Forms Optimizer …… optimieren Sie:
� Benutzeroberfläche� Pluggable-Java-Components (PJC)� Java Beans
� Integrationsmöglichkeiten� Client- und serverseitig
� Entwicklung� Object Libraries � Smart Classes� Java Design-time API (JDAPI)
7
Forms OptimizerEine Komponenten-bibliothek zur Modernisierung Ihrer Applikationen!
Warum entstand der Forms Optimizer?
Investitionsschutz für …
… Ihre Forms Applikationen
� Viele unternehmenskritische Systeme basieren auf Oracle Forms
� Über 1000 Forms-Kunden in Deutschland
� Benutzeroberfläche von Forms-Applikationen ist häufig nicht mehr zeitgemäß
� Machbarkeit von Optimierungen wurde durch Open-Source Beispiele belegt (LAF-Projekt, …)
8
Durch eine Modernisierung verlängert sich der Lebenszyklus Ihrer Applikation.
Warum entstand der Forms Optimizer?
Produktive Weiterentwicklung Ihrer …
… Forms Anwendung in gewohnter Umgebung
� Oracle Forms Entwickler können weiterhin mit PL/SQL arbeiten – kein Java Know How nötig
� Kontinuierliche Weiterentwicklung der Java-Komponenten-Bibliothek
� Unser Fokus liegt auf Praxistauglichkeit und Stabilität
9
Machen Sie Schluss mit dem Ausprobieren, und nutzen Sie erprobte und praxistaugliche Komponenten!
Forms Optimizer
Technischer ÜberblickArchitektur
• Pluggable Java Components• Java Beans• Client Check
• Importierte Java Klassen• Konfigurations-Dateien• Jar-Archive
• Schemata (Metadaten, Sample)• Programmeinheiten (Packages)
Forms Optimizer -Hauptkomponenten
Die Forms Benutzeroberfäche …… modernisieren wir durch:
� Pluggable Java Components� Funktionale Erweiterung bestehender UI-Komponenten durch
Vererbung/Polymorphismus(Check Box, List Item, Push Button, Radio Group, Text Item)
� Property Implementation Class
� Java Beans� Implementierung maßgeschneiderter UI-Komponenten und
erweiterter Client-Funktionalitäten� Ausführung in Java Bean Container� Beispiel: Diagramm
11
Forms Optimizer -Hauptkomponenten
Pluggable Java Components
… die nicht nur die Optik aufwerten:
� Für alle UI-Komponenten sind PJC enthalten
� Funktionen:� Fokusindikator
� Accesskey Anzeige
� Buttons mit Bildoptimierung und Toggle-Funktionalität
� Textbereiche mit HTML-Formatierung
� Integrierter LOV Button
� Integrierte Datumsauswahl über Kalender
� Dateiauswahldialog mit drag-and-drop Funktionalität
12
Forms Optimizer -Hauptkomponenten
Pluggable Java Components
… sind einfach zu implementieren …
� Text Field mit integriertem Date Chooser� Focusindikator, Date Chooser, Button, Shortcuts
13
Forms Optimizer -Hauptkomponenten
Java Beans
… PJC Kalender Demo
14
https://youtu.be/9yKBBKCTErM
Forms Optimizer -Hauptkomponenten
Java Beans
… die uns das Tor zu neuen Welten öffnen:� AlertBean Erweiterte Meldungsanzeige
� BrowserBean Web-Browser
� ClipboardBean Interaktion Zwischenablage
� GotoBean Interaktive Navigation
� JProgressBarBean Swing-JProgressBar für Forms
� JTable Swing-JTable für Forms
� MailBean Interaktion mit Outlook und Mailto
� PropertyBean Einstellungen anzeigen und ändern
15
Forms Optimizer -Hauptkomponenten
Java Beans
… Beispiel AlertBean :
� Java Bean zur Anzeige von Nachrichten� Information, Error, Plain, Question, Warning� Helpline, Multiline, Resize, Auto-Scrollbox� Aufruf des Teamviewer� Automatischer Versand von Mail mit Informationen an den
Support
16
Forms Optimizer -Hauptkomponenten
Java Beans
… AlertBean Demo
17
https://youtu.be/BFj9dpd0EAg
Forms Optimizer -Hauptkomponenten
Java Beans
… Beispiel BrowserBean :
� Integrierter Web Browser als Java Bean� Integration von APEX, Oracle JET, Qlik Sense, …
� ...
18
Forms Optimizer -Hauptkomponenten
Java Beans
… Beispiel JTable:
� Anpassungsfähige Multi-Row-Anzeige� JTable Möglichkeiten (Sortieren, Spalten tauschen, Breite ändern,…)
� Mehrfachselektion
� Interaktion zu Forms
� Excel-Export
19
Forms Optimizer -Hauptkomponenten
Java Beans
… JTable Demo
20
https://youtu.be/RvaKX0vsLNk
Forms Optimizer -Hauptkomponenten
Java Beans
… TextFieldFileChooser Demo
� File Open-Dialog
� Drag & Drop
21
https://youtu.be/4Q08sO-Jn5E
Forms Optimizer -Hauptkomponenten
Serverseitige Java-Integration
… durch Forms Java Importer
� Integration von Web-Services� Beispiele
� ECB Währungskurse
� UID-Prüfung der Europäischen Union
� Spezifische Implementierungen mit Ausnahme des Exception Handling
22
Forms Optimizer -Hauptkomponenten
Zusatzkomponenten
… best practice
� Java Design-time API (JDAPI)� Automatisierte Änderungen an mehreren Modulen
(Forms-, Menu-Module und Forms-Libraries)Forms Builder = manuell / JDAPI = automatisiert
� Client Check� Konfigurierbare Prüfungen
vor dem Login
23
Technischer Überblick
… Komponenten für Entwickler� Object Library
� Sammlung von Object Classes
� Typgebundene Sammlung von Properties
� Zuweisung einer Object Class an ein Forms-Objekt
� Verwendung von Smart Classes
� Forms Library� Steuerung der Java-Objekte durch
PL/SQL-Packages
� Beispiel-Applikation
� Template als Basis für die Entwicklung
� Technische Dokumentation
Technischer Überblick
… Code-Beispiele � Forms PLL-Library
Technischer Überblick
… Voraussetzungen � Oracle Forms 10g, 11g oder 12c
� Client-seitiges Java (JRE)� Java 8 für BrowserBean
� Java 7 für JTable
Anwendungsbeispiel
SIS-REWE Go• SIS-REWE GO, ein branchenunabhängiges
Standardrechnungswesen, das sich am individuellen Geschäftsprozess orientiert
• Eingesetzt von mehr als 50 Unternehmen, im teils internationalen Umfeld
27
Praxisrelevante Funktionen, die täglich Anwendern einen Mehrwert bieten.
Anwendungsbeispiel
SIS-REWE Go• Beispiel-Masken „Vor Optimierung“
28
SIS-REWE Go• Beispiel-Masken „Nach Optimierung“
Anwendungsbeispiel
29
Vorteile
Nutzen durch den Forms Optimizer …� Bessere Benutzerakzeptanz durch moderne Oberflächenelemente
und Funktionserweiterungen� Produktivität von Forms bleibt erhalten� Verwendung praxiserprobter Komponenten� Geringe Risiken der Implementierung� Überschaubare Kosten der Modernisierung� Kontinuierliche Weiterentwicklung
30
Unser Angebot
… zur Modernisierung� Forms Optimizer
� Komponenten-Bibliothek� Dokumentation für Forms Entwickler� Beispiel-Applikation und Basis-Template
� Support
� Workshop zur Modernisierung ihrer Applikation� Lassen sie uns das passende Modernisierungspaket für ihre Applikation
erarbeiten
� Umsetzung der Forms-Modernisierung� Einbau ausgewählter Komponenten aus dem Forms Optimizer in ihre
Applikation
31
Ausblick
...� Weitere Java-Schaltflächen� DML-Operation auf JTable� Welche Ideen und Vorschläge haben Sie ?
32
Danke für Ihr Interesse
Königsdorfer Straße 25
82515 Wolfratshausen
Tel. +49 8171 998 93 97
Mail: [email protected]
Web: www.der-it-macher.de
33