Aller Anfang …
Begrüßung und Organisatorisches
Das Herbstcampus-Team
Bookware
Dienstag, 6. 9., 09:30 – 10:00 Uhr | Di de |
Momo
Ist der Kuchen eine Lüge?
Golo Roden
K10 Dienstag, 6. 9., 10:00 – 10:50 Uhr | Keynote Di de PDF |
Die modernen Technologien sind die Backzutaten für ein besseres Leben: Wir geben beständig neue Technologien zu unserer Welt in der Zuversicht hinzu, dass der Kuchen am Ende noch ein wenig größer und leckerer wird. Bekanntermaßen hat alles seinen Preis, und so müssen wir für die Erzeugung und die Verwendung dieser Zutaten unsere Zeit aufwenden – doch was, wenn der Kuchen eine Lüge ist?
Klassenkampf
Enterprise IT vs. WWW
Stefan Tilkov
innoQ Deutschland GmbH
K20 Mittwoch, 7. 9., 08:30 – 09:20 Uhr | Keynote Mi de PDF |
Jahrelang haben wir als Architekten von Enterprise-Systemen die Bemühungen der PHP-Script-Kiddies belächelt, „ordentliche“ Systeme auf die Beine zu stellen. Wer richtig spannende Systeme bauen wollte, konnte dies vor allem im Kontext großer Unternehmenssysteme tun. Aber die Welt hat sich geändert: Mittlerweile sind die Anwendungen mit den höchsten nichtfunktionalen Anforderungen mitnichten die unternehmensinternen, sondern die globalen Web-Anwendungen wie Google, Amazon, Facebook & Co.
Diese Keynote stellt die Architekturkonzepte erfolgreicher Web-Anwendungen vor und beleuchtet, welche davon für unternehmensinterne Systeme eingesetzt werden können und wie diese die Software-Architektur beeinflussen.
Siedepunkt
Aggregatzustände und Software-Entwicklung
Michael Wiedeking
MATHEMA Software GmbH
K30 Donnerstag, 8. 9., 08:30 – 09:20 Uhr | Keynote Do de PDF |
Die Zeiten ändern sich. Das könnte beispielsweise daran liegen, dass es in der Natur der Dinge liegt, sich weiter zu entwickeln. Was ist aber, wenn dieser Veränderung offensichtliche Grenzen gesetzt sind – kommt es dann zwangsläufig zur Stagnation?
In dieser Keynote geht es um die Vergangenheit und Gegenwart von Computern und Software-Entwicklung, deren natürliche Grenzen, wie man diese bisher überwunden hat und was das vielleicht für die Zukunft bedeutet.
Das Beste kommt zum Schluss
Verabschiedung
Das Herbstcampus-Team
Bookware
Donnerstag, 8. 9., 17:00 – 17:15 Uhr | Do de |
In der Abschlussveranstaltung wird noch einmal resümiert, die besten Sprecher gekürt und unter den Anwesenden einige wenige glückliche „gesucht“, die mit mehr als nur einem Wissensgewinn nach Hause gehen sollen.
Hochzeit in den Wolken
Windows Azure als Cloud Plattform für .NET- und Java-Anwendungen
Holger Sirtl
Microsoft Deutschland GmbH
N12 Dienstag, 6. 9., 11:20 – 12:30 Uhr | .NET JEE Di de PDF |
Mit der Windows Azure Plattform stellt Microsoft eine Reihe von Cloud-Services bereit, die von Entwicklern dazu genutzt werden können, leistungsfähige Cloud-basierte Softwaresysteme zu erstellen und in der Cloud zu betreiben. Dabei ist das Einsatzspektrum der Azure Services keineswegs auf Microsoft-Technologien beschränkt. Sowohl .NET- als auch Java-Entwickler können Anwendungen für die Cloud schreiben, auf Cloud-basierte Datenspeicher zugreifen und die Kommunikation heterogener, verteilter Anwendungskomponenten sicher über die Cloud abwickeln.
Der Vortrag gibt einen Überblick über die einzelnen Dienste der Windows Azure Platform, deren typische Einsatzszenarien und zeigt, wie .NET- und Java-Entwickler effektiv mit der Plattform arbeiten können und auch ein Brückenschlag zwischen .NET und Java möglich wird.
Zauberei
Die Magie hinter LINQ
Mathias Raacke
Neovelop
N13 Dienstag, 6. 9., 14:00 – 15:10 Uhr | .NET Di de PDF |
LINQ hat den Zugriff auf Daten erheblich vereinfacht. Praktisch jede Datenquelle lässt sich über LINQ abfragen. Aber was steckt eigentlich dahinter? Was macht der Compiler aus einer LINQ-Abfrage? Wie wird diese z. B. in SQL übersetzt?
Dieser Vortrag verrät anhand vieler praktischer Beispiele, wie LINQ funktioniert.
Golos scharfes C
Wissenswertes über C#
Golo Roden
N14 Dienstag, 6. 9., 15:40 – 16:50 Uhr | .NET Di de PDF |
C# wirkt auf den ersten Blick einfach – birgt jedoch zahlreiche Details, die wenig oder gar nicht bekannt sind. Die Bandbreite ist vielfältig: Wenig genutzte Schlüsselwörter wie yield, weitgehend unbekannte Compilerflags wie beforefieldinit und falsch verstandene Features wie optionale Parameter sind nur einige wenige Beispiele.
In diesem Vortrag werden Sie auf einen Rundflug durch die wenig bis gar nicht bekannten Bereiche von C# mitgenommen und erfahren, warum sich die Sprache derart verhält. Nach diesem Vortrag kennen Sie nicht nur einige Sprachfeatures besser, sondern können insbesondere auch deren Konsequenzen und Nebenwirkungen besser einschätzen.
XAML Deep Dive
Mehr als nur WPF
Mathias Raacke
Neovelop
N15 Dienstag, 6. 9., 17:20 – 18:30 Uhr | .NET Di de PDF |
Den meisten Entwicklern ist XAML als Sprache zur Beschreibung von WPF-Oberflächen bekannt. XAML ist jedoch viel universeller verwendbar, im .NET-Framework wird es z. B. auch in der Workflow Foundation eingesetzt, um Workflows zu speichern. Im Team Foundation Server werden Buildprozesse über solche Workflows definiert. In .NET 4 gibt es neue Klassen zum Lesen und Schreiben von XAML-Dateien, die die Verwendung von XAML in WPF und der Workflow Foundation auf eine gemeinsame Basis stellen und den Umgang mit XALM vereinfachen. Mit XAML 2009 wird in .NET 4 außerdem eine neue XAML Version unterstützt, die z.B. die Verwendung von generischen Typen in XAML ermöglicht.
In diesem Vortrag erfahren Sie vieles über XAML, was sie bisher wahrscheinlich nicht wussten, und bekommen einen Einblick darüber, wie der neue XAML-Stack unter .NET 4 aussieht.
Wer bin ich?
Von Active Directory zu einer Windows Azure Applikation
Robert Eichenseer
conplement AG
N21 Mittwoch, 7. 9., 09:40 – 10:50 Uhr | .NET Mi de PDF |
Jeder Anwender muss sich heutzutage einer Flut von Usernamen und Passwörtern und deren Verwaltung erwehren. Jede Applikation sei es ein Web-Shop im Internet oder eine lokale Business-Applikation hat ihre eigenen Anwender-Credentials.
Der Vortrag zeigt Lösungsmöglichkeiten wie mit Hilfe von WIF (Windows Identity Foundation) und Claim Based Authentication die Anmeldung an einer Domäne (AD) in einer MS Azure Web Role verwendet werden kann.
Silberlicht
Arbeiten mit Ressourcen in Silverlight
Thomas Müller
DATEV eG
N22 Mittwoch, 7. 9., 11:20 – 12:30 Uhr | .NET Mi de PDF |
Ressourcen sind in der Anwendungsentwicklung nicht mehr wegzudenken. Bilder, Texte, Farben und vieles mehr spielen dabei eine wichtige Rolle. Wie schaut dabei aber der richtige Umgang mit den Ressourcen aus? Können Anforderungen wie geringer Speicherverbrauch und hohe Performance in Silverlight erfüllt werden?
In diesem Vortrag werden Sie werden Sie an das Thema „Silverlight-Ressourcen“ aus einer langen Projekterfahrung des Referenten herangeführt. In vielen praktischen Beispielen, bekommen Sie einen tiefen Einblick in die Best Practice der Silverlight-Entwicklung.
Vertrauen ist gut, Kontrolle ist besser
Hochqualitative Produkte mit Visual Studio & TFS 2010 erstellen
Neno Loje
N23 Mittwoch, 7. 9., 14:00 – 15:10 Uhr | .NET Mi de PDF |
Qualitätsstandards sind nur dann etwas wert, wenn Sie eingehalten und regelmäßig überprüft werden – und das am besten automatisiert, sodass man eine schnelle Rückmeldung bekommt.
Wie das mit Build-Prozessen und Gated Check-In mit dem Team Foundation Server 2010 funktioniert, zeigt dieser Vortrag.
Keine Ausreden mehr!
Test Case Management & Tools für Tester im TFS 2010
Neno Loje
N24 Mittwoch, 7. 9., 15:40 – 16:50 Uhr | .NET Mi de PDF |
Microsoft stellt nun auch Werkzeuge für richtige Tester und Testingenieure in der Qualitätssicherung her. Testpläne und Testfälle können auf Basis der Anforderungen erstellt und nahtlos zurückverfolgt werden: Egal, ob explorativ oder strukturiert getestet wird – Hauptsache es passiert integriert. Mit dem Microsoft Test Manager können Tests dann manuell ausgeführt und teilweise automatisiert werden, mithilfe von Visual Studio lassen sie sich dann später automatisieren. Treten Fehler auf, können Bugs sie über den Team Foundation Server an Entwickler weiterleiten. Diese brauchen dann nicht lange zu rätseln und Spuren zu sammeln, sondern erhalten alle nötigen Informationen, um nicht sagen zu können: „auf den Entwickler-PCs läufts aber!“
Diese Ausrede werden Sie nun viel seltener, vielleicht auch gar nicht mehr hören.
Weben statt kleben
Einführung in die Aspektorientierte Programmierung mit PostSharp
Bernd Hengelein
Siemens AG
N25 Mittwoch, 7. 9., 17:20 – 18:30 Uhr | .NET Mi de PDF |
Wer kennt das nicht? Immer wiederkehrender Code, der lästig zu schreiben ist und eigentlich nichts mit der zu implementierenden Businesslogik zu tun hat. Man denke nur an die Implementierung von INotifiyPropertyChanged um Databinding mit WPF zu nutzen. Hier verspricht die Aspektorientierte Programmierungg (AOP) Abhilfe.
Der Vortrag zeigt Ihnen Schritt für Schritt, wie Sie diese „crosscutting concerns“ mit Hilfe des PostSharp Frameworks in selbstgeschriebene Aspekte auslagern können und damit ihren Code lesbarer und wartbarer zu machen. Angefangen von einfachen Aspekten für Tracing oder Logging geht die Reise über INotifyPropertyChanged bis zu Threading. Werden Sie produktiver und schneller mit AOP.
Adrettes Design
Keine Angst vor Designer-Tools
Thomas Müller
DATEV eG
N26 Mittwoch, 7. 9., 20:00 – 21:10 Uhr | .NET Mi de PDF |
Technologien wie WPF und Silverlight haben neben den technologiebezogenen Neuerungen auch neue Entwicklungstools mitgebracht. Neu sind dabei aber nicht nur Funktionen oder etwa ein neuer Name. Microsoft stellt mit dem Expression Studio auch Designertools für die Entwickler zur Verfügung. Auch wenn Microsoft mit vielen guten Anleitungen, Online-Videos und Online-Foren versucht die Handhabung dieser Tools verständlich zu machen, ist die Akzeptanz dieser Tools noch schleppend. Zum Glück kann man ganz klar sagen, dass es nicht an dem mangelnden Funktionsumfang dieser Tools liegt. Vielmehr tut sich der eine oder andere Entwickler damit schwer, plötzlich mit „Designer-Tools“ arbeiten zu müssen. Was hat denn schon ein Entwickler mit „Design“ zu tun?
Das eine Scheu oder gar Angst vor diesen sehr nützlichen Tools unbegründet ist, soll dieser Vortrag anhand praktischer Beispiele und eines durchgängigen Workflows aufzeigen. Von der Vorlage auf dem Papier über Expression Design, hin zu Expression Blend oder Expression Web – alles aus einem Guss.
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.
Verbindlichkeiten
Einführung in die Grundlagen benutzerdefinierter Bindings in WCF
Tobias Krügel
conplement AG
N32 Donnerstag, 8. 9., 11:20 – 12:30 Uhr | .NET Do de PDF |
Die Windows Communication Foundation (WCF) wird mit einer Vielzahl vordefinierter Bindings ausgeliefert. Jedes dieser Bindings spezifiziert dabei die Art und Weise, wie Nachrichten transportiert, kodiert und um zusätzliche Protokollinformationen angereichert werden. In den meisten Fällen dürften die mit der WCF ausgelieferten Bindings den alltäglichen Anforderungen genügen. Dennoch sind Situationen denkbar, in denen individuelle Anpassungen oder Erweiterungen zwingend erforderlich sind. Glücklicherweise stellt die WCF zu diesem Zweck eine umfassende API zu Verfügung.
Dieser Vortrag führt in die Grundlagen von Bindings und Channels in WCF ein und stellt vor, wie bestehende Bindings angepasst oder um zusätzliche Funktionalität erweitert werden können.
Aufgewacht
Entity Framework 4.1 vs NHibernate
Thomas Haug
MATHEMA Software GmbH
N33 Donnerstag, 8. 9., 14:00 – 15:10 Uhr | .NET Do de PDF |
Mit dem Entity Framework 4.1 steht seit April 2011 die neuste Generation des objekt-relationalen (OR) Mapping-Werkzeug von Microsoft zur Verfügung und schickt sich an, verlorenen Boden zu NHibernate wett zu machen. NHibernate, der quelloffene ORM, wird bereits seit vielen Jahren erfolgreich eingesetzt.
In diesem Vortrag werden die neusten Errungenschaften des Entity Framework 4.1 aufgezeigt und deren Umsetzung mit NHibernate verglichen und demonstriert, wo die jeweiligen Stärken und Schwächen liegen.
Vertrauen ist gut ...
... Source Control ist besser
Robert Eichenseer
conplement AG
N34 Donnerstag, 8. 9., 15:40 – 16:50 Uhr | .NET Do de PDF |
Kaum ein Entwickler arbeitet heute ohne Quellcodeverwaltung. Selbst in Ein-Mann-Projekten wird nicht mehr ohne Source Control gearbeitet. Doch welche Anforderungen hat ein Entwickler an moderne Konfigurationsmanagementsysteme?
Der Vortrag stellt Anwendungsfälle und die Konzepte der Quellcodeverwaltung vor. Er liefert Entscheidungshilfen für die Auswahl und den Einsatz des geeigneten Source Control Systems und zeigt praktische Beispiele anhand von Visual Source Safe und MS Team Foundation Server.
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.
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.
Goodbye Server!
Welcome Client!
Sandro Sonntag
adorsys GmbH & Co. KG
R25 Mittwoch, 7. 9., 17:20 – 18:30 Uhr | Mi de PDF |
Web-Pioniere wie Google, Amazon, eBay und Facebook entwickeln das Web zu einer gewaltigen Service API. Immer mehr Anwendungen nutzen Dienste wie Google Maps und Social APIs um daraus höherwertige Anwendungen zu schaffen. Dabei verändern Standards wie OpenID, OAuth, OpenAjax, Opensocial und RESTful Webservices die Entwicklung; der HTML5-Standard ist in aller Munde und ermöglicht es durch Javascript, Browser-Datenbanken, Offline-Cache und WebSockets immer mächtigere Anwendungen zu schaffen. Die Architektur des Web geht in die nächste Dekade, zu der klassische Web-Frameworks nicht so recht passen wollen.
In diesem Vortrag geht es um SOFEA – einen leichtgewichtigen Architekturansatz, der den Browser selbst als Framework versteht und dadurch die Potenziale von HTML5 und RESTful Web-Services entfesselt.
Wolkige Angelegenheit
Rapid Cloud Development mit Spring Roo
Kai Wähner
MaibornWolff et al GmbH
E12 Dienstag, 6. 9., 11:20 – 12:30 Uhr | JEE Di de PDF |
Web-Anwendungen können dank moderner Frameworks wie Rails, Grails oder Lift in wenigen Minuten erstellt werden. Allerdings muss der Java-Entwickler neben der Einarbeitung in das neue Web-Framework zunächst auch die zugehörige Programmiersprache wie Ruby, Groovy bzw. Scala erlernen. Eine interessante Alternative: Spring Roo ermöglicht die einfache und effiziente Realisierung von Web-Anwendungen mit „Plain Old Java“.
Cloud Computing ist ein weiteres wichtiges Konzept, welches mitterweile kein Hype mehr ist. Frameworks, Tools und Best Practices sind bereits am Markt verfügbar. Spring Roo unterstützt die Realisierung einer Web-Anwendung in der Cloud via dem „Platform-as-a-Service“-Paradigma.
Dieser Vortrag stellt die Konzepte von Cloud Computing und des Rapid Application Developments mit Spring Roo vor. Ein Live-Demo zeigt verschiedene Alternativen, mit denen eine Web-Anwendung sehr einfach erstellt und in der Cloud deployed werden kann. Dabei beantwortet der Vortrag auch auf die wichtigsten, praxisrelevanten Fragen bezüglich der Umsetzung von Web-Anwendungen für die Cloud mit Spring Roo kritisch.
Muli oder Esel?
Einführung in den Java-ESB Mule
Peter Boxberg
DEVK Versicherungen
E13 Dienstag, 6. 9., 14:00 – 15:10 Uhr | JEE Di de PDF |
Im Vortrag wird der Lastenträger (Muli) an einem konkreten Beispiel vorgestellt. Ziel ist es, sein Wesen kennen zu lernen und am Ende entscheiden zu können, ob er trägt oder doch nur ein Esel ist und damit eine unerträgliche Last.
Go Fullstack
Das Java-EE-Schichtenmodell für den Bau einer Web-Anwendung
Michael Kurz
IRIAN Solutions Softwareentwicklungs- und Beratungsgesellschaft mbH
E14 Dienstag, 6. 9., 15:40 – 16:50 Uhr | JEE Di de PDF |
Dieser Vortrag fand ersatzweise für einen ausgefallenen statt.
Die smarteste Versuchung ...
Effiziente Integration von Anwendungen mit Apache Camel
Kai Wähner
MaibornWolff et al GmbH
Martin Huber
innoQ Deutschland GmbH
E15 Dienstag, 6. 9., 17:20 – 18:30 Uhr | JEE Di de PDF |
Der Datenaustausch zwischen Unternehmen oder einzelnen Bereichen wird immer intensiver. Die Zahl der Anwendungen, die integriert werden müssen, steigt stetig an. Die Schnittstellen nutzen diverse Technologien, Protokolle und Datenformate. Die Integration dieser Anwendungen soll aber trotzdem standardisiert modellierbar, effizient umsetzbar und automatisiert testbar sein. Apache Camel ist ein Framework, welches diese Anforderungen erfüllt. Es implementiert die allseits bekannten Enterprise Integration Patterns (EIP) und bietet dadurch eine standardisierte, domänenspezifische Sprache, welche für die Integration von Anwendungen eingesetzt wird. Neben Java kann auch Spring XML, Scala oder Groovy für die Integration genutzt werden.
Dieser Vortrag stellt Apache Camel vor und zeigt an Hand eines realistischen Praxisbeispiels inklusive Live-Demo, wie dieses Framework in fast jedem Integrationsprojekt im JVM-Umfeld sinnvoll und effizient eingesetzt werden kann. Dabei spielt es keine Rolle, welche Technologien sowie Transport- und Nachrichtenprotokolle eingesetzt werden. Alle Integrationsprojekte können einheitlich und ohne redundanten, „Boilerplate-Code“ umgesetzt werden. Abschließend wird ein Visual Designer gezeigt, mit dem eine Integration basierend auf EIPs grafisch modelliert werden kann. Der entsprechende Camel-Quellcode wird automatisch aus dem Model generiert.
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.
JEE light
Web-Applikationsentwicklung mit dem Java EE Web Profile
Stefan Hildebrandt
consulting.hildebrandt.tk
E21 Mittwoch, 7. 9., 09:40 – 10:50 Uhr | JEE Mi de PDF |
Mit der Einführung des Web-Profils in die Java Enterprise Edition 6 wurde eine Alternative zu den schwergewichtigen EJBs geschaffen. Hierzu wurden etablierten Technologien wie Servlet-API, JSF und JPA aktualisert und mit Context and Dependency Injection (CDI) zu einem kompletten Framework ausgebaut. Da Folien keinen Eindruck von dem Entwicklungsaufwand vermitteln, wird nach einer kurzen Einführung eine kleine Anwendung entwickelt.
Ajax in JSF 2
Out-of-the-box Ajax-Integration in JSF 2.0
Michael Kurz
IRIAN Solutions Softwareentwicklungs- und Beratungsgesellschaft mbH
E23 Mittwoch, 7. 9., 14:00 – 15:10 Uhr | JEE Mi de PDF |
Die rasante Entwicklung von Ajax ist natürlich auch an der JSF-Welt nicht spurlos vorübergegangen. Bereits mit JSF 1.x bewiesen eine ganze Reihe von Komponentenbibliotheken und Ajax-Frameworks, dass sich JSF und Ajax ausgezeichnet vertragen. Mit JSF 2.0 wurde die Ajax-Unterstützung nochmals vereinfacht und in den JSF-Standard aufgenommen.
Dieser Vortrag zeigt anhand einiger Beispiele die Details und das Potential der Ajax-Integration in JSF 2.0.
Eingespritzt
Context and Dependency Injection – CDI am Beispiel betrachtet
Werner Eberling
MATHEMA Software GmbH
E24 Mittwoch, 7. 9., 15:40 – 16:50 Uhr | JEE Mi de |
Mit „Contexts and Dependency Injection“ – (CDI) dem ein oder anderen evtl. noch unter dem Namen WebBeans oder als JSR 299 bekannt – wurde eine neue Technologie in die JEE aufgenommen, die sich u. a. die Vereinheitlichung des Komponenten-Ansatzes und der Dependency-Injection über die verschiedenen Schichten der JEE hinweg auf die Fahne geschrieben hat. Gleichzeitig verspricht der neue Standard eine Verbesserung der Typsicherheit und bietet ein übergreifendes Eventing-Modell.
Dem Konzept: „weniger Folien, mehr Code“ folgend, führt dieser Vortrag CDI am konkreten Beispiel vor.
Das „C“ in CDI
Scopes und Contexts unter der Lupe
Arne Limburg
OpenKnowledge GmbH
E25 Mittwoch, 7. 9., 17:20 – 18:30 Uhr | JEE Mi de PDF |
Der CDI-Standard erweitert Java EE um die Möglichkeit der Definition von Scopes. Dabei werden nicht nur gleich eine Hand voll Scopes mitgeliefert, sondern es gibt zusätzlich die Möglichkeit eigene Scopes zu definieren.
Dieser Vortrag beleuchtet am Beispiel der Entwicklung eines Batch-Frameworks, wie die Definition von eigenen CDI-Scopes funktioniert, wo es Schwierigkeiten gibt und wie eigene Scopes in der Praxis helfen und die Entwicklung vereinfachen können.
Resümee
EJB 3.1 – Rückblick nach dem ersten Jahr
Werner Eberling
MATHEMA Software GmbH
E31 Donnerstag, 8. 9., 09:40 – 10:50 Uhr | JEE Do de PDF |
Seit mittlerweile über einem Jahr ist EJB in der Version 3.1 verabschiedet und in den ersten Application-Servern verfügbar. Somit bietet sich eine erste „Rückschau“ über die Annahme bzw. Unterstützung der neuen EJB-Version an.
Dieser Vortrag bietet einen Abriss über die wichtigsten Features von EJB 3.1 und bewertet diese aus Praxissicht. Dabei wird auch auf „technische Details“ wie die Auswahl der richtigen Laufzeitumgebung eingegangen.
Ausgewachsen
JPA – Ein Standard wird erwachsen
Arne Limburg
OpenKnowledge GmbH
E32 Donnerstag, 8. 9., 11:20 – 12:30 Uhr | JEE Do de PDF |
Obwohl die erste Version des JPA Standards bereits ein großer Schritt in Richtung Standardisierung von OR-Mappern war, hinterließ sie doch Lücken, die durch proprietäre Erweiterungen gefüllt wurden. JPA 2 hat nun viele dieser Lücken geschlossen.
Dieser Vortrag gibt einen Überblick über die neuen Features von JPA 2 und geht dabei auf einige Details wie die Typesafe Criteria API, den Extended EntityManager, Lazy-Initialization und Fetch-Pläne und standardisiertes Second-Level Caching ein, die auch erfahrenen Nutzern neu sein werden. Außerdem werden mögliche Integrations-Szenarien in Java EE vorgestellt.
Leichter ohne Bus
Alternative Ansätze für Integration
Eberhard Wolff
adesso AG
E33 Donnerstag, 8. 9., 14:00 – 15:10 Uhr | JEE Do de PDF |
Klassische Integration nutzt ein mächtigen, aber oft komplexen Enterprise-Service-Bus, um unterschiedliche Applikationen miteinander zu verbinden.
Dieser Vortrag zeigt andere Ansätze, die einen flexiblen Technologie-Stack nutzen. Dazu dienen Frameworks wie Spring Integration oder Spring Batch, aber auch Patterns und Kommunikations-System wie JMS oder RabbitMQ und ganz andere Ansätze wie REST oder JavaScript. Das Ergebnis sind leichtgewichtige Ansätze mit dem Fokus auf möglichst gute Unterstützung der Entwickler.
Aber sicher!
OWASP Top 10: Scanning JSF
Andreas Hartmann
adesso AG
E34 Donnerstag, 8. 9., 15:40 – 16:50 Uhr | Do de |
Die überwiegende Anzahl von Angriffen erfolgt heutzutage nicht auf Netzwerk- oder Protokollebene sondern vielmehr auf die Anwendungen selbst. Dabei werden Sicherheitslücken, die aus Fehlern oder Schwachstellen in den jeweiligen Programmen resultieren, ausgenutzt.
Im Rahmen dieses Vortrags wird zunächst das Thema Application Security aufgegriffen und u. a. die Fragestellung betrachtet, wo die Ein-satzgebiete und Grenzen von Web Application Firewalls liegen. Im weiteren Verlauf der Session werden die von der Open Web Application Security Projekts (OWASP) aufgeführten Top Ten der Angriffsarten und ihre Relevanz für Java Server Faces (JSF) betrachtet. Anhand von Showcases werden einzelne Angriffe praktisch demonstriert und entsprechende Schutzmechanismen aufgezeigt. Abschließend wird die Architektur einer Application-Security-Komponente für JSF skizziert.
Lichtempfindliches Halbmetall
Testautomatisierung von Web-Applikationen mit Selenium 2.0
Willie Chieukam
adorsys GmbH & Co. KG
T12 Dienstag, 6. 9., 11:20 – 12:30 Uhr | Di de PDF |
Heutzutage werden viele Software-Anwendungen als Web-basierte Anwendungen geschrieben, die in einem Browser ausgeführt werden. Durch die zunehmende Komplexität solcher Anwendungen, kann die nachhaltige Qualitätssicherung nur mit umfangreichen, automatisierten Tests garantiert werden. Bei der Testautomatisierung werden diese Tests mit Hilfe von Tools gegen die Anwendung unter Test (AUT) wiederholt ausgeführt. Die Vorteile der Testautomatisierung liegen zumeist in der Wiederholbarkeit der Tests und der Geschwindigkeit, mit denen die Tests durchgeführt werden können. Es gibt eine Reihe von kommerziellen und Open-Source-Tools, die die Entwicklung von Testautomatisierung unterstützen. Selenium ist vielleicht die am weitesten verbreitete Open-Source-Lösung und lässt sich nahtlos in den Entwicklungsprozess integrieren.
In diesem Vortrag wird die Selenium Suite, die aus den verschiedenen, unabhängigen Tools Selenium IDE, Selenium Remote Control etc. besteht, vorgestellt, wobei besonders auf die Änderungen, die mit der Version 2.0 erschienen sind, eingegangen wird.
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.
Durchgestartet?
Eine Einführung in Google App Engine
Dr. Halil-Cem Gürsoy
adesso AG
T34 Donnerstag, 8. 9., 15:40 – 16:50 Uhr | JEE Do de PDF |
Auf dem Herbstcampus 2010 hatten wir die Gelegenheit, erste Schritte mit der Google App Engine für Java zu betrachten. In der Zwischenzeit hat die Konkurrenz nachgelegt. Mit BeanStalk möchte der Cloud-Platzhirsch Amazon in die Java-Welt eindringen und mit CloudBees steht ein weiterer Anwärter in den Startlöchern. Und viele Entwickler scheinen darauf nur gewartet zu haben, da die GAE API doch zu sehr eingeschränkt hatte. Dies scheint auch Google erkannt zu haben, so dass einiges nachgebessert wurde.
Neben der Klärung und Abgrenzung grundsätzlicher Begriffe wie „Cloud“, „IaaS“, „SaaS“ und „PaaS“ erfolgt in diesem Vortrag eine Einführung in die Google App Engine und der Entwicklung mit dieser. Hierbei erfolgt auch ein Vergleich mit den Cloud-Diensten anderer Anbieter wie Amazon und CloudBees.
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.
Testgetrieben, aber wie?
Qualitäts-Software durch Test-Driven Development
Golo Roden
T04 Montag, 5. 9., 09:40 – 18:30 Uhr | Tutorium .NET Mo de |
Ihr Kunde beschwert sich über die Fehleranfälligkeit Ihrer Software und darüber, dass Änderungswünsche nur schleppend umgesetzt werden. Ihr Chef auch. Dementsprechend machen beide Druck: Die Arbeit muss schneller gehen, die Arbeit muss weniger kosten, die Arbeit muss besser werden. In den Augen Ihres Kunden und Ihres Chefs ein einfaches Unterfangen: Arbeiten Sie doch einfach schneller und besser.
Bevor Sie nun das Handtuch werfen und sich einen neuen Job suchen, bietet Ihnen dieses Tutorium Hilfestellung an. Sie lernen, wie Sie Unit-Tests und Test-Driven Development (TDD) einsetzen, um Qualität messen, nachverfolgen und garantieren zu können. Kurzum: Wenn Sie die geschilderte Situation kennen, sind Sie hier richtig.