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.

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.

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?

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.

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.

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.

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.

KaffeeKlatsch
Bookware