Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.
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.469 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
  • Als Erste(r) kommentieren

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

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?

×