ADF Software Factory - Software aus der Werkstatt

Post on 03-Jul-2015

284 views 1 download

description

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

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

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

Training DevelopmentConsultingOracle Fusion Middleware

OracleADF

OracleWebLogic

OracleWebCenter

Enable productive IT by Oracle Technologies

ENTERPRISE PRAGMATIC IT

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

KOMPONENTEN

MONTAGE

Ulrich Gerkmann-Bartels

AGENDA

Definition

Elemente einer Fertigungsstraße

Ausblick

7

Ulrich Gerkmann-Bartels

VIEWPOINT: FERTIGUNG

8

‣ Software Factories, J.Greenfield u.a.

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

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

Ulrich Gerkmann-Bartels

ORA - Asset-centric Engineering

10

ORA - Oracle Reference Architecture

Ulrich Gerkmann-Bartels

AGENDA

Definition

Elemente einer Fertigungsstrasse

Ausblick

11

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

Ulrich Gerkmann-Bartels

FOKUS: ADF SOFTWARE FACTORY

13

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

BEISPIELE

15

Task Flow(s) JSF / JSFF AM Module

Use Case

Rahmenapplikation

UC01

UC02

ModuleA

ModuleBModuleB

TASK FLOW DESIGN

16

USE CASE

DIALOG

FORM

USE CASES

<<incude>>

<<incude>>

USE CASE TASK FLOW

17

DIALOG TASK FLOW

18

FORM

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

BEISPIEL: TASK FLOW TEMPLATES

20

dialog-reference

dialog-crud-template

<<reference>>

edit-contact

<<copy>>

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

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

SOURCE ORGANISATION

23

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

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 !

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

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

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 !

Ulrich Gerkmann-Bartels

JDEV - EXTENSION

29

ToolsCode Generator

Working Tool Chain

Ulrich Gerkmann-Bartels

ADF SOFTWARE FACTORY

30

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

Ulrich Gerkmann-Bartels

MEHR ALS SCM

32

Asset Repository

Store

Ulrich Gerkmann-Bartels

ASSET REPOSITORY‣ Subversion + Custom

Solution

‣ Maven + Custom Solution

‣ Oracle Enterprise Repository ?!

33

Asset Repository

Store

Build ProcessSupplier

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

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

Ulrich Gerkmann-Bartels

QA - ADF EMG TASK FLOW TESTER

36

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

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

Ulrich Gerkmann-Bartels

ADF SOFTWARE FACTORY

38

Ulrich Gerkmann-Bartels

AGENDA

Definition

Elemente einer Fertigungsstraße

Ausblick

39

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

WIE VIELE VARIANTEN HAT DENN IHRE PRODUKTLINIE ?

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

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

Ulrich Gerkmann-Bartels

CROSS-FUNCTION ASSETS

‣ Getting started

‣ Bundle von Backend Services mit User Interface

‣ Wiederverwendbar in vielen Projekten

44

Ulrich Gerkmann-Bartels

CROSS-FUNCTION ASSETS

‣ Account Management

‣ Schlüsselverzeichnis

‣ Modul / Menusteuerung

‣ Auditing

45

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

VIELEN DANK FÜR IHRE AUFMERKSAMKEIT

HABEN SIE NOCH FRAGEN?