SlideShare une entreprise Scribd logo
1  sur  48
©itemisAG2007◊AlleRechtevorbehalten
Copyright 2007 itemis GmbH & Co. KG
Unified Development Environments
©itemisAG2007◊AlleRechtevorbehalten
 Wieso, weshalb, warum?
 Definition Entwicklungsumgebung
 Fallbeispiel DBSystel
Copyright 2007 itemis GmbH & Co. KG
Unified Development Environments
©itemisAG2007◊AlleRechtevorbehalten
Qualität
Wieder-
verwendung
DRY
Motivation
Copyright 2007 itemis GmbH & Co. KG
Unified Development Environments
©itemisAG2007◊AlleRechtevorbehalten
• Probleme grösserer Entwicklungsumgebungen
inkompatible
Methodiken
unterschiedliche
Projektstrukturen
autom.
Buildprozess
inkonsistent
Projektkultur
mein Code vs. unser Code
Releasemanagement
Copyright 2007 itemis GmbH & Co. KG
Unified Development Environments
©itemisAG2007◊AlleRechtevorbehalten
• Vorteile einer einheitl. Entwicklungsumgebung
verbesserter
Buildprozess
verbesserter
Releaseprozess
Motivation
steigt
Mitarbeiterwechsel
vereinfacht
steigende
Qualität
Copyright 2007 itemis GmbH & Co. KG
Unified Development Environments
©itemisAG2007◊AlleRechtevorbehalten
• Nachteile einer einheitl. Entwicklungsumgebung
Passt nicht für
alle Projekte
Zu strikt lässt die
Produktivität und Qualität sinken
Copyright 2007 itemis GmbH & Co. KG
Unified Development Environments
©itemisAG2007◊AlleRechtevorbehalten
•IDE
•Java-Umgebung
•Buildtools
•Tools
•Dokumentation
Copyright 2007 itemis GmbH & Co. KG
Unified Development Environments
©itemisAG2007◊AlleRechtevorbehalten
• Collaboration
• Wiki, Messaging
• Projektmanagement
• Requirements, Changes, Issues
• Sourcecode
• Dependency-Management
Copyright 2007 itemis GmbH & Co. KG
Unified Development Environments
©itemisAG2007◊AlleRechtevorbehalten
• Build- und Testmanagement
• Build, CI, Releases
• Shared Workspaces
• Runtime Environments
• Virtualisierung
Copyright 2007 itemis GmbH & Co. KG
Unified Development Environments
©itemisAG2007◊AlleRechtevorbehalten
11DB Systel GmbH, Wolfgang Schwab, I.TID 3, 03.06.2008
Java Entwicklungsumgebung der DB Systel
14.04.2008
DB Systel
Wolfgang Schwab
12DB Systel GmbH, Wolfgang Schwab, I.TID 3, 03.06.2008
DB Systel
Einer der größten konzerneigenen ITK-Dienstleister Europas
DB Systel GmbH
Zentrale: Frankfurt am Main
Mitarbeiter: 5100
Umsatz 2006: 837 Mio. Euro
DB Systems DB Telematik
2007 erfolgte die Integration von DB Systems und DB Telematik zu DB Systel
13DB Systel GmbH, Wolfgang Schwab, I.TID 3, 03.06.2008
DB Systel – Ein Unternehmen der Deutschen Bahn
Infrastruktur und
Dienstleistungen
Geschäftsfelder
Gruppen-
funktionen
Service-
funktionen
Konzern-
leitung
Transport und Logistik
Fernverkeh
r
RegioStadtverkehr Netz
Personen-
bahnhöfe
Energie
Dienst-
leistungen
IntermodalRail Freight
Land
Transport
Contract
Logistics /
SCM 2)
Air/Ocean
Freight
Vertrieb 1)
ProjektBau 1)
Wirtschaft und PolitikFinanzen/Controlling Personal und RechtVorsitzender
Personenverkehr
DB Systel
GmbH
1) ServiceCenter 2) SCM: Supply Chain Management
Deutsche Bahn AG
14DB Systel GmbH, Wolfgang Schwab, I.TID 3, 03.06.2008
Inhalt
3. Repositories
2. Exkurs: Maven 2
4. Team Server
1. Entwicklungsclient
15DB Systel GmbH, Wolfgang Schwab, I.TID 3, 03.06.2008
Entwicklungs-Client
 Entwicklungswerkzeuge
 Persönlicher Arbeitsbereich
Projekt-Servers
 Build- & Testautomatisierung
 Gemeinsame
Arbeitsbereiche
 Laufzeitumgebungen
Komponenten der Entwicklungsumgebung
Continuous
Integration
Collaboration
Software
Issue
Tracker
Push Button
Release
SCM
Project
Management
Unit Tests
Push Button
Installation
Change Mgmt
Release
Mgmt
Repositories
 Dokumente
 Quellen
 Komponenten
 Projektsteuerung
Wiki Collaboration
Software
Issue
Tracker
SCM
Project
Management
Change Mgmt
Release
Mgmt
16DB Systel GmbH, Wolfgang Schwab, I.TID 3, 03.06.2008
Entwicklungsclient – Paketierung
Basispaket und Zusatzpakete
Java-Base-4.0
JBoss-4.2
Tomcat-5.5
Tomcat-6.0 Weblogic-10.0
Referenzbauplan
Tomcat
Referenzbauplan
JBoss
Referenzbauplan
Weblogic
JBoss-4.0 Weblogic-9.1
17DB Systel GmbH, Wolfgang Schwab, I.TID 3, 03.06.2008
Entwicklungsclient – Paketierung
Basispaket
Eclipse 3.3
Java 6 Maven 2.0
YourKit Java
Profiler 7
Ant 1.6.5
18DB Systel GmbH, Wolfgang Schwab, I.TID 3, 03.06.2008
Entwicklungsclient – Paketierung Eclipse
verfügbare Extension Locations
Web
(C++)
Java-Base
JEE
Struts
JSF
RCP
Hibernate
MDA (Open Architecture Ware)
Subclipse
ClearCase
CVS
Spring IDE
Weblogic
JBoss
Seam
JBPM
19DB Systel GmbH, Wolfgang Schwab, I.TID 3, 03.06.2008
Entwicklungsclient – Paketierung Eclipse
Funktionsweise Extension Locations
Java-Basis
 JDT
 PMD
 M2Eclipse
 YourKit
JEE
 WTP-JST
 YourKit-EE
Struts
 JBoss
Struts
JSF
 JBoss
JSF
Spring
 Spring
IDE
Project Source Repository: platform.xml
Die Konfiguration eines Projektes aktiviert Eclipse Extension Locations
20DB Systel GmbH, Wolfgang Schwab, I.TID 3, 03.06.2008
Entwicklungsclient – Konfiguration
Projekt 1
 setenv-4.0
 Shell
 Eclipse
Projekt 2
 setenv-4.0
 Shell
 Eclipse
Projekt n
 setenv-4.1
 Shell
 Eclipse
Projekt aktiviert und ergänzt Konfiguration der Entwicklungsumgebung
…
Base 4.0
 setenv
Base 4.1
 setenv
JBoss 4.2
 setenv
WLS 10.0
 setenv
JBoss 5.0
 setenv
Einheitliche Entwicklungsumgebung
Projektspezifische Konfiguration
21DB Systel GmbH, Wolfgang Schwab, I.TID 3, 03.06.2008
Entwicklungsclient – Konfiguration
Bestandteil der Konfiguration
Umgebungsvariablen
– JAVA_HOME
– MVN_HOME
– JBOSS_HOME
– etc.
platform.xml für Eclipse Extension Locations
Settings-Files für Maven
Verknüpfungen zum Start von Dos-Shell und Eclipse
22DB Systel GmbH, Wolfgang Schwab, I.TID 3, 03.06.2008
Entwicklungsclient – Verteilungsmechanismen
Die perfekte Lösung gibt es nicht
Kurze Reaktionszeit
Flexibel handhabbar
Automatisierung über Skripte
Keine Verwaltung von Installationen
und Lizenzen
 Gruppenlaufwerk
Einfache Bedienung
Zugriffsrechte problematisch
Verzeichnistiefe beschränkt
 File Section GForge
Einfache Bedienung
Synchronisierung problematisch
Strukturierungsmöglichkeiten beschränkt
 Subversion
Nachvollziehbarkeit und Wiederholbarkeit
Modifikation/Entwicklung gut unterstützt
Synchronisierung erfordert SVN-
Verzeichnisse
Installations- und Lizenzverwaltung
Automatische Installation
Installationsänderung vom Entwickler
nicht kontrollierbar
Langwieriger Lieferprozess
 Enteo Netinstall
Volle Kontrolle über Nutzung
Installation mit Verzögerung
 Virtuelle Umgebung über Softgrid
Sofort einsatzbereit
Dateien sind für andere Programme nicht
sichtbar
Allgemein verfügbar Speziell Firmenclient
23DB Systel GmbH, Wolfgang Schwab, I.TID 3, 03.06.2008
Inhalt
3. Repositories
2. Exkurs: Maven 2  kommt gleich
4. Team Server
1. Entwicklungsclient
24DB Systel GmbH, Wolfgang Schwab, I.TID 3, 03.06.2008
Repositories – Produkte
 GForge + Subversion
 LiveLink
 HP Quality Center
25DB Systel GmbH, Wolfgang Schwab, I.TID 3, 03.06.2008
 Alternative zum Softwaredepot: Rational Clear Case
Repositories – GForge
Tabelle von Projekten
Projektname Zugriffsrechte/
Projektzugehörigkeit
Web-Oberfläche:
Collaboration (Tracker,
News, Wiki etc.)
Subversion-Repository
Musterprojekt Musterfrau – Admin
Mustermann –
Developer
https://swd.bahn-net.db.de/
projects/musterprojekt
https://swd.bahn-net.db.de/
musterprojekt/svn/
KOLT Marc Volz – Admin https://swd.bahn-net.db.de/
projects/kolt
https://swd.bahn-net.db.de/
projects/kolt/svn/
maven++ Horst Duchêne – Admin https://swd.bahn-net.db.de/
projects/mavenpp
https://swd.bahn-net.db.de/
projects/mavenpp/svn/
… … … …
26DB Systel GmbH, Wolfgang Schwab, I.TID 3, 03.06.2008
Repositories – GForge
Komponenten und Sourcen in GForge
Projektname Zugriffsrechte/
Projektzugehörigkeit
Source Repository Komponenten Repository
Musterprojekt Musterfrau – Admin
Mustermann –
Developer
https://swd.bahn-net.db.de/
musterprojekt/svn/
trunk/src/
https://swd.bahn-net.db.de/
musterprojekt/svn/
trunk/dist/maven2/
KOLT Marc Volz – Admin https://swd.bahn-net.db.de/
projects/kolt/svn/
trunk/src/
https://swd.bahn-net.db.de/
projects/kolt/svn/
trunk/dist/maven2/
maven++ Horst Duchêne – Admin https://swd.bahn-net.db.de/
projects/mavenpp/svn/
trunk/src/
https://swd.bahn-net.db.de/
projects/mavenpp/svn/
trunk/dist/maven2/
… … … …
27DB Systel GmbH, Wolfgang Schwab, I.TID 3, 03.06.2008
Inhalt
3. Repositories
2. Exkurs: Maven 2
4. Team Server
1. Entwicklungsclient
Copyright 2007 itemis GmbH & Co. KG
Unified Development Environments
©itemisAG2007◊AlleRechtevorbehalten
Copyright 2007 itemis GmbH & Co. KG
Unified Development Environments
©itemisAG2007◊AlleRechtevorbehalten
Copyright 2007 itemis GmbH & Co. KG
Unified Development Environments
©itemisAG2007◊AlleRechtevorbehalten
POM Relationships
Coordinates
groupId
artifactId
version
Aggregation
modules
Inheritance
parent
dependencyManagement*
Dependencies
dependencies*
Build Settings
properties packaging
build* reporting*
Project Information
name
description
url
interceptionYear
licenses
developers
contributors
organisation
Copyright 2007 itemis GmbH & Co. KG
Unified Development Environments
©itemisAG2007◊AlleRechtevorbehalten
Environment Information Maven Environment
prerequisites
Repositories
repositories*
pluginRepositories*
distributionManagement
Profiles
profile activation **
issueManagement
mailingLists
ciManagement
scm
Copyright 2007 itemis GmbH & Co. KG
Unified Development Environments
©itemisAG2007◊AlleRechtevorbehalten
<project>
<parent>
<groupId>de.bahn</groupId>
<artifactId>bahn-parent</artifactId>
<version>1.2.0</version>
</parent>
<groupId>de.bahn.dbsystel</groupId>
<artifactId>dbsystel-sample</artifactId>
<version>1.1.1-SNAPSHOT</version>
</project>
Copyright 2007 itemis GmbH & Co. KG
Unified Development Environments
©itemisAG2007◊AlleRechtevorbehalten
<project>
[...]
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.4</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>2.5.2</version>
</dependency>
<dependencies>
</project>
Copyright 2007 itemis GmbH & Co. KG
Unified Development Environments
©itemisAG2007◊AlleRechtevorbehalten
<project>
[...]
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
</plugins>
</build>
</project>
Copyright 2007 itemis GmbH & Co. KG
Unified Development Environments
©itemisAG2007◊AlleRechtevorbehalten
36DB Systel GmbH, Wolfgang Schwab, I.TID 3, 03.06.2008
Inhalt
3. Repositories  Fortsetzung
2. Exkurs: Maven 2
4. Team Server
1. Entwicklungsclient
37DB Systel GmbH, Wolfgang Schwab, I.TID 3, 03.06.2008
Repositories – Maven-Repository für Komponenten
Exkurs: Quellkomponenten versus Zielkomponenten
Build
Komponente
n
Quellen
Development
Runtime
Environment
Komponenten
Projektinformationen
(Metriken)
.jar
.java
.jar
java –jar
.jar
.html
Werkzeuge
Quelle Ziel
38DB Systel GmbH, Wolfgang Schwab, I.TID 3, 03.06.2008
Repositories – Maven-Repository für Komponenten
Internet-Repositories
Central
JBoss
Java.net
CodehausSpring
Maven
Proxy
Maven++
Komponente
n
KOLT
Komponente
n
Intranet (K2)
Cache
39DB Systel GmbH, Wolfgang Schwab, I.TID 3, 03.06.2008
 Jeder baut auf dem Client alle Komponenten
+ Komponenten entsprechen dem
lokalem Stand der Quellen.
 Komponentenaustausch zwischen Entwickler
+ Nicht alle Sourcen müssen ausgecheckt
und gebaut werden.
 Kontinuierlicher Build auf Team-Server
+ Alle Komponenten sind zentral verfügbar und
synchron zum Stand der Quellen im Repository
Repositories – Snapshots-Repositories
Wer baut die Anwendungskomponenten in
Entwicklung?
Quellen
Komponente
n
Quellen
Komponenten
Quellen
Kontinuierliche
s Bauen
40DB Systel GmbH, Wolfgang Schwab, I.TID 3, 03.06.2008
Repositories – Freigegebene Komponenten
Wie wird aus dem Snapshot ein Release?
Freigegebene
Komponenten
(Softwaredepot)
Snapshot
Komponenten
(Team-Server)
Quellen
Kontinuierliches
Bauen + Testen
Entwicklung Release
Release-Tag
41DB Systel GmbH, Wolfgang Schwab, I.TID 3, 03.06.2008
Repositories – Übersicht
Entwicklungsprozess inkl. Snapshots und Releases
Entwick-
lung
Sources
Freigegebene
Komponente
Install/DeployRuntime
Environments
Automatic
Build
Freigegebene
Komponenten
Issues
Sources
Commit
Workspace Build
Laufzeitum-
gebung
Entwicklung
Snapshot
Komponenten
Snapshot
Artifacts
Release
Team Server
Client
Team Server
Test und
Produktion
42DB Systel GmbH, Wolfgang Schwab, I.TID 3, 03.06.2008
Inhalt
3. Repository
2. Exkurs: Maven 2
4. Team Server
1. Entwicklungsclient
43DB Systel GmbH, Wolfgang Schwab, I.TID 3, 03.06.2008
Team Server
Betriebsführungsmodelle
 Excklusiver Server pro Projekt
 Ressource ist immer verfügbar und planbar
 Projekt bekommt meistens Root-Rechte
 Hoher Aufwand für Beschaffung und Rückgabe
 Schlechte Nutzung von Ressourcen bzw. hohe Kosten
 Shared Server: Ein Home-Verzeichnis pro Projekt
 Niedrige Kosten
 Moderater Aufwand für Beschaffung und Rückgabe
 Keine Root-Rechte
 Verfügbarkeit der Ressource kaum steuerbar
 Schlechte Nutzung von Ressourcen bzw. hohe Kosten
 Virtueller Server  optimistische Betrachtung
 leichtgewichtige Beschaffungs- und Rückgabeprozesse
 Niedrige Kosten
 i. d. R. Root-Rechte
 Zugesicherte Ressourcen sind verfügbar
44DB Systel GmbH, Wolfgang Schwab, I.TID 3, 03.06.2008
Java 6.0 JBoss 4.2
Maven 2.0 Continuum Maven Proxy
Entwicklungsumgebung Server
Team Server
Installationspakete
Tomcat 6 WLS 10.0 Java 5.0
JEE Server Plattform
…
Linux Plattform
Editor Mail …
45DB Systel GmbH, Wolfgang Schwab, I.TID 3, 03.06.2008
Komponenten
Sourcen
Team Server
Exkurs: Installation von JEE-Anwendungen
Installiertes
System
continuum.war
proxy.war
Maven
Assembly
Konfigurationen
spezifische
Installations-
skripte
generische
Installations-
skripte
Maven POM
Maven
Release
Komponente
n
seu.tar.gz
manuell
 wget
 untar
 install
 activate
 start
Paketquellen
Installations-
quellen
Zielumgebung
Konfiguration
Zielumgebung
46DB Systel GmbH, Wolfgang Schwab, I.TID 3, 03.06.2008
Team Server
Konfiguration
Umgebungsvariablen
– JAVA_HOME
– MVN_HOME
– JBOSS_HOME
– etc.
Settings-Files für Maven
Initialisierung der Umgebung für bestimmte SEU- und Projektversionen:
Durch Sourcen von setenv-Skripten
Die Konfiguration des Team Server ist analog zum Entwicklungsclient
Copyright 2007 itemis GmbH & Co. KG
Unified Development Environments
©itemisAG2007◊AlleRechtevorbehalten
48DB Systel GmbH, Wolfgang Schwab, I.TID 3, 03.06.2008
Team Server
Konfiguration
Software-Architekt im Development Center der DB Systel GmbH
JEE-Technologien
OLTP-Systeme
Application Lifecycle Management
Wolfgang Schwab

Contenu connexe

Tendances

Agile Oracle database modeling and development - APEX Connect 2020
Agile Oracle database modeling and development - APEX Connect 2020Agile Oracle database modeling and development - APEX Connect 2020
Agile Oracle database modeling and development - APEX Connect 2020Torsten Kleiber
 
Open Source Governance - Erfahrungen
Open Source Governance - ErfahrungenOpen Source Governance - Erfahrungen
Open Source Governance - ErfahrungenJan Thielscher
 
Kollaboration in Java Projekten - Anspruch und Realität
Kollaboration in Java Projekten - Anspruch und RealitätKollaboration in Java Projekten - Anspruch und Realität
Kollaboration in Java Projekten - Anspruch und RealitätTorben Knerr
 
Regulatorics: Offside is when the referee whistles - DOAG 2018
Regulatorics: Offside is when the referee whistles - DOAG 2018Regulatorics: Offside is when the referee whistles - DOAG 2018
Regulatorics: Offside is when the referee whistles - DOAG 2018Torsten Kleiber
 
Cross-Apps-Entwicklung für iPhone, Android und Co.
Cross-Apps-Entwicklung für iPhone, Android und Co.Cross-Apps-Entwicklung für iPhone, Android und Co.
Cross-Apps-Entwicklung für iPhone, Android und Co.GFU Cyrus AG
 
Das dreckige Dutzend - ADF Migration nach 12c in der IKB - DOAG 2014.
Das dreckige Dutzend - ADF Migration nach 12c in der IKB - DOAG 2014.Das dreckige Dutzend - ADF Migration nach 12c in der IKB - DOAG 2014.
Das dreckige Dutzend - ADF Migration nach 12c in der IKB - DOAG 2014.Torsten Kleiber
 
Ueberlegungen Projektmanagement Web Applications
Ueberlegungen Projektmanagement Web ApplicationsUeberlegungen Projektmanagement Web Applications
Ueberlegungen Projektmanagement Web ApplicationsGünther Haslbeck
 
About Dogs and Cats - über DevOps in großen Konzernen
About Dogs and Cats - über DevOps in großen KonzernenAbout Dogs and Cats - über DevOps in großen Konzernen
About Dogs and Cats - über DevOps in großen KonzernenStefan Bauer
 
DevOps in der Praxis
DevOps in der PraxisDevOps in der Praxis
DevOps in der Praxisinovex GmbH
 
OOP 2012 - Udo Pracht - DevOps Einführung und Überblick
OOP 2012 - Udo Pracht - DevOps Einführung und ÜberblickOOP 2012 - Udo Pracht - DevOps Einführung und Überblick
OOP 2012 - Udo Pracht - DevOps Einführung und ÜberblickUdo Pracht
 
Qualitätssicherung in ADF Projekten der IKB Deutschen Industriebank AG
Qualitätssicherung in ADF Projekten der IKB Deutschen Industriebank AGQualitätssicherung in ADF Projekten der IKB Deutschen Industriebank AG
Qualitätssicherung in ADF Projekten der IKB Deutschen Industriebank AGTorsten Kleiber
 
DevDay 2016: Peter Lehmann - Testautomatisierungsframework Xeta
DevDay 2016: Peter Lehmann - Testautomatisierungsframework XetaDevDay 2016: Peter Lehmann - Testautomatisierungsframework Xeta
DevDay 2016: Peter Lehmann - Testautomatisierungsframework XetaDevDay Dresden
 
Integrationsszenarien in modernen Anwendungslandschaften - OPITZ CONSULTING -...
Integrationsszenarien in modernen Anwendungslandschaften - OPITZ CONSULTING -...Integrationsszenarien in modernen Anwendungslandschaften - OPITZ CONSULTING -...
Integrationsszenarien in modernen Anwendungslandschaften - OPITZ CONSULTING -...OPITZ CONSULTING Deutschland
 
Basisinfrastruktur aus Entwicklersicht
Basisinfrastruktur aus EntwicklersichtBasisinfrastruktur aus Entwicklersicht
Basisinfrastruktur aus Entwicklersichtcmahnke
 
Bob the Builder - Build & Deploy von ADF Enterprise Anwendungen
Bob the Builder - Build & Deploy von ADF Enterprise AnwendungenBob the Builder - Build & Deploy von ADF Enterprise Anwendungen
Bob the Builder - Build & Deploy von ADF Enterprise AnwendungenTorsten Kleiber
 
Continuous Delivery - Aber Sicher?!
Continuous Delivery - Aber Sicher?!Continuous Delivery - Aber Sicher?!
Continuous Delivery - Aber Sicher?!Jan Dittberner
 
Whitepaper QF-Test: GUI Testautomatisierung macht Spaß
Whitepaper QF-Test: GUI Testautomatisierung macht SpaßWhitepaper QF-Test: GUI Testautomatisierung macht Spaß
Whitepaper QF-Test: GUI Testautomatisierung macht SpaßClaudia Baur
 

Tendances (20)

Agile Oracle database modeling and development - APEX Connect 2020
Agile Oracle database modeling and development - APEX Connect 2020Agile Oracle database modeling and development - APEX Connect 2020
Agile Oracle database modeling and development - APEX Connect 2020
 
Softwarequalität Entwicklung - Test - Wartung
Softwarequalität Entwicklung -  Test - WartungSoftwarequalität Entwicklung -  Test - Wartung
Softwarequalität Entwicklung - Test - Wartung
 
Open Source Governance - Erfahrungen
Open Source Governance - ErfahrungenOpen Source Governance - Erfahrungen
Open Source Governance - Erfahrungen
 
Kollaboration in Java Projekten - Anspruch und Realität
Kollaboration in Java Projekten - Anspruch und RealitätKollaboration in Java Projekten - Anspruch und Realität
Kollaboration in Java Projekten - Anspruch und Realität
 
Regulatorics: Offside is when the referee whistles - DOAG 2018
Regulatorics: Offside is when the referee whistles - DOAG 2018Regulatorics: Offside is when the referee whistles - DOAG 2018
Regulatorics: Offside is when the referee whistles - DOAG 2018
 
Advanced Continuous Integration
Advanced Continuous IntegrationAdvanced Continuous Integration
Advanced Continuous Integration
 
Cross-Apps-Entwicklung für iPhone, Android und Co.
Cross-Apps-Entwicklung für iPhone, Android und Co.Cross-Apps-Entwicklung für iPhone, Android und Co.
Cross-Apps-Entwicklung für iPhone, Android und Co.
 
Das dreckige Dutzend - ADF Migration nach 12c in der IKB - DOAG 2014.
Das dreckige Dutzend - ADF Migration nach 12c in der IKB - DOAG 2014.Das dreckige Dutzend - ADF Migration nach 12c in der IKB - DOAG 2014.
Das dreckige Dutzend - ADF Migration nach 12c in der IKB - DOAG 2014.
 
Ueberlegungen Projektmanagement Web Applications
Ueberlegungen Projektmanagement Web ApplicationsUeberlegungen Projektmanagement Web Applications
Ueberlegungen Projektmanagement Web Applications
 
About Dogs and Cats - über DevOps in großen Konzernen
About Dogs and Cats - über DevOps in großen KonzernenAbout Dogs and Cats - über DevOps in großen Konzernen
About Dogs and Cats - über DevOps in großen Konzernen
 
DevOps in der Praxis
DevOps in der PraxisDevOps in der Praxis
DevOps in der Praxis
 
Ant Maven
Ant MavenAnt Maven
Ant Maven
 
OOP 2012 - Udo Pracht - DevOps Einführung und Überblick
OOP 2012 - Udo Pracht - DevOps Einführung und ÜberblickOOP 2012 - Udo Pracht - DevOps Einführung und Überblick
OOP 2012 - Udo Pracht - DevOps Einführung und Überblick
 
Qualitätssicherung in ADF Projekten der IKB Deutschen Industriebank AG
Qualitätssicherung in ADF Projekten der IKB Deutschen Industriebank AGQualitätssicherung in ADF Projekten der IKB Deutschen Industriebank AG
Qualitätssicherung in ADF Projekten der IKB Deutschen Industriebank AG
 
DevDay 2016: Peter Lehmann - Testautomatisierungsframework Xeta
DevDay 2016: Peter Lehmann - Testautomatisierungsframework XetaDevDay 2016: Peter Lehmann - Testautomatisierungsframework Xeta
DevDay 2016: Peter Lehmann - Testautomatisierungsframework Xeta
 
Integrationsszenarien in modernen Anwendungslandschaften - OPITZ CONSULTING -...
Integrationsszenarien in modernen Anwendungslandschaften - OPITZ CONSULTING -...Integrationsszenarien in modernen Anwendungslandschaften - OPITZ CONSULTING -...
Integrationsszenarien in modernen Anwendungslandschaften - OPITZ CONSULTING -...
 
Basisinfrastruktur aus Entwicklersicht
Basisinfrastruktur aus EntwicklersichtBasisinfrastruktur aus Entwicklersicht
Basisinfrastruktur aus Entwicklersicht
 
Bob the Builder - Build & Deploy von ADF Enterprise Anwendungen
Bob the Builder - Build & Deploy von ADF Enterprise AnwendungenBob the Builder - Build & Deploy von ADF Enterprise Anwendungen
Bob the Builder - Build & Deploy von ADF Enterprise Anwendungen
 
Continuous Delivery - Aber Sicher?!
Continuous Delivery - Aber Sicher?!Continuous Delivery - Aber Sicher?!
Continuous Delivery - Aber Sicher?!
 
Whitepaper QF-Test: GUI Testautomatisierung macht Spaß
Whitepaper QF-Test: GUI Testautomatisierung macht SpaßWhitepaper QF-Test: GUI Testautomatisierung macht Spaß
Whitepaper QF-Test: GUI Testautomatisierung macht Spaß
 

En vedette

Profiler Guided Java Performance Tuning
Profiler Guided Java Performance TuningProfiler Guided Java Performance Tuning
Profiler Guided Java Performance Tuningosa_ora
 
An Introduction To Java Profiling
An Introduction To Java ProfilingAn Introduction To Java Profiling
An Introduction To Java Profilingschlebu
 
Java Performance Monitoring & Tuning
Java Performance Monitoring & TuningJava Performance Monitoring & Tuning
Java Performance Monitoring & TuningMuhammed Shakir
 
Planificaciones de refuerzo
Planificaciones  de refuerzoPlanificaciones  de refuerzo
Planificaciones de refuerzoDamian Castro
 
Las ti cs en la formación docente
Las ti cs en la formación docenteLas ti cs en la formación docente
Las ti cs en la formación docenteDavid066
 
20090416 Día W3C en España, Sesión 2: hacia la transparencia en la administra...
20090416 Día W3C en España, Sesión 2: hacia la transparencia en la administra...20090416 Día W3C en España, Sesión 2: hacia la transparencia en la administra...
20090416 Día W3C en España, Sesión 2: hacia la transparencia en la administra...Miguel A. Amutio
 
Nicho de mercado
Nicho de mercado Nicho de mercado
Nicho de mercado charoalma
 
Ballnacht Die Bilder
Ballnacht Die BilderBallnacht Die Bilder
Ballnacht Die Bildermobileconnect
 
La adecuación al ENS, situación actual y evolución del RD 3/2010
La adecuación al ENS, situación actual y evolución del RD 3/2010La adecuación al ENS, situación actual y evolución del RD 3/2010
La adecuación al ENS, situación actual y evolución del RD 3/2010Miguel A. Amutio
 
Informe 1er debate ley para regulacion creditos para la vivienda
Informe 1er debate ley para regulacion creditos para la viviendaInforme 1er debate ley para regulacion creditos para la vivienda
Informe 1er debate ley para regulacion creditos para la viviendaAsambleista Viviana Salcedo
 

En vedette (20)

Profiler Guided Java Performance Tuning
Profiler Guided Java Performance TuningProfiler Guided Java Performance Tuning
Profiler Guided Java Performance Tuning
 
An Introduction To Java Profiling
An Introduction To Java ProfilingAn Introduction To Java Profiling
An Introduction To Java Profiling
 
Java Performance Monitoring & Tuning
Java Performance Monitoring & TuningJava Performance Monitoring & Tuning
Java Performance Monitoring & Tuning
 
DIY Java Profiling
DIY Java ProfilingDIY Java Profiling
DIY Java Profiling
 
Ley de habeas data
Ley de habeas dataLey de habeas data
Ley de habeas data
 
El universo
El   universoEl   universo
El universo
 
Simplicidad y complejidad
Simplicidad y complejidadSimplicidad y complejidad
Simplicidad y complejidad
 
Planificaciones de refuerzo
Planificaciones  de refuerzoPlanificaciones  de refuerzo
Planificaciones de refuerzo
 
Las ti cs en la formación docente
Las ti cs en la formación docenteLas ti cs en la formación docente
Las ti cs en la formación docente
 
Generación net
Generación netGeneración net
Generación net
 
El desfile nfvl
El desfile nfvlEl desfile nfvl
El desfile nfvl
 
20090416 Día W3C en España, Sesión 2: hacia la transparencia en la administra...
20090416 Día W3C en España, Sesión 2: hacia la transparencia en la administra...20090416 Día W3C en España, Sesión 2: hacia la transparencia en la administra...
20090416 Día W3C en España, Sesión 2: hacia la transparencia en la administra...
 
Nicho de mercado
Nicho de mercado Nicho de mercado
Nicho de mercado
 
Kataloge abonnieren
Kataloge abonnierenKataloge abonnieren
Kataloge abonnieren
 
Unternehmensnachfolge_2016_2017
Unternehmensnachfolge_2016_2017Unternehmensnachfolge_2016_2017
Unternehmensnachfolge_2016_2017
 
La narración!!
La narración!!La narración!!
La narración!!
 
Ballnacht Die Bilder
Ballnacht Die BilderBallnacht Die Bilder
Ballnacht Die Bilder
 
La adecuación al ENS, situación actual y evolución del RD 3/2010
La adecuación al ENS, situación actual y evolución del RD 3/2010La adecuación al ENS, situación actual y evolución del RD 3/2010
La adecuación al ENS, situación actual y evolución del RD 3/2010
 
Informe 1er debate ley para regulacion creditos para la vivienda
Informe 1er debate ley para regulacion creditos para la viviendaInforme 1er debate ley para regulacion creditos para la vivienda
Informe 1er debate ley para regulacion creditos para la vivienda
 
Método ipler ecci
Método ipler ecciMétodo ipler ecci
Método ipler ecci
 

Similaire à Vortragsreihe Dortmund: Unified Development Environments

Testautomatisierung mit CodedUI für Fortgeschrittende
Testautomatisierung mit CodedUI für FortgeschrittendeTestautomatisierung mit CodedUI für Fortgeschrittende
Testautomatisierung mit CodedUI für FortgeschrittendeNico Orschel
 
BASTA 2016 - Alternativen zu Visual-Studio-Testtools: Wann lohnt es sich auch...
BASTA 2016 - Alternativen zu Visual-Studio-Testtools: Wann lohnt es sich auch...BASTA 2016 - Alternativen zu Visual-Studio-Testtools: Wann lohnt es sich auch...
BASTA 2016 - Alternativen zu Visual-Studio-Testtools: Wann lohnt es sich auch...Marc Müller
 
TFS 2010 Überblick
TFS 2010 ÜberblickTFS 2010 Überblick
TFS 2010 ÜberblickSven Hubert
 
CLOUDSERVICES FÜR ISVs
CLOUDSERVICES FÜR ISVsCLOUDSERVICES FÜR ISVs
CLOUDSERVICES FÜR ISVsacentrix GmbH
 
Testmanagement mit Visual Studio 2013 / CodedUI / Neues aus der Produktgruppe...
Testmanagement mit Visual Studio 2013 / CodedUI / Neues aus der Produktgruppe...Testmanagement mit Visual Studio 2013 / CodedUI / Neues aus der Produktgruppe...
Testmanagement mit Visual Studio 2013 / CodedUI / Neues aus der Produktgruppe...Nico Orschel
 
Vagrant, Puppet, Docker für Entwickler und Architekten
Vagrant, Puppet, Docker für Entwickler und ArchitektenVagrant, Puppet, Docker für Entwickler und Architekten
Vagrant, Puppet, Docker für Entwickler und ArchitektenOPITZ CONSULTING Deutschland
 
Scrum als agiles Vorgehensmodell für Programmierer
Scrum als agiles Vorgehensmodell für ProgrammiererScrum als agiles Vorgehensmodell für Programmierer
Scrum als agiles Vorgehensmodell für ProgrammiererTobias Schlüter
 
Lean development 04
Lean development 04Lean development 04
Lean development 04SuperB2
 
Gradle - Beginner's Workshop (german)
Gradle - Beginner's Workshop (german)Gradle - Beginner's Workshop (german)
Gradle - Beginner's Workshop (german)Joachim Baumann
 
Maven2 - Die nächste Generation des Buildmanagements?
Maven2 - Die nächste Generation des Buildmanagements?Maven2 - Die nächste Generation des Buildmanagements?
Maven2 - Die nächste Generation des Buildmanagements?Thorsten Kamann
 
Software Entwicklung im Team
Software Entwicklung im TeamSoftware Entwicklung im Team
Software Entwicklung im Teambrandts
 
DWX 2017 - Alternativen zu Visual-Studio-Testtools: Wann lohnt es sich auch m...
DWX 2017 - Alternativen zu Visual-Studio-Testtools: Wann lohnt es sich auch m...DWX 2017 - Alternativen zu Visual-Studio-Testtools: Wann lohnt es sich auch m...
DWX 2017 - Alternativen zu Visual-Studio-Testtools: Wann lohnt es sich auch m...Marc Müller
 
BASTA Spring 2016 - Moderne Versionsverwaltung mit Git, und der neue Build-Se...
BASTA Spring 2016 - Moderne Versionsverwaltung mit Git, und der neue Build-Se...BASTA Spring 2016 - Moderne Versionsverwaltung mit Git, und der neue Build-Se...
BASTA Spring 2016 - Moderne Versionsverwaltung mit Git, und der neue Build-Se...Marc Müller
 
Mehr Sicherheit durch Automatisierung
Mehr Sicherheit durch AutomatisierungMehr Sicherheit durch Automatisierung
Mehr Sicherheit durch AutomatisierungOPEN KNOWLEDGE GmbH
 
VSHN DevOps Workshop at topsoft 2019
VSHN DevOps Workshop at topsoft 2019VSHN DevOps Workshop at topsoft 2019
VSHN DevOps Workshop at topsoft 2019Markus Speth
 
Enterprise Git Adoption Webinar - German
Enterprise Git Adoption Webinar - GermanEnterprise Git Adoption Webinar - German
Enterprise Git Adoption Webinar - GermanCollabNet
 
Dev Day 2019: Kay Grebenstein – Wie wir müssen das noch testen? - design for ...
Dev Day 2019: Kay Grebenstein – Wie wir müssen das noch testen? - design for ...Dev Day 2019: Kay Grebenstein – Wie wir müssen das noch testen? - design for ...
Dev Day 2019: Kay Grebenstein – Wie wir müssen das noch testen? - design for ...DevDay Dresden
 
Gewinnung von OPEN SOURCE Techniken für junge Unternehmen
Gewinnung von OPEN SOURCE Techniken für junge UnternehmenGewinnung von OPEN SOURCE Techniken für junge Unternehmen
Gewinnung von OPEN SOURCE Techniken für junge UnternehmenBjoern Reinhold
 

Similaire à Vortragsreihe Dortmund: Unified Development Environments (20)

TDD für Testmuffel
TDD für TestmuffelTDD für Testmuffel
TDD für Testmuffel
 
Testautomatisierung mit CodedUI für Fortgeschrittende
Testautomatisierung mit CodedUI für FortgeschrittendeTestautomatisierung mit CodedUI für Fortgeschrittende
Testautomatisierung mit CodedUI für Fortgeschrittende
 
BASTA 2016 - Alternativen zu Visual-Studio-Testtools: Wann lohnt es sich auch...
BASTA 2016 - Alternativen zu Visual-Studio-Testtools: Wann lohnt es sich auch...BASTA 2016 - Alternativen zu Visual-Studio-Testtools: Wann lohnt es sich auch...
BASTA 2016 - Alternativen zu Visual-Studio-Testtools: Wann lohnt es sich auch...
 
TFS 2010 Überblick
TFS 2010 ÜberblickTFS 2010 Überblick
TFS 2010 Überblick
 
CLOUDSERVICES FÜR ISVs
CLOUDSERVICES FÜR ISVsCLOUDSERVICES FÜR ISVs
CLOUDSERVICES FÜR ISVs
 
Testmanagement mit Visual Studio 2013 / CodedUI / Neues aus der Produktgruppe...
Testmanagement mit Visual Studio 2013 / CodedUI / Neues aus der Produktgruppe...Testmanagement mit Visual Studio 2013 / CodedUI / Neues aus der Produktgruppe...
Testmanagement mit Visual Studio 2013 / CodedUI / Neues aus der Produktgruppe...
 
Vagrant, Puppet, Docker für Entwickler und Architekten
Vagrant, Puppet, Docker für Entwickler und ArchitektenVagrant, Puppet, Docker für Entwickler und Architekten
Vagrant, Puppet, Docker für Entwickler und Architekten
 
Agiles Testen - Überblick
Agiles Testen - ÜberblickAgiles Testen - Überblick
Agiles Testen - Überblick
 
Scrum als agiles Vorgehensmodell für Programmierer
Scrum als agiles Vorgehensmodell für ProgrammiererScrum als agiles Vorgehensmodell für Programmierer
Scrum als agiles Vorgehensmodell für Programmierer
 
Lean development 04
Lean development 04Lean development 04
Lean development 04
 
Gradle - Beginner's Workshop (german)
Gradle - Beginner's Workshop (german)Gradle - Beginner's Workshop (german)
Gradle - Beginner's Workshop (german)
 
Maven2 - Die nächste Generation des Buildmanagements?
Maven2 - Die nächste Generation des Buildmanagements?Maven2 - Die nächste Generation des Buildmanagements?
Maven2 - Die nächste Generation des Buildmanagements?
 
Software Entwicklung im Team
Software Entwicklung im TeamSoftware Entwicklung im Team
Software Entwicklung im Team
 
DWX 2017 - Alternativen zu Visual-Studio-Testtools: Wann lohnt es sich auch m...
DWX 2017 - Alternativen zu Visual-Studio-Testtools: Wann lohnt es sich auch m...DWX 2017 - Alternativen zu Visual-Studio-Testtools: Wann lohnt es sich auch m...
DWX 2017 - Alternativen zu Visual-Studio-Testtools: Wann lohnt es sich auch m...
 
BASTA Spring 2016 - Moderne Versionsverwaltung mit Git, und der neue Build-Se...
BASTA Spring 2016 - Moderne Versionsverwaltung mit Git, und der neue Build-Se...BASTA Spring 2016 - Moderne Versionsverwaltung mit Git, und der neue Build-Se...
BASTA Spring 2016 - Moderne Versionsverwaltung mit Git, und der neue Build-Se...
 
Mehr Sicherheit durch Automatisierung
Mehr Sicherheit durch AutomatisierungMehr Sicherheit durch Automatisierung
Mehr Sicherheit durch Automatisierung
 
VSHN DevOps Workshop at topsoft 2019
VSHN DevOps Workshop at topsoft 2019VSHN DevOps Workshop at topsoft 2019
VSHN DevOps Workshop at topsoft 2019
 
Enterprise Git Adoption Webinar - German
Enterprise Git Adoption Webinar - GermanEnterprise Git Adoption Webinar - German
Enterprise Git Adoption Webinar - German
 
Dev Day 2019: Kay Grebenstein – Wie wir müssen das noch testen? - design for ...
Dev Day 2019: Kay Grebenstein – Wie wir müssen das noch testen? - design for ...Dev Day 2019: Kay Grebenstein – Wie wir müssen das noch testen? - design for ...
Dev Day 2019: Kay Grebenstein – Wie wir müssen das noch testen? - design for ...
 
Gewinnung von OPEN SOURCE Techniken für junge Unternehmen
Gewinnung von OPEN SOURCE Techniken für junge UnternehmenGewinnung von OPEN SOURCE Techniken für junge Unternehmen
Gewinnung von OPEN SOURCE Techniken für junge Unternehmen
 

Plus de Thorsten Kamann

Scrum and distributed teams
Scrum and distributed teamsScrum and distributed teams
Scrum and distributed teamsThorsten Kamann
 
Effizente Entwicklung für verteilte Projekte
Effizente Entwicklung für verteilte ProjekteEffizente Entwicklung für verteilte Projekte
Effizente Entwicklung für verteilte ProjekteThorsten Kamann
 
Spring 3 - Der dritte Frühling
Spring 3 - Der dritte FrühlingSpring 3 - Der dritte Frühling
Spring 3 - Der dritte FrühlingThorsten Kamann
 
Spring 3 - An Introduction
Spring 3 - An IntroductionSpring 3 - An Introduction
Spring 3 - An IntroductionThorsten Kamann
 
Webtests Reloaded - Webtest with Selenium, TestNG, Groovy and Maven
Webtests Reloaded - Webtest with Selenium, TestNG, Groovy and MavenWebtests Reloaded - Webtest with Selenium, TestNG, Groovy and Maven
Webtests Reloaded - Webtest with Selenium, TestNG, Groovy and MavenThorsten Kamann
 
My Daily Spring - Best Practices with the Springframework
My Daily Spring - Best Practices with the SpringframeworkMy Daily Spring - Best Practices with the Springframework
My Daily Spring - Best Practices with the SpringframeworkThorsten Kamann
 
Leichtgewichtige Architekturen mit Spring, JPA, Maven und Groovy
Leichtgewichtige Architekturen mit Spring, JPA, Maven und GroovyLeichtgewichtige Architekturen mit Spring, JPA, Maven und Groovy
Leichtgewichtige Architekturen mit Spring, JPA, Maven und GroovyThorsten Kamann
 
Let’s groove with Groovy
Let’s groove with GroovyLet’s groove with Groovy
Let’s groove with GroovyThorsten Kamann
 
Leichtgewichtige Architekturen mit Spring, JPA, Maven und Groovy
Leichtgewichtige Architekturen mit Spring, JPA, Maven und GroovyLeichtgewichtige Architekturen mit Spring, JPA, Maven und Groovy
Leichtgewichtige Architekturen mit Spring, JPA, Maven und GroovyThorsten Kamann
 

Plus de Thorsten Kamann (13)

Scrum on rails
Scrum on railsScrum on rails
Scrum on rails
 
Scrum and distributed teams
Scrum and distributed teamsScrum and distributed teams
Scrum and distributed teams
 
Effizente Entwicklung für verteilte Projekte
Effizente Entwicklung für verteilte ProjekteEffizente Entwicklung für verteilte Projekte
Effizente Entwicklung für verteilte Projekte
 
Spring 3 - Der dritte Frühling
Spring 3 - Der dritte FrühlingSpring 3 - Der dritte Frühling
Spring 3 - Der dritte Frühling
 
Spring 3 - An Introduction
Spring 3 - An IntroductionSpring 3 - An Introduction
Spring 3 - An Introduction
 
Webtests Reloaded - Webtest with Selenium, TestNG, Groovy and Maven
Webtests Reloaded - Webtest with Selenium, TestNG, Groovy and MavenWebtests Reloaded - Webtest with Selenium, TestNG, Groovy and Maven
Webtests Reloaded - Webtest with Selenium, TestNG, Groovy and Maven
 
My Daily Spring - Best Practices with the Springframework
My Daily Spring - Best Practices with the SpringframeworkMy Daily Spring - Best Practices with the Springframework
My Daily Spring - Best Practices with the Springframework
 
Leichtgewichtige Architekturen mit Spring, JPA, Maven und Groovy
Leichtgewichtige Architekturen mit Spring, JPA, Maven und GroovyLeichtgewichtige Architekturen mit Spring, JPA, Maven und Groovy
Leichtgewichtige Architekturen mit Spring, JPA, Maven und Groovy
 
Let’s groove with Groovy
Let’s groove with GroovyLet’s groove with Groovy
Let’s groove with Groovy
 
Groovy - Rocks or Not?
Groovy - Rocks or Not?Groovy - Rocks or Not?
Groovy - Rocks or Not?
 
Spring 2.0
Spring 2.0Spring 2.0
Spring 2.0
 
Spring 2.0
Spring 2.0Spring 2.0
Spring 2.0
 
Leichtgewichtige Architekturen mit Spring, JPA, Maven und Groovy
Leichtgewichtige Architekturen mit Spring, JPA, Maven und GroovyLeichtgewichtige Architekturen mit Spring, JPA, Maven und Groovy
Leichtgewichtige Architekturen mit Spring, JPA, Maven und Groovy
 

Vortragsreihe Dortmund: Unified Development Environments

  • 2. Copyright 2007 itemis GmbH & Co. KG Unified Development Environments ©itemisAG2007◊AlleRechtevorbehalten  Wieso, weshalb, warum?  Definition Entwicklungsumgebung  Fallbeispiel DBSystel
  • 3. Copyright 2007 itemis GmbH & Co. KG Unified Development Environments ©itemisAG2007◊AlleRechtevorbehalten Qualität Wieder- verwendung DRY Motivation
  • 4. Copyright 2007 itemis GmbH & Co. KG Unified Development Environments ©itemisAG2007◊AlleRechtevorbehalten • Probleme grösserer Entwicklungsumgebungen inkompatible Methodiken unterschiedliche Projektstrukturen autom. Buildprozess inkonsistent Projektkultur mein Code vs. unser Code Releasemanagement
  • 5. Copyright 2007 itemis GmbH & Co. KG Unified Development Environments ©itemisAG2007◊AlleRechtevorbehalten • Vorteile einer einheitl. Entwicklungsumgebung verbesserter Buildprozess verbesserter Releaseprozess Motivation steigt Mitarbeiterwechsel vereinfacht steigende Qualität
  • 6. Copyright 2007 itemis GmbH & Co. KG Unified Development Environments ©itemisAG2007◊AlleRechtevorbehalten • Nachteile einer einheitl. Entwicklungsumgebung Passt nicht für alle Projekte Zu strikt lässt die Produktivität und Qualität sinken
  • 7. Copyright 2007 itemis GmbH & Co. KG Unified Development Environments ©itemisAG2007◊AlleRechtevorbehalten •IDE •Java-Umgebung •Buildtools •Tools •Dokumentation
  • 8. Copyright 2007 itemis GmbH & Co. KG Unified Development Environments ©itemisAG2007◊AlleRechtevorbehalten • Collaboration • Wiki, Messaging • Projektmanagement • Requirements, Changes, Issues • Sourcecode • Dependency-Management
  • 9. Copyright 2007 itemis GmbH & Co. KG Unified Development Environments ©itemisAG2007◊AlleRechtevorbehalten • Build- und Testmanagement • Build, CI, Releases • Shared Workspaces • Runtime Environments • Virtualisierung
  • 10. Copyright 2007 itemis GmbH & Co. KG Unified Development Environments ©itemisAG2007◊AlleRechtevorbehalten
  • 11. 11DB Systel GmbH, Wolfgang Schwab, I.TID 3, 03.06.2008 Java Entwicklungsumgebung der DB Systel 14.04.2008 DB Systel Wolfgang Schwab
  • 12. 12DB Systel GmbH, Wolfgang Schwab, I.TID 3, 03.06.2008 DB Systel Einer der größten konzerneigenen ITK-Dienstleister Europas DB Systel GmbH Zentrale: Frankfurt am Main Mitarbeiter: 5100 Umsatz 2006: 837 Mio. Euro DB Systems DB Telematik 2007 erfolgte die Integration von DB Systems und DB Telematik zu DB Systel
  • 13. 13DB Systel GmbH, Wolfgang Schwab, I.TID 3, 03.06.2008 DB Systel – Ein Unternehmen der Deutschen Bahn Infrastruktur und Dienstleistungen Geschäftsfelder Gruppen- funktionen Service- funktionen Konzern- leitung Transport und Logistik Fernverkeh r RegioStadtverkehr Netz Personen- bahnhöfe Energie Dienst- leistungen IntermodalRail Freight Land Transport Contract Logistics / SCM 2) Air/Ocean Freight Vertrieb 1) ProjektBau 1) Wirtschaft und PolitikFinanzen/Controlling Personal und RechtVorsitzender Personenverkehr DB Systel GmbH 1) ServiceCenter 2) SCM: Supply Chain Management Deutsche Bahn AG
  • 14. 14DB Systel GmbH, Wolfgang Schwab, I.TID 3, 03.06.2008 Inhalt 3. Repositories 2. Exkurs: Maven 2 4. Team Server 1. Entwicklungsclient
  • 15. 15DB Systel GmbH, Wolfgang Schwab, I.TID 3, 03.06.2008 Entwicklungs-Client  Entwicklungswerkzeuge  Persönlicher Arbeitsbereich Projekt-Servers  Build- & Testautomatisierung  Gemeinsame Arbeitsbereiche  Laufzeitumgebungen Komponenten der Entwicklungsumgebung Continuous Integration Collaboration Software Issue Tracker Push Button Release SCM Project Management Unit Tests Push Button Installation Change Mgmt Release Mgmt Repositories  Dokumente  Quellen  Komponenten  Projektsteuerung Wiki Collaboration Software Issue Tracker SCM Project Management Change Mgmt Release Mgmt
  • 16. 16DB Systel GmbH, Wolfgang Schwab, I.TID 3, 03.06.2008 Entwicklungsclient – Paketierung Basispaket und Zusatzpakete Java-Base-4.0 JBoss-4.2 Tomcat-5.5 Tomcat-6.0 Weblogic-10.0 Referenzbauplan Tomcat Referenzbauplan JBoss Referenzbauplan Weblogic JBoss-4.0 Weblogic-9.1
  • 17. 17DB Systel GmbH, Wolfgang Schwab, I.TID 3, 03.06.2008 Entwicklungsclient – Paketierung Basispaket Eclipse 3.3 Java 6 Maven 2.0 YourKit Java Profiler 7 Ant 1.6.5
  • 18. 18DB Systel GmbH, Wolfgang Schwab, I.TID 3, 03.06.2008 Entwicklungsclient – Paketierung Eclipse verfügbare Extension Locations Web (C++) Java-Base JEE Struts JSF RCP Hibernate MDA (Open Architecture Ware) Subclipse ClearCase CVS Spring IDE Weblogic JBoss Seam JBPM
  • 19. 19DB Systel GmbH, Wolfgang Schwab, I.TID 3, 03.06.2008 Entwicklungsclient – Paketierung Eclipse Funktionsweise Extension Locations Java-Basis  JDT  PMD  M2Eclipse  YourKit JEE  WTP-JST  YourKit-EE Struts  JBoss Struts JSF  JBoss JSF Spring  Spring IDE Project Source Repository: platform.xml Die Konfiguration eines Projektes aktiviert Eclipse Extension Locations
  • 20. 20DB Systel GmbH, Wolfgang Schwab, I.TID 3, 03.06.2008 Entwicklungsclient – Konfiguration Projekt 1  setenv-4.0  Shell  Eclipse Projekt 2  setenv-4.0  Shell  Eclipse Projekt n  setenv-4.1  Shell  Eclipse Projekt aktiviert und ergänzt Konfiguration der Entwicklungsumgebung … Base 4.0  setenv Base 4.1  setenv JBoss 4.2  setenv WLS 10.0  setenv JBoss 5.0  setenv Einheitliche Entwicklungsumgebung Projektspezifische Konfiguration
  • 21. 21DB Systel GmbH, Wolfgang Schwab, I.TID 3, 03.06.2008 Entwicklungsclient – Konfiguration Bestandteil der Konfiguration Umgebungsvariablen – JAVA_HOME – MVN_HOME – JBOSS_HOME – etc. platform.xml für Eclipse Extension Locations Settings-Files für Maven Verknüpfungen zum Start von Dos-Shell und Eclipse
  • 22. 22DB Systel GmbH, Wolfgang Schwab, I.TID 3, 03.06.2008 Entwicklungsclient – Verteilungsmechanismen Die perfekte Lösung gibt es nicht Kurze Reaktionszeit Flexibel handhabbar Automatisierung über Skripte Keine Verwaltung von Installationen und Lizenzen  Gruppenlaufwerk Einfache Bedienung Zugriffsrechte problematisch Verzeichnistiefe beschränkt  File Section GForge Einfache Bedienung Synchronisierung problematisch Strukturierungsmöglichkeiten beschränkt  Subversion Nachvollziehbarkeit und Wiederholbarkeit Modifikation/Entwicklung gut unterstützt Synchronisierung erfordert SVN- Verzeichnisse Installations- und Lizenzverwaltung Automatische Installation Installationsänderung vom Entwickler nicht kontrollierbar Langwieriger Lieferprozess  Enteo Netinstall Volle Kontrolle über Nutzung Installation mit Verzögerung  Virtuelle Umgebung über Softgrid Sofort einsatzbereit Dateien sind für andere Programme nicht sichtbar Allgemein verfügbar Speziell Firmenclient
  • 23. 23DB Systel GmbH, Wolfgang Schwab, I.TID 3, 03.06.2008 Inhalt 3. Repositories 2. Exkurs: Maven 2  kommt gleich 4. Team Server 1. Entwicklungsclient
  • 24. 24DB Systel GmbH, Wolfgang Schwab, I.TID 3, 03.06.2008 Repositories – Produkte  GForge + Subversion  LiveLink  HP Quality Center
  • 25. 25DB Systel GmbH, Wolfgang Schwab, I.TID 3, 03.06.2008  Alternative zum Softwaredepot: Rational Clear Case Repositories – GForge Tabelle von Projekten Projektname Zugriffsrechte/ Projektzugehörigkeit Web-Oberfläche: Collaboration (Tracker, News, Wiki etc.) Subversion-Repository Musterprojekt Musterfrau – Admin Mustermann – Developer https://swd.bahn-net.db.de/ projects/musterprojekt https://swd.bahn-net.db.de/ musterprojekt/svn/ KOLT Marc Volz – Admin https://swd.bahn-net.db.de/ projects/kolt https://swd.bahn-net.db.de/ projects/kolt/svn/ maven++ Horst Duchêne – Admin https://swd.bahn-net.db.de/ projects/mavenpp https://swd.bahn-net.db.de/ projects/mavenpp/svn/ … … … …
  • 26. 26DB Systel GmbH, Wolfgang Schwab, I.TID 3, 03.06.2008 Repositories – GForge Komponenten und Sourcen in GForge Projektname Zugriffsrechte/ Projektzugehörigkeit Source Repository Komponenten Repository Musterprojekt Musterfrau – Admin Mustermann – Developer https://swd.bahn-net.db.de/ musterprojekt/svn/ trunk/src/ https://swd.bahn-net.db.de/ musterprojekt/svn/ trunk/dist/maven2/ KOLT Marc Volz – Admin https://swd.bahn-net.db.de/ projects/kolt/svn/ trunk/src/ https://swd.bahn-net.db.de/ projects/kolt/svn/ trunk/dist/maven2/ maven++ Horst Duchêne – Admin https://swd.bahn-net.db.de/ projects/mavenpp/svn/ trunk/src/ https://swd.bahn-net.db.de/ projects/mavenpp/svn/ trunk/dist/maven2/ … … … …
  • 27. 27DB Systel GmbH, Wolfgang Schwab, I.TID 3, 03.06.2008 Inhalt 3. Repositories 2. Exkurs: Maven 2 4. Team Server 1. Entwicklungsclient
  • 28. Copyright 2007 itemis GmbH & Co. KG Unified Development Environments ©itemisAG2007◊AlleRechtevorbehalten
  • 29. Copyright 2007 itemis GmbH & Co. KG Unified Development Environments ©itemisAG2007◊AlleRechtevorbehalten
  • 30. Copyright 2007 itemis GmbH & Co. KG Unified Development Environments ©itemisAG2007◊AlleRechtevorbehalten POM Relationships Coordinates groupId artifactId version Aggregation modules Inheritance parent dependencyManagement* Dependencies dependencies* Build Settings properties packaging build* reporting* Project Information name description url interceptionYear licenses developers contributors organisation
  • 31. Copyright 2007 itemis GmbH & Co. KG Unified Development Environments ©itemisAG2007◊AlleRechtevorbehalten Environment Information Maven Environment prerequisites Repositories repositories* pluginRepositories* distributionManagement Profiles profile activation ** issueManagement mailingLists ciManagement scm
  • 32. Copyright 2007 itemis GmbH & Co. KG Unified Development Environments ©itemisAG2007◊AlleRechtevorbehalten <project> <parent> <groupId>de.bahn</groupId> <artifactId>bahn-parent</artifactId> <version>1.2.0</version> </parent> <groupId>de.bahn.dbsystel</groupId> <artifactId>dbsystel-sample</artifactId> <version>1.1.1-SNAPSHOT</version> </project>
  • 33. Copyright 2007 itemis GmbH & Co. KG Unified Development Environments ©itemisAG2007◊AlleRechtevorbehalten <project> [...] <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.4</version> <scope>test</scope> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>2.5.2</version> </dependency> <dependencies> </project>
  • 34. Copyright 2007 itemis GmbH & Co. KG Unified Development Environments ©itemisAG2007◊AlleRechtevorbehalten <project> [...] <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.6</source> <target>1.6</target> </configuration> </plugin> </plugins> </build> </project>
  • 35. Copyright 2007 itemis GmbH & Co. KG Unified Development Environments ©itemisAG2007◊AlleRechtevorbehalten
  • 36. 36DB Systel GmbH, Wolfgang Schwab, I.TID 3, 03.06.2008 Inhalt 3. Repositories  Fortsetzung 2. Exkurs: Maven 2 4. Team Server 1. Entwicklungsclient
  • 37. 37DB Systel GmbH, Wolfgang Schwab, I.TID 3, 03.06.2008 Repositories – Maven-Repository für Komponenten Exkurs: Quellkomponenten versus Zielkomponenten Build Komponente n Quellen Development Runtime Environment Komponenten Projektinformationen (Metriken) .jar .java .jar java –jar .jar .html Werkzeuge Quelle Ziel
  • 38. 38DB Systel GmbH, Wolfgang Schwab, I.TID 3, 03.06.2008 Repositories – Maven-Repository für Komponenten Internet-Repositories Central JBoss Java.net CodehausSpring Maven Proxy Maven++ Komponente n KOLT Komponente n Intranet (K2) Cache
  • 39. 39DB Systel GmbH, Wolfgang Schwab, I.TID 3, 03.06.2008  Jeder baut auf dem Client alle Komponenten + Komponenten entsprechen dem lokalem Stand der Quellen.  Komponentenaustausch zwischen Entwickler + Nicht alle Sourcen müssen ausgecheckt und gebaut werden.  Kontinuierlicher Build auf Team-Server + Alle Komponenten sind zentral verfügbar und synchron zum Stand der Quellen im Repository Repositories – Snapshots-Repositories Wer baut die Anwendungskomponenten in Entwicklung? Quellen Komponente n Quellen Komponenten Quellen Kontinuierliche s Bauen
  • 40. 40DB Systel GmbH, Wolfgang Schwab, I.TID 3, 03.06.2008 Repositories – Freigegebene Komponenten Wie wird aus dem Snapshot ein Release? Freigegebene Komponenten (Softwaredepot) Snapshot Komponenten (Team-Server) Quellen Kontinuierliches Bauen + Testen Entwicklung Release Release-Tag
  • 41. 41DB Systel GmbH, Wolfgang Schwab, I.TID 3, 03.06.2008 Repositories – Übersicht Entwicklungsprozess inkl. Snapshots und Releases Entwick- lung Sources Freigegebene Komponente Install/DeployRuntime Environments Automatic Build Freigegebene Komponenten Issues Sources Commit Workspace Build Laufzeitum- gebung Entwicklung Snapshot Komponenten Snapshot Artifacts Release Team Server Client Team Server Test und Produktion
  • 42. 42DB Systel GmbH, Wolfgang Schwab, I.TID 3, 03.06.2008 Inhalt 3. Repository 2. Exkurs: Maven 2 4. Team Server 1. Entwicklungsclient
  • 43. 43DB Systel GmbH, Wolfgang Schwab, I.TID 3, 03.06.2008 Team Server Betriebsführungsmodelle  Excklusiver Server pro Projekt  Ressource ist immer verfügbar und planbar  Projekt bekommt meistens Root-Rechte  Hoher Aufwand für Beschaffung und Rückgabe  Schlechte Nutzung von Ressourcen bzw. hohe Kosten  Shared Server: Ein Home-Verzeichnis pro Projekt  Niedrige Kosten  Moderater Aufwand für Beschaffung und Rückgabe  Keine Root-Rechte  Verfügbarkeit der Ressource kaum steuerbar  Schlechte Nutzung von Ressourcen bzw. hohe Kosten  Virtueller Server  optimistische Betrachtung  leichtgewichtige Beschaffungs- und Rückgabeprozesse  Niedrige Kosten  i. d. R. Root-Rechte  Zugesicherte Ressourcen sind verfügbar
  • 44. 44DB Systel GmbH, Wolfgang Schwab, I.TID 3, 03.06.2008 Java 6.0 JBoss 4.2 Maven 2.0 Continuum Maven Proxy Entwicklungsumgebung Server Team Server Installationspakete Tomcat 6 WLS 10.0 Java 5.0 JEE Server Plattform … Linux Plattform Editor Mail …
  • 45. 45DB Systel GmbH, Wolfgang Schwab, I.TID 3, 03.06.2008 Komponenten Sourcen Team Server Exkurs: Installation von JEE-Anwendungen Installiertes System continuum.war proxy.war Maven Assembly Konfigurationen spezifische Installations- skripte generische Installations- skripte Maven POM Maven Release Komponente n seu.tar.gz manuell  wget  untar  install  activate  start Paketquellen Installations- quellen Zielumgebung Konfiguration Zielumgebung
  • 46. 46DB Systel GmbH, Wolfgang Schwab, I.TID 3, 03.06.2008 Team Server Konfiguration Umgebungsvariablen – JAVA_HOME – MVN_HOME – JBOSS_HOME – etc. Settings-Files für Maven Initialisierung der Umgebung für bestimmte SEU- und Projektversionen: Durch Sourcen von setenv-Skripten Die Konfiguration des Team Server ist analog zum Entwicklungsclient
  • 47. Copyright 2007 itemis GmbH & Co. KG Unified Development Environments ©itemisAG2007◊AlleRechtevorbehalten
  • 48. 48DB Systel GmbH, Wolfgang Schwab, I.TID 3, 03.06.2008 Team Server Konfiguration Software-Architekt im Development Center der DB Systel GmbH JEE-Technologien OLTP-Systeme Application Lifecycle Management Wolfgang Schwab