searching delete search field

Vorträge 2010


J1 Kaffeeklatsch
Neuigkeiten rund um die Software-Entwicklung

Nimmt man einmal an, dass zu Beginn der Fünfziger Jahre der Grundstein für die Software-Entwicklung von heute gelegt wurde, dann ist ein Jahr immer noch eine relativ lange Zeit. Blickt man dabei auf die letzten zehn bis zwanzig Jahre zurück, kann man feststellen, dass die Veränderungskurve einen exponentiellen Eindruck macht.

Dieser Vortrag beschäftigt sich also mit den letzten knapp zwei Prozent der Software-Entwicklung und dabei mit den (subjektiven) Highlights, Neuigkeiten, Klatsch und Tratsch rund um Java, .NET und was sonst noch interessant erscheint.


J2 Ausgabekünstler
Logging mit SLF4J/Logback

Am Anfang war alles einfach: Entweder man verwendete System.out oder System.err im Zusammenhang mit einem printStackTrace oder man setzte den damaligen Quasi-Standard log4j ein. Dann kam das JDK 1.4 mit java.util.logging und das "Unheil" nahm seinen Lauf. Damit erschuf Sun eine eigene Implementierung, die zwar stark an log4j angelehnt war, aber unkomfortabler war und einige Dinge außen vor ließ. Apache Commons Logging versuchte sich als Mittler zwischen den Welten, hatte aber seinerseits gravierende Implementierungsfehler.

Dieser Vortrag stellt SLF4J sowie die darauf basierende Implementierung Logback vor, die sich als Rettung aus diesem Logging-Dilemma anbieten und sich zum neuen De-facto-Standard für das Loggen entwickeln könnten.

Die Folien finden Sie hier.


J3 Operndiva
Eine Einführung in Scala

In den letzten Jahren sind viele Sprachen für die Java Virtual Machine entstanden, von denen einige mehr, andere weniger populär geworden sind. Eine Sprache, die zweifelsohne viel Aufmerksamkeit auf sich zieht ist Scala. Sie versucht ein besseres Java zu sein, das die Konzepte objektorientierter und funktionaler Programmierung in sich vereint, dabei aber im Gegensatz zu den meisten anderen populären Sprachen an statischer Typisierung festhält.

Dieser Vortrag gibt eine Einführung und Übersicht zu Scala und wendet sich an ein Java-kundiges Publikum. Es werden verschiedene Code-Beispiele gezeigt, wie sich alltägliche Java-Probleme in Scala leichter und mit meist erheblich weniger Code lösen lassen. Außerdem wird auf die wichtigsten Neuerungen in Scala 2.8 eingegangen.

Die Folien finden Sie hier.


J4 Passender Rahmen
Überblick über das Swing Application Framework

Es ist sehr einfach, eine Swing-Anwendung schlecht zu realisieren, weil es unter anderem bis jetzt keinen Standard für Desktop-Applikationen gibt und die Swing-Bibliothek sehr umfangreich ist. Das Swing Application Framework (SAF) ist ein erweiterbares Rahmenwerk für typische Swing-Aufgaben, das im Rahmen des JSR 296 entwickelt wird und eigentlich für Java 7 vorgesehen war.

Dieser Vortrag stellt das Framework vor und zeigt, wie es für kleine bis mittlere Anwendungen eine sehr große Hilfe sein kann.

Die Folien finden Sie hier.


J5 Sammelsurium
Collection Frameworks für Java

Seit einiger Zeit schon bringt Java sein eigenes Collection Framework mit. Auch wenn man mit diesem schon sehr viel machen kann, so hat es doch aus den verschiedensten Gründen seine Schwächen.

Dieser Vortrag beschäftigt sich mit dem hauseigenen Collection Framework, bespricht seine Performanz- und Nebenläufigkeitseigenschaften. Darüber hinaus werden Alternativen – wie beispielsweise die Google Collections API – vorgestellt und deren Nutzen besprochen.


J6 Alien Ressurection
Closures in Java

Sie kommen. Sie kommen nicht. Sie kommen. Letzthin scheinen Closures jetzt doch noch einen Weg in Java 7 gefunden. Damit hat Java eine syntaktische Erweiterung bekommen, deren Nutzen weit über den syntaktischen Zucker hinausragt. Und zieht damit mit den neueren Java-basierten Sprachen gleich, die nicht zuletzt durch dieses Feature Java den Rang abzulaufen drohen.

Dieser Vortrag beschäftigt sich mit dem aktuellen Stand der Closures, so wie sie in Java 7 erscheinen könnten. Natürlich ohne irgendeine Gewähr zu übernehmen.

Die Folien finden Sie hier.


J7 Nachschlag
Neuerungen in NIO.2

Im Laufe der Zeit haben sich die für das I/O zuständigen Bibliotheken immer mehr den hohen Multi-Media-Anforderungen anpassen müssen. Mit der Freigabe von Java 7 soll es nun mit NIO.2 neue Zugriffsmöglichkeiten auf das Dateisystem geben.

Dieser Vortrag beschäftigt sich mit der neuen File System API und beschreibt anhand von Beispielen deren effektive Nutzung. Besonders wird dabei gezeigt, welche Möglichkeiten ein AsynchronousChannel bietet, wie Pfade und Verweise manipuliert, Dateibäume traversiert, auf Ereignisse reagiert und eigene Dateisysteme erzeugt werden können.

Die Folien finden Sie hier.


J8 Raumweise
Einführung in Java 3D

Java 3D erlaubt es, in Applikationen oder Applets dreidimensionale Grafik zu verwenden. Es ermöglicht dem Entwickler auf einfache Art und Weise dreidimensionale Körper zu erstellen, zu manipulieren und darzustellen.

In diesem Vortrag wird die Bedeutung von Szenegraphen erklärt, mit der die Struktur der darzustellenden Szene definiert werden kann. Darüber hinaus werden die wichtigsten Transformationen (Verschiebung, Rotation, Skalierung) vorgestellt und gezeigt, wie man einfache Formen, Licht, Schatten und Texturen erzeugen kann.

Die Folien finden Sie hier.


J9 Affenscharf
3D-Welten mit der jMonkey Engine

Ob simple Animationen, visuelle Simulationen oder gar aufwändige 3D-Spiele, die jMonkey Engine (jME) ist ein komplettes Framework für alle Anwendungsbereiche. Diese hochperformante 3D-Engine ist in Java geschrieben und bietet von simplen Features – wie Terrain-Generierung – bis zu aufwändigen Physik-Effekten – wie die Simulation von Wasser und Textilien – alles, was man bei der Erstellung von 3D-Welten braucht.

Dieser Vortrag gibt eine Einführung in das jME-Framework, beschreibt einige seiner Features und zeigt deren Resultate.

Die Folien finden Sie hier.


N2 Aller guten Dinge sind vier
Neuerungen in C# 4.0

Über zwei Jahre ist es nun her, dass Microsoft das Visual Studio 2008 mit dem darin enthaltenen Compiler für Version 3.0 von C# veröffentlichte. Dessen Nachfolger steht schon seit geraumer Zeit in den Startlöchern und soll schließlich ab dem 12. April 2010 – zusammen mit dem Visual Studio 2010 – der Entwicklergemeinde offiziell zur Verfügung gestellt werden.

In diesem Vortrag werden die wichtigsten Neuerungen von C# 4.0, wie beispielsweise dynamische Typen, Ko- und Kontravarianz generischer Typen oder optionale Parameter beleuchtet und anhand von Beispielen erklärt.

Die Folien finden Sie hier.


N3 Vertragssicher
Code Contracts unter .NET

Als Hoare-Logik eingeführt sind Vor- und Nachbedingungen im Zusammenhang mit Design by Contract unter der Programmiersprache Eiffel gesellschaftsfähig geworden. Für .NET ist Microsoft Research ein Geniestreich gelungen, der eine ausgesprochen interessante Lösung für das nachträgliche Einführen solcher Verträge in eine Sprache implementiert.

In diesem Vortrag werden die Code Contracts für C# vorgestellt und deren Nutzen, Möglichkeiten und die daraus resultierenden Probleme aufgezeigt.

Die Folien finden Sie hier.


N4 Nachschlag
Das Entity Framework 4.0: Einführung und Update

Das Entity Framework für objekt-relationales Mapping wurde mit .NET 3.5 SP1 der Öffentlichkeit zugänglich gemacht. Mit dem Erscheinen von .NET 4.0 wird eine weitere Version des Entity Frameworks veröffentlicht. Diese Version bringt eine Reihe von Verbesserungen und zwei neue Features mit, nämlich Self-Tracking Entities und DDL Generation. Zusätzlich werden durch einen Community Technology Preview (CTP) weitere Features wie Code Only angeboten.

In diesem Vortrag wird das Entity Framework (mit den voran stehenden Begriffen) erläutert und die wesentlichen Neuerungen vorgestellt.

Die Folien finden Sie hier.


N5 SQL ans Log
Vorstellung von Microsofts LogParser

Schön, wenn eine Anwendung in Form von Logs mit einem "spricht" und man weiß, wie es dieser geht. Problematisch wird es, sobald es um mehr geht als nur darum, ob eine Anwendung läuft. Wie kommt man dann beispielsweise elegant und schnell an Ausführungsdauern, oder wie separiert man die Logs mehrerer Threads?

Dieser Vortrag soll den kaum dokumentierten und wenig bekannten LogParser von Microsoft kurz vorstellen.

Die Folien finden Sie hier.


P6 Goldgrube
Projektverwaltung mit Redmine

Redmine ist ein auf Ruby on Rails basierendes Projekt-Management-Tool. Es bietet eine Vielzahl an Funktionen, wie Issue-Tracker, Wiki, Time Tracking und ein flexibles Plugin System.

In diesem Vortrag wird Redmine kurz vorgestellt und anhand praktischer Beispiele die Installation und das Entwickeln eigener Plugins gezeigt.

Die Folien finden Sie hier.


P7 Die Wahl der Waffen
Werkzeuge für ein erfolgreiches Entwicklungsprojekt

Die Durchführung von Software-Entwicklungs-Projekten ist seit vielen Jahren zum "täglich Brot" geworden. Insofern könnte man davon ausgehen, dass die dabei zum Einsatz kommenden Werkzeuge immer ausgefeilter werden und gleichzeitig der Umgang mit diesen Werkzeugen immer routinierter wird. Der Alltag im Beratergeschäft zeichnet aber ein anderes Bild. Hier hat man oft das Gefühl, dass der Kampf um den Erfolg des Projektes nicht mit den modernen Waffen des 21. Jahrhunderts, sondern mit Steinen und Keulen geführt wird.

Dieser Vortrag zeigt eine Reihe von Werkzeugen, die für den kontrollierten Ablauf eines Projektes unverzichtbar sind. Angefangen von der Erfassung der Arbeitspakete, über den Aufbau eines vernünftigen Source- und Build-Managements, bis hin zur Durchführung regelmäßiger Integrations-Builds und -Tests. Und das Beste dabei: Es muss noch nicht einmal viel Geld kosten!

Die Folien finden Sie hier.


P8 Abhängig
Maven vs Ivy

Projekte baut man mit Maven, um in den Genuss von Dependency-Management zu kommen und dazu noch ein paar nette Kleinigkeiten geschenkt zu bekommen. Ivy (ein Sub-Projekt von Ant) tritt an, um Maven den Rang abzulaufen. Anders als Maven beschränkt sich Ivy allerdings nur auf das Dependency-Management, dafür aber umso intensiver. Was ist Dependeny-Management, wie setzen es die beiden Werkzeuge um, welche Vor- und Nachteile haben die beiden und wie werden sie benutzt?

Diese und weitere Fragen werden in diesem Vortrag beantwortet, um den Zuhörer eine Entscheidungshilfe für den Einsatz eines der beiden Werkzeuge zu geben.

Die Folien finden Sie hier.


P9 Check in and find out
Source Code Management

Source Code Management (SCM) ist in jedem Projekt ein Thema, besonders wenn ein Release vor der Tür steht. Dann entflammen immer wieder Diskussionen, wie und wann man denn konkret einen Branch erzeugt, ihn pflegt, Fehler behebt und vieles mehr.

Anhand von Subversion (SVN) werden in diesem Kurzvortrag die im Zusammenhang mit SCM notwendigen Begriffe, bewährte Verfahren und die Verbindung zum Entwicklungsprozess erläutert.

Den zweiten Teil der Folien finden Sie hier.

Den zweiten Teil der Folien finden Sie hier.

Den dritten Teil der Folien finden sie hier.


T2 Dritter Frühling
Spring 3.0

Im Dezember wurde das dritte Major-Release des Spring Frameworks veröffentlich. Mit Spring 3.0 wurden alte Zöpfe abgeschnitten, d. h. deprecated APIs der 1.x und 2.0 Releases entfernt und die Unterstützung des JDK 1.4 abgekündigt. Somit stand dem Entwicklungsteam die Tür für eine Rundum-Erneuerung offen.

In diesem Vortrag werden ausgewählte Neuerung des Releases, wie zum Beispiel die erweiterte Annotations-Unterstützung, die Expression Language und das Stereotypen-Modell unter die Lupe genommen.

Die Folien finden Sie hier.


T3 I'm blue
Erfahrungsbericht über JSF und RichFaces in einem Portal Server

Die Aufgabe war so einfach wie herausfordernd: Entwicklung einer, wie es so schön heisst, Rich-Internet-Applikation auf der Basis von JSF und RichFaces. Einzige Randbedingung: Integration in das bestehende Portal und damit in den Websphere PortalServer 6.1.

Dieser Vortrag beschreibt u. a. das Vorgehen bei der Integration von JSF als Portlet nach JSR-286 (Portlet 2.0), die Erfahrungen bei der Entwicklung mit dem Websphere Portal Server und die Stolpersteine die z. B. bei der Integration von RichFaces auftraten.

Die Folien finden Sie hier.


T4 Das zweite Gesicht – porentief rein
JavaServer Faces 2.0

Die JavaServer Faces haben sich weiter entwickelt und sind erwachsen geworden. JSF 2.0 bietet eine Menge bereits bekannter Features von auf JSF aufbauenden und ergänzenden Frameworks und ist so die natürliche Weiterentwicklung zu den Vorgängerversionen 1.x.

Dieser Vortrag liefert keinen Überblick über die Features, sondern greift nur ein paar interessante Features und Problemstellungen heraus, um diese ausführlicher zu behandeln, darunter zum Beispiel die Migration von 1.x auf 2.0, die Validierung und JSF 2.0 im Zusammenhang mit Portlets.

Die Folien finden Sie hier.


T5 Scrumptious
Architektur in Scrum

Agile Software-Entwicklung wird oft als "Anti-Architekturbewegung" gesehen und leider manchmal auch so gelebt. Aber allein das Fehlen eines großen Designs vor dem Entwicklungsstart (No Big Design Up Front) berechtigt uns nicht, Architektur zu vernachlässigen oder ganz wegzulassen.

Dieser Vortrag beschäftigt sich damit, wann und von wem in agilen Projekten Architektur gemacht wird und wie viel Vorweg-Design genug ist (Enough Design Initially).

Die Folien finden Sie hier.


T6 Zukunftsträchtig
Die nächste Generation der Web-Oberflächen-Tests

Die Technologien rund um Web-Anwendungen sind stark in Bewegung. Da stellt sich natürlich die Frage, welchen Einfluss dies auf das Testen von Web-Anwendungen hat. Kann Cloud Computing das Testen erleichtern? Kann man dynamische Web-Anwendungen sinnvoll "spidern"? Gibt es Test-Coverage auch für Web-Anwendungen? Können Performanztests automatisch erstellt werden? Lassen sich Audio- und Videodateien testen? Oder Anwendungen mit Multitouch oder Orts- und Lagesensoren? Würde dabei eine natürlichsprachliche Schnittstelle die Tests verständlicher machen?

In diesem Vortrag werden diese und andere Fragen gestellt und beantwortet und so ein Blick auf die nächste Generation von Web-Oberflächen-Tests geworfen.

Die Folien finden Sie hier.


T7 Ein Bild sagt mehr als tausend Worte
Modellbasierte Software-Spezifikation

Ein Grundkonzept des Domain-driven Designs ist die Abschaffung von Ausdrucksbarrieren zwischen Fach- und IT-Kräften bei der Systemkonstruktion.

Da sich objektorientierte Software-Systeme gut mit objektorientierten Modellen beschreiben lassen, zeigt dieser Vortrag, wie angereicherte UML-Modelle für Fachbereiche salonfähig werden. Ziel ist eine durchgängig verstandene, stark verbildlichte Spezifikation, die gleichzeitig direkten Input für Code-Generatoren bildet und eine gemeinsame Sprache aller Beteiligten erzwingt.

Die Folien finden Sie hier.


T8 Berichterstatter
Business Intelligence und Reporting mit BIRT

Das Business Intelligence und Reporting Tool BIRT hat sich in den letzten Jahren zu einem der beliebtesten Reporting-Tools in der Java-Welt etabliert und erfreut sich seit seiner Geburt im Jahre 2004 einer stetig wachsenden Anwenderzahl.

Dieser Vortrag führt in BIRT ein und zeigt, wie man Reports mit Hilfe dieses Frameworks erstellen kann.

Die Folien finden Sie hier.


T9 Malen nach Zahlen
Objekt- und Prozessmodellierung

Bei der Modellierung von Systemen werden etliche Diagramme und Modelle erstellt, um ein beliebiges System aus statischer Objektsicht oder dynamischer Prozesssicht zu beschreiben. Leider deckt eine einzelne Modellsicht ein System nie vollständig ab.

Dieser Vortrag gibt eine Einführung in einen hybriden Modellierungsansatz und stellt dabei das Semantische Objektmodell (SOM) zur Modellierung betrieblicher Systeme, das an der Universität Bamberg entwickelt wurde, vor. Dabei wird gezeigt, dass die Modellierungsreichweite der SOM-Methodik nicht nur auf ein Informationssystem begrenzt ist, sondern sich auf das gesamte betriebliche Objektsystem erstreckt und dazu das Paradigma der Objekt- und Prozessorientierung nutzt.

Die Folien finden Sie hier.


V2 Mehr als nur Daumenschrauben
Pragmatische Teams mit mittelalterlichen Methoden formen

Feature Creep, Not Invented Here, Analysis Paralysis, Continuous Obsolescence und Truck Factor.

Dieser Vortrag zeigt, was man dazu von den Bauleuten des Mittelalters lernen kann.


V3 Universell
Der Unicode – Hintergründe, Einsatz, Strategien

Inzwischen ausgereift und weit verbreitet, definiert der Unicode einen vereinheitlichten Zeichensatz und beschreibt, wie man die mehr als 107 000 erfassten Zeichen aus über 90 Schriftkulturen repräsentiert und verarbeitet. Außer der binären Kodierung definiert der Unicode auch Eigenschaften der Zeichen(-Ketten): Groß- und Kleinschreibung; Vergleich und Sortierung; Schreibrichtung; Darstellung und vieles mehr, was besonders spannend bei nicht-europäischen Sprachen ist.

In diesem Vortrag werden die wichtigsten Teile des Unicode-Standards (Version 5) vorgestellt. Anhand zahlreicher Beispiele wird dabei der Einsatz in modernen Systemen wie beispielsweise Java und .NET oder Sprachen wie C++ veranschaulicht.

Die Folien finden Sie hier.


V4 AEIOU – 1234
Ein Einblick in Speed-Reading mit praktischen Beispielen

Tolstois "Krieg und Frieden" in einem Tag lesen? Ein Fachbuch in wenigen Stunden? Die Tageszeitung in 15 Minuten? Lesen bestimmt unseren Beruf und unseren Alltag. Im Durchschnitt schaffen normal schnelle Menschen etwa 150 bis 250 Wörter pro Minute.

In diesem Vortrag wird die Theorie des Lesens und des so genannten Speed-Readings erklärt und mit den Teilnehmern gemeinsam an einer schnelleren Lesetechnik gearbeitet.

Die Folien finden Sie hier.


V5 NLPIT
Effektive Kommunikations-Tools für den Erfolg in IT-Projekten

Präzise verstehen, was der Kunde eigentlich möchte und das Ergebnis gut zu präsentieren ist in einem IT-Projekt ebenso wichtig wie der Umgang mit Konflikten oder die Koordination und Motivation der Mitarbeiter. All das bildet nicht nur einen Zusatz zur IT-Technologie, sondern die wichtige Basis für den Projekterfolg.

Deshalb beschäftigt sich dieser Vortrag mit dem Kommunikationsmodell des Neurolinguistischen Programmierens (NLP), das nützliche Kommunikationstools, Sprachmuster und Motivationstechniken beschreibt, um auch in der Kommunikation ein wichtiges Ziel zu erreichen: Effektivität.

Die Folien finden Sie hier.


V6 Power to the Shell
Die Windows PowerShell

In Sachen Shell-Skripting schaut man als Windows-Anwender eigentlich immer neidisch auf die Unix-Kollegen. Oder macht Skripting mit BAT-, CMD- oder VBS-Skripten etwa jemandem Spaß? Doch das war gestern! Microsoft hat Abhilfe in Form der PowerShell bereit gestellt.

Dieser Vortrag gewährt einen kurzen Einblick in das Skripting mit der PowerShell 1.0 und ihrer Nachfolgerin, der PowerShell 2.0.

Die Folien finden Sie hier.


V7 Pragmatismus pur
UML-Diagramme mit yUML darstellen

Die Unified Modeling Language (UML) hat sich als eine der bekanntesten der genormten Diagrammarten etabliert. Hat man sich grundsätzlich für deren Einsatz bei Illustrationen entschieden, steht man gelegentlich vor dem Problem, dass kein geeignetes Tool zur Verfügung steht. Hier schafft yUML Abhilfe, mit der UML-Diagramme relativ einfach als URLs definiert werden und so auch bequem beispielsweise in Blogs integriert werden können.

Diese Vortrag stellt yUML und anhand vieler Beispiele deren Möglichkeiten vor.

Die Folien finden Sie hier.


V8 Partition Your Index
Personenbezogene Suche mit Lucene

Mittlerweile kommt kaum noch eine Applikation ohne umfassende Volltextsuche aus. Glücklicherweise bietet der Markt ein breites Spektrum an Lösungen und Frameworks. Doch was ist notwendig, wenn Suchindizes für persönliche Daten erstellt und zentral vorgehalten werden müssen?

Dieser Vortrag stellt die Anforderungen an personenbezogene Suchindizes vor und zeigt am Beispiel des Open-Source-Frameworks Lucene, wie man überwiegend mit Lucene-Bordmitteln derartige Indizes umsetzen kann. Aufbauend auf diesem Grundsystem werden im Anschluss weiterführende Funktionen wie Suchbegriffsvorschläge, Schreibweisenkorrektur und kategoriebasiertes Ordnen der Suchergebnisse vorgestellt, um am Ende auf die praktischen Auswirkungen bezüglich Komplexität, Skalierbarkeit und Performance einzugehen.

Die Folien finden Sie hier.


V9 Blinken 2.0
Die Micro-Controller-Plattform Arduino

Basierend auf einem bekannten AVR Microcontroller entstand als Open-Source die Hard- und Software-Plattform Arduino, die einen einfachen Einstieg in die Welt der Microcontroller verspricht.

Dieser Vortrag stellt die Plattform in theoretischer und praktischer Form vor, zeigt anhand einfacher Beispiele, wie schnell etwas blinkt oder sich bewegt und gibt Anregungen für den Einstieg in die Welt des "Physical Computing".

Die Folien finden Sie hier.

Aktuelles

Offene Trainings

Die nächsten geplanten Trainings sind:

Programmierung mit Java
21.05.2012 (5 Tage)

Das .NET Framework
21.05.2012 (4 Tage)

Performanz – Messung und Optimierung
24.05.2012 (2 Tage)

Webanwendungen mit Apache Struts
29.05.2012 (3 Tage)

Eine vollständige Übersicht finden Sie in unserer Trainingsübersicht.