Siedepunkt

Aggregatzustände und Software-Entwicklung

Michael Wiedeking

MATHEMA Software GmbH
K30 Donnerstag, 8. 9., 08:30 – 09:20 Uhr Keynote Do de PDF

Die Zeiten ändern sich. Das könnte beispielsweise daran liegen, dass es in der Natur der Dinge liegt, sich weiter zu entwickeln. Was ist aber, wenn dieser Veränderung offensichtliche Grenzen gesetzt sind – kommt es dann zwangsläufig zur Stagnation?

In dieser Keynote geht es um die Vergangenheit und Gegenwart von Computern und Software-Entwicklung, deren natürliche Grenzen, wie man diese bisher überwunden hat und was das vielleicht für die Zukunft bedeutet.

Das Beste kommt zum Schluss

Verabschiedung

Das Herbstcampus-Team

Bookware
Donnerstag, 8. 9., 17:00 – 17:15 Uhr Do de

In der Abschlussveranstaltung wird noch einmal resümiert, die besten Sprecher gekürt und unter den Anwesenden einige wenige glückliche „gesucht“, die mit mehr als nur einem Wissensgewinn nach Hause gehen sollen.

Viewmodels auf dem Laufsteg

Model-View-Viewmodel (MVVM) mit Flow Oriented Design verbinden

Stefan Lieser

N31 Donnerstag, 8. 9., 09:40 – 10:50 Uhr .NET Java JEE Do de PDF

Im Umfeld moderner UI-Technologien wie Silverlight oder WPF wird meist auf das Model-View-Viewmodel Pattern gesetzt. Gute Testbarkeit und Eignung für Data Binding sind dabei oft gehörte Argumente. Doch macht MVVM noch keinen kompletten Anwendungsentwurf aus, da es lediglich die Anbindung der Benutzerschnittstelle an den „Rest“ der Anwendung beschreibt.
Mit Flow Design liegt eine Entwurfsmethode vor, die sich sehr gut für diesen „Rest“ der Anwendung eignet. Was liegt also näher, als Pattern und Entwurf zu verheiraten?

Der Vortrag erläutert MVVM und Flow Design und zeigt an einer Beispielanwendung, wie beide Konzepte zusammengebracht werden können.

Verbindlichkeiten

Einführung in die Grundlagen benutzerdefinierter Bindings in WCF

Tobias Krügel

conplement AG
N32 Donnerstag, 8. 9., 11:20 – 12:30 Uhr .NET Do de PDF

Die Windows Communication Foundation (WCF) wird mit einer Vielzahl vordefinierter Bindings ausgeliefert. Jedes dieser Bindings spezifiziert dabei die Art und Weise, wie Nachrichten transportiert, kodiert und um zusätzliche Protokollinformationen angereichert werden. In den meisten Fällen dürften die mit der WCF ausgelieferten Bindings den alltäglichen Anforderungen genügen. Dennoch sind Situationen denkbar, in denen individuelle Anpassungen oder Erweiterungen zwingend erforderlich sind. Glücklicherweise stellt die WCF zu diesem Zweck eine umfassende API zu Verfügung.

Dieser Vortrag führt in die Grundlagen von Bindings und Channels in WCF ein und stellt vor, wie bestehende Bindings angepasst oder um zusätzliche Funktionalität erweitert werden können.

Aufgewacht

Entity Framework 4.1 vs NHibernate

Thomas Haug

MATHEMA Software GmbH
N33 Donnerstag, 8. 9., 14:00 – 15:10 Uhr .NET Do de PDF

Mit dem Entity Framework 4.1 steht seit April 2011 die neuste Generation des objekt-relationalen (OR) Mapping-Werkzeug von Microsoft zur Verfügung und schickt sich an, verlorenen Boden zu NHibernate wett zu machen. NHibernate, der quelloffene ORM, wird bereits seit vielen Jahren erfolgreich eingesetzt.

In diesem Vortrag werden die neusten Errungenschaften des Entity Framework 4.1 aufgezeigt und deren Umsetzung mit NHibernate verglichen und demonstriert, wo die jeweiligen Stärken und Schwächen liegen.

Vertrauen ist gut ...

... Source Control ist besser

Robert Eichenseer

conplement AG
N34 Donnerstag, 8. 9., 15:40 – 16:50 Uhr .NET Do de PDF

Kaum ein Entwickler arbeitet heute ohne Quellcodeverwaltung. Selbst in Ein-Mann-Projekten wird nicht mehr ohne Source Control gearbeitet. Doch welche Anforderungen hat ein Entwickler an moderne Konfigurationsmanagementsysteme?

Der Vortrag stellt Anwendungsfälle und die Konzepte der Quellcodeverwaltung vor. Er liefert Entscheidungshilfen für die Auswahl und den Einsatz des geeigneten Source Control Systems und zeigt praktische Beispiele anhand von Visual Source Safe und MS Team Foundation Server.

Schwarze Magie

Scalas Typsytem ausgenutzt

Lars Hupel

Student (Technische Universität München)
S32 Donnerstag, 8. 9., 11:20 – 12:30 Uhr Scala Do de PDF

An Scalas Typsystem scheiden sich die Geister: Die einen sehen „alles ist ein Objekt“ und native Singletons, die anderen sehen existenzielle Typen und nehmen Reißaus. Die Wahrheit liegt wie immer dazwischen.

In diesem Vortrag sollen die Typinferenz (und ihre Schwächen), pfadabhängige und existenzielle Typen, Typäquivalenz und Kinds erläutert werden, immer mit der praktischen Anwendung der Formalismen im Blick. So werden auch Bereichsdatentypen und ein typsicheres printf entwickelt. Scala-Vorkenntnisse sind zwar hilfreich, aber nicht erforderlich – wenngleich ein Interesse an statischer Typisierung und an Typsystemen nützlich ist.

Relationell auch ohne SQL

Relationale Datenbanken mit ScalaQuery nutzen

Stefan Zeiger

S33 Donnerstag, 8. 9., 14:00 – 15:10 Uhr Scala Do de PDF

ScalaQuery bietet eine für Scala optimierte Abstraktionsschicht über JDBC zum Zugriff auf relationale Datenbanken. Die Möglichkeiten reichen von vereinfachtem Connection-Handling über das Ausführen von SQL-Statements mit Mapping von Parametern und Rückgabewerten bis zum Haupt-Feature von ScalaQuery: Datenbank-Abfragen können direkt in Scala, oft unter Verwendung von for-comprehensions, geschrieben und zur Laufzeit in SQL übersetzt werden. Solche Queries sind typsicher und ähneln vergleichbaren Abfragen auf Collection-Objekte in Scala. Auch Tippfehler bei den Tabellen- und Spaltennamen und andere, sonst erst zur Laufzeit feststellbare, Fehler in SQL-Statements gehören damit der Vergangenheit an.

In diesem Vortrag erfahren Sie, wie die einzelnen Komponenten von ScalaQuery aufgebaut sind und wie Sie sie in Ihren Anwendungen einsetzen können.

Resümee

EJB 3.1 – Rückblick nach dem ersten Jahr

Werner Eberling

MATHEMA Software GmbH
E31 Donnerstag, 8. 9., 09:40 – 10:50 Uhr JEE Do de PDF

Seit mittlerweile über einem Jahr ist EJB in der Version 3.1 verabschiedet und in den ersten Application-Servern verfügbar. Somit bietet sich eine erste „Rückschau“ über die Annahme bzw. Unterstützung der neuen EJB-Version an.

Dieser Vortrag bietet einen Abriss über die wichtigsten Features von EJB 3.1 und bewertet diese aus Praxissicht. Dabei wird auch auf „technische Details“ wie die Auswahl der richtigen Laufzeitumgebung eingegangen.

Ausgewachsen

JPA – Ein Standard wird erwachsen

Arne Limburg

OpenKnowledge GmbH
E32 Donnerstag, 8. 9., 11:20 – 12:30 Uhr JEE Do de PDF

Obwohl die erste Version des JPA Standards bereits ein großer Schritt in Richtung Standardisierung von OR-Mappern war, hinterließ sie doch Lücken, die durch proprietäre Erweiterungen gefüllt wurden. JPA 2 hat nun viele dieser Lücken geschlossen.

Dieser Vortrag gibt einen Überblick über die neuen Features von JPA 2 und geht dabei auf einige Details wie die Typesafe Criteria API, den Extended EntityManager, Lazy-Initialization und Fetch-Pläne und standardisiertes Second-Level Caching ein, die auch erfahrenen Nutzern neu sein werden. Außerdem werden mögliche Integrations-Szenarien in Java EE vorgestellt.

Leichter ohne Bus

Alternative Ansätze für Integration

Eberhard Wolff

adesso AG
E33 Donnerstag, 8. 9., 14:00 – 15:10 Uhr JEE Do de PDF

Klassische Integration nutzt ein mächtigen, aber oft komplexen Enterprise-Service-Bus, um unterschiedliche Applikationen miteinander zu verbinden.

Dieser Vortrag zeigt andere Ansätze, die einen flexiblen Technologie-Stack nutzen. Dazu dienen Frameworks wie Spring Integration oder Spring Batch, aber auch Patterns und Kommunikations-System wie JMS oder RabbitMQ und ganz andere Ansätze wie REST oder JavaScript. Das Ergebnis sind leichtgewichtige Ansätze mit dem Fokus auf möglichst gute Unterstützung der Entwickler.

Aber sicher!

OWASP Top 10: Scanning JSF

Andreas Hartmann

adesso AG
E34 Donnerstag, 8. 9., 15:40 – 16:50 Uhr Do de

Die überwiegende Anzahl von Angriffen erfolgt heutzutage nicht auf Netzwerk- oder Protokollebene sondern vielmehr auf die Anwendungen selbst. Dabei werden Sicherheitslücken, die aus Fehlern oder Schwachstellen in den jeweiligen Programmen resultieren, ausgenutzt.

Im Rahmen dieses Vortrags wird zunächst das Thema Application Security aufgegriffen und u. a. die Fragestellung betrachtet, wo die Ein-satzgebiete und Grenzen von Web Application Firewalls liegen. Im weiteren Verlauf der Session werden die von der Open Web Application Security Projekts (OWASP) aufgeführten Top Ten der Angriffsarten und ihre Relevanz für Java Server Faces (JSF) betrachtet. Anhand von Showcases werden einzelne Angriffe praktisch demonstriert und entsprechende Schutzmechanismen aufgezeigt. Abschließend wird die Architektur einer Application-Security-Komponente für JSF skizziert.

Am Ziel angekommen?

Über Ant und Maven zu SBT und Gradle

Andreas Hartmann

adesso AG

Dr. Halil-Cem Gürsoy

adesso AG
T31 Donnerstag, 8. 9., 09:40 – 10:50 Uhr .NET Java JEE Scala Do de PDF

Nach Zeiten der Stagnation im Umfeld der Build-Tools betreten gleich zwei neue Build-Systeme die Bühne. Mit Gradle tritt ein Produkt an, von dem dessen Entwickler sicher sind, dass es das hält, was Maven immer versprochen hatte, aber nie auch nur ansatzweise einhalten konnte: Konsequente Umsetzung von „Convention over Configuration“ bei gleichzeitiger Transparenz und Flexibilität. Und mit dem „Simple Build Tool“ (SBT) schickt sich ein Anwärter aus der Scala-Welt an, das Feld von hinten aufzuräumen.

Eine kritische Bestandsaufnahme und Ausblick auf aktuelle und zukünftige Entwicklungen.

Durchgestartet?

Eine Einführung in Google App Engine

Dr. Halil-Cem Gürsoy

adesso AG
T34 Donnerstag, 8. 9., 15:40 – 16:50 Uhr JEE Do de PDF

Auf dem Herbstcampus 2010 hatten wir die Gelegenheit, erste Schritte mit der Google App Engine für Java zu betrachten. In der Zwischenzeit hat die Konkurrenz nachgelegt. Mit BeanStalk möchte der Cloud-Platzhirsch Amazon in die Java-Welt eindringen und mit CloudBees steht ein weiterer Anwärter in den Startlöchern. Und viele Entwickler scheinen darauf nur gewartet zu haben, da die GAE API doch zu sehr eingeschränkt hatte. Dies scheint auch Google erkannt zu haben, so dass einiges nachgebessert wurde.

Neben der Klärung und Abgrenzung grundsätzlicher Begriffe wie „Cloud“, „IaaS“, „SaaS“ und „PaaS“ erfolgt in diesem Vortrag eine Einführung in die Google App Engine und der Entwicklung mit dieser. Hierbei erfolgt auch ein Vergleich mit den Cloud-Diensten anderer Anbieter wie Amazon und CloudBees.

3D

Domain Driven Design on top

Tim de Buhr

OpenKnowledge GmbH
V31 Donnerstag, 8. 9., 09:40 – 10:50 Uhr .NET Java JEE Scala Do de PDF

Die Modellierung von Fachlichkeit im Einklang mit Kundenanforderungen gehört zu den am stärksten unterschätzten Herausforderungen der Software-Entwicklung. Agile Methoden werden heute gerne genutzt um dieses Problem zu lösen.

Im Rahmen dieses Vortrags wird zunächst vorgestellt, wie Domain Driven Design Anforderungsdefinition und -umsetzung von Software-Projekten verändert und wie sich diese Veränderung auf die Anwendung verschiedener agiler Methoden auswirkt. Aufbauend darauf wird gezeigt, in welche agilen Entwicklungsprozesse Domain Driven Design erfolgreich eingebunden werden kann, damit die Vorzüge beider Vorgehensmodelle gemeinsam zur Geltung kommen und so zum Gelingen des Gesamtprojektes beitragen können.

Liquid

Den agilen Software-Entwurf in Fluss bringen

Ralf Westphal

V32 Donnerstag, 8. 9., 11:20 – 12:30 Uhr .NET Java JEE Scala Do de PDF

Längsschnitte stehen im Kern der agilen Software-Entwicklung. Das immaterielle Produkt Software soll iterativ in Scheibchen ausgeliefert werden. Die Objektorientierung – nomen est omen – ist hingegen verwurzelt in materiellem Denken und Wasserfallproduktion. Agiler Software-Entwurf und Objektorientierung stehen mithin in einem fundamentalen Widerspruch. Den spürt jedes Team, das mit objektorientierten Mitteln versucht, bei Iterationsbeginn den nächsten Längsschnitt zu planen. Rückfälle in die „Big Design Up Front“-Praxis (BDUF) sind mit Objektorientierung an der Tagesordnung.

Der Vortrag schlägt vor, das Problem an der Wurzel zu packen. Objektorientierung hat ihren Wert – darf dem agilen Vorgehen aber nicht im Wege stehen. Sie ist durch ein anderes Paradigma zu ersetzen, das besser geeignet ist für evolvierende Entwürfe in Längsschnitten durch das Kollektiv eines Teams. Dieses Paradigma ist das des Flusses im Gegensatz zum OO-Paradigma der Abhängigkeit.

Flow-Design in der Praxis (Teil 1)

Live-Entwicklung von den Anforderungen bis zur lauffähigen Software

Ralf Westphal

Stefan Lieser

V33 Donnerstag, 8. 9., 14:00 – 15:10 Uhr .NET Java JEE Scala Do de PDF

Wer sehen will, wie aus Anforderungen ein Modell wird und aus einem Modell Code wird, der ist in diesem Doppelvortrag richtig. In diesem Vortrag wird live demonstriert, wie Sie in einem systematischen Entwicklungsprozess ein Anforderungsdokument in lauffähige Software verwandeln, die den zentralen Prinzipien des Clean Code Development genügt. Den Rahmen für die Umsetzung stellt eine flussorientierte Denkweise im Gegensatz zum „üblichen“ OOAD-Ansatz dar. Mit ihr demonstrieren die Referenten die aus ihrer Sicht notwendige Ergänzung von agilen Vorgehensmodellen um ein mentales Modell und eine handfeste Code-Struktur, die dem hohen Änderungsdruck in Projekten standhalten. Verständlichkeit und Evolvierbarkeit von Software stehen in diesem Vortrag an erster Stelle.

Flow-Design in der Praxis (Teil 2)

Live-Entwicklung von den Anforderungen bis zur lauffähigen Software

Stefan Lieser

Ralf Westphal

V34 Donnerstag, 8. 9., 15:40 – 16:50 Uhr .NET Java JEE Scala Do de PDF

Wer sehen will, wie aus Anforderungen ein Modell wird und aus einem Modell Code wird, der ist in diesem Doppelvortrag richtig. In diesem Vortrag wird live demonstriert, wie Sie in einem systematischen Entwicklungsprozess ein Anforderungsdokument in lauffähige Software verwandeln, die den zentralen Prinzipien des Clean Code Development genügt. Den Rahmen für die Umsetzung stellt eine flussorientierte Denkweise im Gegensatz zum „üblichen“ OOAD-Ansatz dar. Mit ihr demonstrieren die Referenten die aus ihrer Sicht notwendige Ergänzung von agilen Vorgehensmodellen um ein mentales Modell und eine handfeste Code-Struktur, die dem hohen Änderungsdruck in Projekten standhalten. Verständlichkeit und Evolvierbarkeit von Software stehen in diesem Vortrag an erster Stelle.

KaffeeKlatsch
Bookware