+ All Categories
Home > Technology > Effective Blueprints for Forms 2 Oracle ADF

Effective Blueprints for Forms 2 Oracle ADF

Date post: 14-Jun-2015
Category:
Upload: enpit-consulting-ohg
View: 614 times
Download: 1 times
Share this document with a friend
Description:
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).
42
DOAG 2013 Ulrich Gerkmann-Bartels und Andreas Koop EFFEKTIVE BLUEPRINTS FÜR FORMS2ADF
Transcript
Page 1: Effective Blueprints for Forms 2 Oracle ADF

DOAG 2013

Ulrich Gerkmann-Bartelsund

Andreas Koop

EFFEKTIVE BLUEPRINTS FÜR FORMS2ADF

Page 2: Effective Blueprints for Forms 2 Oracle ADF

Andreas KoopGeschäftsführung & Consultant

Oracle Technologies

ÜBER MICH

Beratung, Training Oracle TechnologieADF Certified Implementation Specialist

CommunityDOAG, ADF EMG, ADF German Community, Twitter @multikoop

BlogTechnical http://multikoop.blogspot.comSonstiges http://www.enpit.de/blog

2

Page 3: Effective Blueprints for Forms 2 Oracle ADF

Ulrich Gerkmann-BartelsGeschäftsführung & Consultant

Oracle Technologies

Ulrich Gerkmann-Bartels

ÜBER MICH

Beratung, Training Oracle TechnologieADF Certified Implementation Specialist

CommunityDOAG, ADF EMG, ADF German Community, Twitter @Gerkmann-Bartels

BlogTechnical http://maybe-interesting.blogspot.comSonstiges http://www.enpit.de/blog

3

Page 4: Effective Blueprints for Forms 2 Oracle ADF

Training DevelopmentConsultingOracle Business

IntelligenceOracle ADFADF Mobile

OracleWebLogic

OracleWebCenter

ENTERPRISE PRAGMATIC IT

Oracle Fusion Middleware

4

Page 5: Effective Blueprints for Forms 2 Oracle ADF

DOAG 2013

AGENDA

Blueprint

No. One

Dialog-BTF-Form

Dialog-Register

ValueHolder-ViewObject

Reserve-BusinessObject

5

Page 6: Effective Blueprints for Forms 2 Oracle ADF
Page 7: Effective Blueprints for Forms 2 Oracle ADF

DOAG 2013

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

Page 8: Effective Blueprints for Forms 2 Oracle ADF

DOAG 2013

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

Page 9: Effective Blueprints for Forms 2 Oracle ADF

DOAG 2013

AGENDA

Blueprint

No. One

Dialog-Form

Dialog-Register

ValueHolder-ViewObject

Reserve-BusinessObject

9

Page 10: Effective Blueprints for Forms 2 Oracle ADF

SMILE

Page 11: Effective Blueprints for Forms 2 Oracle ADF
Page 12: Effective Blueprints for Forms 2 Oracle ADF

DOAG 2013

AGENDA

Blueprint

No. One

Dialog-Form

Dialog-Register

ValueHolder-ViewObject

Reserve-BusinessObject

12

Page 13: Effective Blueprints for Forms 2 Oracle ADF

DOAG 2013

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.

Page 14: Effective Blueprints for Forms 2 Oracle ADF

DOAG 2013

BLUEPRINT

14

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

2. Dialog basierend auf dialog-template.jsf erstellen

3. Dialog BTF basierend auf dialog-copy-template.xml erstellen

4. Form basierend auf form-template.jsf erstellen

5. Dialog BTF durch View und MethodeActivity auffüllen

6. Binding in der Form umsetzen

enpit.sample.dlgfrm

Punkt 1. - 4. sind prinzipiell durch einenWizard generierbar.

Page 15: Effective Blueprints for Forms 2 Oracle ADF

DOAG 2013

DESIGN

15

dialog.jsf

Menu

dialog-btf

form.jsff

dialog-copy-btf-template

dialog-base-btfcodename.dialog

adfc-config.xml Dialog: Vollständige ausführbare BenutzeroberflächeForm: Teil eines Benutzerinterfaces

DialogManagerScope:View

Register

dialog-template.jsf

form-template.jsf

Use Existing Transaction if PossibleShare Datacontrols with calling task flow entry

Page 16: Effective Blueprints for Forms 2 Oracle ADF

DOAG 2013

BEWERTUNG

16

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

‣ Flexible Granularität und Bereitstellung*

‣ Dialoge sind für sich alleine lauffähig und testbar

1-N Dialoge pro JDev-ApplicationADF Library / Shared WLS Library / EAR

*DOAG Development 2013: Continuous Delivery in ADF Projekten...

Page 17: Effective Blueprints for Forms 2 Oracle ADF

DOAG 2013

AGENDA

Blueprint

No. One

Dialog-Form

Dialog-Register

ValueHolder-ViewObject

Reserve-BusinessObject

17

Page 18: Effective Blueprints for Forms 2 Oracle ADF

DOAG 2013

HERAUSFORDERUNG ‣ Validierung bei Wechsel von Registerkarten

‣ Reduzierung der Komplexität (Standard-PanelTabbed Komponente lädt alle Registerkarten-Inhalte!)

‣ Ausbaufähig zu einem Prozessfluss (BPM)

Page 19: Effective Blueprints for Forms 2 Oracle ADF

DOAG 2013

BLUEPRINT ‣ Register als ADF Train mit Validierung

DnD

Page 20: Effective Blueprints for Forms 2 Oracle ADF

DOAG 2013

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

Page 21: Effective Blueprints for Forms 2 Oracle ADF

DOAG 2013

DESIGN

tabs-template.jsf tabs-template-btfTabsControllerScope:PageFlow

#{pageFlowScope.TabsController.afterValidate}

TabsViewBeanScope:View

BTF als Train

Tabs by navigationPane on TrainModel!

Page 22: Effective Blueprints for Forms 2 Oracle ADF

DOAG 2013

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

‣ Validierungsmethoden, z.B. in AM-Impl Klasse

Page 23: Effective Blueprints for Forms 2 Oracle ADF

DOAG 2013

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 ;)

Page 24: Effective Blueprints for Forms 2 Oracle ADF

DOAG 2013

AGENDA

Blueprint

No. One

Dialog-Form

Dialog-Register

ValueHolder-ViewObject

Reserve-BusinessObject

24

Page 25: Effective Blueprints for Forms 2 Oracle ADF

DOAG 2013

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

Page 26: Effective Blueprints for Forms 2 Oracle ADF

DOAG 2013

‣ ValueHolder VO definieren

‣ ValueHolder VO-Instanz im AM exponieren

BLUEPRINT

26

Page 27: Effective Blueprints for Forms 2 Oracle ADF

DOAG 2013

BLUEPRINT

27

‣ 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

Page 28: Effective Blueprints for Forms 2 Oracle ADF

DOAG 2013

DESIGN

28

Page 29: Effective Blueprints for Forms 2 Oracle ADF

DOAG 2013

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

‣ Suchdialog erstellen

DESIGN

29

Page 30: Effective Blueprints for Forms 2 Oracle ADF

DOAG 2013

BEWERTUNG

30

‣ 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

Page 31: Effective Blueprints for Forms 2 Oracle ADF

DOAG 2013

AGENDA

Blueprint

No. One

Dialog-Form

Dialog-Register

ValueHolder-ViewObject

Reserve-BusinessObject

31

Page 32: Effective Blueprints for Forms 2 Oracle ADF

DOAG 2013

HERAUSFORDERUNG ‣ Sperren von Business Objekten / Datensätzen über

einen längeren Zeitraum ohne einen physikalischen Sperre (Lock) zuhalten

‣ Nutzen von Connection Pooling

Page 33: Effective Blueprints for Forms 2 Oracle ADF

DOAG 2013

BLUEPRINT

33

throw exception if business object is locked !

Page 34: Effective Blueprints for Forms 2 Oracle ADF

DOAG 2013

DESIGN

34

‣ 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

Page 35: Effective Blueprints for Forms 2 Oracle ADF

DOAG 2013

DESIGN

35

Page 36: Effective Blueprints for Forms 2 Oracle ADF

DOAG 2013

DESIGN

36

Page 37: Effective Blueprints for Forms 2 Oracle ADF

DOAG 2013

BEWERTUNG

37

‣ 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

Page 38: Effective Blueprints for Forms 2 Oracle ADF

*One more thing...

Page 39: Effective Blueprints for Forms 2 Oracle ADF

DOAG 2013 39

Page 40: Effective Blueprints for Forms 2 Oracle ADF

DOAG 2013 40

Page 41: Effective Blueprints for Forms 2 Oracle ADF

VIELEN DANK FÜR IHRE AUFMERKSAMKEIT

HABEN SIE NOCH FRAGEN?

Join our team -We‘re HIRING !

Page 42: Effective Blueprints for Forms 2 Oracle ADF

Recommended