www.cacert.org assurer
deutsch englisch

Vorträge

Vortrag auf der GearConf 2012: Maven

Ich hatte das glück bei der GearConf 2012 in Düsseldorf einen Vortrag zum Thema Unit- und Integrations Testing mit Maven halten zu dürfen.

Maven (PDF)

Vortrag auf der GearConf 2011: Maven

Ich hatte das vergnügen bei der GearConf 2011 in Düsseldorf einen Vortrag zum Thema Maven halten zu dürfen.

Maven (PDF)

Vortrag zum Thema: Grundlagen des Software Konfigurationsmanagemens bei der Java User Group in Frankfurt am Main

Ich hatte das vergnügen bei der Java User Group in Frankfurt am Main in der Deutschen Nationalbibliothek einen Vortrag zum Thema: Grundlagen des Software Konfigurationsmanagement geben zu dürfen. Dabei war die Frage: Was ist Software Konfigurationsmanagement überhaupt? Warum ist es in einem Software Projekt überhaupt Notwendig und welche Bereich enthält das Software Konfigurationsmanagement und wie kann man es überhaupt umsetzen.

Grundlagen Software Konfigurationsmanagement (PDF)

Vortrag zum Thema: Hadoop bei der Java User Group im Ruhrgebiet

Ich hatte die Gelegenheit bei der Java User Group im Ruhrgebiet in Essen im Unperfekthaus einen Vortrag zum Thema Hadoop zum Besten geben zu dürfen. Dabei ging es um die Basis-Konzepte von Hadoop bzw. des Hadoop Distributed File Systems (HDFS) desweiteren um eine Grundlegende Einführung in Map/Reduce.

Hadoopo Think Large (PDF)

Vorträge auf der zweiten GearConf 2010 in Düsseldorf

  1. Projektorganisation vs. Build- und Configuration Management

    Eine oft gemachte Beobachtung in Projekten ist es, dass sich die Struktur eines Projektes mit der Zeit "entwickelt" und häufig nicht vorher festgelegt wird. Das führt dann zu Problemen im Bereich des Build, Integration und auch Configuration Management. Leider stellt man diese Probleme erst sehr spät fest, z.B. durch lange Integrationszeiten, komplexe Build Systeme (oft auch selbst implementiert) und im Bereich des Configuration Management führt das dazu, dass Releases nur schwer definierbar sind bzw. überwacht werden können. In einem solch gewachsenen Projekt hat man oft auch Probleme Erweiterungen über das gesamte System zu implementieren, da eine vollständige Sicht über das System meist nicht existiert.

    Projektorganisation vs. Build- und configuration Management
  2. Maintenance von CI Environments

    CI Environments sind ja dank Hudson usw. nichts neues mehr. Man kann solche Systeme selbstverständlich installieren und nutzen. Das Problem das aber bei größ Umgebungen entsteht ist die Maintanence solcher Systeme? Wie bekommt man Updates gehandhabt? Dazu gehört z.B. Hudson selbst oder Tools wie z.B. Maven oder andere Tools? Das Problem der Reproduzierbarkeit solcher Systeme wir allzuoft übersehen bzw. "ignoriert". Das bedeutet, dass ältere Softwarestände nicht mehr gebaut werden können und wie sieht das Verhältnis zur Software selbst aus? Man kann externe Tools nutzen wie z.B. Cfenginge aber warum nicht vorhandene Mechanismen wie z.B. Maven selbst nutzen, um hier Abhilfe zu schaffen.

    Maintanence von CI Environments

Vorträge auf der vierten Subversion Konferenz in München

Auf der 4. Subversion Konferenz hatte ich das Vergnügen zwei Vorträge halten zu düfen.

  1. Projektorganisation vs. Build- und Configuration Management

    Eine oft gemachte Beobachtung in Projekten ist es, dass sich die Struktur eines Projektes mit der Zeit "entwickelt" und häufig nicht vorher festgelegt wird. Das führt dann zu Problemen im Bereich des Build, Integration und auch Configuration Management. Leider stellt man diese Probleme erst sehr spät fest, z.B. durch lange Integrationszeiten, komplexe Build Systeme (oft auch selbst implementiert) und im Bereich des Configuration Management führt das dazu, dass Releases nur schwer definierbar sind bzw. überwacht werden können. In einem solch gewachsenen Projekt hat man oft auch Probleme Erweiterungen über das gesamte System zu implementieren, da eine vollständige Sicht über das System meist nicht existiert.

    Projektorganisation vs. Build- und configuration Management
  2. Die Subversion Suchmaschine (SupoSE)

    Nach einiger Zeit mit der Arbeit von Subversion wachsen Subversion Repositories sehr stark. Dann stellt man sich oft die Frage: Welche Tags gibt es? Wann wurde ein Branch erstellt? Wo werden bestimmte Dateien verwendet oder gar welche Inhalte haben Dateien? Einige dieser Fragestellungen lassen sich durchaus mit der Kommandozeile und grep lösen oder auch mit Werkzeugen wie TortoiseSVN. Der Haken dabei ist, dass man hier sehr schnell an die Grenzen stö&szelig;t, vor allem wenn es um die Inhalte von Dateien geht oder um Repositories, die mehr als ein paar Revisionen enthalten. SupoSE ist genau dafür entwickelt worden, solche Fragestellungen zu ermöglichen. In diesem Vortrag soll SupoSE vorgestellt werden, seine Funktion und auch die Vorteile und Grenzen von SupoSE.

    Die Subversion Suchmaschine (PDF)

Vorträge auf der dritten Subversion Konferenz in München

Auf der 3. Subversion Konferenz hatte ich das Vergnügen insegesamt vier Vorträge halten zu düfen.

  1. Versionierung in Java

    SVNKit ist in vielen Anwendungen wie z.B. Eclipse vertreten und ermöglicht mit Java den Zugriff auf Subversion Repositories und die Nutzung von Arbeitskopien. Aber wie funktioniert das? Wie kann man das mit SVNKit selbst machen? Der Vortrag soll helfen zum einen die möglichen Anwendung von SVNKit zu verstehen aber auch die Möglichkeit bieten eigene Anwendungen mit Unterstützung von Subversion bzw. SVNKit zu entwickeln. Wie kann z.B. ein Checkin mithilfe von SVNKit durchgeführt werden oder wie kann ein Change Set ausgelesen werden?

    Versionierung in Java (PDF)
  2. To be DVCS or not to be

    Es gibt unterschiedliche Versionskontroll Werkzeuge die auf unterschiedlichen Ansätzen beruhen wie z.B. git, mercurial usw. and z.B. auch Subversion aber was sind die Vor- bzw. Nachteile solcher Werkzeuge? Welches sind die Grundlegenden Konzepte von verteilten- bzw. zentralisierten Versionskontroll Werkzeugen?

    To be DVCS or not to be (PDF)
  3. Die Qual der Versionen die 2.

    Häufig tritt das Problem auf, dass nach bestimmten Dateien oder Inhalten innerhalb von Subversion Repositories gesucht werden muss. Mithilfe von vorhandenen Frameworks wie z.B. Lucene, Quartz, SVNKit etc. ist es möglich eine Suchmaschine zu erstellen, die mehrere Repositories scannt und die Inhalte zur Verfügung stellt und somit eine Suche innerhalb von mehreren Repositories ermöglicht. Damit ist es sehr einfach möglich, Inhalte etc. einfach und schnell zu suchen.

    SupoSE (Subversion Repository Search Engine) bietet genau diese Funktionalität. Sinn und Zweck ist es, die Suchmaschine und deren Konzept vorzustellen und auch, welche Möglichkeiten geboten werden und welche nicht. Hier wären Rückmeldungen der Besucher hilfreich, um zu sehen, welche Erweiterungen benötigt werden und welche nicht.

    Subversion Repository Search Engine (SupoSE) (PDF)
  4. Software Collaboration

    Es gibt unterschiedliche Tools, um die Zusammenarbeit im Rahmen einer Softwarentwicklung zu verbessern. Dazu zählen sog. Software Collaborations Lösungen. Hier sind aus dem Bereich OpenSource z.B. Trac, Redmine, FusionForge (ehemals GForge) zu nennen. Im Rahmen des Vortrags wird Redmine dargestellt, welche Vor- und Nachteile die es hat. Dazu zählt beispielsweise die Installation und die Integration mit anderen Werkzeugen z.B. mit der Versionskontrolle (z.B. Subversion) weiterhin wird gezeigt welche Arten der Konfiguration möglich ist und wie Redmine in der Täglichen Anwendung zu nutzen ist.

    Redmine (PDF)

Vorträge auf der Gearconf 2009 in Düsseldorf

  1. Redmine ein Projekt-Management-Tool

    Unter den verschiedenen Werkzeugen, die die Zusammenarbeit bei der Software-Entwicklung unterstützen, gibt es die Gruppe der Software-Collaboration-Tools; im Bereich OpenSource z.B. Trac und Redmine. Im Vortrag werden die Vor- und Nachteile von Redmine demonstriert, wie etwa bei der Installation und Integration mit anderen Tools wie Versionskontroll-Systeme (Subversion). Weiterhin wird die Konfiguration erläutert und der Einsatz des Tools bei der laufenden Arbeit.

    Redmine - ein Projekt-Management-Tool (PDF)
  2. Die Qual der Versionen

    Häufig tritt das Problem auf, dass nach bestimmten Dateien oder Inhalten innerhalb von Subversion Repositories gesucht werden muss. Mithilfe von vorhandenen Frameworks wie z.B. Lucene, Quartz, SVNKit etc. ist es möglich, eine Suchmaschine zu erstellen, die mehrere Repositories scannt und die Inhalte zur Verfügung stellt und somit eine Suche innerhalb von mehreren Repositories ermöglicht. Damit ist es sehr einfach möglich, Inhalte etc. einfach und schnell zu suchen. SupoSE (Subversion Repository Search Engine) bietet genau diese Funktionalität. Im Vortrag werden die Suchmaschine und deren Konzept vorgestellt und gezeigt, welche Möglichkeiten geboten werden und welche nicht.

    Subversion Repository Search Eingine (SupoSE) (PDF)

Vorträge auf dem Linux Tag Berlin 2009

  1. Der Weisheit letzter Schluss: Maven 2 in der Java Entwicklung

    Im Bereich der Java Entwicklung hat sich in der Zwischenzeit Maven 2 als neuer Standard gegenüber dem bisherigen Ant durchgesetzt. Die Gründe dafür liegen klar auf der Hand. Die Erstellung eines Build Prozesses mit Maven gestaltet sich in der Regel einfacher und bietet von Anfang an mehr Möglichkeiten. Es ist möglich, die Erstellung eines JAR-Files mit sehr wenig Maven 2 Konfiguration zu bewerkstelligen. In diesem Zusammenhang wird out-of-the-Box ein Unit Test geboten. Wichtig ist dabei, dass man sich das Basis Konzept von Maven zu eigen macht: Konvention über Konfiguration. Das bedeutet, dass die Java Projekte in einer bestimmten Art und Weise organisiert sein müssen. Das fängt bei der Verzeichnisstruktur an, geht über den Unit- und Integrationstest, Paketierung und hört beim Deployment auf. Der Vortrag stellt die grundlegende Vorgehensweise dar, um einen Build auf Maven aufzubauen. Dazu gehört die Kompilierung der Java Quellen. Der nächste Schritt ist die Integration eines Unit Tests in den Build, wie und wann der abläuft. Danach folgt die Paketierung und wie man spezifische Anforderungen zur Paketierung erfüllen kann. Ein weitere Schritt ist die Implementierung eines Integrationstests und zu guter Letzt das Deployment von entsprechenden Artefakten.

    Der Weisheit letzer Schluss: Maven 2 in der Java Entwicklung (PDF)
  2. Redmine, das Projekt Management Werkzeug

    Die Notwendigkeit eines Projektmanagement Werkzeuges ist heute nicht mehr die Frage sondern welches? Es gibt verschiedene Werkzeuge, um die Übersicht innerhalb eines Projektes zu behalten. Der Vortrag geht auf die Installation von Redmine ein, um eine Einschätzung für einen konkreten Einsatz zu bekommen. Das bedeutet, dass auch die Komplexität der Installation betrachtet wird und selbstverständlich auch der Zeitaufwand. Der nächste Schritt ist der Bereich der Administration und Einrichtung von Projekten, die mit Redmine verwaltet werden sollen. Dabei geht es darum, welche Möglichkeiten der Konfiguration bestehen und welche Grenzen in Redmine existieren. Der Bereich der Nutzung wird detailliert beleuchtet, um genau die Möglichkeiten zu sehen, die Redmine bietet. Hier wird betrachtet, wie die Interaktion mit Versionskontrollwerkzeugen von statten geht und auch der Workflow von Issues (z.B. Bugs, ToDo's, Patches). Es wird gezeigt, wie mithilfe des integrierten Wiki's entsprechende Dokumentationen f¨r Projekte erstellt werden können und wie die Verkn¨pfung der unterschiedlichen Bereich untereinander durchgeführt wird. Die Übersicht über ein Projekt kann sehr einfach durch die Betrachtung der Roadmap geschehen. Die Roadmap kann nat¨rlich auch zur Planung eines Projektes eingesetzt werden. Dazu dient auch zusätzlich die Möglichkeit Gantt Charts zu erzeugen und die Integration in den Kalender. In Redmine ist auch eine recht einfache aber sehr effektive Aufwandserfassung enthalten, die zur Erstellung von Berichten genutzt werden kann und somit einen weiteren Baustein zum Projektmanagement beiträgt. Die weiteren Bereiche wie Foren, Dateiablage etc. werden auch entsprechende dargestellt und deren Einsatz und Nutzung betrachtet. Die Projektadministration wird im Vergleich zur Redmine Administration betrachtet, um zu sehen welche Möglichkeiten ein Projektadministrator hat. Abschliessend ein Vergleich mit anderen Systemen wie z.B. trac oder GForge runden die Betrachtung ab.

    Redmine, das Projekt Management Werkzeug (PDF)

Vortrag auf den Chemnitzer Linux Tagen 2009

Entwicklung heute bedeutet auch immer eine Übersicht über die Entwicklung zu haben, aber vor allem diese zu behalten. Das bedeutet, es muss ein entsprechendes Werkzeug eingesetzt werden, das das ermöglicht.

Im Rahmen des Vortrages wird die Projektmanagement-Software Redmine vorgestellt, die die genannte Aufgabe übernehmen soll. Neben Installation, Nutzung und Konfiguration werden auch die Vor- und Nachteile von Redmine erläutert.

Redmine the project management tool (PDF)

Vortrag auf den Chemnitzer Linux Tagen 2009 (Projektküche)

Im Rahmen der Linux Nacht hatte ich netterweise die Gelegenheit, das Open Source Projekt SupoSE vorstellen zu düfen.

The Subversion Repository Search Engine (SupoSE) (PDF)

Vorträge auf der zweiten Subversion Conference 2008

Im Rahmen des Powertrack Subversion habe ich auf der Subversion Conference 2008 in München insgesamt vier Vorträge gehalten.

  1. Branching Strategien in der Software Entwicklung

    Die Anwendung von Branching Strategien wird oft aus Unkenntnis vernachläßigt. Mithilfe von entsprechenden Strategien kann man das Projektmanagement unterstützen oder z.B. die Entkopplung von Entwicklung und Deployment erreichen. Ein weiterer wichtiger Punkt ist die Möglichkeit, eine Qualitätsverbesserung zu erreichen. Typische Indikatoren, die für den Einsatz solcher Strategien sprechen, ist das wiederholte auftauchen von Fehlern, die bereits in einer älteren Version beseitigt wurden. Ein Punkt, der an Wichtigkeit zunimmt, ist die Kommunikation mit dem Kunden, da heute oft auch für Kunden entwickelt wird, die selbst eine Softwareentwicklung besitzen, die auf den eigenen Ergebnissen aufsetzt. Welche Release hat der Kunde? Welche Bugs wurden gelöst? Welche Features wurden implementiert? etc. Das sind typische Fragen, bei der eine entsprechende Branchingstrategie helfend zur Seite stehen und Unklarheiten beseitigen kann. Im Rahmen der Anwendung von Branching Strategien ergeben sich meist auch Verbesserungen für die Bereiche Release-, Build-, Test- und Change-Management.

    Branching Strategies (PDF)
  2. Software Collaboration with OpenSource

    Es gibt unterschiedliche Tools, um die Zusammenarbeit im Rahmen einer Softwarentwicklung zu verbessern. Dazu zählen sog. Software Collaborations Lösungen. Hier sind aus dem Bereich OpenSource z.B. Trac, Redmine, GForge zu nennen. Im Rahmen des Vortrags wird dargestellt, welche Vor- und Nachteile die einzelnen Werzeuge besitzen. Dazu zählt beispielsweise die Installation und die Integration mit anderen Werkzeugen z.B. mit der Versionskontrolle (z.B. Subversion).

    Software Collarboration with OpenSource (PDF)
  3. Hook'oholic — What can be done with hook scripts?

    Subversion bietet mit den Hook-Scripten eine sehr flexible Schnittstelle, die es ermöglicht, verschiedenste Pr¨fungen auf die Übertragenen Daten zu ermöglichen. Dabei sind die einfachsten; z.B. Prüfung, ob die Log-Nachricht eine bestimmte Länge hat oder einem bestimmten Format entspricht; nur die Spitze des Eisberges. Es besteht die Möglichkeit ein Berechtigungssystem abseits vom Gebotenen zu entwickeln. Weiterhin können bestimmte Prüfungen auf Properties etc. durchgeführt werden, um hier die Möglichkeit zu eröffnen verschieden Properties als obligatorisch zu definieren.

    Hook'oholic (PDF)
  4. The pain of versions - Searching within one or more repositories

    Häufig tritt das Problem auf, dass nach bestimmten Dateien oder Inhalten innerhalb von Subversion Repositories gesucht werden muss. Mithilfe von vorhandenen Frameworks wie z.B. Lucene, Quartz, SVNKit etc. ist es möglich eine Suchmaschine zu erstellen, die mehrere Repositories scannt und die Inhalte zur Verfügung stellt und somit eine Suche innerhalb von mehreren Repositories ermöglicht. Damit ist es sehr einfach möglich, Inhalte etc. einfach und schnell zu suchen. SupoSE (Subversion Repository Search Engine) bietet genau diese Funktionalität.

    Sinn und Zweck ist es, die Suchmaschine und deren Konzept vorzustellen und auch, welche Möglichkeiten geboten werden und welche nicht. Hier wären Rückmeldungen der Besucher hilfreich, um zu sehen, welche Erweiterungen benötigt werden und welche nicht.

    SupoSE (PDF)

Vortrag auf der ersten Subversion Conference 2007

Der Vortrag behandelt die Nutzung, Konzepte und Installation von SVK, als Aufsatz auf Subversion zur verteilten Entwicklung. Hierbei werden die unterschiedlichen Konzepte zur Nutzung aufgezeigt und sowohl die Vor- als auch die Nachteile vorgestellt. Weiterhin werden im Rahmen des Vortages die unterschiedlichen Anwendungsfälle dargestellt.

Bringing Subversion to the next level? (PDF)

Vortrag auf der Open Source Datenbank Conference 2006

db4o die Alternative?

Die Nutzung von objekt orientierten Datenbanken ist bisher nicht sehr populär, wie auch immer, db4o stellt eine reale Alternative zu normalen Datenbanken dar. Eine OO Datenbank die gleichzeitig noch eine embedded Datenbank ist, kann sehr einfach genutzt werden und kommt ohne administrativen Aufwand aus. Die Application selbst und die Grenzen der Nutzen werden dargestellt.

db4o die Alternative? (PDF)

Vortrag auf der PHP Conference 2006

Business Integration von GForge per SOAP

GForge ist ein Plattform, die eine Integration von Bug-Tracker, Wiki, Issue-Tracking und Versionskontrolle bietet. Hier geht es um die Integration von GForge per SAOP in Form eines "Proof of Concepts" in Richtung Java. Dabei wird auf die Probleme im Bereich SOAP eingegangen und gezeigt, wie einfach die Integration durch die Anwendung von SOAP wird.

Business Integration mit GForge (PDF)

Vortrag auf der PHP Conference 2006

Einfaches Testen von Webapplikationen mit SimpleTest

Anwendung und Nutzung von SimpleTest im Bereich des Testens von Webapplikationen. Hierbei werden die Möglichkeiten und Grenzen von SimpleTest aufgeführt und einige Beispiele zur Nutzung dargestellt. Es ist auch wichtig, die Testergebnisse in Form von Reports zur Verfügung zu stellen

SimpleTest (PDF)

Vortrag auf der FrOSCon 2006

In der Software Entwicklung werden Bug-Tracker, Wikis und Versionskontrollsysteme eingesetzt. Das Problem ist, dass diese Komponenten meist alleine stehen und auch entsprechend genutzt werden. Es ist aber wichtig und auch sinnvoll eine Kombination aller Kompontenen. Das heiß t eine Verknüpfung der Komponenten (Wiki, Bug-Tracker und Versionskontrollsystem). Genau das macht Trac.

Software Collaboration mit Trac (PDF)

Vortrag auf der FrOSCon 2006

Die Verwendung von Subversion ist ja schon recht verbreitet, aber was ist wenn man täglich unterwegs ist und keine oder nur eine sporadische Verbindung mit einem Repository Server hat? Dann ist SVK das Werkzeug der Wahl.

Verteiltes Versionsmanagement mit SVK (PDF)

Vortrag auf den Chemnitzer Linux Tagen 2006

Subversion erlangt immer mehr an Bedeutung auch im heimischen Bereich. Hier werden die ersten Schritte vorgestellt, Erstellung eines Repositories, Import des ersten Projektes in Subversion usw. Es wird auch auf die Installation von Subversion eingegangen.

Einführung in Subversion (PDF)

Vortrag auf der PHPConference 2005

Das Testen von Web-Applikationen ist immer ein Problem und meist mit Aufwand verbunden. Hier setzt die Möglichkeit an mithilfe von Web-Tests in Form von JWebUnit den Test-Aufwand und die Pflege zu minimieren. Ein weiteres Ziel ist es solche Tests zu automatisieren. Das kann durch die Anwendung mit Ant erreicht werden. Ein weiteres Problem im Zusammenhang mit Web-Applikationen ist, dass meist immer Datenbank beteiligt sind. Dafür gibt es aber auch Lösungen. Weitere Details können Sie im Vortrag nachlesen, oder Sie treten einfach per EMail mit mir in Kontakt.

Welten vereinigt euch! Testen von PHP Applikationen mit Java Tools (PDF)