Ariette

Einführung in Scala

Rüdiger Keller

MATHEMA Software GmbH
S13 Dienstag, 6. 9., 14:00 – 15:10 Uhr Scala Di de PDF

Seit einigen Jahren entstehen neben Java noch viele andere Sprachen für die JVM. Eine, die öfter als Nachfolger von Java genannt wird, ist Scala. Sie vereint objektorientierte und funktionale Konzepte und setzt auf ein mächtiges statisches Typsystem. Dieser Vortrag gibt einen kurzen Überblick der wichtigsten Änderungen gegenüber Java, darunter auch zwei Ansätze, um das immer wichtiger werdende Multithreading zu beherrschen: Actors und Parallel Collections.

Nur echt mit 52 Zähnen

Programmieren mit Monaden in Scala

Thomas Much

muchsoft.com
S14 Dienstag, 6. 9., 15:40 – 16:50 Uhr Scala Di de PDF

Funktionale Programmierung macht Unveränderlichkeit und Nebenwirkungsfreiheit zum Prinzip. Bei Interaktionen mit der realen Welt (z.B. Ein-/Ausgabeprogrammierung) findet aber eine Veränderung (eben die Ein- bzw. Ausgabe) als gewünschte Wirkung statt, was der rein funktionalen Programmierung zunächst widerspricht. Bereits zu Zeiten des eher akademischen Interesses an funktionaler Programmierung wurden Monaden für die Ein-/Ausgabe entdeckt, die dieses Problem elegant umgehen. Und da sich funktionale Sprachen gerade anschicken, im Mainstream der Programmierung anzukommen, fällt auch der Begriff Monade immer häufiger.

Dieser Vortrag zeigt, was Monaden sind, wo sie bei der Programmierung helfen und wo sie in bestehenden Standard-APIs (am Beispiel Scala) bereits eingesetzt werden. Insbesondere soll der Begriff Monade entmystifiziert werden, damit man die dahinter stehende Abstraktion als funktionales Entwurfsmuster in zukünftigen funktionalen Projekten erkennen und gezielt einsetzen kann.

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.

Monaden & Co.

Funktionale Konzepte in Scala

Lars Hupel

Student (Technische Universität München)
S24 Mittwoch, 7. 9., 15:40 – 16:50 Uhr Scala Mi de PDF

Auf der Scala-Website wird versprochen, dass üblicherweise nur die Hälfte bis ein Drittel an Code im Vergleich zu Java gebraucht wird. Dies liegt nicht nur am Syntaxzucker z. B. für Properties, sondern auch an der Einführung von Konzepten, die aus Sprachen wie Haskell bekannt sind. Dazu zählen Typklassen, die die Code-Duplikation deutlich verringern. Die Standardbibliothek von Scala bietet bereits viel an; die Bibliothek scalaz geht aber noch einen Schritt weiter, indem Datenstrukturen wie die „gefürchteten“ Monaden implementiert werden.

In dem Vortrag werden diese funktionalen Konzepte von Scala vorgestellt und außerdem werden noch ein paar Nettigkeiten vorgestellt, mit denen Scala für mehr Typsicherheit sorgt. Vorkenntnisse aus funktionalen Sprachen sind nicht erforderlich, Interesse an Scalas Typsystem ist jedoch hilfreich. Alle vorgestellten Konzepte werden motiviert und anhand von praxistauglichen Beispielen erläutert.

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?

Schwarze Magie

Scalas Typsytem ausgenutzt

Lars Hupel

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

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

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

Relationell auch ohne SQL

Relationale Datenbanken mit ScalaQuery nutzen

Stefan Zeiger

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

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

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

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.

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.

KaffeeKlatsch
Bookware