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.