SlideShare ist ein Scribd-Unternehmen logo
1 von 49
ADF SOFTWARE FACTORY
SOFTWARE AUS DER WERKSTATT

            Definition
   Elemente der Fertigungsstraße
             Ausblick
                              Ulrich Gerkmann-Bartels
                                        CEO & Consultant
                                       Oracle Technologies




DOAG 2012
Ulrich Gerkmann-Bartels
ÜBER MICH                                                         CEO & 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



                                           2
ENTERPRISE PRAGMATIC IT




   Consulting                  Training                Development
 Oracle Fusion         Oracle                 Oracle        Oracle
  Middleware          WebCenter                ADF         WebLogic

Enable productive IT by Oracle Technologies
KÖNNEN WIR ES BESSER...
SOFTWARE AUS DER
WERKSTATT
‣        Industrialisierung der Softwareentwicklung

‣        Methodik und Werkzeugauswahl definieren den
         Fertigungsweg

‣        Komponenten basierte Wiederverwendung

‣        Entwicklung als ein „Montage“ - Prozess



Ulrich Gerkmann-Bartels         5
KOMPONENTEN
MONTAGE
AGENDA

Definition

Elemente einer Fertigungsstraße

Ausblick




Ulrich Gerkmann-Bartels    8
VIEWPOINT: FERTIGUNG

‣     Software Factories, J.Greenfield u.a.

‣     Oracle® Reference Architecture - Software Engineering
      IT Strategies from Oracle (ITSO)




Ulrich Gerkmann-Bartels                  9
SOFTWARE FACTORY
„..a software product line that configures extensive tools,
processes, and content using a software factory template
based on a software factory schema to automate the
development and maintenance of variants of an archetypical
product by adapting, assembling, and configuring framework-
based components.“[1]




1. Greenfield, Jack; Short, Keith; Cook, Steve; Kent, Stuart (2004). Software Factories: Assembling Applications with Patterns, Models, Frameworks, and Tools. ISBN 0-471-20284-3

Ulrich Gerkmann-Bartels                                                              10
ORA - Asset-centric Engineering




                               ORA - Oracle Reference Architecture
Ulrich Gerkmann-Bartels   11
AGENDA

Definition

Elemente einer Fertigungsstrasse

Ausblick




Ulrich Gerkmann-Bartels    12
VORAUSSETZUNG
   ‣        Oracle ADF Architektur

   ‣        Modularisierung durch ADF Libraries

   ‣        Varianten durch Metadata Services und
            Customization Layer

   ‣        User Interaktion / Komponenten ist Use Case
            (prozessorientiert) geschnitten


Ulrich Gerkmann-Bartels              13
FOKUS: ADF SOFTWARE FACTORY




Ulrich Gerkmann-Bartels   14
Documentation

DOCUMENTATION
                                                               Patterns
                                                             Architecture
                                                         Reference Projects




   ‣        Design Guide, Style Guide and Development
            Guide

   ‣        Referenzlösungskatalog* (internal / external)

   ‣        Erfassen von neuen Aufgabenstellung mit
            Voting

   ‣        Suchfunktionalität


                                               *Vgl. ADF Code Corner F. Nimphius
Ulrich Gerkmann-Bartels            15
BEISPIELE
       UC01

       UC02
                    Task Flow(s)   JSF / JSFF   AM Module
        ModuleA


      ModuleB
       ModuleB                                     Use Case


Rahmenapplikation
                            16
TASK FLOW DESIGN
                                                     USE CASES
  FORM

         <<
               in

         <<
                    cu
                         de
                                  >>                    USE CASE
              in
                   cu
                        de
                             >>




                                            DIALOG




                                       17
USE CASE TASK FLOW




            18
DIALOG TASK FLOW




  FORM



            19
Source

SOURCE
                                                                     Custom Components
                                                                         Templates
                                                                       Code Snippets




‣        Custom Components
         Eingabe von Rufnummer mit Auswahllisten, Funktionsleisten



‣        Templates
         JSF Page Templates, Task Flow Templates



‣        ADF Skinning

‣        Code Snippet Library




Ulrich Gerkmann-Bartels                                  20
BEISPIEL: TASK FLOW TEMPLATES

               <<copy>>
                                           <<
                                              refe
                                                  re
                                                     nc
                                                       e>
                                                         >


edit-contact              dialog-crud-template




                                                          dialog-reference




                                                                   21
SOURCE ORGANISATION
‣   Jedes Modul ist eine eigene
    JDeveloper - Application /
    Workspace

‣   Die Kernapplikation besitzt eine
    eigenen JDeveloper - Applikation /
    Workspace

‣   Ein Modul kann ein oder mehrere
    Libraries in Form von ADF
    Libraries (JAR) oder WLS Shared
    Libraries (WAR) erzeugen

‣   Die Kernapplikation erstellt ein
    Enterprise Archive (EAR).
                                              JDeveloper Workspace einer Kernapplikation


                                         22
SOURCE ORGANISATION
‣       Je nach Ziel eines Workspace sind
        unterschiedliche JDeveloper
        Projekttypen beteiligt
‣       Kernapplikation
    ‣      Database, Model, View, UML,
           Lib, Env
‣       Module
    ‣      Database, Model, View
‣       Basisbibliotheken
    ‣      Model, View, Skin, ...



                                                 JDeveloper Workspace von Basisbibliotheken


                                            23
SOURCE ORGANISATION




            24
Tools

TOOLS                                                                 Code Generator
                                                                     Working Tool Chain




                                                        Werkzeug

                                     Visual Version, JDeveloper, ArgoUML, Innovater,
                 Design / UML
                                                Case Tool X, Oracle Designer

                     Java IDE                  JDeveloper, Eclipse mit OEPE

                                       JDeveloper, SQL Developer, Toad, PLSQL
                    Database
                                                Deveeloper, SQL+

                          SCM                        Subversion, Git

              Build / Job Engine                 Hudson, Jenkins, TeamCity

               DPL
                                                        Ant, Maven
   Development Process Language :)

Ulrich Gerkmann-Bartels                   25
Tools

TOOLS                                                           Code Generator
                                                               Working Tool Chain




                                                  Werkzeug

     Template und Code Generator          Velocity, Eclipse Modeling


    Track / Voting / Documentation         Redmine, Jira, Bugzilla




             Die einzelnen Tools sind nicht ausreichend !




Ulrich Gerkmann-Bartels              26
Tools

WORKING TOOL CHAIN                                   Code Generator
                                                    Working Tool Chain




   ‣        Organisatorische Struktur wird nur eingehalten,
            wenn Sie gegeben wird

   ‣        Übergang zwischen den Werkzeugen benötigt
            Schnittstellen (DPN: Ant!)

   ‣        Generierung von Templates oder
            Verzeichnisstrukturen benötigt
            Kontextinformationen


Ulrich Gerkmann-Bartels           27
Tools

WORKING TOOL CHAIN                                        Code Generator
                                                         Working Tool Chain




‣        Integriere in ein Tool nur wirklich wichtige
         Funktionalität

‣        Erster Ansatz DPN*

‣        Generiere Teile (Code, XML, Scripte, Env) aber keine
         eierlegende Wollmichsau designed mit Bildchen und
         Pfeilen ;)


                                                * Development Process Language

Ulrich Gerkmann-Bartels            28
Tools

JDEV - EXTENSION                                         Code Generator
                                                        Working Tool Chain




‣        Generieren von Module(Projekten) mit
         Verzeichnistruktur, Templates und Libraries.

‣        Generien von Manifest oder ADFLib.properties

‣        Verifizierte Code Snippet Library Extension :)

‣        Integration eigener Search Source in der JDeveloper
         - Suche
                                                 Would be nice !
                                               * Development Process Language

Ulrich Gerkmann-Bartels           29
Tools

JDEV - EXTENSION                Code Generator
                               Working Tool Chain




Ulrich Gerkmann-Bartels   30
ADF SOFTWARE FACTORY




Ulrich Gerkmann-Bartels   31
ASSET REPOSITORY
                                                                      Supplier            Build Process
‣        Artefakte
         EAR, WAR, WLS SHARED LIB, JAR, JDEV EXTENSION, DATABASE-BUNDLE



‣        Meta - Informationen                                               Asset Repository
                                                                                  Store

‣        Referenzen

‣        Input: Supplier oder Build Prozess




Ulrich Gerkmann-Bartels                               32
Asset Repository

MEHR ALS SCM                         Store




Ulrich Gerkmann-Bartels   33
ASSET REPOSITORY
                                       Supplier            Build Process
   ‣        Subversion + Custom
            Solution
                                             Asset Repository
   ‣        Maven + Custom                         Store
            Solution

   ‣        Oracle Enterprise
            Repository ?!



Ulrich Gerkmann-Bartels           34
Assembly

ASSEMBLY                                                     Asset
                                                            Browser




                          ‣   Resource Palette ist nicht
                              ausreichend

                          ‣   Dependency werden als eine JDev
                              ADF Library Definition eingebunden

                          ‣   Keine Berücksichtigung von anderen
                              Dependency (Database, WS)

                          ‣   Tool: Custom...Manuel ... No Solution



Ulrich Gerkmann-Bartels           35
QA
   ‣        Akzeptanztest von Use Cases
                                                                   Asset Repository
   ‣        Vorausetzung:
                                                                          Store

        ‣        Ausführung von einzelnen Task Flows

        ‣        User Interaktion ist innerhalb eines Task Flows
                 gekapselt.
                                                                          QA
   ‣        Tool: ADF EMG Task Flow Tester                           Generic Runtime




Ulrich Gerkmann-Bartels                          36
QA - ADF EMG TASK FLOW TESTER




                  JDeveloper Extension: ADF EMG (S. Davelaar, Oracle FMW Architecture Team (A-Team)

Ulrich Gerkmann-Bartels                                  37
DEPLOYMENT AND DELIVERY
‣        Deployment Cockpit                            Asset Repository
                                                             Store
‣        Asset Repository +
         Configuration Management ->
         Laufzeitumgebung                                Deployment
                                                         and Delivery
‣        Status of Delivery                            Deployment Cockpit
                                                          Configuration
                                                          Management

‣        Tool: Custom Solution
         Generierte ENV-Scripte, WLST, SQL+PLUS
                                                        Update Server


Ulrich Gerkmann-Bartels                           38
ADF SOFTWARE FACTORY




Ulrich Gerkmann-Bartels   39
AGENDA

Definition

Elemente einer Fertigungsstraße

Ausblick




Ulrich Gerkmann-Bartels    40
SOFTWARE FACTORY




Web Client Software Factory, http://visualstudiogallery.msdn.microsoft.com/8fc2c9d6-5282-404b-9c58-e72b326b1e26, abgerufen am 13.09.2012


 Ulrich Gerkmann-Bartels                                         41
WIE VIELE VARIANTEN HAT DENN
IHRE PRODUKTLINIE ?
HINDERNISSE BEACHTEN
   ‣        Organisatorische Herausforderung

   ‣        IT Silos überwinden

   ‣        Must have: A-TEAM

   ‣        No All-In-One-Solution

   ‣        Nicht über das Ziel hinausschießen



Ulrich Gerkmann-Bartels              43
FIRST STEPS
   ‣        Werkzeugkasten definieren

   ‣        Prototyp der Fertigungsstraße
                     BaseFramework, Templates and Referenzproject
                     Continuous Integration
                     Assets Repository*
                     Automatic Deployment


   ‣        Schnittstellen in der Werkzeugkette schließen

                                                                    * Dependency Management

Ulrich Gerkmann-Bartels                          44
CROSS-FUNCTION ASSETS
   ‣        Getting started

   ‣        Bundle von
            Backend Services
            mit User Interface

   ‣        Wiederverwendbar
            in vielen Projekten



Ulrich Gerkmann-Bartels           45
CROSS-FUNCTION ASSETS
   ‣        Account
            Management

   ‣        Schlüsselverzeichnis

   ‣        Modul /
            Menusteuerung

   ‣        Auditing


Ulrich Gerkmann-Bartels            46
WEITERE INFORMATIONEN
‣       Software Factories
        J. Greenfield, K. Short, S. Cook, S. Kent; Wiley Publishing Inc., Indianapolis, Indiana, 2004


‣       Oracle® Reference Architecture - Software
        Engineering
        IT Strategies from Oracle (ITSO)


‣       OTN: ADF Architecture Square

‣       ADF EMG


Andreas Koop                                             47
VIELEN DANK FÜR IHRE
   AUFMERKSAMKEIT



HABEN SIE NOCH FRAGEN?
ADF Software Factory

Más contenido relacionado

Andere mochten auch

Andere mochten auch (7)

RAP im Enterprise - Quo Vadis Portal ?
RAP im Enterprise - Quo Vadis Portal ?RAP im Enterprise - Quo Vadis Portal ?
RAP im Enterprise - Quo Vadis Portal ?
 
DOAG 2010: SOR - Service Oriented Reporting
DOAG 2010: SOR - Service Oriented ReportingDOAG 2010: SOR - Service Oriented Reporting
DOAG 2010: SOR - Service Oriented Reporting
 
German ADF News Session: JDev 11gR2 Extension
German ADF News Session: JDev 11gR2 Extension German ADF News Session: JDev 11gR2 Extension
German ADF News Session: JDev 11gR2 Extension
 
SE 2010: how we do it
SE 2010: how we do itSE 2010: how we do it
SE 2010: how we do it
 
Input and Views about Oracle ADF
Input and Views about Oracle ADFInput and Views about Oracle ADF
Input and Views about Oracle ADF
 
HA Datasource
HA DatasourceHA Datasource
HA Datasource
 
DOAG 2006: More than Dept and Emp mit JDeveloper and ADF
DOAG 2006: More than Dept and Emp mit JDeveloper and ADFDOAG 2006: More than Dept and Emp mit JDeveloper and ADF
DOAG 2006: More than Dept and Emp mit JDeveloper and ADF
 

Ähnlich wie ADF Software Factory

ADF Software Factory - Software aus der Werkstatt
ADF Software Factory - Software aus der WerkstattADF Software Factory - Software aus der Werkstatt
ADF Software Factory - Software aus der Werkstattenpit GmbH & Co. KG
 
Anwendungsmodernisierung mit Oracle Application Express (APEX)
Anwendungsmodernisierung mit Oracle Application Express (APEX)Anwendungsmodernisierung mit Oracle Application Express (APEX)
Anwendungsmodernisierung mit Oracle Application Express (APEX)Niels de Bruijn
 
Visualisierung von fachlichen Informationen mit Oracle ADF
Visualisierung von fachlichen Informationen mit Oracle ADFVisualisierung von fachlichen Informationen mit Oracle ADF
Visualisierung von fachlichen Informationen mit Oracle ADFenpit GmbH & Co. KG
 
Visualisierung von fachlichen Informationen mit Oracle ADF
Visualisierung von fachlichen Informationen mit Oracle ADFVisualisierung von fachlichen Informationen mit Oracle ADF
Visualisierung von fachlichen Informationen mit Oracle ADFUlrich Gerkmann-Bartels
 
20181210_ITTage2018_OracleNoSQLDB_KPatenge
20181210_ITTage2018_OracleNoSQLDB_KPatenge20181210_ITTage2018_OracleNoSQLDB_KPatenge
20181210_ITTage2018_OracleNoSQLDB_KPatengeKarin Patenge
 
Continuous Delivery in Oracle ADF Projekten
Continuous Delivery in Oracle ADF ProjektenContinuous Delivery in Oracle ADF Projekten
Continuous Delivery in Oracle ADF Projektenenpit GmbH & Co. KG
 
Andreas Pleschek zu den Clients der Zukunft
Andreas Pleschek zu den Clients der ZukunftAndreas Pleschek zu den Clients der Zukunft
Andreas Pleschek zu den Clients der ZukunftIBM Lotus
 
Qualitätssicherung in ADF Projekten der IKB Deutschen Industriebank AG
Qualitätssicherung in ADF Projekten der IKB Deutschen Industriebank AGQualitätssicherung in ADF Projekten der IKB Deutschen Industriebank AG
Qualitätssicherung in ADF Projekten der IKB Deutschen Industriebank AGTorsten Kleiber
 
Parkraumbewirtschaftung mit Oracle ADF Mobile?
Parkraumbewirtschaftung mit Oracle ADF Mobile?Parkraumbewirtschaftung mit Oracle ADF Mobile?
Parkraumbewirtschaftung mit Oracle ADF Mobile?enpit GmbH & Co. KG
 
MT AG Präsentation Rapid Application Development mit APEX 5
MT AG Präsentation Rapid Application Development mit APEX 5MT AG Präsentation Rapid Application Development mit APEX 5
MT AG Präsentation Rapid Application Development mit APEX 5MT AG
 
Domain-Driven Design in der Praxis
Domain-Driven Design in der PraxisDomain-Driven Design in der Praxis
Domain-Driven Design in der PraxisMichael Mirold
 
Oracle Open World 2009 Review V1.6
Oracle Open World 2009 Review V1.6Oracle Open World 2009 Review V1.6
Oracle Open World 2009 Review V1.6Torsten Winterberg
 
AndroMDA - Einführung in eine Open Source Model Driven Architecture Lösung
AndroMDA - Einführung in eine Open Source Model Driven Architecture LösungAndroMDA - Einführung in eine Open Source Model Driven Architecture Lösung
AndroMDA - Einführung in eine Open Source Model Driven Architecture LösungEduard Hildebrandt
 
Forms and Reports 12c - Processes and Automation in Development and Operations
Forms and Reports 12c - Processes and Automation in Development and OperationsForms and Reports 12c - Processes and Automation in Development and Operations
Forms and Reports 12c - Processes and Automation in Development and OperationsTorsten Kleiber
 
Agile Oracle database modeling and development - APEX Connect 2020
Agile Oracle database modeling and development - APEX Connect 2020Agile Oracle database modeling and development - APEX Connect 2020
Agile Oracle database modeling and development - APEX Connect 2020Torsten Kleiber
 

Ähnlich wie ADF Software Factory (20)

ADF Software Factory - Software aus der Werkstatt
ADF Software Factory - Software aus der WerkstattADF Software Factory - Software aus der Werkstatt
ADF Software Factory - Software aus der Werkstatt
 
Continuous Delivery in ADF Projekten
Continuous Delivery in ADF ProjektenContinuous Delivery in ADF Projekten
Continuous Delivery in ADF Projekten
 
Anwendungsmodernisierung mit Oracle Application Express (APEX)
Anwendungsmodernisierung mit Oracle Application Express (APEX)Anwendungsmodernisierung mit Oracle Application Express (APEX)
Anwendungsmodernisierung mit Oracle Application Express (APEX)
 
CI und OTPC in ADF Projekten
CI und OTPC in ADF ProjektenCI und OTPC in ADF Projekten
CI und OTPC in ADF Projekten
 
Visualisierung von fachlichen Informationen mit Oracle ADF
Visualisierung von fachlichen Informationen mit Oracle ADFVisualisierung von fachlichen Informationen mit Oracle ADF
Visualisierung von fachlichen Informationen mit Oracle ADF
 
Visualisierung von fachlichen Informationen mit Oracle ADF
Visualisierung von fachlichen Informationen mit Oracle ADFVisualisierung von fachlichen Informationen mit Oracle ADF
Visualisierung von fachlichen Informationen mit Oracle ADF
 
20181210_ITTage2018_OracleNoSQLDB_KPatenge
20181210_ITTage2018_OracleNoSQLDB_KPatenge20181210_ITTage2018_OracleNoSQLDB_KPatenge
20181210_ITTage2018_OracleNoSQLDB_KPatenge
 
Continuous Delivery in Oracle ADF Projekten
Continuous Delivery in Oracle ADF ProjektenContinuous Delivery in Oracle ADF Projekten
Continuous Delivery in Oracle ADF Projekten
 
Andreas Pleschek zu den Clients der Zukunft
Andreas Pleschek zu den Clients der ZukunftAndreas Pleschek zu den Clients der Zukunft
Andreas Pleschek zu den Clients der Zukunft
 
Qualitätssicherung in ADF Projekten der IKB Deutschen Industriebank AG
Qualitätssicherung in ADF Projekten der IKB Deutschen Industriebank AGQualitätssicherung in ADF Projekten der IKB Deutschen Industriebank AG
Qualitätssicherung in ADF Projekten der IKB Deutschen Industriebank AG
 
Parkraumbewirtschaftung mit Oracle ADF Mobile?
Parkraumbewirtschaftung mit Oracle ADF Mobile?Parkraumbewirtschaftung mit Oracle ADF Mobile?
Parkraumbewirtschaftung mit Oracle ADF Mobile?
 
MT AG Präsentation Rapid Application Development mit APEX 5
MT AG Präsentation Rapid Application Development mit APEX 5MT AG Präsentation Rapid Application Development mit APEX 5
MT AG Präsentation Rapid Application Development mit APEX 5
 
Domain-Driven Design in der Praxis
Domain-Driven Design in der PraxisDomain-Driven Design in der Praxis
Domain-Driven Design in der Praxis
 
OSLC in Aktion
OSLC in AktionOSLC in Aktion
OSLC in Aktion
 
Oracle Open World 2009 Review V1.6
Oracle Open World 2009 Review V1.6Oracle Open World 2009 Review V1.6
Oracle Open World 2009 Review V1.6
 
AndroMDA - Einführung in eine Open Source Model Driven Architecture Lösung
AndroMDA - Einführung in eine Open Source Model Driven Architecture LösungAndroMDA - Einführung in eine Open Source Model Driven Architecture Lösung
AndroMDA - Einführung in eine Open Source Model Driven Architecture Lösung
 
Forms and Reports 12c - Processes and Automation in Development and Operations
Forms and Reports 12c - Processes and Automation in Development and OperationsForms and Reports 12c - Processes and Automation in Development and Operations
Forms and Reports 12c - Processes and Automation in Development and Operations
 
.NET und jetzt!
.NET und jetzt!.NET und jetzt!
.NET und jetzt!
 
Agile Oracle database modeling and development - APEX Connect 2020
Agile Oracle database modeling and development - APEX Connect 2020Agile Oracle database modeling and development - APEX Connect 2020
Agile Oracle database modeling and development - APEX Connect 2020
 
Ruby on Rails SS09 02
Ruby on Rails SS09 02Ruby on Rails SS09 02
Ruby on Rails SS09 02
 

Mehr von Ulrich Gerkmann-Bartels

Choice-o-mat: Entscheidungshilfe für Oracle Entwicklungswerkzeuge
Choice-o-mat: Entscheidungshilfe für Oracle Entwicklungswerkzeuge Choice-o-mat: Entscheidungshilfe für Oracle Entwicklungswerkzeuge
Choice-o-mat: Entscheidungshilfe für Oracle Entwicklungswerkzeuge Ulrich Gerkmann-Bartels
 
DOAG SIG Development: BI Publisher and Oracle ADF
DOAG SIG Development: BI Publisher and Oracle ADFDOAG SIG Development: BI Publisher and Oracle ADF
DOAG SIG Development: BI Publisher and Oracle ADFUlrich Gerkmann-Bartels
 
Encapsulation, the requirement for software modernization?
Encapsulation, the requirement for software modernization?Encapsulation, the requirement for software modernization?
Encapsulation, the requirement for software modernization?Ulrich Gerkmann-Bartels
 

Mehr von Ulrich Gerkmann-Bartels (6)

Choice-o-mat: Entscheidungshilfe für Oracle Entwicklungswerkzeuge
Choice-o-mat: Entscheidungshilfe für Oracle Entwicklungswerkzeuge Choice-o-mat: Entscheidungshilfe für Oracle Entwicklungswerkzeuge
Choice-o-mat: Entscheidungshilfe für Oracle Entwicklungswerkzeuge
 
Die 5 mythen-der-forms-modernisierung
Die 5 mythen-der-forms-modernisierungDie 5 mythen-der-forms-modernisierung
Die 5 mythen-der-forms-modernisierung
 
Was ist Docker ?
Was ist Docker ?Was ist Docker ?
Was ist Docker ?
 
DOAG SIG Development: BI Publisher and Oracle ADF
DOAG SIG Development: BI Publisher and Oracle ADFDOAG SIG Development: BI Publisher and Oracle ADF
DOAG SIG Development: BI Publisher and Oracle ADF
 
Encapsulation, the requirement for software modernization?
Encapsulation, the requirement for software modernization?Encapsulation, the requirement for software modernization?
Encapsulation, the requirement for software modernization?
 
Application lifecycle in ADF Projects
Application lifecycle in ADF ProjectsApplication lifecycle in ADF Projects
Application lifecycle in ADF Projects
 

ADF Software Factory

  • 1. ADF SOFTWARE FACTORY SOFTWARE AUS DER WERKSTATT Definition Elemente der Fertigungsstraße Ausblick Ulrich Gerkmann-Bartels CEO & Consultant Oracle Technologies DOAG 2012
  • 2. Ulrich Gerkmann-Bartels ÜBER MICH CEO & 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 2
  • 3. ENTERPRISE PRAGMATIC IT Consulting Training Development Oracle Fusion Oracle Oracle Oracle Middleware WebCenter ADF WebLogic Enable productive IT by Oracle Technologies
  • 4. KÖNNEN WIR ES BESSER...
  • 5. SOFTWARE AUS DER WERKSTATT ‣ Industrialisierung der Softwareentwicklung ‣ Methodik und Werkzeugauswahl definieren den Fertigungsweg ‣ Komponenten basierte Wiederverwendung ‣ Entwicklung als ein „Montage“ - Prozess Ulrich Gerkmann-Bartels 5
  • 9. VIEWPOINT: FERTIGUNG ‣ Software Factories, J.Greenfield u.a. ‣ Oracle® Reference Architecture - Software Engineering IT Strategies from Oracle (ITSO) Ulrich Gerkmann-Bartels 9
  • 10. SOFTWARE FACTORY „..a software product line that configures extensive tools, processes, and content using a software factory template based on a software factory schema to automate the development and maintenance of variants of an archetypical product by adapting, assembling, and configuring framework- based components.“[1] 1. Greenfield, Jack; Short, Keith; Cook, Steve; Kent, Stuart (2004). Software Factories: Assembling Applications with Patterns, Models, Frameworks, and Tools. ISBN 0-471-20284-3 Ulrich Gerkmann-Bartels 10
  • 11. ORA - Asset-centric Engineering ORA - Oracle Reference Architecture Ulrich Gerkmann-Bartels 11
  • 13. VORAUSSETZUNG ‣ Oracle ADF Architektur ‣ Modularisierung durch ADF Libraries ‣ Varianten durch Metadata Services und Customization Layer ‣ User Interaktion / Komponenten ist Use Case (prozessorientiert) geschnitten Ulrich Gerkmann-Bartels 13
  • 14. FOKUS: ADF SOFTWARE FACTORY Ulrich Gerkmann-Bartels 14
  • 15. Documentation DOCUMENTATION Patterns Architecture Reference Projects ‣ Design Guide, Style Guide and Development Guide ‣ Referenzlösungskatalog* (internal / external) ‣ Erfassen von neuen Aufgabenstellung mit Voting ‣ Suchfunktionalität *Vgl. ADF Code Corner F. Nimphius Ulrich Gerkmann-Bartels 15
  • 16. BEISPIELE UC01 UC02 Task Flow(s) JSF / JSFF AM Module ModuleA ModuleB ModuleB Use Case Rahmenapplikation 16
  • 17. TASK FLOW DESIGN USE CASES FORM << in << cu de >> USE CASE in cu de >> DIALOG 17
  • 18. USE CASE TASK FLOW 18
  • 19. DIALOG TASK FLOW FORM 19
  • 20. Source SOURCE Custom Components Templates Code Snippets ‣ Custom Components Eingabe von Rufnummer mit Auswahllisten, Funktionsleisten ‣ Templates JSF Page Templates, Task Flow Templates ‣ ADF Skinning ‣ Code Snippet Library Ulrich Gerkmann-Bartels 20
  • 21. BEISPIEL: TASK FLOW TEMPLATES <<copy>> << refe re nc e> > edit-contact dialog-crud-template dialog-reference 21
  • 22. SOURCE ORGANISATION ‣ Jedes Modul ist eine eigene JDeveloper - Application / Workspace ‣ Die Kernapplikation besitzt eine eigenen JDeveloper - Applikation / Workspace ‣ Ein Modul kann ein oder mehrere Libraries in Form von ADF Libraries (JAR) oder WLS Shared Libraries (WAR) erzeugen ‣ Die Kernapplikation erstellt ein Enterprise Archive (EAR). JDeveloper Workspace einer Kernapplikation 22
  • 23. SOURCE ORGANISATION ‣ Je nach Ziel eines Workspace sind unterschiedliche JDeveloper Projekttypen beteiligt ‣ Kernapplikation ‣ Database, Model, View, UML, Lib, Env ‣ Module ‣ Database, Model, View ‣ Basisbibliotheken ‣ Model, View, Skin, ... JDeveloper Workspace von Basisbibliotheken 23
  • 25. Tools TOOLS Code Generator Working Tool Chain Werkzeug Visual Version, JDeveloper, ArgoUML, Innovater, Design / UML Case Tool X, Oracle Designer Java IDE JDeveloper, Eclipse mit OEPE JDeveloper, SQL Developer, Toad, PLSQL Database Deveeloper, SQL+ SCM Subversion, Git Build / Job Engine Hudson, Jenkins, TeamCity DPL Ant, Maven Development Process Language :) Ulrich Gerkmann-Bartels 25
  • 26. Tools TOOLS Code Generator Working Tool Chain Werkzeug Template und Code Generator Velocity, Eclipse Modeling Track / Voting / Documentation Redmine, Jira, Bugzilla Die einzelnen Tools sind nicht ausreichend ! Ulrich Gerkmann-Bartels 26
  • 27. Tools WORKING TOOL CHAIN Code Generator Working Tool Chain ‣ Organisatorische Struktur wird nur eingehalten, wenn Sie gegeben wird ‣ Übergang zwischen den Werkzeugen benötigt Schnittstellen (DPN: Ant!) ‣ Generierung von Templates oder Verzeichnisstrukturen benötigt Kontextinformationen Ulrich Gerkmann-Bartels 27
  • 28. Tools WORKING TOOL CHAIN Code Generator Working Tool Chain ‣ Integriere in ein Tool nur wirklich wichtige Funktionalität ‣ Erster Ansatz DPN* ‣ Generiere Teile (Code, XML, Scripte, Env) aber keine eierlegende Wollmichsau designed mit Bildchen und Pfeilen ;) * Development Process Language Ulrich Gerkmann-Bartels 28
  • 29. Tools JDEV - EXTENSION Code Generator Working Tool Chain ‣ Generieren von Module(Projekten) mit Verzeichnistruktur, Templates und Libraries. ‣ Generien von Manifest oder ADFLib.properties ‣ Verifizierte Code Snippet Library Extension :) ‣ Integration eigener Search Source in der JDeveloper - Suche Would be nice ! * Development Process Language Ulrich Gerkmann-Bartels 29
  • 30. Tools JDEV - EXTENSION Code Generator Working Tool Chain Ulrich Gerkmann-Bartels 30
  • 31. ADF SOFTWARE FACTORY Ulrich Gerkmann-Bartels 31
  • 32. ASSET REPOSITORY Supplier Build Process ‣ Artefakte EAR, WAR, WLS SHARED LIB, JAR, JDEV EXTENSION, DATABASE-BUNDLE ‣ Meta - Informationen Asset Repository Store ‣ Referenzen ‣ Input: Supplier oder Build Prozess Ulrich Gerkmann-Bartels 32
  • 33. Asset Repository MEHR ALS SCM Store Ulrich Gerkmann-Bartels 33
  • 34. ASSET REPOSITORY Supplier Build Process ‣ Subversion + Custom Solution Asset Repository ‣ Maven + Custom Store Solution ‣ Oracle Enterprise Repository ?! Ulrich Gerkmann-Bartels 34
  • 35. Assembly ASSEMBLY Asset Browser ‣ Resource Palette ist nicht ausreichend ‣ Dependency werden als eine JDev ADF Library Definition eingebunden ‣ Keine Berücksichtigung von anderen Dependency (Database, WS) ‣ Tool: Custom...Manuel ... No Solution Ulrich Gerkmann-Bartels 35
  • 36. QA ‣ Akzeptanztest von Use Cases Asset Repository ‣ Vorausetzung: Store ‣ Ausführung von einzelnen Task Flows ‣ User Interaktion ist innerhalb eines Task Flows gekapselt. QA ‣ Tool: ADF EMG Task Flow Tester Generic Runtime Ulrich Gerkmann-Bartels 36
  • 37. QA - ADF EMG TASK FLOW TESTER JDeveloper Extension: ADF EMG (S. Davelaar, Oracle FMW Architecture Team (A-Team) Ulrich Gerkmann-Bartels 37
  • 38. DEPLOYMENT AND DELIVERY ‣ Deployment Cockpit Asset Repository Store ‣ Asset Repository + Configuration Management -> Laufzeitumgebung Deployment and Delivery ‣ Status of Delivery Deployment Cockpit Configuration Management ‣ Tool: Custom Solution Generierte ENV-Scripte, WLST, SQL+PLUS Update Server Ulrich Gerkmann-Bartels 38
  • 39. ADF SOFTWARE FACTORY Ulrich Gerkmann-Bartels 39
  • 41. SOFTWARE FACTORY Web Client Software Factory, http://visualstudiogallery.msdn.microsoft.com/8fc2c9d6-5282-404b-9c58-e72b326b1e26, abgerufen am 13.09.2012 Ulrich Gerkmann-Bartels 41
  • 42. WIE VIELE VARIANTEN HAT DENN IHRE PRODUKTLINIE ?
  • 43. HINDERNISSE BEACHTEN ‣ Organisatorische Herausforderung ‣ IT Silos überwinden ‣ Must have: A-TEAM ‣ No All-In-One-Solution ‣ Nicht über das Ziel hinausschießen Ulrich Gerkmann-Bartels 43
  • 44. FIRST STEPS ‣ Werkzeugkasten definieren ‣ Prototyp der Fertigungsstraße BaseFramework, Templates and Referenzproject Continuous Integration Assets Repository* Automatic Deployment ‣ Schnittstellen in der Werkzeugkette schließen * Dependency Management Ulrich Gerkmann-Bartels 44
  • 45. CROSS-FUNCTION ASSETS ‣ Getting started ‣ Bundle von Backend Services mit User Interface ‣ Wiederverwendbar in vielen Projekten Ulrich Gerkmann-Bartels 45
  • 46. CROSS-FUNCTION ASSETS ‣ Account Management ‣ Schlüsselverzeichnis ‣ Modul / Menusteuerung ‣ Auditing Ulrich Gerkmann-Bartels 46
  • 47. WEITERE INFORMATIONEN ‣ Software Factories J. Greenfield, K. Short, S. Cook, S. Kent; Wiley Publishing Inc., Indianapolis, Indiana, 2004 ‣ Oracle® Reference Architecture - Software Engineering IT Strategies from Oracle (ITSO) ‣ OTN: ADF Architecture Square ‣ ADF EMG Andreas Koop 47
  • 48. VIELEN DANK FÜR IHRE AUFMERKSAMKEIT HABEN SIE NOCH FRAGEN?