Dies & Das

Dreierlei in aller Kürze

Golo Roden

David Tanzer

Michael Wiedeking

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

In dieser Keynote wird – fast schon traditionsgemäß – in aller Kürze (in 30, 10 bzw. 5 Minuten) über Wissenswertes und Persönliches rund um die Software-Entwicklung referiert.

Das Beste kommt zum Schluss

Verabschiedung

Das Herbstcampus-Team

Bookware
Donnerstag, 6. 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.

Pure Magie oder doch nur geträumt?

Möglichkeiten und Grenzen emergenter Architektur

Uwe Friedrichsen

codecentric AG
A31 Donnerstag, 6. 9., 09:40 – 10:50 Uhr Do de PDF

Schaut man sich die Qualitätsattribute einer Software an, für die Architekturarbeit zuständig ist, lassen sich diese in drei verschiedene Bereiche aufteilen, die grundlegend unterschiedliche Herangehensweisen erfordern: Nicht-fachliche Features: Ableitung und Implementierung von nicht-fachlichen Features aus den Anforderungen an ein System, z. B. für Sicherheitsaspekte oder Zuverlässigkeit; Komplexitätsmanagement: Aufgrund der Beschränkungen des menschlichen Gehirns ist es notwendig, die Unmengen an Details in einem Softwaresystem auf eine Art und Weise zu organisieren, dass die Personen, die mit dem System arbeiten müssen, die gerade für sie relevanten Details schnell wiederfinden und so überhaupt handlungsfähig sind; Änderbarkeit: Eine Software muss offen für Veränderungen und neue Features sein. Das bedeutet, die Software so zu organisieren, dass zukünftige Änderungen in der Mehrzahl der Fälle auf möglichst einfache Art und Weise durchgeführt werden können. Gerade der letzte Aspekt wird zwar immer wieder als zentrale Aufgabe von Architektur genannt, in der praktischen Umsetzung aber meistens ausgeblendet. So adressiert die Emergenz-Behauptung der agilen Puristen letztlich nur die zweite Aufgabe, ignoriert aber die dritte und essentielle Aufgabe. Das ist gerade heute ein massives Problem, da Änderbarkeit aufgrund des hohen geschäftlichen Änderungsdrucks die wahrscheinlich wichtigste Anforderung an ein Softwaresystem ist. Kurzum: Emergenz allein reicht nicht!

In diesem Vortrag geht es darum, was man mit Emergenz erreichen kann, was nicht und was man sonst noch benötigt, um den Aufgaben von Architektur gerecht zu werden.

Big Bang statt Big Data?

Was Architekten bei NoSQL beachten sollten

Dr. Halil-Cem Gürsoy

adesso AG
A32 Donnerstag, 6. 9., 11:20 – 12:30 Uhr Do de PDF

Inzwischen hat NoSQL die Hype-Kurve verlassen und der Einsatz der NoSQL-Datenbanken in Individualentwicklungsprojekten ist zum Mainstream geworden. Dabei ist der Begriff „NoSQL“ recht unspezifisch und das Spektrum der Datenbanken, die unter diesem Begriff zusammen gefasst werden, recht groß und reicht von „einfachen“ Key-Value-Datenbanken bis hin zu komplexen Graphendatenbanken, in denen ganze Objektbäume abgelegt werden können.

In diesem Vortrag geht es um die Aspekte, dieein Architekt in einem Projekt beachten muss, wenn eine NoSQL-Datenbank eingesetzt werden soll. Damit wird gleichzeitig die Frage beantwortet, wann überhaupt ein solcher Einsatz sinnvoll ist und nicht auch eine „normale“ relationale Datenbank ausreichen würde.

Wie Software-Generatoren die Welt verändern können

Von der Einmalfertigung hin zur Massenfertigung

Stephan Hochdörfer

bitExpert AG
A33 Donnerstag, 6. 9., 14:00 – 15:10 Uhr Do de PDF

Um ein Software-Produkt an Kundenwünsche anpassen zu können, ist es wichtig, ein hohes Maß an Flexibilität in der Software-Architektur zu gewährleisten. Aber selbst mit vorhandener Flexibilität ist es notwendig, die einzelnen Module und Komponenten manuell zusammen zu bauen bzw. gemäß der Kundenspezifikation zu konfigurieren. Welche Möglichkeiten gibt es um diesen Prozess zu automatisieren?

Zur Beantwortung dieser Frage werden im ersten Teil des Vortrags die theoretischen Grundlagen der generativen Programmierung behandelt. Den Teilnehmern werden Begriffe wie Software-Systemfamilie, Domain-Modellierung und Merkmalsdiagramm nahe gebracht. Aufbauend auf diesen Grundlagen erfolgt im zweiten Teil eine Hands-on-Demonstration wie ein Software-Generator mit Hilfe eines OpenSource-Frameworks aufgebaut und Schritt für Schritt weiterentwickelt werden kann. Als Abschluss wird die Frage beantwortet, wie sich eine bestehende Applikation in einen Software-Generator umwandeln lässt.

Wiki ausgedruckt?

10 praxistaugliche Tipps für eine Architekturdokumentation

Stefan Zörner

oose Innovative Informatik GmbH
A34 Donnerstag, 6. 9., 15:40 – 16:50 Uhr Do de PDF

„Füllen Sie diese tolle Vorlage aus, dann vergessen Sie garantiert nichts. Verwenden Sie UML! Ist standardisiert, versteht jeder ...“

Mit solch eines Beraters würdigen Hinweisen wird man in diesem Vortrag verschont. Stattdessen gibt es echtes Erfahrungswissen zum Festhalten einer Software-Architektur. Welche Ziele können damit verfolgt werden? Was gehört unbedingt rein? Welche Werkzeuge und Notationen haben sich bei Erstellung und Pflege bewährt? Und welche bei der Kommunikation im Team und an Dritte? Und vielleicht soll ja wirklich etwas ausgedruckt werden ...

Testing untestable code

Ideen und Anregungen um Legacy Code ein Schnippchen zu schlagen

Stephan Hochdörfer

bitExpert AG
P31 Donnerstag, 6. 9., 09:40 – 10:50 Uhr Do de PDF

Die testgetriebene Entwicklung ist heutzutage ein weit verbreiterter Standard in der Welt der Software-Entwicklung. Allerdings existieren immer noch Alt-Anwendungen die aufgrund der internen Strukturen nicht vollständig automatisiert testbar sind. In machen Fällen gilt dies auch für Software die heutzutage neu entwickelt wird. Das automatisierte Testen ist vor allem dann nicht möglich, wenn es nicht gelingt einzelne Komponenten in vollständiger Isolation testen zu können. In solchen Fällen bleibt meist nur die Einführung von manuellen Testvorgängen. Diese sind zum Einen fehleranfällig und zum Anderen sehr aufwändig in der Umsetzung.

Der Vortag demonstriert einen möglichen Lösungsansatz durch die Einführung einer zusätzlichen Abstraktionsschicht. Mit Hilfe dieser Abstraktionsschicht lassen sich Teile von Alt-Anwendungen in testbare Komponenten transformieren ohne dabei den Original-Quellcode zu verändern.

Und bist du nicht willig, so brauch' ich Gewalt

Testen von Datenbank-Code

Jens Schauder

P32 Donnerstag, 6. 9., 11:20 – 12:30 Uhr Do de PDF ZIP

Ohne Datenbanken ist kaum eine Unternehmensanwendung denkbar. Leider machen gerade diese Datenbanken das Leben für Entwickler schwer, die die Notwendigkeit und den Sinn von automatisierten Tests erkannt haben. Datenbanktests gelten als langsam, instabil und schwer zu implementieren, sodass in vielen Projekten die Datenbankschicht ohne adäquate Tests auskommen muss.

Ausgehend von einem unwartbaren Monster von Datenbanktests wird gezeigt, wie daraus eine DSL für DB Tests wird. Und wie diese Tests performant ausgeführt werden können.

Echolot

Qualitätssicherung mit Sonar

Thomas Haug

MATHEMA Software GmbH
P33 Donnerstag, 6. 9., 14:00 – 15:10 Uhr Do de PDF

Das Messen und Kontrollieren von Qualität ist ein wichtiger Baustein zur Entwicklung von professioneller Software. Häufig kommt dies in Projekten zu kurz. Andererseits existieren in der Java-Welt eine Vielzahl von (frei verfügbaren) Werkzeugen zur statischen und dynamischen Code-Analyse. Aber eine konsolidierte Sicht auf die gemessenen Werte der Werkzeuge fehlt oft und führt unter anderem zu Mehrfachmessung der gleichen Metriken durch unterschiedliche Werkzeuge oder unterschiedlicher Interpretation der gleichen Metriken. Dies lässt sich nur durch ensprechenden Augenmerk vermeiden. Wesentlich schwieriger ist das Zusammenführen der gemessenen Werte aus den verschiedenen Werkzeugen zu einer konsolidierten Sicht, um aus dieser abzuleiten, an welchen Stellen des Systems Handlungsbedarf besteht. Ohne ein geeignetes Werkzeug ist diese Aufgabe aufwändig und somit kostenintensiv. Mit Sonar existiert ein freiverfügbares Werkzeug, das eine konsolidierte Sicht auf gängige Analyse-Werkzeuge im Sinne der Konfiguration und der Darstellung der Ergebnisse ermöglicht. Diese Konsolidierung erleichtert die Analyse des gemessenen Systems wesentlich und ermöglich somit schnell unter Berücksichtigung aller gemessenen Parameter zu entscheiden, ob und wo am System refaktoriert werden soll.

In diesem Vortrag wird demonstriert, wie Sonar aufzusetzen ist, welche Messgrößen gesammelt und auf welche Art visualisiert werden können. Hierzu wird exemplarisch ein Projekt in mehreren Iterationen gemessen.

Alles Gurke?

BDD mit Cucumber

Carl Anders Düvel

Holisticon AG

Roland Jülich

Holisticon AG
P34 Donnerstag, 6. 9., 15:40 – 16:50 Uhr Do de PDF

Wie stellt man eigentlich sicher, dass man die richtige Software entwickelt? Eine schwierige Aufgabe, die seit jeher die Software-Entwicklung begleitet. Wie versteht man den Kunden und wie macht dieser sich am Besten verständlich? Wie kommuniziert man die Requirements möglichst effizient mit allen Kollegen, die an der Entwicklung und am Testen beteiligt sind? Ach ja, dokumentieren muss man die Software auch. Und automatisch auf Akzeptanzkriterien testen.

Viele Anforderungen, für deren Bewältigung in diesem Vortrag das Behavior Driven Development (BDD) mit Cucumber vorschlagen wird. Anhand von zwei kleinen Szenarien aus einem realen Projekt wird zunächst illustriert, wie dabei "Specification-By-Example" als Methode hilft das richtige System zu spezifizieren. Im Anschluss wird gezeigt, wie man diese Spezifikation zielgerichtet mit Cucumber – einem Tool, das die Ruby-Community im Sturm erobert hat und mittlwerweile auch auf der JVM verfügbar ist – in funktionsfähige Software überführt. Dabei wird dargelegt, wie man aus den natürlichsprachlichen Beschreibungen automatisierte Akzeptanztests erzeugt, welche Erfahrungen mit dem Tool in Projekten gemacht wurde und wo beim Einsatz die Fallstricke lauern.

Effizient Arbeiten in agilen Teams mit VS und TFS 2012

Neno Loje

N31 Donnerstag, 6. 9., 09:40 – 10:50 Uhr Do de PDF

Gerade in kleinen Teams geht es darum, sich ohne viel Bürokratie und Overhead zu organisieren, um beeindruckende Ergebnisse zu erzeugen. Die vierte Generation von Microsofts ALM-Plattform, dem Team Foundation Server, bietet speziell für kleine und mittlere Teams Werkzeuge zur Planung der Backlogs, Sprints und Tasks, um sich so auf die eigentlichen Aufgaben fokussieren zu können: der Umsetzung von Anforderungen in Software.

In diesem Vortrag wird das effiziente Arbeiten mit VS 11 und TFS 2012 vorgestellt.

Produktiver Entwickleralltag mit VS & TFS 2012

Neno Loje

N32 Donnerstag, 6. 9., 11:20 – 12:30 Uhr Do de PDF

In diesem Vortrag geht es um alle Neuerungen, die den Entwickleralltag direkt beeinflussen, konkret über den neuen Team Explorer, verbessertes Offline-Arbeiten, gemeinsame Code Reviews, u.v.m. Ein Muss für jeden Visual Studio & TFS-Nutzer.

Umzug

ASP.NET-WebForms-Elemente in MVC weiterverwenden

Dr. Malte Clasen

adesso AG
N34 Donnerstag, 6. 9., 15:40 – 16:50 Uhr Do de PDF

Über Jahre entwickelte ASP.NET WebForms-Anwendungen enthalten oft komplexe Controls und Pages. Das stellt für eine Migration auf ASP.NET eine Hürde dar, weil die dahinter liegende Eingabe- und Darstellungslogik oft nicht ausreichend spezifiziert und dokumentiert ist. Aber auch in Fällen mit guter Spezifikation ist der damit verbundene Implementierungsaufwand nicht zu unterschätzen.

In diesem Vortrag wird an einem Beispiel aus der Praxis gezeigt, wie man bestehende WebForms-Controls und -Pages in MVC-Anwendungen und -Layouts integriert und so innerhalb des neuen Frameworks nutzen kann.

Verbindungsprobleme

Offline Web-Anwendungen

David Tanzer

JS32 Donnerstag, 6. 9., 11:20 – 12:30 Uhr Do de PDF

HTML bietet Anwendungsentwicklern mittlerweile so viele Möglichkeiten, dass ein Rich Client oft gar nicht mehr in Betracht gezogen wird. Selbst wenn der Benutzer auch offline arbeiten muss, ist es oft möglich, das mit einer reinen Web-Anwendung zu gewährleisten.

In diesem Vortrag wird gezeigt, wie man ein einfaches Web-Formular mit Hilfe von „Offline Web Applications“ und „Indexed Database API“ auch offline verfügbar machen kann.

Mind the gap

Mobile Entwicklung mit PhoneGap und jQuery Mobile

Werner Eberling

MATHEMA Software GmbH
JS33 Donnerstag, 6. 9., 14:00 – 15:10 Uhr Do de PDF

In keinem Bereich der Software-Entwicklung scheinen gerade so viele neue Projekte aus dem Boden zu sprießen, wie bei der Entwicklung für mobile Endgeräte. Doch sobald mehrere Plattformen adressiert werden sollen, kämpfen diese Projekte mit der Heterogenität der mobilen Welt.

Dieser Vortrag zeigt anhand von vorgeführten Beispielen (auf Android und iOS) welche Möglichkeiten PhoneGap und jQuery Mobile für die mobile Entwicklung (unabhängig vom eingesetzten System) bieten und wie auf dieser Basis ein Multiplatform-Projekt aufgesetzt werden kann.

HTML5, JavaScript und der ganze REST

Multi-Channel-Architekturen für Enterprise-Entwickler

Norman Erck

Holisticon AG
JS34 Donnerstag, 6. 9., 15:40 – 16:50 Uhr Do de PDF

Die Herausforderungen bei Single Page Applikationen (SPA), Mobile Apps und anderen modernen Anwendungen, die auf HTML5 und JavaScript basieren, liegen im Frontend darin, die Anwendungslogik, Modelle und Darstellung in eine geeignete Struktur zu bringen. Und dabei muss darauf geachtet werden, dass sich nicht alle Endgeräte gleichen. Schnittstellen zum Server werden meist über REST-basierte Services bereitgestellt, die in eine Unternehmensinfrastruktur eingefügt werden müssen. Dazu gilt es, eine Ressourcen-orientierte API in ein prozess- bzw. Service-orientiertes Backend zu integrieren.

Maven hasst mich!

... und wie ich mich räche

Mirko Zeibig

IST GmbH
B31 Donnerstag, 6. 9., 09:40 – 10:50 Uhr Do de PDF

Maven ist heute in vielen Java-Projekten „gesetzt“. Das es sich durchgesetzt hat, heißt jedoch nicht, dass es besonders gut ist. So wird der Eine oder Andere in seinen Projekten jeden Tag mit den Ärgernissen von Maven konfrontiert.

In diesem Vortrag wird gezeigt, was einen an Maven besonders ärgern kann und was man dagegen (bzw. stattdessen) tun kann. Dabei wird der Schwerpunkt nicht auf „Best Practices“ gelegt, denn es gibt ja eine Welt jenseits von Maven.

Agitation

Warum Sie auf Subversion verzichten sollten

Lars Hupel

B33 Donnerstag, 6. 9., 14:00 – 15:10 Uhr Do de PDF

Trotz seit längerem bekannter Unzulänglichkeiten wird im Unternehmensumfeld noch zu oft Subversion als verteiltes Versions-Kontroll-System (DVCS) verwendet, während Git in der OpenSource-Entwicklung längst unabdingbar geworden ist.

Der Vortrag gibt für DVCS-Neulinge einen Überblick über die Terminologie und Konzepte von Git und demonstriert, wie ein unternehmensfreundlicher Workflow umgesetzt werden kann. Hierbei ist die Integration von Code Review – in diesem Vortrag mittels Gerrit – besonders interessant. Dieser Vortrag dient nicht zur Einführung in Versionierungskonzepte und soll auch kein Git-Tutorial sein. Stattdessen werden ausgewählte interessante Funktionalitäten vorgestellt, die helfen sollen, die Entscheidung für Git zu erleichtern.

Lucky Seven

Java Enterprise Edition 7

Wolfgang Weigend

ORACLE Deutschland B.V. & Co. KG
J31 Donnerstag, 6. 9., 09:40 – 10:50 Uhr Do de PDF

Bereits seit fünfzehn Monaten existiert das JDK 7 und rechtzeitig vor dem JDK 8 in 2013 soll sich die Java Enterprise Edition 7 (Java EE 7) der angestrebten Ziellinie im Sommer 2013 nähern und ihre Merkmale innerhalb der Plattform-as-a-Service (PaaS)-Schicht herausstellen. Neu zu definierende Rollen müssen an das PaaS-Modell angepasst werden. Die Einführung von Metadaten ist erforderlich, zur Service-Provisionierung und Konfiguration, für die Service-Qualität und Elastizität, zur gemeinsamen Nutzung von Anwendungen und Ressourcen und schließlich zur Umkonfiguration und Anpassung sind Metadaten notwendig. Einige nützliche Schnittstellen sind für die PaaS-Umgebung ebenfalls zu ergänzen: JAX-RS Client API, Caching API, State Management, JSON und andere APIs. Zwingendermaßen müssen die APIs erweiterbar sein, wenn sie mandantenfähig ausgelegt sein sollen.

In diesem Vortrag werden die folgenden Java EE 7-Spezifikationen genauer betrachtet: Plattform 7 / Web Profile 7, JPA 2.1, JAX-RS 2.0, EJB 3.2, JMS 2.0, Servlet 3.1, EL 3.0, JSF 2.2, CDI 1.1, Bean Validation 1.1, JCache 1.0 (JSR 107), Concurrency Utilities 1.0, State Management 1.0, Batch Processing 1.0, JSON 1.0, Common Annotations 1.2 MR, JAX-WS 2.3 MR, JTA 1.2 MR, JSP 2.3! MR und JASPIC 1.2 MR.

Freundliche Eindringlinge

Moderne Web-Applikationen mit CDI

Norman Erck

Holisticon AG
J32 Donnerstag, 6. 9., 11:20 – 12:30 Uhr Do de PDF

Was bis jetzt nur mit der Unterstützung von Frameworks wie Spring möglich war, möchte EJB 3.1 nun auch allein können: typsichere Dependency Injection von Managed Beans aller Art innerhalb von Java?Kontexten, die über einen eigenen Lebenszyklus verfügen. Möglich macht es die „Contexts and Dependency Injection for Java EE“ (CDI).

Dieser Vortrag stellt die neuen Konzepte und Sprachmittel, die dem Entwickler mit CDI zur Verfügung stehen, an einer durchgängigen Beispielanwendung vor, in deren Rahmen Dependency Injection, Qualifier, Scores und Contexts, Interzeptoren sowie Dekoratoren, Events und Produzenten vorgestellt werden. Neben einer Demo der Beispielapplikation „Friendly Invaders“ wird auch ein Ausblick auf die Konzepte gegeben, welche die neue Version Weld 2.0, die derzeit noch im Alpha-Status ist, den Entwicklern zur Verfügung stellt.

Moment, ich verbinde!

EAI mit Spring Integration

Joachim Weinbrenner

jsolutions
J33 Donnerstag, 6. 9., 14:00 – 15:10 Uhr Do de ZIP

Mittlere oder größere IT-Projekte beschränken sich selten auf eine isolierte Anwendung. Stattdessen gilt es, verschiedene Applikationen miteinander zu verknüpfen und Daten zwischen diesen auszutauschen. Die grundlegenden Herausforderungen sind dabei die unterschiedliche
Daten-Repräsentation und die Implementierung der einzelnen Applikationen, Änderungen in den Applikationen sowie die Unzuverlässigkeit von Netzwerken. Mit den Enterprise Integration-Patterns haben Gregor Hohpe und Bobby Woolf das Fundament für eine Message-basierte Integration verschiedener Systeme geschaffen. Spring Integration ist eine leichtgewichtige Implementierung der Enterprise Integration-Patterns, die ein Messaging für Java-Anwendungen mit nahezu grenzenlosen Anbindungsmöglichkeiten ermöglicht.

Der Vortrag gibt eine praxisnahe Einführung in Spring Integration und zeigt, wie einfach lose gekoppelte Systeme erstellt werden können. Dabei wird auf die wesentlichen Komponenten Message, Message Channel, Message Endpoint, Channel Adapter und Message Router eingegangen.

Aber sicher!

Javas Pluggable Types

Michael Wiedeking

MATHEMA Software GmbH
J34 Donnerstag, 6. 9., 15:40 – 16:50 Uhr Do de

Mit Hilfe eines Typs kann viel mehr erreicht werden, als sicher zu stellen, dass nur verträgliche Objekte einander zugewiesen oder an entsprechende Methoden übergeben werden. Im Grunde kann man jede beliebe Eigenschaft an das Typsystem koppeln und diese in Bezug auf ihre gegenseitige Verträglichkeit schon zur Übersetzungszeit prüfen.

In diesem Vortrag wird gezeigt, was man mit den Typsystemerweiterungen erreichen kann, die mit Java 8 standardmäßig verfügbar sein werden. Dabei wird kurz angerissen, welche Vor- und Nachteile und welche Aufwände dabei entstehen und wie man selbst mit Hilfe der Pluggable Types das Typsystem erweitern kann.

KaffeeKlatsch
Bookware
MATHEMA
CLEAR IT