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
Oracle Fusion
Middleware

Training
Oracle
WebCenter

Enable productive IT by Oracle Technologies

Development
Oracle
ADF

Oracle
WebLogic
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
KOMPONENTEN
MONTAGE
AGENDA
Definition
Elemente einer Fertigungsstraße
Ausblick

Ulrich Gerkmann-Bartels

7
VIEWPOINT: FERTIGUNG
‣

Software Factories, J.Greenfield u.a.

‣

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

Ulrich Gerkmann-Bartels

8
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
ORA - Asset-centric Engineering

ORA - Oracle Reference Architecture
Ulrich Gerkmann-Bartels

10
AGENDA
Definition
Elemente einer Fertigungsstrasse
Ausblick

Ulrich Gerkmann-Bartels

11
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
FOKUS: ADF SOFTWARE FACTORY

Ulrich Gerkmann-Bartels

13
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

14
BEISPIELE
UC01
UC02

ModuleA

Task Flow(s)

ModuleB
ModuleB

Rahmenapplikation

JSF / JSFF

AM Module

Use Case

15
TASK FLOW DESIGN
USE CASES
FORM
<<

<<

in

in

cu

cu

de

de

USE CASE

>>

>>

DIALOG

16
USE CASE TASK FLOW

17
DIALOG TASK FLOW

FORM

18
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

19
BEISPIEL: TASK FLOW TEMPLATES
<<copy>>

<<
r

efe

edit-contact

re

nc

e>
>

dialog-crud-template

dialog-reference

20
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
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
SOURCE ORGANISATION

23
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
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
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
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
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
JDEV - EXTENSION

Ulrich Gerkmann-Bartels

29

Tools
Code Generator
Working Tool Chain
ADF SOFTWARE FACTORY

Ulrich Gerkmann-Bartels

30
ASSET REPOSITORY
‣

Supplier

Artefakte

Build Process

EAR, WAR, WLS SHARED LIB, JAR, JDEV EXTENSION, DATABASE-BUNDLE

‣

Meta - Informationen

Asset Repository
Store

‣

Referenzen

‣

Input: Supplier oder Build Prozess

Ulrich Gerkmann-Bartels

31
MEHR ALS SCM

Ulrich Gerkmann-Bartels

32

Asset Repository
Store
ASSET REPOSITORY
‣

Supplier

Subversion + Custom
Solution

‣

Asset Repository

Maven + Custom
Solution

‣

Oracle Enterprise
Repository ?!

Ulrich Gerkmann-Bartels

Build Process

Store

33
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
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
QA - ADF EMG TASK FLOW TESTER

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

36
DEPLOYMENT AND DELIVERY
‣
‣

Deployment Cockpit

Asset Repository

Asset Repository +
Configuration Management ->
Laufzeitumgebung

‣

Status of Delivery

‣

Store

Deployment
and Delivery

Tool: Custom Solution

Deployment Cockpit
Configuration
Management

Generierte ENV-Scripte, WLST, SQL+PLUS

Update Server

Ulrich Gerkmann-Bartels

37
ADF SOFTWARE FACTORY

Ulrich Gerkmann-Bartels

38
AGENDA
Definition
Elemente einer Fertigungsstraße
Ausblick

Ulrich Gerkmann-Bartels

39
SOFTWARE FACTORY

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

Ulrich Gerkmann-Bartels

40
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

42
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

43
CROSS-FUNCTION ASSETS
‣

Getting started

‣

Bundle von
Backend Services
mit User Interface

‣

Wiederverwendbar
in vielen Projekten

Ulrich Gerkmann-Bartels

44
CROSS-FUNCTION ASSETS
‣

Account
Management

‣

Schlüsselverzeichnis

‣

Modul /
Menusteuerung

‣

Auditing

Ulrich Gerkmann-Bartels

45
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

46
VIELEN DANK FÜR IHRE
AUFMERKSAMKEIT

HABEN SIE NOCH FRAGEN?
ADF Software Factory - Software aus der Werkstatt

ADF Software Factory - Software aus der Werkstatt