Beratung Software Lösungen
Application Lifecycle in Projekten mit
Oracle Technologie
                                         Ulrich
                                         Gerkmann-Bartels
                                         Senior Consultant Oracle Technologies
                                         ugb@team-pb.de
TEAM - Ihr Partner für IT



Zahlen und Fakten

 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
ProStore® - Intralogistik und Warehousemanagement
              WMS/LVS
              MFR/MFS
              beleglose Kommissionierung
              Pick-by-Voice
              Staplerleitsystem
              Ressourcenplanung
              Logistik-Leitstand
              Logistics Intelligence
Oracle-Dienstleistungen




TEAM – Ihr Oracle Platinum Partner
               Lizenzierung
               Consulting
               Schulungen
               Business Intelligence
               Individualentwicklungen
               Online DBA Support
Zu meiner Person

 Beratung, Workshops, Projekte auf Basis der Oracle Technologien

 Software Engineering 2010, DOAG SIG, DOAG Konferenz,
 InnoZent AK IT OWL

 Co-Moderator Oracle ADF Community

 Mitglied ADF Enterprise Methodology Group

 Seit 2001 beschäftigen wir uns mit dem Thema Oracle JDeveloper / ADF
                                                   Ulrich
                                                   Gerkmann-Bartels
                                                   Senior Consulting Oracle Technologies
                                                   ugb@team-pb.de


19.05.2011   © TEAM - Ihr Partner für IT                                             5
Agenda

 Application Lifecycle Management (ALM)

 Environment / Tools

 Requirement, Development, Build, Test, Release

 Change- / Release- / Incident Management

 Fazit




19.05.2011   © TEAM - Ihr Partner für IT          6
Application Lifecycle




                                           Quelle: Oracle
19.05.2011   © TEAM - Ihr Partner für IT              8
Oracle ADF Projektbeispiel




19.05.2011   © TEAM - Ihr Partner für IT   9
Agenda

 Application Lifecycle Management (ALM)

 Environment / Tools

 Requirement, Development, Build, Test, Release

 Change- / Release- / Incident Management

 Fazit




19.05.2011   © TEAM - Ihr Partner für IT          10
Environment / Tools




         Polarion ALM




19.05.2011   © TEAM - Ihr Partner für IT   11
Environment: Namensraum/Modularisierung

                                                       customer: team
                                                       codename: gateway




      Warum werden die Namen gedoppelt
      Der Grund warum die Namen der Hierarchien gedoppelt werden ist darin begründet, dass
      die einzelnen Ebenen unabhängig von der Gesamtstruktur in anderen Projekten und
      Modulen leicht wiederverwendet und identifiziert werden können.
Environment: Umgebungsparameter




Generierung der wichtigsten
Umgebungsparameterdateien !




19.05.2011   © TEAM - Ihr Partner für IT   13
Agenda

 Application Lifecycle Management (ALM)

 Environment / Tools

 Requirement, Development, Build, Test, Release

 Change- / Release- / Incident Management

 Fazit




19.05.2011   © TEAM - Ihr Partner für IT          16
Requirement: Polarion ALM




19.05.2011   © TEAM - Ihr Partner für IT   17
Iteration / Lifecycle




19.05.2011   © TEAM - Ihr Partner für IT   18
Task Workflow: Polarion ALM




19.05.2011   © TEAM - Ihr Partner für IT   19
Process by Example




19.05.2011   © TEAM - Ihr Partner für IT   20
Agenda

 Application Lifecycle Management (ALM)

 Environment / Tools

 Requirement, Development, Build, Test, Release

 Change- / Release- / Incident Management

 Fazit




19.05.2011   © TEAM - Ihr Partner für IT          21
Development: Database

1. Entwicklung in der Development-Database

2. Versionierung der Database-Sourcen mit Subversion

3. Ablage und Versionierung der notwendigen Database-Sourcen und Update Scripte
   im CURRENT – Patch Verzeichnis




19.05.2011   © TEAM - Ihr Partner für IT                                          22
Development: Database




         Export der geänderten Database-Objekte ins CURRENT-Patch-Verzeichnis

19.05.2011   © TEAM - Ihr Partner für IT                                        23
Development: Database - Table API




  Database, Java: Type, Table API Package, View werden über Code Templates generiert !




19.05.2011   © TEAM - Ihr Partner für IT                                                 24
Development: Table API generieren

   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
    19.05.2011   © TEAM - Ihr Partner für IT                                                        25
Development: JDeveloper

                                           1. Projekte nach Schicht / Layer

                                           2. Versionierung der Sourcen mit
                                              Subversion

                                           3. Subversion Extension im
                                              JDeveloper wird nicht
                                              verwendet




19.05.2011   © TEAM - Ihr Partner für IT                                      26
Development: TEAM JDeveloper Extension




       Generierung von Java – Sourcecode basierend auf PL/SQL Service Layer Packages !
19.05.2011   © TEAM - Ihr Partner für IT                                             27
Agenda

 Application Lifecycle Management (ALM)

 Environment / Tools

 Requirement, Development, Build, Test, Release

 Change- / Release- / Incident Management

 Fazit




19.05.2011   © TEAM - Ihr Partner für IT          28
Build: Hudson Continuous Integration (CI)

 Build erfolgt in einer virtuellen Testumgebung
        (Back to Snapshot)


 Automatisierte Ausführung durch Unix Shell Scripte und
   Apache Ant

 Anschließende Ausführung von automatisierten Test


                                           Test / Nightly Build
                    Development                                              Integration           Produktion
                                                   - CI


              Entwicklung / TEAM                                                           Betrieb / Fachabteilung
                                                          Release / Update




19.05.2011   © TEAM - Ihr Partner für IT                                                                             29
Build: Hudson Continuous Integration (CI)




19.05.2011   © TEAM - Ihr Partner für IT     30
Build: Hudson Continuous Integration (CI)




19.05.2011   © TEAM - Ihr Partner für IT     31
Agenda

 Application Lifecycle Management (ALM)

 Environment / Tools

 Requirement, Development, Build, Test, Release

 Change- / Release- / Incident Management

 Fazit




19.05.2011   © TEAM - Ihr Partner für IT          32
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
Agenda

 Application Lifecycle Management (ALM)

 Environment / Tools

 Requirement, Development, Build, Test, Release

 Change- / Release- / Incident Management

 Fazit




19.05.2011   © TEAM - Ihr Partner für IT          34
Release


                                           - Release-Version ergibt sich aus der
                                           Build-Nummer !

                                           - Beispiel: v4.1.648 – v<MR>.<FR>.<BUILD>

                                           - Nach dem Release wird versioniert
                                           und getaggt

                                           - Es wird automatisch ein neues
                                           CURRENT-Patch Verzeichnis angelegt




19.05.2011   © TEAM - Ihr Partner für IT                                           35
Release: Update – Integration - Produktion




                                           Test / Nightly
                   Development                                           Integration          Produktion
                                            Build - CI


             Entwicklung / TEAM                                                        Betrieb / Fachabteilung
                                                      Release / Update
19.05.2011   © TEAM - Ihr Partner für IT                                                                         37
Agenda

 Application Lifecycle Management (ALM)

 Environment / Tools

 Requirement, Development, Build, Test, Release

 Change- / Release- / Incident Management

 Fazit




19.05.2011   © TEAM - Ihr Partner für IT          38
Change- / Release- / Incident Management




19.05.2011   © TEAM - Ihr Partner für IT    39
Change / Release / Incident Management




19.05.2011   © TEAM - Ihr Partner für IT   40
Agenda

 Application Lifecycle Management (ALM)

 Environment / Tools

 Requirement, Development, Build, Test, Release

 Change- / Release- / Incident Management

 Fazit




19.05.2011   © TEAM - Ihr Partner für IT          41
Fazit

 Komplexität und Einführung von ALM Werkzeuge nicht unterschätzen

 Generierung, Automatisierung und Virtualisierung (der Testumgebung)

 Kontinuierlicher Verbesserungsprozess (KVP)

        Weitere Integration des ALM Werkzeug in die definierten Prozesse:

             Beispiel: Release Notification erstellt automatisiert einen Task im Change Management


        Automatisierte Erstellung der CURRENT-Patch – Verzeichnisses

        Audit und Metrik




19.05.2011    © TEAM - Ihr Partner für IT                                                            42
Haben Sie noch Fragen ?




19.05.2011   © TEAM - Ihr Partner für IT   43
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

Application lifecycle in ADF Projects

  • 1.
    Beratung Software Lösungen ApplicationLifecycle in Projekten mit Oracle Technologie Ulrich Gerkmann-Bartels Senior Consultant Oracle Technologies ugb@team-pb.de
  • 2.
    TEAM - IhrPartner für IT Zahlen und Fakten  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
  • 3.
    ProStore® - Intralogistikund Warehousemanagement  WMS/LVS  MFR/MFS  beleglose Kommissionierung  Pick-by-Voice  Staplerleitsystem  Ressourcenplanung  Logistik-Leitstand  Logistics Intelligence
  • 4.
    Oracle-Dienstleistungen TEAM – IhrOracle Platinum Partner  Lizenzierung  Consulting  Schulungen  Business Intelligence  Individualentwicklungen  Online DBA Support
  • 5.
    Zu meiner Person Beratung, Workshops, Projekte auf Basis der Oracle Technologien Software Engineering 2010, DOAG SIG, DOAG Konferenz, InnoZent AK IT OWL Co-Moderator Oracle ADF Community Mitglied ADF Enterprise Methodology Group Seit 2001 beschäftigen wir uns mit dem Thema Oracle JDeveloper / ADF Ulrich Gerkmann-Bartels Senior Consulting Oracle Technologies ugb@team-pb.de 19.05.2011 © TEAM - Ihr Partner für IT 5
  • 6.
    Agenda Application LifecycleManagement (ALM) Environment / Tools Requirement, Development, Build, Test, Release Change- / Release- / Incident Management Fazit 19.05.2011 © TEAM - Ihr Partner für IT 6
  • 7.
    Application Lifecycle Quelle: Oracle 19.05.2011 © TEAM - Ihr Partner für IT 8
  • 8.
    Oracle ADF Projektbeispiel 19.05.2011 © TEAM - Ihr Partner für IT 9
  • 9.
    Agenda Application LifecycleManagement (ALM) Environment / Tools Requirement, Development, Build, Test, Release Change- / Release- / Incident Management Fazit 19.05.2011 © TEAM - Ihr Partner für IT 10
  • 10.
    Environment / Tools Polarion ALM 19.05.2011 © TEAM - Ihr Partner für IT 11
  • 11.
    Environment: Namensraum/Modularisierung customer: team codename: gateway Warum werden die Namen gedoppelt Der Grund warum die Namen der Hierarchien gedoppelt werden ist darin begründet, dass die einzelnen Ebenen unabhängig von der Gesamtstruktur in anderen Projekten und Modulen leicht wiederverwendet und identifiziert werden können.
  • 12.
    Environment: Umgebungsparameter Generierung derwichtigsten Umgebungsparameterdateien ! 19.05.2011 © TEAM - Ihr Partner für IT 13
  • 13.
    Agenda Application LifecycleManagement (ALM) Environment / Tools Requirement, Development, Build, Test, Release Change- / Release- / Incident Management Fazit 19.05.2011 © TEAM - Ihr Partner für IT 16
  • 14.
    Requirement: Polarion ALM 19.05.2011 © TEAM - Ihr Partner für IT 17
  • 15.
    Iteration / Lifecycle 19.05.2011 © TEAM - Ihr Partner für IT 18
  • 16.
    Task Workflow: PolarionALM 19.05.2011 © TEAM - Ihr Partner für IT 19
  • 17.
    Process by Example 19.05.2011 © TEAM - Ihr Partner für IT 20
  • 18.
    Agenda Application LifecycleManagement (ALM) Environment / Tools Requirement, Development, Build, Test, Release Change- / Release- / Incident Management Fazit 19.05.2011 © TEAM - Ihr Partner für IT 21
  • 19.
    Development: Database 1. Entwicklungin der Development-Database 2. Versionierung der Database-Sourcen mit Subversion 3. Ablage und Versionierung der notwendigen Database-Sourcen und Update Scripte im CURRENT – Patch Verzeichnis 19.05.2011 © TEAM - Ihr Partner für IT 22
  • 20.
    Development: Database Export der geänderten Database-Objekte ins CURRENT-Patch-Verzeichnis 19.05.2011 © TEAM - Ihr Partner für IT 23
  • 21.
    Development: Database -Table API Database, Java: Type, Table API Package, View werden über Code Templates generiert ! 19.05.2011 © TEAM - Ihr Partner für IT 24
  • 22.
    Development: Table APIgenerieren 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 19.05.2011 © TEAM - Ihr Partner für IT 25
  • 23.
    Development: JDeveloper 1. Projekte nach Schicht / Layer 2. Versionierung der Sourcen mit Subversion 3. Subversion Extension im JDeveloper wird nicht verwendet 19.05.2011 © TEAM - Ihr Partner für IT 26
  • 24.
    Development: TEAM JDeveloperExtension Generierung von Java – Sourcecode basierend auf PL/SQL Service Layer Packages ! 19.05.2011 © TEAM - Ihr Partner für IT 27
  • 25.
    Agenda Application LifecycleManagement (ALM) Environment / Tools Requirement, Development, Build, Test, Release Change- / Release- / Incident Management Fazit 19.05.2011 © TEAM - Ihr Partner für IT 28
  • 26.
    Build: Hudson ContinuousIntegration (CI) Build erfolgt in einer virtuellen Testumgebung (Back to Snapshot) Automatisierte Ausführung durch Unix Shell Scripte und Apache Ant Anschließende Ausführung von automatisierten Test Test / Nightly Build Development Integration Produktion - CI Entwicklung / TEAM Betrieb / Fachabteilung Release / Update 19.05.2011 © TEAM - Ihr Partner für IT 29
  • 27.
    Build: Hudson ContinuousIntegration (CI) 19.05.2011 © TEAM - Ihr Partner für IT 30
  • 28.
    Build: Hudson ContinuousIntegration (CI) 19.05.2011 © TEAM - Ihr Partner für IT 31
  • 29.
    Agenda Application LifecycleManagement (ALM) Environment / Tools Requirement, Development, Build, Test, Release Change- / Release- / Incident Management Fazit 19.05.2011 © TEAM - Ihr Partner für IT 32
  • 30.
    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
  • 31.
    Agenda Application LifecycleManagement (ALM) Environment / Tools Requirement, Development, Build, Test, Release Change- / Release- / Incident Management Fazit 19.05.2011 © TEAM - Ihr Partner für IT 34
  • 32.
    Release - Release-Version ergibt sich aus der Build-Nummer ! - Beispiel: v4.1.648 – v<MR>.<FR>.<BUILD> - Nach dem Release wird versioniert und getaggt - Es wird automatisch ein neues CURRENT-Patch Verzeichnis angelegt 19.05.2011 © TEAM - Ihr Partner für IT 35
  • 33.
    Release: Update –Integration - Produktion Test / Nightly Development Integration Produktion Build - CI Entwicklung / TEAM Betrieb / Fachabteilung Release / Update 19.05.2011 © TEAM - Ihr Partner für IT 37
  • 34.
    Agenda Application LifecycleManagement (ALM) Environment / Tools Requirement, Development, Build, Test, Release Change- / Release- / Incident Management Fazit 19.05.2011 © TEAM - Ihr Partner für IT 38
  • 35.
    Change- / Release-/ Incident Management 19.05.2011 © TEAM - Ihr Partner für IT 39
  • 36.
    Change / Release/ Incident Management 19.05.2011 © TEAM - Ihr Partner für IT 40
  • 37.
    Agenda Application LifecycleManagement (ALM) Environment / Tools Requirement, Development, Build, Test, Release Change- / Release- / Incident Management Fazit 19.05.2011 © TEAM - Ihr Partner für IT 41
  • 38.
    Fazit Komplexität undEinführung von ALM Werkzeuge nicht unterschätzen Generierung, Automatisierung und Virtualisierung (der Testumgebung) Kontinuierlicher Verbesserungsprozess (KVP) Weitere Integration des ALM Werkzeug in die definierten Prozesse: Beispiel: Release Notification erstellt automatisiert einen Task im Change Management Automatisierte Erstellung der CURRENT-Patch – Verzeichnisses Audit und Metrik 19.05.2011 © TEAM - Ihr Partner für IT 42
  • 39.
    Haben Sie nochFragen ? 19.05.2011 © TEAM - Ihr Partner für IT 43
  • 40.
    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