Aller Anfang …

Begrüßung und Organisatorisches

Das Herbstcampus-Team

Bookware
Dienstag, 4. 9., 09:30 – 10:00 Uhr Di de

Dauerhaft schlank

Kein Lean ohne Automatisierung

Hans Dockter

Gradleware GmbH
K10 Dienstag, 4. 9., 10:00 – 10:50 Uhr Di de

Eine leistungsfähige Automatisierung ist eine notwendige Bedingung für agile und schlanke Software-Entwicklung – zumindest ab einer gewissen Projektkomplexität. In dieser Keynote wird deshalb für jedes der sieben Prinzipien der Lean Software-Entwicklung herausgestellt, welche Bedeutung die Praxis der Continuous Delivery dafür hat. Allerdings steckt die Disziplin des Continuous Delivery trotz ihrer Beduetung noch in ihren Anfängen. Deswegen schließt die Keynote mit einer Bestandsaufnahme der großen Baustellen in diesem Bereich, was sowohl das Fehlen wichtiger Konzepte als auch die Defizite beim Tooling betrifft.

Beispielhaft

Specification by Example

Nicole Rauch

msgGillardon AG

Andreas Leidig

msgGillardon AG
A13 Dienstag, 4. 9., 14:00 – 15:10 Uhr Di de PDF

Bei der Software-Entwicklung wird viel Wert darauf gelegt, dass die Software richtig erstellt wird. Der viel wichtigerer Aspekt, nämlich dass die Software tatsächlich das leistet, was sich der Kunde vorgestellt hat, wird dabei oft noch hinten angestellt. Dies führt häufig zu unzufriedenen Kunden und frustrierten Entwicklern. Eine Technik, um gleich im ersten Anlauf dahin zu kommen, die richtige Software zu entwickeln, ist Specification by Example.

Der Vortrag zeigt, wie diese Technik vor, während und nach der Entwicklung eines Features zum Einsatz kommt, und wie man mit ihrer Hilfe auch das Design der Software beeinflussen kann.

Wolkenschlösser

Architekturen für die Cloud

Eberhard Wolff

adesso AG
A14 Dienstag, 4. 9., 15:40 – 16:50 Uhr Di de PDF

Die Architektur einer Cloud-Anwendungen muss ganz anderen Anforderungen in Bezug auf Skalierbarkeit und Dynamik gerecht werden.

Dieser Vortrag zeigt die konkreten Probleme und Lösungen mit aktuellen Technologien. Dabei werden sowohl IaaS-Angebote wie Amazon erläutert als auch PaaS-Angebote wie Google AppEngine. Und natürlich wird neben der Public Cloud auch die Private Cloud betrachtet.

Darf's ein wenig größer sein?

Architekturmuster für hochskalierbare Systeme

Uwe Friedrichsen

codecentric AG
A15 Dienstag, 4. 9., 17:20 – 18:30 Uhr Di de PDF

Hochskalierbare Anwendungen sind anders. Die normalen Gesetze von Anwendungsarchitekturen gelten hier nicht mehr. Viele selbstverständlich erscheinenden Konzepte müssen für sehr große Anwendungen komplett überdacht und grundlegende Architekturentscheidungen neu getroffen werden.

In diesem Vortrag werden die Basisdimensionen hochskalierbarer Systeme und ihre Konsequenzen für das Anwendungsdesign betrachtet. Darauf aufbauend werden eine Reihe verschiedener und komplementärer Muster vorgestellt, die beim Entwurf hochskalierbarer Anwendungen unterstützen. Und natürlich wird auch über die Trade-offs der Muster, praktische Entscheidungshilfen sowie konkrete Design-Ansätze für die Umsetzung gesprochen. Die dargestellten Aspekte geben eine Reihe alternativer Ideen und Konzepte an die Hand, die nicht nur in hochskalierbaren Cloud-Systemen gewinnbringend angewendet werden können.

Lifehacker-Zeitmanagement

Agiles Zeitmanagement für Programmierer mit Lifehacker-Methoden

Karsten Schulz

karstenschulz.biz
A16 Dienstag, 4. 9., 20:00 – 21:10 Uhr Di de PDF

In der heutigen Zeit nutzen wir ständig neuartige Kommunikationsformen und -kanäle. Es gibt neue Formen der Arbeit und neuartige Jobs. Wir sind dauernd online, erreichbar und betreiben auf Schritt und Tritt Social Networking. Konventionelle Selbst- und Zeitmanagement-Methoden versagen in dieser schnelllebigen, modernen und vernetzten Welt regelmäßig. Wenn nach der alten Schule die Aufgaben in A-, B- und C-Prioritäten unterteilt und die Wochenplanungen erledigt sind, ist diese Planung oft schon überholt und der Kunde einen Schritt weiter. Die alten Methoden versagen, weil sie starr, langsam und inflexibel sind. Als Programmierer im Team und als selbstständiger Programmierer brauchen wir also Arbeitsmethoden für ein funktionierendes Selbst- und Zeitmanagement. Methoden, die genauso agil und dynamisch sind, wie die Welt in der wir uns bewegen.

In diesem lebhaften und pragmatischen Vortrag wird anschaulich gezeigt, wie agiles Selbst- und Zeitmanagement funktioniert und worauf es bei aktuellem Zeitmanagement ankommt. Mit konkreten Tipps und How-to's wird gezeigt, wie die hohen Taktraten unserer vielschichtigen Kommunikation gemeistert und die Vielzahl von Aufgaben in einem Software-Projekt und drumherum bewältigt werden können. Modernes Zeitmanagement funktioniert nachhaltig und ganzheitlich, ganz ohne sinnlose Pufferzeiten, abgestufte Prioritäten und vollgemaltem Kalender. Es funktioniert agil, mit Spaß und mit Lifehacks.

Algorithmen züchten

Simulierte Evolution im Einsatz als Optimierungsverfahren

Heiko Spindler

P12 Dienstag, 4. 9., 11:20 – 12:30 Uhr Di de PDF

Die Evolution ist ein erstaunlich effizientes und schnelles Optimierungsverfahren. Immerhin hat es alle Lebewesen und auch uns quasi aus dem Nichts erschaffen. Mit simulierter Evolution kann man das Prinzip auf viele andere Aufgabenstellungen übertragen.

Wie das funktioniert, zeigt der Vortrag an mehreren konkreten und unterhaltsamen Live-Beispielen, wie das Züchten eines Algorithmus. Zusätzlich werden die Grundlagen aus Sicht der Biologie und Mathematik vorgestellt. Die Implementierung wird anhand des Java-Frameworks JPGA an Code-Beispielen demonstriert.

Fählerprevention

Vom Umgang mit Komplexität in der Software-Entwicklung

Joachim Hofer

imbus AG
P14 Dienstag, 4. 9., 15:40 – 16:50 Uhr Di de PDF

Beim Entwickeln komplexer Systeme kommt es naturgemäß zu Fehlern.

Dieser Vortrag vermittelt Techniken, um die Zahl dieser Fehler von vorneherein gering zu halten. Die grundsätzliche Methode dabei ist, Komplexität – wo es möglich ist – zu reduzieren und – wo nicht – einzugrenzen. Neben technischen wird dabei auch auf systemtheoretische und psychologische Aspekte eingegangen. Konkrete Beispiele illustrieren die vorgestellten Techniken.

Schatzsuche

In-House-Bibliotheken identifizieren und fördern

Dr. Malte Clasen

adesso AG
P15 Dienstag, 4. 9., 17:20 – 18:30 Uhr Di de PDF

Software-Entwickler erleichtern sich gerne ihre tägliche Arbeit. Dabei entstehen vielfältige Hilfsmittel, von Shell-Skripten über einzelne Klassen bis zu ganzen Bibliotheken. Diese sind allerdings meist nur dem ursprünglichen Entwickler und seinem engeren Umfeld bekannt.

In diesem Vortrag wird anhand eines Beispiels gezeigt, wie man dieses Wissen und die zugehörigen Implementierungen findet und für ein größeres Publikum nutzbar machen kann.

Einfach simpel

Granuläres .NET-Web-Development mit Nancy- und Simple.Data- Framework

Timothée Bourguignon

MATHEMA Software GmbH
N12 Dienstag, 4. 9., 11:20 – 12:30 Uhr Di de PDF

Nancy und Simple.Data sind zwei leichtgewichtige Frameworks für .NET, um Web-Applikationen zu implementieren und auf einfache Art und Weise mit Datenbanken zu verbinden.

Dieser Vortrag beleuchtet die Philosophie, die Konzepte und den Aufbau dieser beiden Frameworks. Hierbei werden in verschiedenen Demonstrationen, ausgehend von einem „Hallo Welt“-Beispiel bis hin zu einer Real-Life Web-Anwendung, die Objekte aus einer SQL-Datenbank als auch von NoSQL-Datenbanken abgefragt und die Fähigkeiten der beiden Frameworks gezeigt.

Das muss man wissen!

Windows 8 für Entwickler

Daniel Meixner

Microsoft Deutschland GmbH
N13 Dienstag, 4. 9., 14:00 – 15:10 Uhr Di de PDF

Windows 8 bietet jede Menge Neues, allem voran natürlich Metro Style, die Touch-optimierte Oberfläche, für die man eigene Apps schreiben kann. Dabei ist es fast egal, was man bisher programmiert hat, denn der Einstieg in die App-Entwicklung wird einem relativ leicht gemacht.

Dieser Votrag zeigt, was ein Entwickler für Windows-8-Apps wissen muss, an welcher Stelle es neue Konzepte gibt und was es mit der Windows Runtime auf sich hat.

Ab ins Web!

.NET-Anwendungen webfähig machen

Golo Roden

N15 Dienstag, 4. 9., 17:20 – 18:30 Uhr Di de PDF

Eine beliebige .NET-Anwendung Web-fähig zu machen, kann doch nicht so schwer sein – oder doch? Was in der Theorie nach keiner besonderen Herausforderung klingt, stellt sich in der Praxis ein klein wenig anders dar: WCF ist nicht so einfach zu konfigurieren wie gedacht, die ASP.NET Web-API ist doch komplizierter als geglaubt und die Frage des Hostings ungeklärt: IIS? WAS? Azure? Lokal? Selfhosting? ...?

Dass all das auch viel einfacher funktionieren kann, wird in diesem Vortrag gezeigt. Es wird das Manos-Framework vorgestellt, mit dem es ein Leichtes ist, jede x-beliebige .NET-Anwendung Web-fähig zu machen – sei es für REST-Services oder eine Web-basierte UI.

Jetzt auch auf einem Server in Ihrer Nähe

JavaScript & node.js

Ralph Winzinger

Senacor Technologies AG
JS12 Dienstag, 4. 9., 11:20 – 12:30 Uhr Di de PDF

Der Vortrag gibt eine knappe Einführung in JavaScript und begutachtet darauf basierend das node.js Framework. Die JavaScript-Einführung beschränkt sich auf wesentliche Sprachkonstrukte bzw. Besonderheiten, die JavaScript konzeptionell von anderen Sprachen wie beispielsweise Java unterscheiden. Kleine Code-Beispiele sind natürlich inklusive. node.js wird zuerst aus der technologischen Perspektive begutachtet und geklärt, was an node.js so anders und weshalb die Performanz so gut ist. Nachdem die theoretische Basis gelegt ist, wird das Ganze anhand einer kleinen Anwendung Schritt für Schritt mit Praxis unterfüttert. Natürlich wird auch das eine oder andere Framework erwähnt, das sich inzwischen im Bereich node.js etabliert hat.

JavaScript goes Enterprise

Mit JavaScript Business-Anwendungen erstellen

Stefan Hildebrandt

consulting.hildebrandt.tk
JS14 Dienstag, 4. 9., 15:40 – 16:50 Uhr Di de PDF

Bei der Entwicklung von Web-Anwendungen bietet sich JavaScript als Sprache für den Client an, da außer dem Browser keine weitere Ausführungsumgebung benötigt wird. Um größere Anwendungen mit JavaScript zu erstellen, die auch noch Jahre später evolvierbar sind, sollte man die Best Practices und Standards im Bereich JavaScript kennen.

In dem Vortrag wird das Programmiermodel für Web-Anwendungen vorgestellt. Hier sind zwei Punkte hervorzuheben: Trennung von View (HTML) und JavaScript-Code (Controller, Model) sowie die Ausführung von Unit-Tests. Die Umsetzung dieser Aspekte wird mit aktuellen Frameworks verdeutlicht, sodass ein Eindruck von der Vorgehensweise entsteht.

Building Performance

Client-seitige Performance-Optimierung automatisiert sicherstellen

Oliver Ochs

Holisticon AG
JS15 Dienstag, 4. 9., 17:20 – 18:30 Uhr Di de PDF

Die Geschwindigkeit einer Web-Site ist entscheidend für den Umsatz mitverantwortlich. Ein wesentlicher Faktor hierbei sind die Zeiten für das Laden und Rendern von Seiten im Browser. Steve Souders zeigte z. B., dass ca. 80% der Ladezeit einer Seite im Client verbraucht werden.

Im ersten Teil des Vortrags werden die wichtigsten Optimierungsmaßnahmen vorgestellt. Für eine dauerhafte, nachhaltige Performance-Optimierung müssen die Maßnahmen automatisiert bzw. in den Build-Prozess integriert werden. Im zweiten Teil des Vortrags wird ein beispielhafter Build-Prozess für Java Web-Anwendungen gezeigt, der Teile der Optimierungsmaßnahmen durchführt. Andere Teile müssen durch eine geeignete Architektur sichergestellt werden, wofür ebenfalls Ideen geliefert werden.

Ausgeschlafen?

Mit BPMN Integrationsprozesse bereichern

Dr. Volker Stiehl

SAP AG
B12 Dienstag, 4. 9., 11:20 – 12:30 Uhr Di de PDF

Business Process Model and Notation (BPMN) als Programmiersprache für Integrationsprozesse – passt denn das? Oh ja, und wie das passt! BPMN wurde bisher primär aus der Brille von Fachabteilungen gesehen und zur Modellierung von Fachprozessen eingesetzt. Kein Wunder, schließlich hat sie ja dort auch ihren Ursprung. Doch welche Möglichkeiten BPMN für Java-Programmierer insbesondere für die Implementierung von Integrationsprozessen bereithält, ist vielfach unbekannt.

In diesem Vortrag wird also gezeigt, welches enorme Potenzial gerade in diesem Einsatzbereich in der BPMN schlummert. So wird demonstriert, wie überraschend vielseitig BPMN (gerade auch in Kombination mit Java) einsetzbar ist und wie sie auch bei der Umsetzung von Integrationsanforderungen behilflich sein kann.

Apache Buildr

Die Mavenalternative

Tammo van Lessen

innoQ Deutschland GmbH
B13 Dienstag, 4. 9., 14:00 – 15:10 Uhr Di de PDF

Viele Java-Entwickler verbindet eine Hassliebe mit Maven. Apache Buildr ist ein Ruby-basiertes Build-System für Java-Anwendungen und stellt eine gute Alternative zu Maven dar. Es verbindet dessen Vorteile mit einer leichtgewichtigen und anpassbaren DSL, ist sehr leicht erweiterbar und ist fast doppelt so schnell wie Maven.

In diesem Vortrag werden die Konzepte von Apache Buildr anhand von Beispielen vorgestellt.

Gemeinsam sind wir stark

BPMN und Camel

Dr. Daniel Lübke

innoQ Schweiz GmbH

Martin Huber

innoQ Deutschland GmbH
B14 Dienstag, 4. 9., 15:40 – 16:50 Uhr Di de PDF

Mit der Business Process Execution Language (BPEL) und nun zunehmend auch mit Business Process Modeling and Notation 2 (BPMN2) werden Geschäftsprozesse in eigenen Business Process Management-Systemen (BPMS) ausgeführt. Dabei übernimmt das BPMS die Ausführung und Verwaltung langläufiger Prozessinstanzen sowie die Versionierung von Prozessmodellen. Allerdings sind Prozesse typischerweise sehr langläufig, sodass benutzte (Web-)Services in der zum Deployment aktuellen Version über lange Zeiträume vorgehalten werden müssen. Sollten diese Services sich ändern, müssen Adapter geschrieben werden, die Datenformate ineinander übersetzen. Hier bietet sich Apache Camel an, das auf einfache Art und Weise erlaubt, Transformationsketten zu definieren. Apache Camel bietet somit einen pragmatischen Weg Geschäftsprozessautomatisierungsprojekte sinnvoll zu ergänzen und so zu einer langfristig laufenden und einfacher wartbaren Lösung beizutragen.

In diesem Vortrag werden einige Grundlagen zu BPMN und Apache Camel erläutert und gezeigt, wie man ein BPMS mit einem Integrations-Framework kombinieren kann, um den Herausforderungen in einem BPM-Projekt zu begegnen.

Rocking the Gradle

Build-Automatisierung mit Gradle

Hans Dockter

Gradleware GmbH
B16 Dienstag, 4. 9., 20:00 – 21:10 Uhr Di de PDF

Gradle ist der neue Stern am Himmel der Open-Source-Build-Systeme. Mit Gradle lässt sich der Build und die sonstige Automatisierung elegant an die projektspezifischen, unvorhersehbaren Anforderungen anpassen und standardisieren. Anhand vieler Live-Beispiele wird ein Einblick in die Konzepte und die Anwendung von Gradle gegeben. Dabei werden auch viele einzigartige Funktionen gezeigt, die in der letzten Zeit zu Gradle hinzugefügt wurden. Die Teilnehmer dürfen sich auf elegante Build-Skripts, noch schnellere Builds und innovative Features freuen.

Java SE 8 & Beyond

Dalibor Topic

ORACLE Deutschland B.V. & Co. KG
J12 Dienstag, 4. 9., 11:20 – 12:30 Uhr Di de PDF

Seit dem aktuellen Release von Java SE 7 tut sich wieder was auf der Java-Plattform, was den Bedürfnissen der Entwickler bei den sich ständig ändernden Anforderungen der Plattformen und Applikationen sehr entgegenkommt.

In diesem Vortrag wird deshalb kurz über die aktuellen Entwicklungen in Java SE 7 und dem Java Community Process (JCP) gesprochen, bevor es um die geplanten Features in Java SE 8 gehen wird. Darüber hinaus wird skizziert, wie die wichtigsten Ideen von Oracle für Java SE 9 und darüber hinaus aussehen. Abschließend wird noch ein Blick auf die Features geworfen, die in zukünftige Versionen von Java einfließen könnten – bis hin zu Java SE 12.

OSGi Mars World in Action

OSGi heißt Modularität, Komponenten und Services in Java

Christian Baranowski

SEITENBAU GmbH
J13 Dienstag, 4. 9., 14:00 – 15:10 Uhr Di de PDF

Durch eine OSGi-Modularisierung ergeben sich die folgenden Vorteile: Service-orientierte Programmiermodelle durch OSGi-Services; Dynamische Software-Komponenten mit OSGi-Declarative Services; Lose Kopplung und Trennung von Service-API und Implementierung; Koexistenz von mehreren API- und Implementierungs-Versionen; Dynamik und dynamische Erweiterung von Funktionalitäten zur Laufzeit; usw. Darüber hinaus können auch klassische Java EE-Technologien in OSGi genutzt werden, beispielsweise JPA oder Java Web-Anwendungen (WARs).

Der Vortrag zeigt spielerisch, anhand einer 3D Robot-Simulation, welche Vorteile man durch die Modularisierung mit OSGi und einem Service-orientierten Programmiermodell gewinnt. Der Vortrag richtet sich in erster Linie an Java- und Java EE-Entwickler, die bisher noch wenig oder keine Erfahrung mit dem OSGi-Framework gesammelt haben. Es wird anhand dieser Anwendung gezeigt, wie sich das Programmiermodell von einer klassischen Java-Anwendung in eine modularisierte OSGi-Anwendung ändert. Darüber hinaus wird in der vorwiegend live gezeigten Demo wird mit den Eclipse-Bndtools demonstriert, wie man schon bei der Entwicklung durch Modularisierung profitieren kann.

Ride the Camel like a Pro

Fortgeschrittene Integrationsfälle gelöst mit Apache Camel

Martin Huber

innoQ Deutschland GmbH
J15 Dienstag, 4. 9., 17:20 – 18:30 Uhr Di de

Apache Camel ist ein Integrations-Framework basierend auf Java. Apache Camel ist mit seiner Vielzahl an Integrationsmöglichkeiten zu einem mächtigen Tool herangewachsen. Dabei muss man nicht immer gleich an ESBs denken, wenn es um Integration geht. Man findet schnell einige Anwendungsfälle für Apache Camel, deren Lösung mit Bord-Mitteln in der Java-Welt unweit schwieriger zu lösen wären.

Neben einer kurzen Einführung in die „Philosophie der Kamele“ werden in diesem Vortrag einige fortgeschrittene Anwendungsfälle behandelt, in denen sich der Einsatz eines Integrations-Frameworks als vorteilhaft erweist. Dazu werden auch reale Code-Beispiele in Camel durchgesprochen, die die pragmatischen Lösungsansätze veranschaulichen.

Roboter-Baukasten

Einführung in Android

Manfred Borzechowski

LambdaLogic Informationssysteme GmbH
J16 Dienstag, 4. 9., 20:00 – 21:10 Uhr Di de PDF

Obwohl erst seit 2008 am Markt, liegt das Smartphone-Betriebssystem von Google in der Käufergunst ganz weit vorne. Auch der Java-Entwickler kann sich an offenen Quellen, reichhaltigen APIs und der einfachen Einbindung in die Geräte-Infrastruktur erfreuen.

Dieser Vortrag zeigt anschaulich, wie man mit dem Android-SDK und Eclipse-Apps für ein Android-Smartphone entwickelt, welchen Konzepten man dabei begegnet und welche Möglichkeiten es gibt, Daten und Funktionen mit anderen Apps auszutauschen.

Leitern mit Stil

Eine Einführung in ScalaFX

Phillipp Dörfler

imbus AG
S13 Dienstag, 4. 9., 14:00 – 15:10 Uhr Di de PDF

Totgesagte leben länger. Auf JavaFX 1 könnte das durchaus zutreffen, denn zumindest tot ist es mit Sicherheit. Der vielversprechende Nachfolger JavaFX 2 hat ambitionierte Verbündete und schafft somit möglicherweise die Reinkarnation: Die beiden DSLs ScalaFX und GroovyFX streben danach, in die Fußstapfen von JavaFX Script zu treten.

Wie gut das gelingt, verrät dieser Vortrag: Nach einer kurzen Einführung in JavaFX 2 stehen die Unterschiede zwischen der Java API, ScalaFX und GroovyFX im Vordergrund. Anhand praktischer Beispiele werden die Stärken und Schwächen beider DSLs beleuchtet und Lösungen für einige interessante Probleme entwickelt. Grundlegende Kenntnisse in Scala werden empfohlen.

Gang of Many

Funktionale Entwurfsmuster in Scala

Lars Hupel

S14 Dienstag, 4. 9., 15:40 – 16:50 Uhr Di de PDF

Das sogenannte „Gang Of Four“-Buch ist jedem OO-Programmierer ein Begriff, denn darin werden die gängigsten Entwurfsmuster im objektorientierten Design vorgestellt. Hinzu kommen oft genutzte Technologien wie z. B. Dependency Injection, die in fast allen größeren Projekten anzutreffen sind. Oftmals werden dadurch fehlende Sprach-Features oder selbstgemachte Probleme ausgeglichen. Beim genaueren Hinsehen entpuppen diese sich oft als simpel zu lösen – zumindest in funktionalen Sprachen, denn dort sind andere Abstraktionsebenen möglich, ohne den Sprachumfang zu verlassen.

In diesem Vortrag werden ausgewählte Patterns aus dem Standardwerk anhand von Beispielen erläutert und mit funktionalen Lösungen verglichen. Darüber hinaus werden auch Entwurfsmuster gezeigt, die Schwächen von funktionalen Sprachen (wie beispielsweise die begrenzte Stack-Größe) ausgleichen.

KaffeeKlatsch
Bookware
MATHEMA
CLEAR IT