umstellung von forms auf oracle adf was kann übrig bleiben · pdf fileberatung,...
TRANSCRIPT
Be
ratu
ng
S
oft
wa
re L
ösu
ng
en
Umstellung von Forms auf Oracle ADF
Was kann übrig bleiben ?
Ulrich
Gerkmann-BartelsSenior Consultant Oracle Technologies
Zu meiner Person
20.11.2
010
© TEAM - Ihr Partner für
IT
5
Beratung, Workshops, Projekte auf Basis der Oracle Fusion Middleware
Software Engineering 2010, DOAG SIG, DOAG Konferenz, Oracle ADF
News Session WebCast, DOAG News Artikel
Co-Moderator Oracle ADF Community
Mitglied ADF Enterprise Methodology Group
Seit 2001 beschäftigen wir uns mit dem Thema
Ulrich
Gerkmann-BartelsSenior Consulting Oracle Technologies
TEAM - Ihr Partner für IT
Gründung 1982
Unternehmensgruppe Materna
1.300 Mitarbeiter –
153 Mio. Euro Umsatz in 2009
Geschäftsführung
Michael Baranowski - Heike Käferle
über 50 Mitarbeiter
Zahlen und Fakten
Oracle-Dienstleistungen vom Oracle Platinum Partner
Lizenzierung
Consulting
Schulungen
Busines Intelligence
Individualentwicklungen
Online DBA Support
ProStore® - Intralogistik und Warehousemanagement
WMS/LVS
MFR/MFS
beleglose Kommissionierung
Pick-by-Voice
Staplerleitsystem
Ressourcenplanung
Logistikleitstand
Logistics Intelligence
20.11.2010 © TEAM - Ihr Partner für IT 10
Agenda
Motivation
Ausgangslage und Randbedingungen
Vorgehensmodell
Erkenntnisse
Ausblick
20.11.2010 © TEAM - Ihr Partner für IT 11
Motivation
Modernes Look & Feel mit neuen Funktionen
Mobile Plattformen (Tablet PC, Pads, Smartphones)
Wettbewerbsfähigkeit sichern
Entwicklungsresourcen in Zukunft sichern
SOA Enabling
20.11.2010 © TEAM - Ihr Partner für IT 12
Ausgangslage
WMS /LVS - Lösung basierend auf Oracle Forms
Release 1.0: Oracle Forms 4.x
Produktiv: 6i, 10g, 11g
Produktkern mit Customisation
R1 R2 R3 R4
CR1 CR3
CR2
CR3
CR4
20.11.2010 © TEAM - Ihr Partner für IT 14
Rahmenbedingungen
Maximale Wiederverwendung des Produktkerns
Produktiver und effizienter Customisation- und Entwicklungsprozess
Koexistenz von verschiedenen Releases notwendig
Upgrade – Pfad für bestehende Produkt Releases
20.11.2010 © TEAM - Ihr Partner für IT 15
Vorgehensmodell - ReMip
Quelle: Ackermann, E.: ReMip – Ein Referenz-Prozess der Software-Migration,
Diplomarbeit, Universität Koblenz-Landau, Koblenz, 2005
20.11.2010 © TEAM - Ihr Partner für IT 16
ReMiP – Legacy-Analyse
Konvertierung der Forms-Anwendungsdefinition in XML (Forms2XML)
Laden der XML-Dateien in das APEX Metadata Schema
Erstellen von Abfragen und Reporting zur Analyse mit PLSQL / SQL
ZIEL:
Extraktion der benötigten Informationen
aus den Oracle Forms Dialogen in eine
Meta – Ebene, die leicht abgefragt und
wiederverwendet werden kann.
20.11.2010 © TEAM - Ihr Partner für IT 18
ReMip – Legacy-Analyse
Beispiele:
Anzahl der Items, Data Block, Recordgroups etc.
Größenordnung des PL/SQL – Anweisungen im Dialog.
Anzahl der Aufrufe von Packages*
Ermittlung des Größenmaß: Data-Points* *
* Pakull P., u.a: Praktische Anwendungsentwicklung mit Oracle Forms, Hanser Fachbuch, München, 2007
** Sneed H., u.a. : Software in Zahlen, Carl Hanser Verlag, München, 2010
20.11.2010 © TEAM - Ihr Partner für IT 19
Erkenntnis
Dialoge beinhalten trotzt Richtlinien und Code Reviews Geschäftslogik !
Trennung von UI Code, Geschäftslogik und my_tools_utils_pkg!
* Seite 322, Sneed H., u.a. : Software in Zahlen, Carl Hanser Verlag, München, 2010
„Die Auftraggeber haben wenig Ahnung
davon, wie schlecht ihr Code ist. Das
erfahren Sie erst, wenn sie versuchen,
ihn zu migrieren.“ [Harry M. Sneed]
20.11.2010 © TEAM - Ihr Partner für IT 20
my_tools_utils_pkg
* Seite 322, Sneed H., u.a. : Software in Zahlen, Carl Hanser Verlag, München, 2010
Welche Funktionen stellt meine my_tools_utils_pkg zu Verfügung ?
Welchen Anteil an der Produktivität und des Customisation im
Entwicklungsprozess wird durch die my_tools_utils_pkg erreicht ?
Existiert diese Funktion schon auf der Zielplattform ?
Beispiele:
Labels, Mehrsprachigkeit
Applikationsrollen, Autorisierung
Konfiguration von Spaltenreihenfolge und –breite
Navigation
20.11.2010 © TEAM - Ihr Partner für IT 23
Erkenntnis
Es ist nicht ausreichend sich bei der Analyse nur auf die
Software – Artifakte* zu konzentrieren !
Für die spätere Erweiterbarkeit, Wartung und Produktivität ist die
Gegenüberstellung und Anpassung des Entwicklungsprozess
nicht zu unterschätzen.
Technologie + Prozess = Success
* Source Code, Dokumentation etc.
20.11.2010 © TEAM - Ihr Partner für IT 24
Erkenntnis
Worst-Case:
Die Applikation ist auf eine neue Plattform transformiert worden,
aber die Technologie, Methodik und der Entwicklungsprozess
werden nur vom „Migrationsteam“ oder dem Dienstleister
beherrscht.
* Source Code, Dokumentation etc.
20.11.2010 © TEAM - Ihr Partner für IT 25
ReMip – Legacy-Aufbereitung
Vgl: Sneed H., u.a. : Softwaremigration in der Praxis in Zahlen, dpunkt.verlag, Heidelberg, 2010
Altes
SystemSanierung
Aufbereitung
Saniertes
System
Reimple-
mentierung
Reimpl.
SystemErweiterung
Erweitertes
System
20.11.2010 © TEAM - Ihr Partner für IT 26
ReMip: Zieldesign - Plattform
Zukunftssichere Plattform, da strategische Plattform für Oracle
Fusion Application
Langjährige Projekterfahrung durch verschiedene Individualprojekte
Verhalten des Persistenz-Framework ADF BC ist Oracle Forms
angenähert
Löst 90% aller Anforderung an eine Business Applikation
Reicht aus um MyFusionApp zu realisieren
20.11.2010 © TEAM - Ihr Partner für IT 28
ReMip: Zieldesign – Guide Lines
Keine PL/SQL Code Migration aus den Dialogen
Wenn die Randbedingungen es erlauben werden ADF Features
verwendet
Generierung von Teilimplementierung nach einem MDSD Ansatz, da
wo sich von der Implementierung des Anwendungsentwickler sauber
trennen lassen.
:
:
20.11.2010 © TEAM - Ihr Partner für IT 30
ADF Dialog / Task Flow
Lösungsansatz für:
Use Case
Transaktionskontext
Deployment Artifakt
Reduzierung der Komplexität
20.11.2010 © TEAM - Ihr Partner für IT 31
ReMip: Zieldesign (Auswahl)
Gegenstand Oracle Forms Oracle ADF
Anwendungsfall:
„Leergutkunden verwalten“
Modul: le03.fmb ADF Taskflow > 1
ADF ApplicationModule > 1
Deployment: ADF Library
Rahmendialog MDI – main.fmb UI-Shell basierend
Navigation Menu als Baumdarstellung
Auswahl eines Dialoges Öffnet einen
neuen Dialog innerhalb des MDI-
Dialoges.
Menu als Baumdarstellung
UI-Shell basierend
Auswahl eines Dialoges führt zum Öffnen eines
Dialoges / Taskflow innerhalb der UI-Shell aus einer
ADF Library.
Meldungen Alerts Popup – Window
Unterdialoge Popup – Dialoge / modal
Reiter
Popup – Window
´
Page Fragment innerhalb eines Taskflow mit In-place
Darstellung innerhalb des aktuellen Reiters in der UI
Shell.
Forms Module = ADF Taskflow -> ADF Library ist für den Entwicklungsprozess wichtig !
20.11.2010 © TEAM - Ihr Partner für IT 32
ReMip: Zieldesign (Auswahl)
Lösungsansatz für:
Connection Pooling / Database Session Data
Zuweisung von Database Rollen
Trennung der Schichten / Plattform
Vgl. Seite 161 - Völter M., u.a. :Modelgetriebene Softwareentwicklung, dpunkt.verlag, Heidelberg, 2007
20.11.2010 © TEAM - Ihr Partner für IT 33
ReMip: Zieldesign (Offen u.a.)
Mehrsprachigkeit aus der Datenbank oder ResourceBundles
generieren ?
Navigation und Aktionen Metadaten getrieben oder visuell im
JDeveloper ?
Autorisierung über vorhandene Metadaten oder über Oracle
Plattform Security Service (ADF Security) ?
-> Dies erlaubt zur Zeit keine eigene PermissionStore Implementierung !)
Problem der Verteilung von Metadaten !
JDeveloper
XML - Files
Oracle MDS
XML / OID - LDAP
Produkt Metadata
Database Schema
20.11.2010 © TEAM - Ihr Partner für IT 34
ReMip: Transformation
MyToolUtils Metadata
Ansatz: MDSD – Model Driven Software Development
20.11.2010 © TEAM - Ihr Partner für IT 35
ReMip: Transformation
Apache Ant (Buildskript)
Apache Velocity / Texen (Template-/Generator-Engine)
Custom Database Ant-Task (Bereitstellung der notwendigen
Objekte im Template-Context)
Quelle: Gerkmann-Bartels U., Koop A.: Migration von Forms über APEX zu Oracle ADF, DOAG News 1 / 2010
20.11.2010 © TEAM - Ihr Partner für IT 36
ReMIP: Transformation - Templates
templates/adf/model/EntityObject.xml.vm
...
#foreach ($column in $table.content.columns)
#set($datatype = ${column.datatype})
#if($datatype.name.equals("NUMBER"))
<Attribute
Name="${column.nameCamelCase}"
IsNotNull="${datatype.nullable}"
Precision="${datatype.precision}"
Scale="${datatype.scale}"
ColumnName="${column.name.toUpperCase()}"
SQLType="${datatype.sqlType}"
Type="${datatype.sqlType}"
ColumnType="${datatype.name}"
TableName="${table.name}">
<DesignTime>
<Attr Name="_DisplaySize" Value="${datatype.charLength}"/>
</DesignTime>
</Attribute>
#elseif($datatype.name.equals("VARCHAR2"))
...
#end
...
#end
</Entity>
20.11.2010 © TEAM - Ihr Partner für IT 37
ReMIP: Transformation - Templates
build.xml
<target name="init">
<taskdef name="generate"
classname="...taskdef.database.DatabaseSchemaTableExportTask"
classpathref="team.anttask.dependencies"/>
<tstamp/>
</target>
<!-- Generate ADF ViewController-->
<target name="gen-adf-model-objects" depends="init">
<generate sourceconnectstring="${source.db.connectstring}"
sourceuser="${source.db.username}"
sourcepassword="${source.db.password}"
controltemplate="Control.vm"
tablenamepattern="VTS_VI_MIG_*"
outputdirectory="${gen.model.dir}"
templatepath="./src/templates/adf/viewcontroller"
/>
<!—Weitere Generierungsprozesse -->
...
</target>
Quelle: Gerkmann-Bartels U., Koop A.: Migration von Forms über APEX zu Oracle ADF, DOAG News 1 / 2010
20.11.2010 © TEAM - Ihr Partner für IT 39
Ausblick
Quelle: Ackermann, E.: ReMip – Ein Referenz-Prozess der Software-Migration,
Diplomarbeit, Universität Koblenz-Landau, Koblenz, 2005
40
Bücher / Quellen
01/28/10 © TEAM - Ihr Partner für IT 4
Ackermann, E.: ReMip – Ein Referenz-Prozess der Software-Migration,
Diplomarbeit, Universität Koblenz-Landau, Koblenz, 2005
Sneed H., u.a. : Softwaremigration in der Praxis,
Carl Hanser Verlag, München, 2010
Sneed H., u.a. : Software in Zahlen,
Carl Hanser Verlag, München, 2010
Pakull P., u.a.: Praktische Anwendungsentwicklung mit Oracle Forms,
Hanser Fachbuch, München, 2007
Liebhart D., Pakull P.: Modernizierung von PL/SQL und Forms Anwendungen,
Trivadis AG, Glattbrugg, 2008
Völter M., u.a. : Modelgetriebene Softwareentwicklung,
dpunkt.verlag, Heidelberg, 2007
Oracle Jheadstart, Development Guide 11g
41
Oracle ADF Bücher
01/28/10 © TEAM - Ihr Partner für IT 4
Oracle JDeveloper 11g Handbook: A Guide to
Fusion Web Development (Taschenbuch)
von Duncan Mills (Autor), Peter Koletzke (Autor),
Avrom Roy-Faderman (Autor)
Oracle Fusion Developer Guide: Building Rich Internet Applications with
Oracle ADF Business Components and Oracle ADF Faces
(Taschenbuch)
von Frank Nimphius (Autor), Lynn Munsinger (Autor)
Quick Start Guide to Oracle Fusion
Development: Oracle JDeveloper and Oracle
ADF
von Grant Rolnald (Autor),
http://blogs.oracle.com/grantronald/2010/09/the_importance_of_being_adf.html
42
Oracle ADF Community
01/28/10 © TEAM - Ihr Partner für IT 4
TEAM Technology Blog: http://padora.blogspot.com/
Themen-Sprechstunden am TEAM-Stand
20.11.2010 © TEAM - Ihr Partner für IT 44
Forms 11g im Weblogic Server
Stephan La Rocca
Donnerstag, 13:00 – 14:00 Uhr, am TEAM-Stand
Umstellung von Forms auf Oracle ADF –
Was kann übrig bleiben?
Ulrich Gerkmann-Bartels
Donnerstag, 14:00-15:00 Uhr, am TEAM-Stand
Sie können der Gewinner sein!
So einfach geht´s:
TEAM-Stand besuchen - Visitenkarte abgeben
und einen Consulting-Tag von TEAM gewinnen!
Be
ratu
ng
S
oft
wa
re L
ösu
ng
en
TEAM Partner für Technologie
und angewandte Methoden der
Informationsverarbeitung
GmbH
Hermann-Löns-Str. 88
33104 Paderborn
Fon +49 5254 8008-0
Fax +49 5254 8008-19
Mail [email protected]
Web www.team-pb.de
Vielen Dank für Ihre
Aufmerksamkeit!