ADF Software Factory - Software aus der Werkstatt

48
DOAG 2012 Ulrich Gerkmann-Bartels CEO & Consultant Oracle Technologies ADF SOFTWARE FACTORY SOFTWARE AUS DER WERKSTATT Definition Elemente der Fertigungsstraße Ausblick

description

Vortrag von Ulrich Gerkmann-Bartels (enpit) auf der DOAG Konferenz 2012

Transcript of ADF Software Factory - Software aus der Werkstatt

Page 1: ADF Software Factory - Software aus der Werkstatt

DOAG 2012

Ulrich Gerkmann-BartelsCEO & Consultant

Oracle Technologies

ADF SOFTWARE FACTORYSOFTWARE AUS DER WERKSTATT

Definition

Elemente der Fertigungsstraße

Ausblick

Page 2: ADF Software Factory - Software aus der Werkstatt

Ulrich Gerkmann-BartelsCEO & Consultant

Oracle TechnologiesÜBER MICH

Beratung, Training Oracle TechnologieADF Certified Implementation Specialist

CommunityDOAG, ADF EMG, ADF German Community, Twitter @Gerkmann-Bartels

BlogTechnical http://maybe-interesting.blogspot.comSonstiges http://www.enpit.de/blog

2

Page 3: ADF Software Factory - Software aus der Werkstatt

Training DevelopmentConsultingOracle Fusion Middleware

OracleADF

OracleWebLogic

OracleWebCenter

Enable productive IT by Oracle Technologies

ENTERPRISE PRAGMATIC IT

Page 4: ADF Software Factory - Software aus der Werkstatt

Ulrich Gerkmann-Bartels

SOFTWARE AUS DER WERKSTATT‣ Industrialisierung der Softwareentwicklung

‣ Methodik und Werkzeugauswahl definieren den Fertigungsweg

‣ Komponenten basierte Wiederverwendung

‣ Entwicklung als ein „Montage“ - Prozess

4

Page 5: ADF Software Factory - Software aus der Werkstatt

KOMPONENTEN

Page 6: ADF Software Factory - Software aus der Werkstatt

MONTAGE

Page 7: ADF Software Factory - Software aus der Werkstatt

Ulrich Gerkmann-Bartels

AGENDA

Definition

Elemente einer Fertigungsstraße

Ausblick

7

Page 8: ADF Software Factory - Software aus der Werkstatt

Ulrich Gerkmann-Bartels

VIEWPOINT: FERTIGUNG

8

‣ Software Factories, J.Greenfield u.a.

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

Page 9: ADF Software Factory - Software aus der Werkstatt

Ulrich Gerkmann-Bartels

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]

9

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

Page 10: ADF Software Factory - Software aus der Werkstatt

Ulrich Gerkmann-Bartels

ORA - Asset-centric Engineering

10

ORA - Oracle Reference Architecture

Page 11: ADF Software Factory - Software aus der Werkstatt

Ulrich Gerkmann-Bartels

AGENDA

Definition

Elemente einer Fertigungsstrasse

Ausblick

11

Page 12: ADF Software Factory - Software aus der Werkstatt

Ulrich Gerkmann-Bartels

VORAUSSETZUNG‣ Oracle ADF Architektur

‣ Modularisierung durch ADF Libraries

‣ Varianten durch Metadata Services und Customization Layer

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

12

Page 13: ADF Software Factory - Software aus der Werkstatt

Ulrich Gerkmann-Bartels

FOKUS: ADF SOFTWARE FACTORY

13

Page 14: ADF Software Factory - Software aus der Werkstatt

Ulrich Gerkmann-Bartels

DOCUMENTATION‣ Design Guide, Style Guide and Development

Guide

‣ Referenzlösungskatalog* (internal / external)

‣ Erfassen von neuen Aufgabenstellung mit Voting

‣ Suchfunktionalität

14

Documentation

Reference Projects

PatternsArchitecture

*Vgl. ADF Code Corner F. Nimphius

Page 15: ADF Software Factory - Software aus der Werkstatt

BEISPIELE

15

Task Flow(s) JSF / JSFF AM Module

Use Case

Rahmenapplikation

UC01

UC02

ModuleA

ModuleBModuleB

Page 16: ADF Software Factory - Software aus der Werkstatt

TASK FLOW DESIGN

16

USE CASE

DIALOG

FORM

USE CASES

<<incude>>

<<incude>>

Page 17: ADF Software Factory - Software aus der Werkstatt

USE CASE TASK FLOW

17

Page 18: ADF Software Factory - Software aus der Werkstatt

DIALOG TASK FLOW

18

FORM

Page 19: ADF Software Factory - Software aus der Werkstatt

Ulrich Gerkmann-Bartels

SOURCE‣ Custom Components

Eingabe von Rufnummer mit Auswahllisten, Funktionsleisten

‣ Templates JSF Page Templates, Task Flow Templates

‣ ADF Skinning

‣ Code Snippet Library

19

SourceCustom Components

TemplatesCode Snippets

Page 20: ADF Software Factory - Software aus der Werkstatt

BEISPIEL: TASK FLOW TEMPLATES

20

dialog-reference

dialog-crud-template

<<reference>>

edit-contact

<<copy>>

Page 21: ADF Software Factory - Software aus der Werkstatt

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

21

JDeveloper Workspace einer Kernapplikation

Page 22: ADF Software Factory - Software aus der Werkstatt

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

22

JDeveloper Workspace von Basisbibliotheken

Page 23: ADF Software Factory - Software aus der Werkstatt

SOURCE ORGANISATION

23

Page 24: ADF Software Factory - Software aus der Werkstatt

Ulrich Gerkmann-Bartels

TOOLS

24

ToolsCode Generator

Working Tool Chain

Werkzeug

Design / UML

Java IDE

Database

SCM

Build / Job Engine

DPLDevelopment Process Language :)

Visual Version, JDeveloper, ArgoUML, Innovater, Case Tool X, Oracle Designer

JDeveloper, Eclipse mit OEPE

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

Subversion, Git

Hudson, Jenkins, TeamCity

Ant, Maven

Page 25: ADF Software Factory - Software aus der Werkstatt

Ulrich Gerkmann-Bartels

TOOLS

25

ToolsCode Generator

Working Tool Chain

Werkzeug

Template und Code Generator

Track / Voting / Documentation

Velocity, Eclipse Modeling

Redmine, Jira, Bugzilla

Die einzelnen Tools sind nicht ausreichend !

Page 26: ADF Software Factory - Software aus der Werkstatt

Ulrich Gerkmann-Bartels

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

26

ToolsCode Generator

Working Tool Chain

Page 27: ADF Software Factory - Software aus der Werkstatt

Ulrich Gerkmann-Bartels

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

27

ToolsCode Generator

Working Tool Chain

* Development Process Language

Page 28: ADF Software Factory - Software aus der Werkstatt

Ulrich Gerkmann-Bartels

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

28

ToolsCode Generator

Working Tool Chain

* Development Process Language

Would be nice !

Page 29: ADF Software Factory - Software aus der Werkstatt

Ulrich Gerkmann-Bartels

JDEV - EXTENSION

29

ToolsCode Generator

Working Tool Chain

Page 30: ADF Software Factory - Software aus der Werkstatt

Ulrich Gerkmann-Bartels

ADF SOFTWARE FACTORY

30

Page 31: ADF Software Factory - Software aus der Werkstatt

Ulrich Gerkmann-Bartels

ASSET REPOSITORY‣ Artefakte

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

‣ Meta - Informationen

‣ Referenzen

‣ Input: Supplier oder Build Prozess

31

Asset Repository

Store

Build ProcessSupplier

Page 32: ADF Software Factory - Software aus der Werkstatt

Ulrich Gerkmann-Bartels

MEHR ALS SCM

32

Asset Repository

Store

Page 33: ADF Software Factory - Software aus der Werkstatt

Ulrich Gerkmann-Bartels

ASSET REPOSITORY‣ Subversion + Custom

Solution

‣ Maven + Custom Solution

‣ Oracle Enterprise Repository ?!

33

Asset Repository

Store

Build ProcessSupplier

Page 34: ADF Software Factory - Software aus der Werkstatt

Ulrich Gerkmann-Bartels

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

34

AssemblyAsset

Browser

Page 35: ADF Software Factory - Software aus der Werkstatt

Ulrich Gerkmann-Bartels

QA‣ Akzeptanztest von Use Cases

‣ Vorausetzung:

‣ Ausführung von einzelnen Task Flows

‣ User Interaktion ist innerhalb eines Task Flows gekapselt.

‣ Tool: ADF EMG Task Flow Tester

35

QAGeneric Runtime

Asset Repository

Store

Page 36: ADF Software Factory - Software aus der Werkstatt

Ulrich Gerkmann-Bartels

QA - ADF EMG TASK FLOW TESTER

36

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

Page 37: ADF Software Factory - Software aus der Werkstatt

Ulrich Gerkmann-Bartels

DEPLOYMENT AND DELIVERY

‣ Deployment Cockpit

‣ Asset Repository + Configuration Management -> Laufzeitumgebung

‣ Status of Delivery

‣ Tool: Custom SolutionGenerierte ENV-Scripte, WLST, SQL+PLUS

37

Deployment and Delivery

Deployment CockpitConfiguration Management

Update Server

Asset Repository

Store

Page 38: ADF Software Factory - Software aus der Werkstatt

Ulrich Gerkmann-Bartels

ADF SOFTWARE FACTORY

38

Page 39: ADF Software Factory - Software aus der Werkstatt

Ulrich Gerkmann-Bartels

AGENDA

Definition

Elemente einer Fertigungsstraße

Ausblick

39

Page 40: ADF Software Factory - Software aus der Werkstatt

Ulrich Gerkmann-Bartels

SOFTWARE FACTORY

40

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

Page 41: ADF Software Factory - Software aus der Werkstatt

WIE VIELE VARIANTEN HAT DENN IHRE PRODUKTLINIE ?

Page 42: ADF Software Factory - Software aus der Werkstatt

Ulrich Gerkmann-Bartels

HINDERNISSE BEACHTEN

‣ Organisatorische Herausforderung

‣ IT Silos überwinden

‣ Must have: A-TEAM

‣ No All-In-One-Solution

‣ Nicht über das Ziel hinausschießen

42

Page 43: ADF Software Factory - Software aus der Werkstatt

Ulrich Gerkmann-Bartels

FIRST STEPS

‣ Werkzeugkasten definieren

‣ Prototyp der Fertigungsstraße

BaseFramework, Templates and Referenzproject

Continuous Integration

Assets Repository*

Automatic Deployment

‣ Schnittstellen in der Werkzeugkette schließen

43

* Dependency Management

Page 44: ADF Software Factory - Software aus der Werkstatt

Ulrich Gerkmann-Bartels

CROSS-FUNCTION ASSETS

‣ Getting started

‣ Bundle von Backend Services mit User Interface

‣ Wiederverwendbar in vielen Projekten

44

Page 45: ADF Software Factory - Software aus der Werkstatt

Ulrich Gerkmann-Bartels

CROSS-FUNCTION ASSETS

‣ Account Management

‣ Schlüsselverzeichnis

‣ Modul / Menusteuerung

‣ Auditing

45

Page 46: ADF Software Factory - Software aus der Werkstatt

Andreas Koop

WEITERE INFORMATIONEN‣ Software Factories

J. Greenfield, K. Short, S. Cook, S. Kent; Wiley Publishing Inc., Indianapolis, Indiana, 2004

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

‣ OTN: ADF Architecture Square

‣ ADF EMG

46

Page 47: ADF Software Factory - Software aus der Werkstatt

VIELEN DANK FÜR IHRE AUFMERKSAMKEIT

HABEN SIE NOCH FRAGEN?

Page 48: ADF Software Factory - Software aus der Werkstatt