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.

Ran an die Spec

Ausführbare Software-Spezifikationen mit specs2

Andreas Flierl

imbus AG
S15 Dienstag, 6. 9., 17:20 – 18:30 Uhr .NET Java JEE Scala Di de PDF

Automatisierte Software-Tests sind längst gängige Praxis. Für verschiedenste Herangehensweisen haben sich bereits Frameworks und Bibliotheken etabliert.

Der Votrag widmet sich der Scala-Bibliothek specs2 (http://specs2.org), die Software-Spezifikationen und Tests im Geiste von "literate programming" zusammenbringt. Er bietet einen Überblick über die vielfältigen Funktionen der Bibliothek, von den allgemeinen Design-Ideen über die Strukturierung von Spezifikationen und Tests bis hin zu Details von Installation, Konfiguration und Ausführung. Ein besonderer Augenmerk liegt dabei auf der ausdrucksstarken, internen DSL zur Beschreibung von Beispielen. Dem Zuhörer soll zudem vermittelt werden, was specs2 von anderen Test-Bibliotheken unterscheidet, wie es die Features von Scala nutzt und dass Spezifikationen nichts mit schwerfälligen Prozessen zu tun haben müssen.

Das Testen testen

Einführung in ScalaTest

Jens Schauder

LINEAS Informationstechnik GmbH
S22 Mittwoch, 7. 9., 11:20 – 12:30 Uhr Java Scala Mi de

ScalaTest ist eins der wichtigsten Testframeworks für Scala. Im Vergleich zu Java basierten Frameworks ist es gleichzeitig mächtig, einfach und flexibel und erlaubt es von Unit Tests bis zu Integrationstest viele verschieden Arten von Tests in ein und demselben Framework zu schreiben.

Der Vortrag wird verschiedene Arten von Tests demonstrieren und die zu Grunde liegende Architektur von ScalaTest vorstellen.

Noch nicht reif?

Scala für Enterprise-Applikationen

Dr. Halil-Cem Gürsoy

adesso AG
S25 Mittwoch, 7. 9., 17:20 – 18:30 Uhr .NET Java JEE Scala Mi de PDF

Vor zwei Jahren hat Alexander Blewitt in seinem Blog ein für die Scala Gemeinde recht ernüchterndes Fazit gezogen: „Scala is not enterprise ready“. Wen wundert es, sagten sich die Skeptiker, kommt die Sprache doch aus einem akademischen Umfeld. In der Zwischenzeit hat sich einiges in der Scala-Welt getan und es stellt sich erneut die Frage: Kann Scala guten Gewissens in kritischen Enterprise-Projekten eingesetzt werden?

Lucky Seven

Neuerungen in Java 7

Wolfgang Weigend

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

Jetzt ist es endlich so weit: Am 7. 7. diesen Jahres wurde die Version 7 von Java freigegeben. Neben „kleinen“ Änderungen in der Sprache, gibt es auch neue Funktionalität in alten und neuen Paketen.

So wird sich dieser Vortrag dem aktuellen Stand von Java 7 widmen, die wichtigsten Änderungen, Erweiterungen sowie Neuerungen vorstellen und die Programmierer bedacht auf das vorbereiten, was sie demnächst zu erwarten haben.

Türsteher für Bohnen

Bean Validation mit JSR-303

Oliver Ochs

Holisticon AG

Simon Zambrovski

Holisticon AG
J13 Dienstag, 6. 9., 14:00 – 15:10 Uhr Java JEE Di de PDF

Die Validierungs-Logik in einer Java-Enterprise-Anwendung ist meist eng an die zu validierenden Daten gekoppelt. Mit dem Bean-Validation-Standard JSR-303 muss diese Logik nur einmal implementiert werden und kann dann in einer Enterprise-Applikation an verschiedenen Stellen zum Einsatz kommen.

In diesem Vortrag stellen wir exemplarisch einige Einsatzbereiche vor und beleuchten die architektonischen Herausforderungen. Dabei erläutern wir an einigen Beispielen, die wir aus der Projektpraxis extrahiert haben, wie ein domänen-spezifisches Typsystem aufgebaut werden kann und wie die Validierung der Eingabedaten sowohl in der Oberfläche als auch in der Geschäftslogik geschieht. Unsere Bespiele orientieren sich an den gängigen Frameworks Spring und EJB 3.

Java on Steroids

Wie funktionieren interne DSLs in Java?

Frank Gerberding

LINEAS Informationstechnik GmbH
J14 Dienstag, 6. 9., 15:40 – 16:50 Uhr Java JEE Di de PDF

Domain Specific Languages (DSL) sind schon seit einiger Zeit in aller Munde. Man kann sie nutzen, indem man komplette Compiler oder Interpreter entwickelt oder indem man entsprechende Tools wie z.B. Jetbrains MPS oder xText verwendet. Oder man kann eine Host-Sprache so nutzen, dass ihre Syntax nur so wirkt wie eine DSL. Für diese internen DSLs werden häufig Sprachen wie Ruby, Scala oder Groovy eingesetzt. Oft ist es aber aus irgendwelchen Gründen nicht möglich oder nicht erlaubt, diese Sprachen einzusetzen. Das heißt aber nicht, dass man auf interne DSLs verzichten muss. Auch wenn Java keine so flexible Syntax besitzt wie die typischen DSL-Host-Sprachen, können dennoch sehr ausdrucksstarke interne DSLs in Java geschrieben werden.

Der Vortrag zeigt einige der dazu nötigen Techniken, Tricks und Kniffe und demonstriert anhand von Beispielen aus realen Projekten, wie damit DSLs für z. B. die GUI-Entwicklung, Event-Handling, Datei-Operationen oder die Unterstützung von Tests entwickelt werden können.

Ghandis Fisch

Code-zentrisches Modellieren mit Soplets for Java

Christof May

SOPLET SOLUTIONS
J16 Dienstag, 6. 9., 20:00 – 21:10 Uhr Java JEE Di de

Durch die neue Vorgehensweise der Semantisch Orientierte Programmierung (SOP) existiert eine Code-zentrische und agile Alternative zur Modellgetriebenen Software-Entwicklung (MDSD). Im Zentrum dieser Methodik stehen die Soplets   sie stellen die kleinsten Informationseinheiten dar, mit denen die Logik (das „Metamodell“) eines Systems innerhalb des Codes abgebildet werden kann. Der Clou: Soplets sind reiner Java-Code, umgesetzt mit gewöhnlichen Java Enumerationen und Annotationen, und können in jedem beliebigen Projekt eingesetzt werden. Der Einsatz von Soplets verspricht eine deutliche Verbesserung der Struktur des Codes in Hinblick auf Einheitlichkeit, Wartbarkeit, Transparenz und Vermeidung von Duplizitäten. Bisher isolierte Aspekte der Programmierung wie Modellierung, Data-Binding, Validierung, Schnittstellen, Native Language Support (NLS) und Dokumentation werden mit einer einheitlichen und leicht nachvollziehbaren Methodik abgehandelt. Der Wirkungsbereich der SOP ist aber nicht nur auf den Code beschränkt: Mit einem Eclipse-Plugin lassen sich die Soplets mit einem externen Repository abgleichen, dessen Daten dann mittels einer Web-Applikation visualisiert und auch verändert werden können. Damit können auch Stakeholder (Business-Analysten, Modellierer und Übersetzer; der Fachbereich, die Qualitätssicherung usw.) in den Entwicklungsprozess integriert werden, die bisher nicht oder nur unzureichend eingebunden waren.

In diesem Vortrag wird in das Konzept der Semantisch Orientierte Programmierung anhand von Code-Beispielen eingeführt, die Anwendungsmöglichkeiten der Soplets demonstriert und ein SOP-Projekt aus der Logistikbranche präsentiert. Darüber hinaus wird das Open-Source Projekt „Soplets for Java“ präsentiert und die Web-basierte Modellierung mit dem Soplet Studio gezeigt.

Geh weg, bleib da

Mehrschichtige Web-Anwendungen mit jQuery und REST

Werner Eberling

MATHEMA Software GmbH
R22 Mittwoch, 7. 9., 11:20 – 12:30 Uhr .NET Java JEE Scala Mi de PDF

Die Java Enterprise Edition bietet einen soliden Technologie-Stack zum Aufbau skalierbarer, mehrschichtiger Web-Anwendungen. Doch wenn die Verbindung zwischen Client und Server nicht ständig aufrecht erhalten werden kann (z. B. in einem mobilen Szenario), stoßen die „klassischen“ JEE-Web-Technologien an ihre Grenzen. Hier kommen die Rich-Clients (z. B. Java Swing) auf den Plan, die aber wegen „exotischer“ Zielplattformen oder der Verteilungsproblematik nicht immer eine Alternative darstellen.

Der Vortrag zeigt – rückblickend auf die Entwicklung eines Prototypen für mobile Endgeräte – wie auf Basis von jQuery ein offline-fähiger Web-Client erstellt werden kann, der über RESTful Web-Services die Dienste einer „klassischen“ JEE-Anwendung nutzt. Dabei werden die Vor- und Nachteile von jQuery als View-Technologie, sowie der Bereitstellung einer „technik-neutralen“ REST-Schnittstelle und die daraus resultierende Freiheit zur Wahl der eingesetzten Clients erörtert.

RESTFull Datenbanken

Wie kommen Daten mit Apache OpenJPA JEST einfach ins Web

Frank Pientka

MATERNA GmbH
R23 Mittwoch, 7. 9., 14:00 – 15:10 Uhr .NET Java JEE Mi de PDF

Einführung in REST mit Datenbanken (Prinzipien, ACID). Vorstellung von JEST (nicht-invasiv, zustandslos, schemafrei, URI Syntax) und dessen Vorteile gegenüber JAX-RS und NoSQL-Datenbanken.

Regelkonform

Visual Rules im Unternehmenseinsatz

Alexander Rudat

TeamBank AG

Daniel Kuhn

TeamBank AG
E16 Dienstag, 6. 9., 20:00 – 21:10 Uhr Java JEE Di de PDF

Eine charakteristische Anforderung von Unternehmens-Software ist, auf Änderungen der Geschäftsprozesse schnell zu reagieren. Gerade im Kreditgeschäft ändern sich sehr häufig die Rahmenbedingungen, unter denen eine Bank agieren muss. Bis die Software-Systeme auf die geänderten Geschäftsprozesse umgestellt sind, vergehen unter Umständen mehrere Tage, Wochen oder sogar Monate. Eine Lösung für dieses Problem sind Geschäftsregeln („Business Rules“), die getrennt von der Logik der Anwendungs-Software verwaltet werden. In der TeamBank AG wird seit Mitte Juni eine neue Business Rules Engine namens „Visual Rules“ verwendet.

In diesem praxisorientierten Vortrag werden die Konzepte der Visual Rules Engine vorgestellt und gezeigt, wie diese in die easyCredit-Anwendung erfolgreich integriert wurden.

Kaffee zum Dessert?

CoffeeScript – nur die guten Dinge aus JavaScript

Andreas Schubert

MATHEMA Software GmbH
T14 Dienstag, 6. 9., 15:40 – 16:50 Uhr .NET Java JEE Scala Di de PDF

JavaScript als Programmiersprache hat teilweise einen zweifelhaften Ruf, der sicher nicht nur auf die befremdliche Anzahl von Klammern und Strichpunkten in der Syntax zurückzuführen ist. Dieser Ruf ist jedoch ungerechtfertigt, wenn man sich z. B. das Objektmodell oder – auch dank der Unterstützung immer besser werdender Frameworks – die Einsatzmöglichkeiten in der plattformübergreifenden Entwicklung für mobile Endgeräte ansieht.
CoffeeScript ist eine relativ junge, kleine Programmiersprache, die versucht, die „unschönen“ Seiten von JavaScript zu verbergen und eine Sprache zu schaffen, die durch Elemente u. A. aus Ruby, Lisp und Python eine kompakte, leicht verständliche und „schöne“ Syntax zu erzeugen. Der CoffeeScript-Compiler erzeugt als Ausgabe reines JavaScript und kann somit auf jeder JavaScript-Implementierung ausgeführt werden.

Dieser Vortrag gibt einen Einblick in CoffeeScript, die Installation und Anwendung, die Sprachkonstrukte sowie ein paar praktische Beispiele.

Semantic Web

Die Konzepte hinter dem RDF-Standard

Sandro Sonntag

adorsys GmbH & Co. KG
T15 Dienstag, 6. 9., 17:20 – 18:30 Uhr .NET Java JEE Scala Di de PDF

Hypertext macht es möglich, über die schier unendlichen Inhalte des World Wide Web (WWW) zu navigieren. Was aber für einen Anwender leicht verständlich ist, ist es für einen Computer noch lange nicht – der braucht „Semantik“ in den Daten um diese zu verstehen. Mit diesem Ziel wurde das Resource Description Framework, kurz RDF, eingeführt – ein Standard der die Konzepte (Verknüpfung, Offenheit, Heterogenität) des WWW auf Daten und Informationen überträgt.

In diesem Vortrag bekommen Sie einen Überblick über RDF und dessen Bedeutung innerhalb des Sementic Web. Außerdem werden die damit verbundenen Technologien vorgestellt und eine standardisierte Alternative zu propertitären "NoSQL" Datenbanken gezeigt.

Generisch vs. spezifisch

Das wiederkehrende Architekturdilemma

Stefan Tilkov

innoQ Deutschland GmbH
T21 Mittwoch, 7. 9., 09:40 – 10:50 Uhr .NET Java JEE Scala Mi de PDF

Ob es um DSLs und allgemeingültige Programmiersprachen geht, um UML und MOF, viele einzelne Tabellen oder Metastrukturen in einem RDBMS, ein spezifisches XML-format und XHTML oder das Tunneln von Web-Service-Aufrufen durch POST oder GET, Architekten begegnen immer wieder dem selben abstrakten Problem in unterschiedlicher Verkleidung: Dem Gegensatz von generischen und spezifischen Lösungen.

In diesem Vortrag werden unterschiedliche Beispiele für dieses Dilemma gezeigt und einige mögliche Hinweise für den Umgang damit gezeigt.

Das Auge misst mit

Visualisierung von Software-Metriken

Thomas Haug

MATHEMA Software GmbH
T22 Mittwoch, 7. 9., 11:20 – 12:30 Uhr .NET Java JEE Scala Mi de PDF

Metriken zur Bewertung von Software werden seit der 70er Jahren erhoben. Mit dem „Zeitalter“ der Objekt-Orientierung wurden auch für dieses Programierparadigma seit der 90er Jahre ein Flut an Metriken definiert und genutzt.
Doch wie kann man sich mit Metriken schnell einen Überblick über ein Gesamtsystem, eine Komponente oder eine Klasse verschaffen? Zahlenkolonen sind hierfür denkbar ungeeignet.

In diesem Vortrag werden verschiedene visuelle Darstellungen von Metriken demonstriert, mittels derer Software-Entwickler und -Architekten sich systematisch einen Überblick über die Struktur und Qualität eines (Subsystems bzw. einzelner Klassen verschaffen kann.

Ganz weit unten

Implementierung einer Sprache für JVM und CLR

Michael Wiedeking

MATHEMA Software GmbH
T23 Mittwoch, 7. 9., 14:00 – 15:10 Uhr .NET Java JEE Scala Mi de

Es ist nicht einfach eine domänenspezifische oder universelle Programmiersprache zu schreiben. Eine Menge Entscheidungen müssen getroffen werden, die die Benutzbarkeit, Lesbarkeit, Verständlichkeit und nicht zuletzt die Akzeptanz beeinflussen. Aber es ist deutlich komplizierter ein ordentliches Back-End für eine Virtuelle Maschine zu schreiben, das effizienten, stabilen und korrekten Bytecode zu erzeugen.

In diesem Vortrag wird beschrieben, wie eine Programmiersprache in effizienten Bytecode für JVM und CLR übersetzt werden kann, demonstriert, wie man zusätzliche Information in Klassendateien unterbringen kann und gezeigt, wie man einige Einschränkungen der virtuellen Maschinen umgeht, ohne die Interoperabilität mit bestehenden Klassen zu verlieren.

Einfacher bauen

SBT im Vergleich zu Ant, Maven & Co.

Joachim Hofer

imbus AG
T24 Mittwoch, 7. 9., 15:40 – 16:50 Uhr .NET Java JEE Scala Mi de PDF

Aus der Scala-Welt kommt ein kleines, feines Build-Tool namens "Simple Build Tool" SBT, welches in diesem Vortrag vorgestellt werden soll. Dabei wird auf die speziellen Vorzüge und Eigenheiten von SBT eingegangen, sowie eine Abgrenzung gegen die klassischen Platzhirsche Ant und Maven einerseits und andere neuere Systeme wie Gradle und Buildr andererseits vorgenommen. Speziell wird an Beispielen gezeigt, wie man SBT für die eigenen Zwecke anpassen/erweitern kann.

Playing like a Nerd

Lego Roboter mit iPad steuern

Tim de Buhr

OpenKnowledge GmbH
T26 Mittwoch, 7. 9., 20:00 – 21:10 Uhr .NET Java JEE Scala Mi de PDF

Der Lego-Mindstorm-Roboter, eine iPad/iPhone basierte Fernsteuerung und das ganze auch noch mit Java.

Diese „Playing like a Nerd“-Session zeigt auf nicht ganz ernst gemeinte Art und Weise, dass Programmieren durchaus Spaß machen kann. Seien sie gespannt, wie sich mit Hilfe von Java – und einer kleinen Portion Objective-C – diese scheinbar so verschiedenen Welten miteinander verbinden lassen.

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.

Ganz weit offen

Management von Open-Source-Lizenzen in einem großen Software-Haus

Dr. Mathis Löthe

T-Systems International GmbH

Helene Tamer

T-Systems International GmbH
V12 Dienstag, 6. 9., 11:20 – 12:30 Uhr .NET Java JEE Scala Di de PDF

Kostenlos, unbürokratisch per Download verfügbar und oft hohe Qualität durch einen breiten Nutzerkreis – so hat sich Open-Source-Software als unverzichtbarer Bestandteil wirtschaftlicher, zeitgemäßer und langfristig wartbarer Lösungen in Java- und C-Technologie etabliert. Aber für die Lizenzbedingungen, die es auch bei Open-Source-Software gibt, hat sich lange keiner interessiert. In letzter Zeit hat sich das geändert: Nach einigen spektakulären Gerichtsverfahren sind Software-Dienstleister und ihre Kunden gezwungen, der Einhaltung der Lizenzbedingungen mehr Aufmerksamkeit zu schenken. Wer sich die Mühe macht und das Kleingedruckte von Open-Source-Software liest, taucht in eine ganz neue Welt ein. Bei manchen Lizenzen, wie z. B. der Apache-Lizenz sind die Bestimmungen für einen Software-Dienstleister leicht einzuhalten. Bei anderen Lizenzen, wie der GPL, kann die Nutzung einer Komponente – je nachdem in welcher Form man sie nutzt – im Extremfall dazu führen, dass man seine Software unter gleicher Lizenz öffentlich zur Verfügung stellen muss, was in der Regel für kommerzielle Auftragsarbeit inakzeptabel ist.

Dieser Vortrag berichtet über Erfahrungen, das Wissen über den richtigen Umgang mit Lizenzen praxistauglich aufzubereiten und die nötigen Prozessveränderungen im Unternehmen einzuführen.

Komplexität – na und?

Wie man cool bleibt in einer komplexen Welt

Uwe Friedrichsen

codecentric AG
V13 Dienstag, 6. 9., 14:00 – 15:10 Uhr .NET Java JEE Scala Di de PDF

Das wahrscheinlich wichtigste Gesetz zu komplexen Systemen sagt ganz klar: „Komplexität kann man nur mit Komplexität bekämpfen“. Anders ausgedrückt: Es kann niemals eine einfache Lösung für ein komplexes Problem geben. Trotzdem gibt es Hoffnung. Nicht alles, was komplex erscheint, ist auch komplex. Und es gibt außerdem jede Menge ungewollter Komplexität allerorten – insbesondere in der IT –, die wir vermeiden können.

In diesem Vortrag wird zunächst ein wenig über Systemtheorie gesprochen, um ein gemeinsames Verständnis zu Begriffen wie „einfach“ oder „komplex“ aufzubauen. Danach wird ein typisches IT Projekt angesehen, um gemeinsam herauszufinden, was komplex ist, was nicht und wo sich die ungewollte Komplexität versteckt. Zuletzt werden einige Werkzeuge vorgestellt, die helfen, die unterschiedlichen Arten von Aufgabenstellungen optimal anzugehen. Nebenbei wird eine bessere Vorstellung davon vermittelt, wann agile Methoden weiterhelfen und an welchen Stellen nicht-agile Ansätze die bessere Wahl sind.

Low Level auf höchstem Niveau

Portable, maschinennahe Programmierung

Michael Wiedeking

MATHEMA Software GmbH
V15 Dienstag, 6. 9., 17:20 – 18:30 Uhr .NET Java JEE Scala Di de

Dieser Vortrag fand ersatzweise für einen ausgefallenen statt.

Wandergesellen

Migration von Scrum und XP auf ADF

Golo Roden

V16 Dienstag, 6. 9., 20:00 – 21:10 Uhr .NET Java JEE Scala Di de PDF

Sie haben das Agile Development Framework (ADF) als idealen Nachfolger für Ihren heutigen, auf Scrum und XP basierenden, Prozess erkoren – doch wie gestalten Sie die Migration? Schließlich wollen Sie Ihr bestehendes, mühsam erworbenes Wissen im Idealfall weiterhin anwenden und nicht noch einmal bei Null anfangen.

Glücklicherweise ermöglicht ADF eine sanfte Migration – und in diesem Vortrag wird Ihnen gezeigt, wie Sie diese angehen.

Team HealthCheck

Projekterfolg hängt von Menschen ab

Heiko Spindler

Freiberuflicher IT-Berater und Architekt
V21 Mittwoch, 7. 9., 09:40 – 10:50 Uhr .NET Java JEE Scala Mi de PDF

Neueste Technologien und Werkzeuge sind zweitrangig, wenn das Team zwischenmenschlich nicht funktioniert.

Dieser Vortrag zeigt Ihnen, wie Sie mit ausgewählten Methoden und Tools Ihre Teamleistung messbar machen können. Sie bekommen praktische Tipps, wie Sie Blockaden im Team lösen und so möglichst das volle Potential Ihres Teams freisetzen können.

Polyglott

Trends in Programmiersprachen

Michael Wiedeking

MATHEMA Software GmbH
V22 Mittwoch, 7. 9., 11:20 – 12:30 Uhr .NET Java JEE Scala Mi de PDF

Für verschiedene Probleme muss es zwangsweise auch unterschiedliche Werkzeuge geben, mit denen diese mehr oder weniger gut gelöst werden können. Das ist bei Programmiersprachen nicht anders.

Dieser Vortrag widmet sich deshalb der Vielfalt an Programmiersprachen, die sich darum bemühen die verschiedensten Probleme mit echten Sprachmitteln zu lösen. Egal ob imperativ, objektorientiert, deklarativ oder funktional: Für jeden Geschmack ist etwas dabei.

Ruinieren eines Scrum-Teams

Wie man möglichst schnell jegliche Agilität in der Software-Entwicklung verliert

Udo Wiegärtner

conplement AG
V23 Mittwoch, 7. 9., 14:00 – 15:10 Uhr .NET Java JEE Scala Mi de PDF

Ihr Scrum-Team ist produktiv und hochmotiviert? Ihr Product Backlog ist immer gut gefüllt und richtig priorisiert? Ihr Scrum Master umschifft elegant alle Hürden des Entwicklungsalltags? Grund genug, diese „Missstände“ schleunigst zu beheben.

In diesem Vortrag erfahren Sie, wie Sie jedes Scrum-Team zum Scheitern bringen und dabei auch wirklich alle Rollen im Team in den Wahnsinn treiben. Der Dozent gibt Tipps aus der Praxis für möglichst schlechte Daily Scrums, nichtssagende Burndown-Charts, endlose Planning Meetings und Definitions of Done, die wirklich nutzlos sind. Die Führungskräfte im Auditorium erfahren zudem, wie sie die Einführung von Scrum torpedieren und ihr Team nachhaltig demotivieren können.

UML Reloaded

Die UML in der Praxis meistern

Heiko Spindler

Freiberuflicher IT-Berater und Architekt
V24 Mittwoch, 7. 9., 15:40 – 16:50 Uhr .NET Java JEE Scala Mi de PDF

UML ist doch ein alter Hut. Alle machen es, alle können es. Die Praxis zeigt etwas anderes: Pseudomodelle, Tool-Chaos, Shelfware, Überdokumentation und Missverständnisse.

Dieser Vortrag zeigt typische Alltagsprobleme und Anti-Patterns aus vielen Projekten bei der Nutzung von UML im fachlichen und technischen Bereich. Zusätzlich liefert der Vortrag sinnvolle Tipps und Tricks für den wirklich sinnvollen und pragmatischen Einsatz von UML.

Vorhof zur Hölle

Betriebsaspekte bei der Applikationsentwicklung

Stefan Hildebrandt

consulting.hildebrandt.tk
V25 Mittwoch, 7. 9., 17:20 – 18:30 Uhr .NET Java JEE Scala Mi de PDF

Funktionale Anforderungen werden bei der Anwendungsentwicklung mehr oder weniger strukturiert an das Entwicklungsteam herangetragen. Diese werden bearbeitet und deren Umsetzung bei Tests geprüft. Im Bereich der nicht funktionalen Anforderungen finden sich in der Regel nur Standardanforderungen in Bezug auf Antwortzeiten oder Durchsatz. Weitere Aspekte die zum Betrieb und Support notwendig sind, werden meist zu spät beleuchtet. Hierzu gehören so alltägliche Dinge wie Fehlerbehandlung und Logging aber auch Konfiguration und Deployment sowie Monitoring einer laufenden Applikation.

In diesem Vortrag werden einige typische Defizite samt einfachen und freien Lösungen vorgestellt. Teilweise werden diese mit den Möglichkeiten kommerzieller Tools verglichen.

Wunschkonzert

Eine Programmiersprache nach Maß

Michael Wiedeking

MATHEMA Software GmbH
V26 Mittwoch, 7. 9., 20:00 – 21:10 Uhr .NET Java JEE Scala Mi de

Schaut man sich den Erfolg von C an, so stellt sich die Frage, warum es überhaupt einer anderen Sprache bedarf. Mit C kann man praktisch alles machen und die wichtigen Sachen – ohne Berücksichtigung der Spitzfindigkeiten – passt locker auf eine DIN-A4-Seite, der Rest ist Bibliothek. Dennoch braucht es Sprachmittel, mit denen man bestimmte Probleme einfacher und spezifischer beschreiben kann, damit man den Ansprüchen der unterschiedlichen Paradigmen und Domänen gerecht werden kann.

Dieser Vortrag beschäftigt sich mit einer kleinen Auswahl Features, die man in eine Programmiersprache einbauen könnte. Gegenüber Altbekanntem wie Vor- und Nachbedingungen wird neben alternativen Steuerungsstrukturen auch Ausgefalleneres aus verschiedenen Paradigmen vorgestellt, und diskutiert, wie man diese syntaktisch konsistent implementieren könnte.

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.

Operndiva

Kleine Einführung in Scala

Rüdiger Keller

MATHEMA Software GmbH
T01 Montag, 5. 9., 09:40 – 18:30 Uhr Tutorium Java Scala Mo de

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.

Dieses Tutorium wendet sich an ein Java-kundiges Publikum und gibt eine Einführung und Übersicht zu Scala. Dabei werden die wichtigsten Features vorgestellt und verschiedene Code-Beispiele gezeigt, wie sich alltägliche Java-Probleme in Scala leichter und mit meist erheblich weniger Code lösen lassen.

Einspritzmotor

CDI – die neue Art von JEE-Komponenten

Werner Eberling

MATHEMA Software GmbH
T02 Montag, 5. 9., 09:40 – 18:30 Uhr Tutorium Java JEE Mo de

Komponentenbasierte Entwicklung und Dependency Injection sind im Enterprise-Umfeld nichts wirklich Neues mehr. Mit Version 6 des JEE-Standards hat in diesem Zusammenhang, weitestgehend unbemerkt, eine neue Technologie die JEE-Bühne betreten: CDI – Contexts and Dependency Injection. Dem ein oder anderen eventuell noch unter dem Namen WebBeans oder als JSR 299 bekannt, vereinheitlicht dieser neue Spross der JEE-Familie u. a. Ansätze wie Komponentisierung und Dependency-Injection über die verschiedenen Schichten der JEE hinweg und verspricht dabei verbesserte Typsicherheit sowie ein übergreifendes Event-Model. Doch was bringt der neue Standard im Detail? Wann nimmt man den „Neuen“ und wann bleibt man bei seinen guten alten „puren“ EJB- bzw. JSF-Komponenten? Was sind eigentlich Qualifiers und Stereotypes und warum braucht man so etwas?

Diese Fragen werden im Rahmen des Tutorium durch die Vorstellung der wichtigsten Eckpunkte des CDI-Standards sowohl in Theorie als auch anhand eines praktischen (am eigenen Rechner nachvollziehbaren) Beispiels beantwortet.

Divide and Conquer

Using Java 7's fork-join framework to develop multicore-friendly software

Wolf Schlegel

ThoughtWorks Deutschland GmbH

Fabian Köhler

ThoughtWorks
T03 Montag, 5. 9., 09:40 – 18:30 Uhr Tutorium Java Mo en

In order to gain performance improvements from multicore processors, software needs to use multiple threads or multiple processes. With the fork-join framework, Java 7 introduces an addition to the Java concurrency package that supports parallel programming in Java. When developing software using a parallel framework, the resulting design is likely to differ from a solution that has been developed in a single-threaded style.

This tutorial explores how parallel programming affects the design of software. It also allows participants to reflect on the impact of parallel programming on unit testing and test driven development. After an introduction into the new concurrency classes coming with Java 7, participants work on three exercises. One of the exercises is about refactoring an existing single-threaded design to take advantage of the fork-join framework. Benefits of participating Participants will gain hands-on experience with Java's new fork-join framework and understand its impact on unit testing and test driven development.

KaffeeKlatsch
Bookware