EFFEKTIVE BLUEPRINTS
FÜR FORMS2ADF

Ulrich Gerkmann-Bartels
und

Andreas Koop

DOAG 2013
ÜBER MICH

Andreas Koop
Geschäftsführung & Consultant
Oracle Technologies

Beratung, Training Oracle Technologie
ADF Certi...
ÜBER MICH

Ulrich Gerkmann-Bartels
Geschäftsführung & Consultant
Oracle Technologies

Beratung, Training Oracle Technologi...
ENTERPRISE PRAGMATIC IT

Consulting
Oracle Business
Intelligence

Training
Oracle
WebCenter

Oracle ADF
ADF Mobile

Oracle...
AGENDA
Blueprint

Dialog-BTF-Form

No. One

Dialog-Register
ValueHolder-ViewObject
Reserve-BusinessObject

DOAG 2013

5
BLUEPRINT
ALS SPRACHBILD
‣

Ein Bauplan

‣

„...Metaphorisch steht das eigentlich rein
technologisch gemeinte Wort Blaupau...
FOKUS
‣

Die neue Applikation soll in der Darstellung und
User Interaktion der Forms - Anwendung gleichen.

‣

Business Lo...
AGENDA
Blueprint

Dialog-Form

No. One

Dialog-Register
ValueHolder-ViewObject
Reserve-BusinessObject

DOAG 2013

9
SMILE
AGENDA
Blueprint

Dialog-Form

No. One

Dialog-Register
ValueHolder-ViewObject
Reserve-BusinessObject

DOAG 2013

12
HERAUSFORDERUNG
‣

Ein Dialog soll als ein Konstrukt im Konzept erkennbar sein

‣

Dialoge sollen keine separaten Datenban...
BLUEPRINT
1.

(Ggfs.) Dialog - Applikation / Workspace
im JDeveloper erstellen

2.

Dialog basierend auf dialog-template.j...
form-template.jsf

DESIGN

form.jsff

Menu

Register

Use Existing Transaction if Possible
Share Datacontrols with calling...
BEWERTUNG
‣

Konzept ermöglicht eine einfache Orientierung für
Forms-Entwickler

‣

Flexible Granularität und Bereitstellu...
AGENDA
Blueprint

Dialog-Form

No. One

Dialog-Register
ValueHolder-ViewObject
Reserve-BusinessObject

DOAG 2013

17
HERAUSFORDERUNG
‣

Validierung bei Wechsel von Registerkarten

‣

Reduzierung der Komplexität (Standard-PanelTabbed
Kompon...
BLUEPRINT
‣

Register als ADF Train mit Validierung

DnD

DOAG 2013
BLUEPRINT
‣

Realisierung durch ADF Taskflow Train

‣

Register werden durch af:navigationPane (hint=tabs)
auf dem Train-Mo...
DESIGN
BTF als Train

tabs-template.jsf

Tabs by
navigationPane
on TrainModel!
DOAG 2013

tabs-template-btf
TabsController...
DESIGN
‣

BTF (Train) auf Basis von Tabs-Template-BTF

‣

Validierungsmethoden, z.B. in AM-Impl Klasse

DOAG 2013
BEWERTUNG
‣

Clean and Simple Design Pattern

‣

Die Vorgehensweise ist für ADF Rookies / Forms
Veteranen transparent und ...
AGENDA
Blueprint

Dialog-Form

No. One

Dialog-Register
ValueHolder-ViewObject
Reserve-BusinessObject

DOAG 2013

24
HERAUSFORDERUNG
‣

Suchdialoge in klassischen Forms-Anwendungen
sind meist sehr komplex und umfangreich

‣

ADF BC ViewCri...
BLUEPRINT
‣

ValueHolder VO definieren

‣

ValueHolder VO-Instanz im AM exponieren

DOAG 2013

26
BLUEPRINT
‣

Einführung eines transienten,
programmatischen ViewObjektes mit exakt
einer Row (als sog. ValueHolder) für di...
DESIGN

DOAG 2013

28
DESIGN
‣

Suche durchführen in einer Service-Methode (AM
oder
VO
Level)

‣

Suchdialog erstellen

DOAG 2013

29
BEWERTUNG
‣

Model-Driven LOVs können für den Aufbau des
Suchdialogs verwendet werden.

‣

Maximale Flexibilität beim Ober...
AGENDA
Blueprint

Dialog-Form

No. One

Dialog-Register
ValueHolder-ViewObject
Reserve-BusinessObject

DOAG 2013

31
HERAUSFORDERUNG
‣

Sperren von Business Objekten / Datensätzen über
einen längeren Zeitraum ohne einen physikalischen
Sper...
BLUEPRINT
throw exception if
business object is locked !

DOAG 2013

33
DESIGN
‣

Erweiterung der Tabellen oder eigenen Datenstruktur
zur Verwaltung einer Sperre

‣

Prüfung der Sperre durch gen...
DESIGN

DOAG 2013

35
DESIGN

DOAG 2013

36
BEWERTUNG
‣

Konzept lässt sich transparent in bestehende
Datenbankanwendungen einführen.

‣

Löst nicht die Problematik v...
*One more thing...
DOAG 2013

39
DOAG 2013

40
VIELEN DANK FÜR IHRE
AUFMERKSAMKEIT
Join our team
We‘re HIRING
!

HABEN SIE NOCH FRAGEN?
Effective Blueprints for Forms 2 Oracle ADF
Effective Blueprints for Forms 2 Oracle ADF
Effective Blueprints for Forms 2 Oracle ADF
Nächste SlideShare
Wird geladen in …5
×

Effective Blueprints for Forms 2 Oracle ADF

1.288 Aufrufe

Veröffentlicht am

Vortrag von Ulrich Gerkmann-Bartels (@enpit) und Andreas Koop (@enpit) zu effektiven Blueprints für Oracle Forms zu Oracle ADF auf der DOAG 2013 Konferenz (#doag2013).

Veröffentlicht in: Technologie
0 Kommentare
0 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Keine Downloads
Aufrufe
Aufrufe insgesamt
1.288
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
210
Aktionen
Geteilt
0
Downloads
5
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

Effective Blueprints for Forms 2 Oracle ADF

  1. 1. EFFEKTIVE BLUEPRINTS FÜR FORMS2ADF Ulrich Gerkmann-Bartels und Andreas Koop DOAG 2013
  2. 2. ÜBER MICH Andreas Koop Geschäftsführung & Consultant Oracle Technologies Beratung, Training Oracle Technologie ADF Certified Implementation Specialist Community DOAG, ADF EMG, ADF German Community, Twitter @multikoop Blog Technical http://multikoop.blogspot.com Sonstiges http://www.enpit.de/blog 2
  3. 3. ÜBER MICH Ulrich Gerkmann-Bartels Geschäftsführung & Consultant Oracle Technologies Beratung, Training Oracle Technologie ADF Certified Implementation Specialist Community DOAG, ADF EMG, ADF German Community, Twitter @Gerkmann-Bartels Blog Technical http://maybe-interesting.blogspot.com Sonstiges http://www.enpit.de/blog Ulrich Gerkmann-Bartels 3
  4. 4. ENTERPRISE PRAGMATIC IT Consulting Oracle Business Intelligence Training Oracle WebCenter Oracle ADF ADF Mobile Oracle Fusion Middleware 4 Development Oracle WebLogic
  5. 5. AGENDA Blueprint Dialog-BTF-Form No. One Dialog-Register ValueHolder-ViewObject Reserve-BusinessObject DOAG 2013 5
  6. 6. BLUEPRINT ALS SPRACHBILD ‣ Ein Bauplan ‣ „...Metaphorisch steht das eigentlich rein technologisch gemeinte Wort Blaupause für ein maßgebendes Urmodell oder einen Masterplan...“* ‣ Kommunikationshilfe -> Design Pattern ‣ Design und Implementierungsvorgabe * Wikipedia: Blaupause - Verwendung als Sprachbild DOAG 2013
  7. 7. FOKUS ‣ Die neue Applikation soll in der Darstellung und User Interaktion der Forms - Anwendung gleichen. ‣ Business Logik befindet sich in der Datenbank ‣ Ergänzender und unterstützender Datenbankcode ist akzeptabel ‣ Bestehendes Entwicklungsteam soll sich in der Lernphase und Weiterentwicklung wiederfinden DOAG 2013
  8. 8. AGENDA Blueprint Dialog-Form No. One Dialog-Register ValueHolder-ViewObject Reserve-BusinessObject DOAG 2013 9
  9. 9. SMILE
  10. 10. AGENDA Blueprint Dialog-Form No. One Dialog-Register ValueHolder-ViewObject Reserve-BusinessObject DOAG 2013 12
  11. 11. HERAUSFORDERUNG ‣ Ein Dialog soll als ein Konstrukt im Konzept erkennbar sein ‣ Dialoge sollen keine separaten Datenbankverbindung öffnen ‣ Formulare sollen auch in anderen Rahmenapplikationen einsetzbar sein ‣ Formulare im Dialog sollen ggfs. eigenen Transaktionsrahmen setzen ‣ Dialoge sollen sehr einfach aus der ganzen Applikation aufrufbar sein. DOAG 2013
  12. 12. BLUEPRINT 1. (Ggfs.) Dialog - Applikation / Workspace im JDeveloper erstellen 2. Dialog basierend auf dialog-template.jsf erstellen 3. Dialog BTF basierend auf dialog-copytemplate.xml erstellen 4. Form basierend auf form-template.jsf erstellen 5. Dialog BTF durch View und MethodeActivity auffüllen 6. DOAG 2013 enpit.sample.dlgfrm Punkt 1. - 4. sind prinzipiell durch einen Wizard generierbar. Binding in der Form umsetzen 14
  13. 13. form-template.jsf DESIGN form.jsff Menu Register Use Existing Transaction if Possible Share Datacontrols with calling task flow entry dialog-btf dialog-copy-btf-template dialog.jsf codename.dialog dialog-template.jsf dialog-base-btf DialogManager Scope:View adfc-config.xml DOAG 2013 Dialog: Vollständige ausführbare Benutzeroberfläche Form: Teil eines Benutzerinterfaces 15
  14. 14. BEWERTUNG ‣ Konzept ermöglicht eine einfache Orientierung für Forms-Entwickler ‣ Flexible Granularität und Bereitstellung* 1-N Dialoge pro JDev-Application ADF Library / Shared WLS Library / EAR ‣ Dialoge sind für sich alleine lauffähig und testbar *DOAG Development 2013: Continuous Delivery in ADF Projekten... DOAG 2013 16
  15. 15. AGENDA Blueprint Dialog-Form No. One Dialog-Register ValueHolder-ViewObject Reserve-BusinessObject DOAG 2013 17
  16. 16. HERAUSFORDERUNG ‣ Validierung bei Wechsel von Registerkarten ‣ Reduzierung der Komplexität (Standard-PanelTabbed Komponente lädt alle Registerkarten-Inhalte!) ‣ Ausbaufähig zu einem Prozessfluss (BPM) DOAG 2013
  17. 17. BLUEPRINT ‣ Register als ADF Train mit Validierung DnD DOAG 2013
  18. 18. BLUEPRINT ‣ Realisierung durch ADF Taskflow Train ‣ Register werden durch af:navigationPane (hint=tabs) auf dem Train-Model erzeugt ‣ Jeder Reiterinhalt ist ein Page-Fragment (JSFF) ‣ Von jedem Page-Fragment führt eine Navigation-Rule namens „validate“ zur jeweiligen Validierungsmethode DOAG 2013
  19. 19. DESIGN BTF als Train tabs-template.jsf Tabs by navigationPane on TrainModel! DOAG 2013 tabs-template-btf TabsController Scope:PageFlow TabsViewBean Scope:View #{pageFlowScope.TabsController.afterValidate}
  20. 20. DESIGN ‣ BTF (Train) auf Basis von Tabs-Template-BTF ‣ Validierungsmethoden, z.B. in AM-Impl Klasse DOAG 2013
  21. 21. BEWERTUNG ‣ Clean and Simple Design Pattern ‣ Die Vorgehensweise ist für ADF Rookies / Forms Veteranen transparent und wartbar ‣ Ausbaufähig zu einem Prozessablauf (da bereits als Train implementiert ;) DOAG 2013
  22. 22. AGENDA Blueprint Dialog-Form No. One Dialog-Register ValueHolder-ViewObject Reserve-BusinessObject DOAG 2013 24
  23. 23. HERAUSFORDERUNG ‣ Suchdialoge in klassischen Forms-Anwendungen sind meist sehr komplex und umfangreich ‣ ADF BC ViewCriteria Ansatz ist zu unflexibel. Es lassen sich nur wenige Anpassungen vornehmen ‣ Beispiel DOAG 2013
  24. 24. BLUEPRINT ‣ ValueHolder VO definieren ‣ ValueHolder VO-Instanz im AM exponieren DOAG 2013 26
  25. 25. BLUEPRINT ‣ Einführung eines transienten, programmatischen ViewObjektes mit exakt einer Row (als sog. ValueHolder) für die Aufnahme der Suchkriterien ‣ Es können alle ADF BC Features für die Erstellung der Suchmaske genutzt werden ‣ Der Flexibilität sind keine Grenzen gesetzt ‣ Gewohnte (ADF Minded) Arbeitsweise über die DataControl Palette DOAG 2013 27
  26. 26. DESIGN DOAG 2013 28
  27. 27. DESIGN ‣ Suche durchführen in einer Service-Methode (AM oder VO Level) ‣ Suchdialog erstellen DOAG 2013 29
  28. 28. BEWERTUNG ‣ Model-Driven LOVs können für den Aufbau des Suchdialogs verwendet werden. ‣ Maximale Flexibilität beim Oberflächendesign der Suchmaske ‣ Dynamische Zusammenstellung der WHERE- und ORDER BY-Klausel möglich (bei Bedarf) ‣ Die Vorgehensweise ist für ADF Rookies / Forms Veteranen transparent und wartbar DOAG 2013 30
  29. 29. AGENDA Blueprint Dialog-Form No. One Dialog-Register ValueHolder-ViewObject Reserve-BusinessObject DOAG 2013 31
  30. 30. HERAUSFORDERUNG ‣ Sperren von Business Objekten / Datensätzen über einen längeren Zeitraum ohne einen physikalischen Sperre (Lock) zuhalten ‣ Nutzen von Connection Pooling DOAG 2013
  31. 31. BLUEPRINT throw exception if business object is locked ! DOAG 2013 33
  32. 32. DESIGN ‣ Erweiterung der Tabellen oder eigenen Datenstruktur zur Verwaltung einer Sperre ‣ Prüfung der Sperre durch generierte Trigger oder Programmablauf ‣ Keep-Alive durch (ADF-) Anwendung notwendig ‣ Automatische entfernen einer Sperre durch Datenbank - Job DOAG 2013 34
  33. 33. DESIGN DOAG 2013 35
  34. 34. DESIGN DOAG 2013 36
  35. 35. BEWERTUNG ‣ Konzept lässt sich transparent in bestehende Datenbankanwendungen einführen. ‣ Löst nicht die Problematik von globalen Packagevariablen und im Code gesetzten Locks. ‣ Erfordert ein eigenes Management der Sperre ‣ Durch Integration in Dialog Task Flow Template leicht nutzbar DOAG 2013 37
  36. 36. *One more thing...
  37. 37. DOAG 2013 39
  38. 38. DOAG 2013 40
  39. 39. VIELEN DANK FÜR IHRE AUFMERKSAMKEIT Join our team We‘re HIRING ! HABEN SIE NOCH FRAGEN?

×