Beratung Software Lösungen
                          Ulrich
Praxisbericht Oracle      Gerkmann-Bartels
                          Senior Consultant Business
JDeveloper 11g ADF Rich   Oracle Technologies


Client Entwicklung        ugb@team-pb.de
Agenda

 Erwartungen und Anforderungen
 Architektur
 Komponentenauswahl und Erfahrungen
 Entwicklungsinfrastruktur
 Test
 Entwicklungsteam
 Fazit und Hinweise




16.12.2011   © TEAM - Ihr Partner f ür IT   3
Erwartungen und Anforderungen

  Baukasten, um eine modernen Business Application
   entwickeln zu können

  Komponentenbasiert

  Produktiv und leicht zielführend

  Keine technologische Sackgasse




16.12.2011   © TEAM - Ihr Partner f ür IT             4
Architektur




                                            Quelle: Oracle
16.12.2011   © TEAM - Ihr Partner f ür IT               6
Architektur




16.12.2011   © TEAM - Ihr Partner f ür IT   7
User Interface – Needed Features
      Tabelle mit automatischen Nachladen der Datensätze.

      Editierbare Tabelle wie in Oracle Forms.

      Spalten Management
        ( Ein-/Ausblenden, Verschieben, Speicherung zum Benutzer)

      Spaltenfilter vergleichbar mit der Filterfunktion in Microsoft Excel.

      Export der aktuell selektierten Tabellendaten nach Microsoft Excel

      Ein- und Ausblenden von Bereichen.

      Verschiedene Diagrammtypen wie in Excel.

      Menubar, Menus, Submenus

      Download von BLOB als Datei




16.12.2011   © TEAM - Ihr Partner f ür IT                                     8
ADF Faces - Auswahlkriterien

 a. Keine bunte Wiese von JSF Komponenten mit Abhängigkeiten zu
    N – Libraries.

 b. Verwendung und Look-And-Feel sind abgestimmt untereinander.

 c. Anbindung an die Datenquelle folgt den gleichen Prinzipien.




             Das hilft nicht über die Tatsache hinweg, dass es zahlreiche Komponenten
                                   mit sehr vielen Eigenschaften gibt.


16.12.2011   © TEAM - Ihr Partner f ür IT                                               9
ADF Faces – Editierbare Tabellen

   Sollten Sie die Anforderung haben, eine editierbare Tabelle
   mit 100 Spalten oder mehr anzeigen zu müssen, sollten Sie
                   dies dem Kunden ausreden !

      Es geht mit ADF, aber es führt zu einer erheblichen Java
                   Script Laufzeit auf dem Client.




16.12.2011   © TEAM - Ihr Partner f ür IT                        10
ADF Task Flows




16.12.2011   © TEAM - Ihr Partner f ür IT   11
Aufbau des UI

 a. Corporate Skin erstellen
                                                            Fahrplan

 b. Page Template erstellen

 c. Task Flow Template erstellen

 d. Use Case Ansatz:
        a.   Application Model zum Use Case / Dialogfolge
        b.   Task Flow zum Use Case / Dialogfolge


 e. Use Case wird als Task Flow innerhalb von Area Pages als
    dynamische Region wiederverwendet

 f.     Task Flows von Anfang an !

16.12.2011   © TEAM - Ihr Partner f ür IT                              12
Pages, Task Flows und Navigation



                                               Home

                                                                  Navigation zu Area Pages


                                                        Admin
             Customer             Report



                                                                Configuration
                        Info

                                                                Import
                        Orders

                                                                Logs



         Navigation durch Austausch von Task Flows innerhalb dynamischer Regionen.



16.12.2011      © TEAM - Ihr Partner f ür IT                                            13
ADF Task Flow

 a. Fluss- und Aktionssteuerung in einem Dialog von Anfang an mit Task Flows
    abbilden.

 b. Alle Aktionen innerhalb eines Dialoges, sollten eine „Activity“ in einem Task
    Flow auslösen. Dies fördert das Verständnis der Abläufe und die Möglichkeit,
    die Funktionalitäten innerhalb eines Dialoges leicht auszutauschen.

 c. Aktualisiere den Task Flow über Task Flow Parameter.*




 *Fusion Developer’s Guide for Oracle Application Development Framework, S. 550
 16.1.7 What You May Need to Know About Refreshing an ADF Region
16.12.2011   © TEAM - Ihr Partner f ür IT                                           14
Performance

 a. Knowing your binding !




 b. Don‘t touch parameters you don‘t understand !




16.12.2011   © TEAM - Ihr Partner f ür IT           15
Performance

 c. ViewObject: FetchSize - Binding: RangeSize




      Bei Verwendung von einer Mouse Scroll Wheel ist unter Umständen, das Dreifache der
                            angezeigten Datensätze zu empfehlen.
16.12.2011   © TEAM - Ihr Partner f ür IT                                              16
Agenda

 Erwartungen und Anforderungen
 Architektur
 Komponentenauswahl und Erfahrungen
 Entwicklungsinfrastruktur
 Test
 Entwicklungsteam
 Fazit und Hinweise




16.12.2011   © TEAM - Ihr Partner f ür IT   17
telde – TEam Linux Development Env
       Team Repository                          Development                 Test / Nightly Build

       OELinux 5.3                            OELinux 5.3                  OELinux 5.3
       JDeveloper 11.1.x                      JDeveloper 11.1.x            Oracle DB 10.2
       Hudson CI                              Hudson CI                    JDeveloper 11.1.x
       OpenLDAP                               OpenLDAP                     Hudson CI
       SVN Repository                         Selenium RC                  OpenLDAP
       OTPC                                   SVN Repository               Selenium RC
                                                                           SVN Repository

                                                         VM Ware 1                      VM Ware 2




Virtualisierung:

a.Entwicklungsumgebung - Historisierung der DevEnv
b.Testumgebung - Back to Snapshot
c.Clonen der Umgebung für neue Projekte - „project appliance“
d.Nur aktive Entwicklungen benötigen Laufzeitressourcen -> Green IT

                                                              Google: telde, oracle -> padora.blogspot.com
  16.12.2011   © TEAM - Ihr Partner f ür IT                                                          18
Test

 a.) Database                               Small PL SQL Unit Test Framework
 PL SQL Unit Test                                   SQLPlus Ant Task



 b.) Business Model                             JUnit Test der AM und VO
 ADF Business Components



 c.) User Interface                                 Selenium IDE/RC
 ADF Faces Web Pages


 d.) Reporting                                      WS Call mit JUnit
 BI Publisher


                                                      Nightly Build mit Hudson CI




16.12.2011   © TEAM - Ihr Partner f ür IT                                           19
Agenda

 Erwartungen und Anforderungen
 Architektur
 Komponentenauswahl und Erfahrungen
 Entwicklungsinfrastruktur
 Test
 Entwicklungsteam
 Fazit und Hinweise




16.12.2011   © TEAM - Ihr Partner f ür IT   20
Grundsätzliche Schwierigkeit mit ADF




                              Architektur

                       Nicht die Architektur ist falsch, sondern das Verständnis
                              und Verinnerlichung fällt nicht vom Himmel.



16.12.2011   © TEAM - Ihr Partner f ür IT                                          21
Forms / 4GL – Entwickler

 Forms                                        JDeveloper

 Eine Eigenschaft – ein Konfigurationspunkt N – Konfigurationspunkte für die gleiche
                                            Eigenschaft

                                              Scheinbar undurchschaubare Tiefe von dem
                                              Label im Dialog bis zur Eigenschaft des
                                              Entity Objects in den Control Hints



    Die Vielzahl der Eigenschaft führt dazu, dass ein Lernen durch Try-and-Error nicht mehr
             direkt zielführend ist, da die Auswirkungen nicht direkt erkennbar sind.

      Welche Schicht (UI / Model / Database) verwende ich, um einen Use Case zu lösen ?

  10 Tage Schulung und Einarbeitung sind nicht ausreichend, es wird ein Mentor / Pfadfinder
              benötigt der den Baum im Wald identifiziert und den Weg zeigt.



16.12.2011   © TEAM - Ihr Partner f ür IT                                                     22
Java Entwickler

  Oh, Nice Features ?!

  Es mangelt an Stabilität der IDE.

  Mehr Dokumentation*




JDeveloper 11g: 11.1.1.0

- Windows Screensaver ausschalten
- Integration von SVN ausschalten
- Keep things small !
                                             * ADF Source Code kann bei Oracle angefordert werden.
 16.12.2011   © TEAM - Ihr Partner f ür IT                                                   23
Entwicklungsteam – Oracle ADF

 a. ADF Business Components und ADF Faces ist der leichtere und schnellere
    Weg sich der Java EE Plattform zu nähern, als auf Basis von Java EE Kursen
    und Ausbildungspfaden im klassischen Sinne dies zu erreichen.

 b. Diese Technologie ist eine gute Möglichkeit zwei Ausprägungen von
    Entwicklern (4GL / Java) gemeinsam an einem Projekt arbeiten zu lassen.




   Denn Sie benötigen für ein erfolgreiches ADF Projekt einen Java Entwickler und
      vielleicht jemanden, der nicht alles selbst implementieren will und den 4GL
                                   Gedanken umsetzt.




16.12.2011   © TEAM - Ihr Partner f ür IT                                       24
Fazit und Ausblicke



    Oracle ADF ist die strategische Entwicklungsplattform für
                       Fusion Applications.

     Dieses Framework wird es noch lange geben und es wird
         sicherlich in Zukunft noch wesentlich ausgebaut.

         Es ist eine (gute) Möglichkeit / Chance als Forms-4GL
           Entwickler die Java EE Plattform zu erschließen.




16.12.2011   © TEAM - Ihr Partner f ür IT                        25
Fazit und Ausblicke

 JDeveloper 11.1.1.2.0 ist verfügbar !

 OTN, JDeveloper RSS Feed und Twitter

 http://www.oracle.com/technology/products/adf/patterns/index.html




16.12.2011   © TEAM - Ihr Partner f ür IT                            26
Fazit und Ausblicke

  http://adfbugs.blogspot.com




  http://adfgarage.blogspot.com




  http://padora.blogspot.com
  deutsch
  Google: telde oracle



 16.12.2011   © TEAM - Ihr Partner f ür IT   27
Beratung Software Lösungen
                       TEAM Partner für Technologie

Vielen Dank für Ihre   und angewandte Methoden der
                       Informationsverarbeitung
                       GmbH


Aufmerksamkeit!        Hermann-Löns-Str. 88
                       33104 Paderborn

                       Fon +49 5254 8008-0
                       Fax +49 5254 8008-19

                       Mail team@team-pb.de
                       Web www.team -pb.de

DOAG 2010: ADF Faces RC Best Practice

  • 1.
    Beratung Software Lösungen Ulrich Praxisbericht Oracle Gerkmann-Bartels Senior Consultant Business JDeveloper 11g ADF Rich Oracle Technologies Client Entwicklung ugb@team-pb.de
  • 2.
    Agenda Erwartungen undAnforderungen Architektur Komponentenauswahl und Erfahrungen Entwicklungsinfrastruktur Test Entwicklungsteam Fazit und Hinweise 16.12.2011 © TEAM - Ihr Partner f ür IT 3
  • 3.
    Erwartungen und Anforderungen  Baukasten, um eine modernen Business Application entwickeln zu können  Komponentenbasiert  Produktiv und leicht zielführend  Keine technologische Sackgasse 16.12.2011 © TEAM - Ihr Partner f ür IT 4
  • 4.
    Architektur Quelle: Oracle 16.12.2011 © TEAM - Ihr Partner f ür IT 6
  • 5.
    Architektur 16.12.2011 © TEAM - Ihr Partner f ür IT 7
  • 6.
    User Interface –Needed Features Tabelle mit automatischen Nachladen der Datensätze. Editierbare Tabelle wie in Oracle Forms. Spalten Management ( Ein-/Ausblenden, Verschieben, Speicherung zum Benutzer) Spaltenfilter vergleichbar mit der Filterfunktion in Microsoft Excel. Export der aktuell selektierten Tabellendaten nach Microsoft Excel Ein- und Ausblenden von Bereichen. Verschiedene Diagrammtypen wie in Excel. Menubar, Menus, Submenus Download von BLOB als Datei 16.12.2011 © TEAM - Ihr Partner f ür IT 8
  • 7.
    ADF Faces -Auswahlkriterien a. Keine bunte Wiese von JSF Komponenten mit Abhängigkeiten zu N – Libraries. b. Verwendung und Look-And-Feel sind abgestimmt untereinander. c. Anbindung an die Datenquelle folgt den gleichen Prinzipien. Das hilft nicht über die Tatsache hinweg, dass es zahlreiche Komponenten mit sehr vielen Eigenschaften gibt. 16.12.2011 © TEAM - Ihr Partner f ür IT 9
  • 8.
    ADF Faces –Editierbare Tabellen Sollten Sie die Anforderung haben, eine editierbare Tabelle mit 100 Spalten oder mehr anzeigen zu müssen, sollten Sie dies dem Kunden ausreden ! Es geht mit ADF, aber es führt zu einer erheblichen Java Script Laufzeit auf dem Client. 16.12.2011 © TEAM - Ihr Partner f ür IT 10
  • 9.
    ADF Task Flows 16.12.2011 © TEAM - Ihr Partner f ür IT 11
  • 10.
    Aufbau des UI a. Corporate Skin erstellen Fahrplan b. Page Template erstellen c. Task Flow Template erstellen d. Use Case Ansatz: a. Application Model zum Use Case / Dialogfolge b. Task Flow zum Use Case / Dialogfolge e. Use Case wird als Task Flow innerhalb von Area Pages als dynamische Region wiederverwendet f. Task Flows von Anfang an ! 16.12.2011 © TEAM - Ihr Partner f ür IT 12
  • 11.
    Pages, Task Flowsund Navigation Home Navigation zu Area Pages Admin Customer Report Configuration Info Import Orders Logs Navigation durch Austausch von Task Flows innerhalb dynamischer Regionen. 16.12.2011 © TEAM - Ihr Partner f ür IT 13
  • 12.
    ADF Task Flow a. Fluss- und Aktionssteuerung in einem Dialog von Anfang an mit Task Flows abbilden. b. Alle Aktionen innerhalb eines Dialoges, sollten eine „Activity“ in einem Task Flow auslösen. Dies fördert das Verständnis der Abläufe und die Möglichkeit, die Funktionalitäten innerhalb eines Dialoges leicht auszutauschen. c. Aktualisiere den Task Flow über Task Flow Parameter.* *Fusion Developer’s Guide for Oracle Application Development Framework, S. 550 16.1.7 What You May Need to Know About Refreshing an ADF Region 16.12.2011 © TEAM - Ihr Partner f ür IT 14
  • 13.
    Performance a. Knowingyour binding ! b. Don‘t touch parameters you don‘t understand ! 16.12.2011 © TEAM - Ihr Partner f ür IT 15
  • 14.
    Performance c. ViewObject:FetchSize - Binding: RangeSize Bei Verwendung von einer Mouse Scroll Wheel ist unter Umständen, das Dreifache der angezeigten Datensätze zu empfehlen. 16.12.2011 © TEAM - Ihr Partner f ür IT 16
  • 15.
    Agenda Erwartungen undAnforderungen Architektur Komponentenauswahl und Erfahrungen Entwicklungsinfrastruktur Test Entwicklungsteam Fazit und Hinweise 16.12.2011 © TEAM - Ihr Partner f ür IT 17
  • 16.
    telde – TEamLinux Development Env Team Repository Development Test / Nightly Build OELinux 5.3 OELinux 5.3 OELinux 5.3 JDeveloper 11.1.x JDeveloper 11.1.x Oracle DB 10.2 Hudson CI Hudson CI JDeveloper 11.1.x OpenLDAP OpenLDAP Hudson CI SVN Repository Selenium RC OpenLDAP OTPC SVN Repository Selenium RC SVN Repository VM Ware 1 VM Ware 2 Virtualisierung: a.Entwicklungsumgebung - Historisierung der DevEnv b.Testumgebung - Back to Snapshot c.Clonen der Umgebung für neue Projekte - „project appliance“ d.Nur aktive Entwicklungen benötigen Laufzeitressourcen -> Green IT Google: telde, oracle -> padora.blogspot.com 16.12.2011 © TEAM - Ihr Partner f ür IT 18
  • 17.
    Test a.) Database Small PL SQL Unit Test Framework PL SQL Unit Test SQLPlus Ant Task b.) Business Model JUnit Test der AM und VO ADF Business Components c.) User Interface Selenium IDE/RC ADF Faces Web Pages d.) Reporting WS Call mit JUnit BI Publisher Nightly Build mit Hudson CI 16.12.2011 © TEAM - Ihr Partner f ür IT 19
  • 18.
    Agenda Erwartungen undAnforderungen Architektur Komponentenauswahl und Erfahrungen Entwicklungsinfrastruktur Test Entwicklungsteam Fazit und Hinweise 16.12.2011 © TEAM - Ihr Partner f ür IT 20
  • 19.
    Grundsätzliche Schwierigkeit mitADF Architektur Nicht die Architektur ist falsch, sondern das Verständnis und Verinnerlichung fällt nicht vom Himmel. 16.12.2011 © TEAM - Ihr Partner f ür IT 21
  • 20.
    Forms / 4GL– Entwickler Forms JDeveloper Eine Eigenschaft – ein Konfigurationspunkt N – Konfigurationspunkte für die gleiche Eigenschaft Scheinbar undurchschaubare Tiefe von dem Label im Dialog bis zur Eigenschaft des Entity Objects in den Control Hints Die Vielzahl der Eigenschaft führt dazu, dass ein Lernen durch Try-and-Error nicht mehr direkt zielführend ist, da die Auswirkungen nicht direkt erkennbar sind. Welche Schicht (UI / Model / Database) verwende ich, um einen Use Case zu lösen ? 10 Tage Schulung und Einarbeitung sind nicht ausreichend, es wird ein Mentor / Pfadfinder benötigt der den Baum im Wald identifiziert und den Weg zeigt. 16.12.2011 © TEAM - Ihr Partner f ür IT 22
  • 21.
    Java Entwickler Oh, Nice Features ?! Es mangelt an Stabilität der IDE. Mehr Dokumentation* JDeveloper 11g: 11.1.1.0 - Windows Screensaver ausschalten - Integration von SVN ausschalten - Keep things small ! * ADF Source Code kann bei Oracle angefordert werden. 16.12.2011 © TEAM - Ihr Partner f ür IT 23
  • 22.
    Entwicklungsteam – OracleADF a. ADF Business Components und ADF Faces ist der leichtere und schnellere Weg sich der Java EE Plattform zu nähern, als auf Basis von Java EE Kursen und Ausbildungspfaden im klassischen Sinne dies zu erreichen. b. Diese Technologie ist eine gute Möglichkeit zwei Ausprägungen von Entwicklern (4GL / Java) gemeinsam an einem Projekt arbeiten zu lassen. Denn Sie benötigen für ein erfolgreiches ADF Projekt einen Java Entwickler und vielleicht jemanden, der nicht alles selbst implementieren will und den 4GL Gedanken umsetzt. 16.12.2011 © TEAM - Ihr Partner f ür IT 24
  • 23.
    Fazit und Ausblicke Oracle ADF ist die strategische Entwicklungsplattform für Fusion Applications. Dieses Framework wird es noch lange geben und es wird sicherlich in Zukunft noch wesentlich ausgebaut. Es ist eine (gute) Möglichkeit / Chance als Forms-4GL Entwickler die Java EE Plattform zu erschließen. 16.12.2011 © TEAM - Ihr Partner f ür IT 25
  • 24.
    Fazit und Ausblicke JDeveloper 11.1.1.2.0 ist verfügbar ! OTN, JDeveloper RSS Feed und Twitter http://www.oracle.com/technology/products/adf/patterns/index.html 16.12.2011 © TEAM - Ihr Partner f ür IT 26
  • 25.
    Fazit und Ausblicke http://adfbugs.blogspot.com http://adfgarage.blogspot.com http://padora.blogspot.com deutsch Google: telde oracle 16.12.2011 © TEAM - Ihr Partner f ür IT 27
  • 26.
    Beratung Software Lösungen TEAM Partner für Technologie Vielen Dank für Ihre und angewandte Methoden der Informationsverarbeitung GmbH Aufmerksamkeit! Hermann-Löns-Str. 88 33104 Paderborn Fon +49 5254 8008-0 Fax +49 5254 8008-19 Mail team@team-pb.de Web www.team -pb.de