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