umstellung von forms auf oracle adf was kann übrig bleiben · pdf fileberatung,...

43
Beratung Software Lösungen Umstellung von Forms auf Oracle ADF Was kann übrig bleiben ? Ulrich Gerkmann-Bartels Senior Consultant Oracle Technologies [email protected]

Upload: lyduong

Post on 06-Feb-2018

215 views

Category:

Documents


0 download

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

[email protected]

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

[email protected]

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

Einige unserer Kunden

12.03.2010 9© TEAM - Ihr Partner für IT

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 13

Ausgangslage

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 17

APEX Metadata Schema

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 21

Ist-Analyse des Entwicklungsprozesses

20.11.2010 22

Beispiel für ProTools / my_tools_utils_pkg

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 27

Forms ist nicht ADF

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 29

Forms Dialog Flow

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 38

Ausblick - SOA Enabling

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/

20.11.2010 © TEAM - Ihr Partner für IT 43

Haben Sie noch Fragen ?

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!