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
Oracle Fusion
Middleware
Training
Oracle
WebCenter
Enable productive IT by Oracle Technologies
Development
Oracle
ADF
Oracle
WebLogic
4. SOFTWARE AUS DER
WERKSTATT
‣
Industrialisierung der Softwareentwicklung
‣
Methodik und Werkzeugauswahl definieren den
Fertigungsweg
‣
Komponenten basierte Wiederverwendung
‣
Entwicklung als ein „Montage“ - Prozess
Ulrich Gerkmann-Bartels
4
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 frameworkbased 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
9
10. ORA - Asset-centric Engineering
ORA - Oracle Reference Architecture
Ulrich Gerkmann-Bartels
10
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
12
20. BEISPIEL: TASK FLOW TEMPLATES
<<copy>>
<<
r
efe
edit-contact
re
nc
e>
>
dialog-crud-template
dialog-reference
20
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
21
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
22
24. Tools
TOOLS
Code Generator
Working Tool Chain
Werkzeug
Design / UML
Visual Version, JDeveloper, ArgoUML, Innovater,
Case Tool X, Oracle Designer
Java IDE
JDeveloper, Eclipse mit OEPE
Database
JDeveloper, SQL Developer, Toad, PLSQL
Deveeloper, SQL+
SCM
Subversion, Git
Build / Job Engine
Hudson, Jenkins, TeamCity
DPL
Development Process Language :)
Ant, Maven
Ulrich Gerkmann-Bartels
24
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
25
26. WORKING TOOL CHAIN
Tools
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
26
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
27
28. JDEV - EXTENSION
Tools
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
28
34. Assembly
ASSEMBLY
Asset
Browser
‣
‣
Dependency werden als eine JDev
ADF Library Definition eingebunden
‣
Keine Berücksichtigung von anderen
Dependency (Database, WS)
‣
Ulrich Gerkmann-Bartels
Resource Palette ist nicht
ausreichend
Tool: Custom...Manuel ... No Solution
34
35. QA
‣
Akzeptanztest von Use Cases
‣
Vorausetzung:
Asset Repository
Store
‣
‣
‣
Ausführung von einzelnen Task Flows
User Interaktion ist innerhalb eines Task Flows
gekapselt.
Tool: ADF EMG Task Flow Tester
Ulrich Gerkmann-Bartels
35
QA
Generic Runtime