1. CONTINUOUS DELIVERY
IN ADF PROJEKTEN...
Ulrich Gerkmann-Bartels
CEO & Consultant
Oracle Technologies
DOAG Development 2013, Bonn
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
Ulrich Gerkmann-Bartels
2
3. ENTERPRISE PRAGMATIC IT
Consulting
Oracle Fusion
Middleware
Training
Oracle
WebCenter
Development
Oracle
ADF
Oracle
WebLogic
ENable productive IT by Oracle Technologies
7. CONTINUOUS DELIVERY
Continuous Delivery is a software development discipline where you build software
in such a way that the software can be released to production at any time.
You’re doing continuous delivery when: [1]
■ Your software is deployable throughout its lifecycle
■ Your team prioritizes keeping the software deployable over working on new
features
■ Anybody can get fast, automated feedback on the production readiness of their
systems any time somebody makes a change to them
■ You can perform push-button deployments of any version of the software to
any environment on demand
WITHOUT PANIC !
1. Continous Delivery working group at ThoughtWorks, Quelle: http://martinfowler.com/bliki/ContinuousDelivery.html
Ulrich Gerkmann-Bartels
7
9. VORAUSSETZUNGEN
‣
Keine Silos - übergreife Zusammenarbeit
‣
Berücksichtigung der unterschiedlichen Ziele und
Rahmenbedingungen
‣
Gemeinsame Definition von Fertig
‣
Automatisierung^3
‣
Veränderungswille
Ulrich Gerkmann-Bartels
9
10. AUSWIRKUNGEN
‣
Ständig gesicherter Nutzungszuwachs für den
Kunden
‣
Transparenz, Beherrschbarkeit, Reproduzierbarkeit
‣
Weg von einmal Systemen mit Updates zu
wachsenden und veränderbaren System
‣
Autarke und überschaubare Module notwendig
Ulrich Gerkmann-Bartels
10
12. KNACKPUNKTE - DEV
‣
Sourcen im TRUNK können jederzeit in eine
Lieferung kommen
‣
ALLE Artefakte sind im Konfigurationsmanagement
‣
Konfigurationen sind externalisiert, KEIN Build für
eine spezielle Umgebung
‣
Feature - Toggle
Ulrich Gerkmann-Bartels
12
13. KNACKPUNKTE - OPS
‣
Umgebung sind alle GLEICH
‣
Änderung des Auslieferungsprozess ist eine
GRUNDSÄTZLICHE Sache
‣
Automatisierung^3
‣
ALLES ist versioniert
Ulrich Gerkmann-Bartels
13
15. ASPEKT ARCHITEKTUR
Viele APPS ! - Was ist dann mit
einem notwendigen gemeinsamen
Kontext ?
Autarke und überschaubare Module NOTWENDIG !
Konstruiere ich eine BIG
ADF Master APP ?
Ulrich Gerkmann-Bartels
15
17. ASPEKT ARCHITEKTUR
APP X
Module A
Module B
Model
AppMetaModel
Model
AppMetaModel
Model
AppMetaModel
View
View
View
APP Y
Runtime
WAR LIB
Nested AM
Database
AppMetaStore
Base
Model
AppMetaModel
Common
Model
AppMetaModel
AppMetaStore
View
*
View
Skin
Quelle: ADF Architecture Fundamentals http://www.youtube.com/watch?v=toEuQvp73h8, Chris Muir (Oracle PM)
Ulrich Gerkmann-Bartels
17
18. ASPEKT - PACKAGING
Weblogic Shared Libraries:
‣
‣
JAR, WAR und EAR
‣
Shared Libraries mehrere
Versionen
‣
Production Redeployment
maximal zwei Versionen
‣
Retired Application müssen
vor bereinigt werden !
Ulrich Gerkmann-Bartels
18
19. ASPEKT - PACKAGING
Base, Common, Skin
‣
‣
Library: JAR oder EAR,
‣
Referenz: weblogic.xml, weblogicapplication.xml
Module (webapp)
‣
‣
Library: WAR
‣
Referenz: weblogic.xml
Ulrich Gerkmann-Bartels
19
20. ASPEKT - VERSION
‣
Version der Applikation und der
Library müssen in der MANIFEST.MF
angegeben werden !
‣
Es gibt KEINE JAR,WAR,EAR ohne
MANIFEST.MF !
‣
Build-Prozess sollte diese
entsprechend berücksichtigen und
mit einer Referenznummer ergänzen.
Ulrich Gerkmann-Bartels
20
22. VM PROVISIONING SERVICE
ProdVMTemplate
Virtualisierung ermöglicht das schnelle
bereitstellen von Laufzeitumgebungen
‣
Basis für die Anforderung von GLEICHEN
Umgebungen
‣
VM Provisioning
Service
‣
Warum nicht dieses Verfahren auch für
Entwicklungsumgebung und EntwicklerRechner nutzen ?
TestVMTemplate
DevVMTemplate
Beispieltool:
www.vagrantup.com
Ulrich Gerkmann-Bartels
Konfiguriert und Überwacht
23. KONFIGURATIONSWERKZEUG
‣
Umgebungen sind vielzählig und einem
unterliegen einem Wandel
‣
Wieviele Administratoren werden benötigt,
um den Betrieb von 10 Rechner eines
Systems im Aufbau GLEICH zu halten ?
‣
Notwendigkeit: Automatisierung,
Dokumentation, Konfiguration und
Überwachung !
Konfigurationswerkzeug
Konfiguration
Beispieltool:
Oracle PlugIns für puppet von Edwin Biemond
https://forge.puppetlabs.com/biemond/orautils
Ulrich Gerkmann-Bartels
24. ASPEKT AUTOMATISIERUNG
‣
Es gibt MEHR als JAR, WAR und
EAR im Fusion Middleware Stack
‣
ADF Security Permission
‣
MDS - Metadata Services (Deploy,
Merge, Update ?)
Ulrich Gerkmann-Bartels
24
29. LITERATUR
THE PHONIX PROJECT
“This book is the modern day version of The
Goal. It shows us how to diminish our modern
constraints to help the business win.”
–John Willis, VP Client Services and
Enablement, enStratus, Host of “DevOps Cafe
Autoren: Gene Kim, Kevin Behr, George Spafford
Ulrich Gerkmann-Bartels
29
30. LITERATUR
CONTINUOUS DELIVERY
Continuous Delivery: Reliable
Software Releases Through Build,
Test, and Deployment Automation
(Addison-Wesley Signature)
Autoren: Jez Humble, David Farley
Ulrich Gerkmann-Bartels
30