Softwareprojekte mit Kultur



Ähnliche Dokumente
Maven 2 Softwareprojekte mit Kultur

Buildsystem. Maven & Scons. Controls Entwicklungsforum Januar 2012

Der Weisheit letzter Schluss:

Einführung in Maven und GWT

Automatischer Build mit Maven 2

Maven 2.0. DRV Jahrestagung Java Würzburg Rainer Vehns, codecentric GmbH codecentric GmbH

Artem Eger. Build-Systeme in java Maven & ANT

Programmieren in Java

Buildmanagement. Konstantin Domoratskyy

Build Management. Präsentation von Daniel Mies

Build-Prozesse für Geschäftsanwendungen mit Apache Maven

Buildwerkzeuge für Javaprojekte. Christian Bunse Institut für Informatik

Automatischer Build mit Maven

Build Management Tool?

Consultant & Geschäftsführer, enpit consulting OHG ugb@enpit.de

Referat. Continuous Integration. mit Maven und Jenkins. Benjamin Keeser. Hochschule für angewandte Wissenschaften München FB 07 Informatik (Master)

Verteilte Systeme (WS 2013/14) Übung 0: Einführung in Maven und Git. Oliver Kleine Institut für Telematik, Universität zu Lübeck

Martin. Spiller. Maven 3. Konfigurationsmanagement mit Java

Programmieren II. Exkurs: Apache Maven. Institut für Angewandte Informatik. KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft

Build Management Tool?

Build Management Tool

Martin Spiller. Maven 2. Konfigurationsmanagement mit Java

Referent: Thomas Storch (FI für Anwendungsentwicklung, 1. Lj.) Vortrag: Apache Maven. Datum: Deutsche Software Engineering & Research GmbH

Seminar - Bericht. Maven Project Management & Comprehension. Fachhochschargau Departement Technik Studiengang Informatik. Gruppe Jonas Weibel

Martin. Spiller. Maven 3. Konfigurationsmanagement mit Java

1 Welches Problem löst Maven?

Continuous Database Integration mit Flyway

Builddreikampf: Ant, Maven und Gradle. Sven Bunge / Carl Düvel

Continuous Delivery. für Java Anwendungen. Axel Fontaine Software Development Expert

Ohne Build geht's besser: Makeloses Java mit dem z 2 -Environment. Henning Blohm

Entwicklungsumgebungen. Packer, Vagrant, Puppet. Alexander Pacnik Mannheim,

Open Source. Hendrik Ebbers 2015

Apache - Maven. Java-Erstellung auf Plugin-Basis. Martin Hoffmann

Grundlagen des Buildmanagement- Tools Apache Maven

Eclipse und Java Einheit 06: Building Eclipse Projete mit Ant

Den Entwicklungsprozess im Griff mit Maven, Jenkins und Git

Zusammenspiel von automatisierten Softwarepaketen mit dem App Model vom Configuration Manager Configuration Manager

Persönliche Build-Höllen für Jedermann Andreas Hartmann & Dr. Halil-Cem Gürsoy

Konfigurationsmanagement

Make-loses Java für mehr Produktivität: Das z 2 -Environment. Henning Blohm

Konfiguration Management System. Konfiguration Management System. Versionierung Parallele Entwicklung Workspace

20. Deutsche Anwenderkonferenz 2007 Software Entwicklung 2.0

Das Interceptor Muster

Integration mit Service Repositories zur SOA Governance

Konfigurationsmanagement

Gliederung. Einführung. Kleines Maven Wörterbuch. Maven im Unternehmenseinsatz. Was bringt die Zukunft?

Vom lokalen Build zum Deployment

Softwareanforderungsanalyse

Git in großen Projekten

Release Automation für Siebel

Am Ziel angekommen? Über Ant und Maven zu SBT und Gradle. Andreas Hartmann Dr. Halil-Cem Gürsoy adesso AG

OSGi. The Next Generation Java Service Platform. SOA - The Java Way or My classpath is killing me. Michael Greifeneder

Was ist EMF? Wie wird EMF eingesetzt? Was ist ecore? Das Generatormodell Fazit

Oberseminar Software-Entwicklung: Maven. Das Software-Projekt-Verwaltungspragramm - Maven. Oberseminar Software-Entwicklung. Autor: Martin Hoffmann

Transparente SOA Governance mit Modellierung. OOP 2010 München, 28. Januar 2010, 12:30 Uhr Modeling Day

Continuous Delivery in der Realität eines Großunternehmens

Continuous Integration im medizinischen Bereich

Eine Einführung, aktuell zur Version An imprint of Pearson Education

Kontinuierliche Architekturanalyse. in 3D

Ant + Ivy Building with dependencies

Qualitätsmanagement mit Continuous Integration Untersuchung anhand einer Machbarkeitsstudie in der Praxis. Abschlußpräsentation zur Studienarbeit

Copyright 2014 Delta Software Technology GmbH. All Rights reserved.

Projektmanagement mit Maven

Das Build-Tool ANT ETIS SS05

Erfolgreicher Ums9eg auf Git

Inhaltsverzeichnis. 1 Einleitung. Literatur. 1.1 CVS (Concurrent Version System) [Pru03, Zee02, Ced05]

Wo finde ich die Software? - Jedem ProLiant Server liegt eine Management CD bei. - Über die Internetseite

Requirements Management mit RequisitePro. Rational in der IBM Software Group. Der Rational Unified Process als Basis für die Projektarbeit

Das neue Android Build System

Einführung zu den Übungen aus Softwareentwicklung 1

Software modular bauen

Architekturüberblick Gradle

Operation am offenen Herzen

Konfigurationsmanagement mit Subversion, Maven und Redmine

SharePoint Continuous Integration mit TFS Online & Azure VMs Torsten Mandelkow Christian Pappert Microsoft

Serverprovisioning in einer dynamischen Infrastruktur Systemmanagement LinuxTag 2012

Inhaltsverzeichnis. Bernd Weber, Patrick Baumgartner, Oliver Braun. OSGi für Praktiker

Continuous Integration (CI) Workshop

Maven Einführung. Dipl.-Inform. Alex Maier

CI von Eclipse RCP Anwendungen mit Gradle/Jenkins

Einführung in die Informatik Tools

Die Integration von Requirements Management, Software Configuration Management und Change Management mit der MKS Integrity Suite 2006

Bau dir dein eigenes Eclipse

Configuration Management

Anforderungsgetriebene Webentwicklung mit Grails:

Maven Tycho. Google Guice. Mylyn für Modelle. 7. bis 11. November Eclipse meets. Plus CD! The Westin Grand München Arabellapark

IT-Projekt-Management

Holistic Software Escrow from TIMBUS

Modellgetriebene Entwicklungsprozesse in der Praxis - eine Bestandsaufnahme. Tillmann Schall, anaptecs GmbH

SERVICE SUCHE ZUR UNTERSTÜTZUNG

OCTiS The Configuration Managers

Das Build Tool Ant. Sebastian Mancke,

Abhängigkeiten und Git

Praktikum Softwarearchitektur. Apache Maven. Klaus-Christian Saalfeld. 18. Juni FernUniversität in Hagen

Deployment Deployment Seite 1 / 25

End-to-End Agility Sind Sie schon agil genug? Mag. Christoph Leithner

Scrum, ISIS und ISO 9001 zertifiziertes Qualitätsmanagement. Joachim Meyer

7 Projektplanung. V-Modell XT Anwendung im Projekt. <Datum> <Organisation> <Veranstaltungsort> <Vortragender> <Organisation>

Atlassian Git Essentials Nahtlose Entwicklungsworkflows aus einer Hand

Evaluation eines kooperativen Entwicklungswerkzeuges zur Unterstützung von Projektteams am Beispiel von IBM Rational Team Concert.

Transkript:

Maven Softwareprojekte mit Kultur Patrick Zeising

Konfigurationsmanagement

Motivation Projektaufbau unterschiedlich Abläufe zum Übersetzen und Deployen unterschiedlich Verwendete Tools, Prozesse, Skripte unterschiedlich Pflege von Strukturen und Prozessen aufwändig Hohe Hürden für den Neueinstieg Steile Lernkurven und lange Einarbeitungszeit

Ziele Vereinheitlichung der Strukturen, Abläufe und eingesetzen Tools. Hohe Evolvierbarkeit Niedrige Hürden für Projekt-Einsteiger Flache Lernkurven Kürzere Einarbeitungszeit in Projekte Effektive, günstige und qualitativ hochwertige Softwareentwicklung.

Was ist Maven?

Mavenist... ein deklaratives Projektmanagement-Framework eine Laufzeitumgebung für Plugins komplett in Java geschrieben und Open Source Maven managed Softwareprojekte.

Besonderheiten Ganzheitliche Projektphilosophie: Kompilieren Testen Packen Deployment Release Konvention geht über Konfiguration Aufgabenteilung in Plugins Project Object Model - POM Verwaltung von Abhängigkeiten

Maven-Philosophie... visibility, reusability, maintainability and comprehensibility. nach: [Better Builds with Maven]

Konvention über Konfiguration Namenskonventionen Transparenz: beispiel-1.0-snapshot.jar Standards für Verzeichnisse Sourcen src/main/java Test-Sourcen src/test/java Output target Projekt-Dokumentation src/site Pro Maven-Projekt genau ein Build-Ergebnis (Artefakt) Single Responsibility Principle(SRP) Separation of Concerns(SoC)

Build Lifecycle... 6. process-resources 7. compile... 12. process-test-resources 13. test-compile 14. test... 16. package... 21. install 22. deploy

Wiederverwendbarkeit Build-Prozesse aufgeteilt in Plugins SoC: Übersetzen, Testen, JAR erzeugen, Javadoc erzeugen,... Deklarative Konfiguration Was statt Wie. Project Object Model (POM) zentrale, vollständige XML-Beschreibung eines Projekts

Project Object Model POM <project> <modelversion>4.0.0</modelversion> <groupid>de.mavenbuch.beispiele</groupid> <artifactid>beispiel</artifactid> <version>1.0-snapshot</version> <packaging>jar</packaging> </project> Koordinaten groupid : artifactid : version : packaging de/mavenbuch/beispiele/beispiel-1.0-snapshot.jar

Projektbeziehungen Vererbung <project> <parent> <groupid>de.mavenbuch.beispiele</groupid> <artifactid>mavenbuch-parent</artifactid> <version>1.0-snapshot</version> </parent> [...] </project>

Projektbeziehungen Aggregation <project> [...] <modules> <module>web-layer</module> <module>persistence-layer</module> <module>business-layer</module> </modules> [...] </project>

Verwaltung von Abhängigkeiten Abhängigkeiten eindeutig zentral definiert (POM) Was erwartet das Projekt? Auflösung von (transitiven) Abhängigkeiten Wovon hängen meine Abhängigkeiten ab? Zentrale Verwaltung der Abhängigkeiten lokales und entfernte Repositories

Definition einer Abhängigkeit <project> [...] <dependencies> <dependency> <groupid>org.testng</groupid> <artifactid>testng</artifactid> <version>5.8</version> <classifier>jdk15</classifier> <scope>test</scope> </dependency> </dependencies> [...] </project>

Demo

Fazit

Maven organisiertbuild,assembly,deployment, Release, Dokumentation, verteiltes Arbeiten, fördert Wiederverwendbarkeit von Code-&Build-Prozessen durch Konventionen, senkt Wartungsaufwand beim Bauen und Konfigurieren von Projekten, fördert Transparenz im gesamten Entwicklungsprozess, stellt Software-Tools zur Verfügung.

Auswirkungen im Projekt Einheitliche Strukturen Bessere Evolvierbarkeit Niedrige Hürden für Projekteinsteiger Kurze Einarbeitungszeit für Projekte Automatisierung von Tests und Deployments

Weiterlesen! Apache Maven Project, http://maven.apache.org/ Casey, John;Massol, Vincent; Porter, Brett; Sanchez, Carlos;Zyl, Jason van: Better builds with Maven. MergereLibrary Press, 2006, http://www.maestrodev.com/better-build-maven Michael Albrecht, PatrickZeising: Großprojekte konfiguriert mit Maven 2, JavaSPEKTRUM, Ausgabe 02/2009, 20.03.2009 MartinSpiller: Maven3: Konfigurationsmanagement mit Java, mitp Verlag, Juli 2011, http://www.mavenbuch.de/ Sonatype Books, http://www.sonatype.com/support/books

Vielen Dank! Patrick Zeising p.zeising@neusta.de +49 421 20696 222 neusta software development Ein Unternehmen von team neusta Contrescarpe 1 28203 Bremen www.neusta.de www.team-neusta.de