Neglected Skills

Software Craftsmanship

Jason Gorman

codemanship.com
K10 Montag, 13. 9., 10:00 – 10:50 Uhr .Net Java Mo en

The dominance of management practices in the Agile community today has overshadowed technical practices like test-driven development, refactoring, OO design and continuous integration. Teams that have overlooked or undervalued craftsmanship in their development process are only now beginning to realise that it matters, and a small but growing number of developers are reasserting themselves as dedicated professionals who care about the quality of their code. Managers and customers, too, are starting to attach more value to software craftsmanship as they learn the hard way that responding to change is impossible if our code is not easy to change.

Putting talk of „masters and apprentices“ aside, this talk aims to reframe software craftsmanship in more objective terms and explores the impact of code quality in our information society.

Heiter bis wolkig

Enterprise Private Cloud Development

Wolfgang Weigend

Oracle Deutschland B.V. & Co. KG
K20 Dienstag, 14. 9., 08:30 – 09:20 Uhr Keynote .Net Java Di de PDF

In diesem Vortrag wird die Bedeutung einer Platform-as-a-Service (PaaS) innerhalb des Private Cloud Modells betrachtet. Dabei geht es um gemeinsam genutzte Komponenten, notwendige Services und relevante Basis-Anwendungen dieser Plattform. Zur Entwicklung von Anwendungskomponenten für Private PaaS wird die Vorgehensweise vom Entwicklungsansatz und die dazu gehörenden Frameworks mit den Entwicklungswerkzeugen angesprochen. Die Ablaufumgebungen der Applikations-Server werden mit den nicht-funktionalen Anforderungen wie Load Balancing, Failover und Caching der einzelnen Architekturschichten in Bezug gesetzt. Abschließend werden die benötigten Verfahren zum Testen, Tunen und Diagnosemöglichkeiten für die Plattform behandelt und das Betriebsmodell mit der Verteilung der einzelnen Komponenten dargestellt.

Kaffeeklatsch

Das Wichtigste in aller Kürze

Michael Wiedeking

MATHEMA Software GmbH

Jens Schauder

LINEAS Informationstechnik GmbH

Matthias Göttler

MATHEMA Software GmbH
K30 Mittwoch, 15. 9., 08:30 – 09:20 Uhr Keynote .Net Java Mi de PDF PDF PDF PDF

In dieser Keynote kommen alle diejenigen zu Wort, die das, was sie zu sagen haben, in nur 300 Sekunden sagen können. So kann der geneigte Zuhörer gespannt sein, was in aller Kürze geboten wird. Und sollte es wider Erwarten tatsächlich einmal langweilig werden, so ist ja schon nach 300 Sekunden der Unmut vorbei.

TDD Quick Start

Einführung in die Test-getriebene Entwicklung

Thomas Schissler

artiso solutions GmbH
N15 Montag, 13. 9., 17:20 – 18:30 Uhr .Net Java Mo de

Test Driven Development (TDD) – eines der häufigsten Buzz-Wörter, wenn es um das Thema Software-Test geht. Umso erstaunlicher ist, dass es in der Praxis aber relativ selten zum Einsatz kommt. Häufig liegt es auch daran, dass TDD an gewisse Vorbedingungen in Bezug auf Architektur, Prozesse etc. gebunden ist.

Der Vortrag versucht einen Schnelleinstieg in TDD zu geben, wobei diese Vorbedingungen weitgehend ausgeblendet werden, um dem Zuhörer einen möglichst schnellen und unkomplizierten Einstieg zu bieten. Die hierzu erforderlichen Kompromisse werden jedoch am Ende des Vortrages aufgezeigt und ein Ausblick auf optimierte Lösungen gegeben.

Ereignishaft

Event Driven Architecture mit .Net und Java

Thomas Haug

MATHEMA Software GmbH
N24 Dienstag, 14. 9., 15:40 – 16:50 Uhr .Net Java Di de PDF

Service-orientierte Architekturen (SOA) und Web-Services basieren oftmals auf Remote Procedure Calls (RPC). Der Einsatz von RPCs führt jedoch zu einer direkten Kommunikation und verletzt somit eine der wesentlichen Grundlagen der SOA, nämlich lose Kopplung. Event-basierte Architekturen (EDA) stellen einen höheren Entkopplungsgrad bereit, da alle Kommunikation über einen Vermittler (Broker) abgehandelt wird. Der Broker ist für das Empfangen von Nachrichten und das Weiterleiten an die Empfänger zuständig. Die Enterprise-Integration-Muster beschreiben eine Mustersprache zum Entwurf Ereignis-basierter Systeme.

In diesem Vortrag werden sowohl die zugrunde liegenden Konzepte und die Enterprise-Intergration-Mustersprache anhand vom Open-Source-Framework Apache Camel mit Apache NMS im heterogenen Umfeld vorgestellt und gezeigt, welche nicht-funktionalen Eigenschaften – wie Verfügbarkeit und Skalierung – sich durch die Wahl dieses Architektur-Paradigmas umsetzen lassen.

Geschickt und gewandt

Agile Entscheidungen für agile Teams

Ralf Westphal

A12 Montag, 13. 9., 11:20 – 12:30 Uhr .Net Java Mo de PDF

Effizient, effektiv, tragfähig entscheiden können, ist die Voraussetzung für agiles Vorgehen. Einsame autokratische wie gemeinsame demokratische Entscheidungen genügen dem jedoch immer weniger. In komplexen Situationen opfern sie Qualität, Motivation und Geschwindigkeit.

Der Vortrag stellt einen neuen Entscheidungsprozess vor, der Perspektivenvielfalt mit Effizienz verbindet und hohe Akzeptanz mit Flexibilität paart. Er sollte in keinem Methodenkoffer fehlen. Einfach und klar wie Scrum ist er sogar über den Einsatz in Projekten hinaus nützlich.

Gedränge

Was ist Scrum?

Stefan Reinhold

IT-Informatik GmbH
A13 Montag, 13. 9., 14:00 – 15:10 Uhr .Net Java Mo de PDF

In diesem Vortrag werden die Grundlagen von Scrum, einem Vorgehensmodell für agile Software-Entwicklung vorgestellt. Nach der Präsentation besteht in einer Diskussionsrunde die Möglichkeit Fragen zu stellen und in der Runde zu diskutieren.

Who's who ...

... der agilen Methoden

Golo Roden

A14 Montag, 13. 9., 15:40 – 16:50 Uhr .Net Java Mo de PDF

Scrum kennen Sie – wenigstens dem Hörensagen nach. Extreme Programming (XP) vielleicht auch. Aber was ist mit Kanban? Oder Feature-Driven Development (FDD)? Oder Crystal? Was unterscheidet Scrum von FDD? Warum werden XP und Scrum häufig kombiniert? Wann empfiehlt sich die Kombination von Scrum und Kanban zu Scrumban? Fragen über Fragen, zu deren Beantwortung man zunächst einen Überblick über die diversen agilen Methoden bräuchte: Was zeichnet diese aus? Wie beziehen sie sich auf das Agile Manifest? Für welchen Kontext ist welche Methode geeignet?

Dieser Vortrag verschafft Ihnen – ausgehend vom Agilen Manifest – diesen Überblick und stellt diverse agile Methoden wie auch deren Vorzüge und Nachteile vor.

Pairing is fun!?

Pair Programming – Ein Praxisbericht

Robert Eichenseer

conplement AG
A15 Montag, 13. 9., 17:20 – 18:30 Uhr .Net Java Mo de

Die agile Software-Entwicklung beinhaltet heutzutage eine andere Form der Arbeitsteilung: Ein Pilot, der den aktiven Part der Programmierung übernimmt und sein Copilot, der der kompetente und mitdenkende Partner im Hintergrund ist. Die Theorie propagiert, dass die Qualität der Arbeitsergebnisse und die Motivation beim Arbeiten merklich gesteigert werden können.

Der Vortrag stellt vor, wie Pair Programming in der Praxis funktioniert, welche Probleme gemeistert werden müssen und gibt erprobte Empfehlungen für den zielführenden und effizienten Einsatz.

Lagil oder Agilean?

„Lean“ und „Agile“ – wie passt das zusammen?

Lars Roith

AIT AG
A21 Dienstag, 14. 9., 09:40 – 10:50 Uhr .Net Java Di de PDF

Was steckt hinter dem Begriff „Lean Software Development“ und was sind deren Hauptinhalte? Welchen Nutzen haben diese für die Software-Entwicklung? Was unterscheidet Lean von Agile, welche Gemeinsamkeiten gibt es? Und kann man Lean und Agile überhaupt vergleichen?

Der Vortrag beleuchtet das Thema Lean Software Development, beantwortet die gestellten Fragen und zeigt auf, wie sich das aus der Produktion stammende Lean-Paradigma in die Software-Entwicklung übertragen lässt. Schwerpunkte sind Methoden und Instrumente für schlanke Entwicklungsprozesse, Transparenz und Reporting – auch in global verteilten Teams – und Nachhaltigkeit in der Umsetzung von Lean Software Development. Der Vortrag zeigt auf wie Lean-Konzepte mithilfe des Team Foundation Servers unterstützt werden und damit die Software-Entwicklung kontinuierlich effektiver gestaltet werden kann.

Jazz-Konzert

Ein Werkzeug für agiles Projektmanagement

Martin Steinle

IT-Informatik GmbH

Stefan Reinhold

IT-Informatik GmbH
A22 Dienstag, 14. 9., 11:20 – 12:30 Uhr .Net Java Di de PDF

In diesem Vortrag wird mit der Express-C Edition von Rational Team Concert ein (für bis zu zehn Entwickler kostenloses) Werkzeug für agiles Projektmanagement vorgestellt. In den Vortrag fließen unsere Erfahrungen mit der Software im Rahmen unserer Projektarbeit (nach Scrum) mit ein.

Gut benommen

Akzeptanzgetriebene Entwicklung von User Stories mit JBehave

Ralf Wirdemann

A23 Dienstag, 14. 9., 14:00 – 15:10 Uhr .Net Java Di de PDF

User Stories sind ein etabliertes und inzwischen weit verbreitetes Werkzeug zur Beschreibung von Anforderungen in agilen Software-Projekten. User Stories sind offen formuliert. Dies erlaubt auf der einen Seite die konkrete Ausgestaltung der Story im Sprint, in enger Zusammenarbeit mit dem Product Owner. Auf der anderen Seite fehlen klare Vorgaben und Messpunkte, wann eine Story fertig ist. Es besteht die Gefahr, dass die Story immer weiter entwickelt wird, da keiner mehr so genau weiss, wann die Story wirklich fertig ist. Abhilfe bieten Akzeptanztests, die eine Story beispielhaft aus Geschäftssicht konkretisieren und zugleich Abnahmetests für den Product Owner sind. Der Fertigstellungsgrad der Story wird messbar. Akzeptanztests lassen dennoch genügend Raum für die Ausgestaltung der User Story während des Sprints. Die Tests gehen nicht verloren, sondern über die Zeit entsteht ein dichtes Netzwerk von Regressionstests, das das weitere Funktionieren der über die Zeit wachsenden Geschäfts-Funktionalität gewährleistet. Akzeptanztests schließen die Kommunikationslücke zwischen Team und Product Owner.

Dieser Vortrag führt konzeptionell in das Thema Akzeptanztests ein und erklärt ihre Verwendung beim Schreiben von User Stories. Darauf aufbauend werden eine Reihe von User Stories mit zugehörigen Akzeptanztests geschrieben und es wird gezeigt, wie sich die Tests mit Hilfe von JBehave automatisieren lassen.

Konkurrenten oder Partner?

Domain Driven Design trifft agile Entwicklung

Tim de Buhr

OpenKnowledge GmbH

Arne Limburg

OpenKnowledge GmbH
A24 Dienstag, 14. 9., 15:40 – 16:50 Uhr .Net Java Di de

Die Modellierung von Fachlichkeit im Einklang mit Kundenanforderungen gehört zu den am stärksten unterschätzten Herausforderungen der Software-Entwicklung. Domain Driven Design und agile Methoden gehen dieses Problem aus verschiedenen Richtungen an.

Der Vortrag stellt anhand von praxisbezogenen Beispielen vor, wie beide Vorgehensweisen erfolgreich zusammenspielen können und wo es Reibungspunkte gibt. Im Rahmen der Session 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.

Agilität4

Scrum im Praxiseinsatz

Martin Steinle

IT-Informatik GmbH

Stefan Reinhold

IT-Informatik GmbH
A25 Dienstag, 14. 9., 17:20 – 18:30 Uhr .Net Java Di de PDF

Über ein Jahr haben wir nach dem Vorgehen Scrum Software erstellt.

In diesem Vortrag werden wir unsere Erfahrungen in der Anwendung des Vorgehensmodells präsentieren. Dabei gehen wir auf die Themen Code-Qualität, Architektur und Einbindung des Kunden ebenso ein wie auf Fehlentscheidungen und das Finden und Schneiden von Benutzergeschichten und Aufgaben.

Wer, wie, was – wieso, weshalb, warum?

Kommentieren und Dokumentieren

Stefan Hildebrandt

consulting.hildebrandt.tk
L31 Mittwoch, 15. 9., 09:40 – 10:50 Uhr .Net Java Mi de PDF

Kommentieren gilt als eine lästige Pflicht, der kaum ein Programmierer gerne nachkommt. Daher wird der Wunsch von Projektleitern, Architekten und Kunden nach einer guten Dokumentation ungern nachgekommen. Auch technische Zwänge über automatische Prüfungen werden ausgetrickst und sagen noch nichts über die Qualität aus, so dass eine gute und nützliche Dokumentation bei der Software-Entwicklung meistens schwer zu realisieren ist. Und zu guter Letzt werden nach initialen Entwicklung noch Änderungen am Code vorgenommen, die in der Dokumentation nachgezogen werden müssen.

In diesem Vortrag werden Alternativen zu einem „Viel-Hilft-Viel“-Ansatz diskutiert und mit Berichten aus der Praxis unterlegt.

Saubere Sache

Von 0 auf 100% sauberen Quellcode in 70 Minuten

André Fleischer

Otto GmbH & Co. KG
L32 Mittwoch, 15. 9., 11:20 – 12:30 Uhr .Net Java Mi de

Es wird viel über Software-Architekturen, Cloud-Computing und Modularisierung geredet. Wir beschäftigen uns mit agilen Sprints, mit Frameworks jeder Art und mit modellbasierter Entwicklung. Aber was wir tagtäglich vor uns sehen, das ist der Quelltext unserer Anwendung. Und tagtäglich klagen wir über schlechte Qualität und über unzureichende Software.

Während des Vortrages wollen wir uns gemeinsam Quelltexte vornehmen. Wir gehen dabei nach den Methoden der „clean-code-developer.de“ vor. Wir werden deren Prinzipien und Praktiken anwenden, mit dem Ziel, ein gesundes Maß an sauberen Quelltexten zu bekommen. Wir werden Code Smells erkennen und diese bereinigen. Wir werden unsauberen Code finden und Refactorings anwenden. Wir werden die clean-code-developer-Grade im Schnelldurchlauf erleben – Von 0 auf 100% Clean-Code-Developer in 70 Minuten.

Spielst du noch oder entwickelst du schon?

Grundpflichten eines professionellen Software-Entwicklers

Jens Schauder

LINEAS Informationstechnik GmbH
L33 Mittwoch, 15. 9., 14:00 – 15:10 Uhr .Net Java Mi de PDF

Wie Software entwickelt werden sollte, und was in der Realität in vielen Firmen stattfindet, weicht oft weit voneinander ab. Aber es gibt einige Dinge die für die professionelle Software-Entwicklung unabdingbar sind.

Deshalb werden sie in diesem Vortrag vorgestellt und diskutiert.

Wollmilchsäue

Wiederverwendung wider Verwendbarkeit

Jan Leßner

arvato services
L34 Mittwoch, 15. 9., 15:40 – 16:50 Uhr .Net Java Mi de PDF

Je mehr Arbeit man in einen Software-Baustein investiert, um so größer ist der Wunsch, ihn in möglichst vielen Projekten zu nutzen. Dabei kommt es zu einem Dilemma: Um einen Baustein wiederverwendbar zu gestalten, wird er komplizierter und schwerer zu warten, während er gleichzeitig in Projekten ein ungeliebtes Kind bleibt, weil er mit projektfremden Begriffen oder schwer verständlichen Abstraktionen arbeitet.

Dieser Vortrag zeigt verschiedene Ansätze für Wiederverwendung und ein paar Faustregeln für die Abschätzung der Sinnhaftigkeit auf.

Alles Geregelt

Der praxisnahe Einsatz von Rule Engines im SOA-Umfeld

Heiko Spindler

Opitz Consulting GmbH

Patrick Luchner

Printus GmbH
S21 Dienstag, 14. 9., 09:40 – 10:50 Uhr .Net Java Di de PDF

Eine Service-orientierte Architektur (SOA) bietet die Chance neben den Prozessen auch die Geschäftsregeln im Unternehmen neutral von der Technik zur Verfügung zu stellen. Dabei ist es ein Ziel, dem Fachbereich die Hoheit über ihre Geschäftsregeln zurück zu geben.

Der Vortrag beleuchtet den Einsatz von Rule Engines mit ihren Stärken und Schwächen. Konkrete Beispiele aus realen Projekten zeigen den Einsatz live.

Arbeitsweisen neu erfinden?

SaaS aus Management- und Entwicklungssicht

Andreas Holubek

arlanis Software AG

Christian Metzger

arlanis Software AG
S22 Dienstag, 14. 9., 11:20 – 12:30 Uhr .Net Java Di de PDF

Mit der Einführung von Software-as-a-Service-Projekten (SaaS) geht ein grundsätzlicher Wandel für die IT-Dienstleistungswelt und auch für die Entwicklung von Software-Systemen einher. Diesen Wandel zu erkennen und zu gestalten ist eine der großen Herausforderungen an heutige Firmen. Zudem müssen nicht nur IT-interne Überlegungen angestellt, sondern auch Business-Prozesse berücksichtigt werden. Software as a Service scheint auf den ersten Blick nur Vorteile zu haben. Anwender müssen keine Software mehr installieren und auch die Wartung entfällt. Entwickler müssen sich nicht mehr um Infrastruktur, benötigte Software und Verteilung der Ergebnisse kümmern. Aber wo liegen die Grenzen, was ist heute schon möglich und wo bewegen wir uns hin? Aus Sicht des Managements bewegen uns Fragen wie: Macht das Ganze Sinn? Was ist das ROI einer solchen Lösung? Die Software-Entwicklung hingegen bewegen Fragen nach den Entwicklungsprozessen – in solchen hoch dynamischen Anwendungen.

In dem Vortrag wird die aktuelle Welt von Software as a Service aus Management- und Entwicklungssicht diskutiert. Dabei können die Sprecher aus vielen Jahren Erfahrung mit solchen Projekten berichten, positiv sowie negativ. Der Zuhörer erhält somit einen detaillierten Einblick in die reale Welt hinter dem Software as a Service Paradigma und kann in einer anschließenden Diskussion direkt darauf Bezug nehmen.

BPMN 2.0 in der Praxis

Vom fachlichen Modell zum ausführbaren Prozess

Bernd Rücker

camunda services GmbH
S23 Dienstag, 14. 9., 14:00 – 15:10 Uhr .Net Java Di de PDF

BPMN 2.0 weckt – mal wieder – Hoffnung für das Business-IT-Alignment, also eine Antwort auf die Frage, wie wir fachliche und technische Prozessmodelle zusammenbringen können. Wir glauben, dass die Voraussetzungen nie besser waren. Aber woher kommen dabei technische Prozessmodelle? Werden sie generiert – was schon bei BPEL nicht funktioniert hat? Oder gibt es ein gemeinsames Modell für alle? Wo kommen Business Rules ins Spiel? Und sind vielleicht auch ganz andere Wege möglich?

In diesem Vortrag schlagen wir eine Methodik vor, die wir bei Pilotkunden erfolgreich unter Nutzung der BPMN eingesetzt und in unserem Praxishandbuch BPMN beschrieben haben. Aber grau ist alle Theorie, deswegen möchten wir in diesem Vortrag ein funktionierendes Beispiel mit Open Source Werkzeugen live vorstellen. Dabei soll sowohl die Methodik als auch mögliche Toolansätze diskutiert werden.

Wenn zwei sich streiten ...

... konsolidiert der Dritte!

Christian Wünch

SOPHIST GmbH

Hajo Hoffmann

SOPHIST GmbH
S25 Dienstag, 14. 9., 17:20 – 18:30 Uhr .Net Java Di de PDF PDF

In einem Entwicklungsprojekt wird viel diskutiert. Im Prinzip ist das nicht schlecht. Der Leidtragende ist in diesem Fall aber der Systemanalytiker. Er ist nämlich derjenige, der aus dem Getümmel von Ideen, Vorstellungen und Absichten schließlich logische und vor allem widerspruchsfreie Anforderungen herausfiltern muss. Und dies kann nur geschehen, wenn es ihm irgendwie gelingt, einen Einigungsprozess herbeizuführen. Neben Empathie und psychologischem Gespür benötigt der Systemanalytiker zu diesem Zweck ein fundiertes Instrumentarium an Techniken, um schwelende Konflikte frühzeitig beheben zu können und zerstrittene Meinungen zu einem intakten und sinnvollen Ganzen zu konsolidieren.

Der Vortrag soll daher diverse Möglichkeiten aufzeigen, wie Sie von bloßen Meinungsdifferenzen bis hin zu bereits festgefahrenen Haltungen erfolgreich konsolidieren können.

SOA und RE

Was ändert sich für die Analytiker?

Matthias Strößner

SOPHIST GmbH

Marta Bednarczyk

SOPHIST GmbH
S25 Dienstag, 14. 9., 17:20 – 18:30 Uhr .Net Java Di de PDF PDF

Erst war der SOA-Hype, dann kam die Realität: Jetzt ist es Zeit für Aufklärung. Welche Erkenntnisse haben wir in den letzten Jahren im Bereich des Requirements-Engineerings (RE) in einer SOA-Landschaft gewonnen? Wo besteht dringender Handlungsbedarf, wie sieht die Zukunft aus? Der Servicegedanke hat sich in vielen Unternehmen zu einem festen Bestandteil des Geschäftslebens entwickelt. Zudem ist die Notwendigkeit von organisatorischen Änderungen in den Unternehmen erkannt worden – was aber nicht heißt, dass diese Änderungen (wie die Etablierung einer zentralen fachbereichsübergreifenden Instanz und die Einführung von Steuermechanismen) auch durchgeführt werden.

Dieser Vortrag versucht die folgenden Fragen zu beantworten: Wie gehen wir als Anforderungsanalytiker mit den sich ändernden Rahmenbedingungen durch den Einsatz einer SOA um? Was muss bei der Erstellung von Lastenheften beachtet werden, wenn es durch Services zu einer Trennung zwischen Funktionalität und Benutzerinteraktion kommt? Wie erreichen wir eine saubere Kontextabgrenzung unter Einbeziehung der vorhandenen Services? Welche Auswirkungen hat SOA auf Spezifikationen und auf den unternehmensweiten Entwicklungsprozess?

Am Anfang die Kunden(nutzen)

Wie können Entwickler und Tester gemeinsam von Modellen profitieren?

Florian Prester

sepp.med gmbh
V12 Montag, 13. 9., 11:20 – 12:30 Uhr .Net Java Mo de PDF

Heutige Projekte stehen von Anfang an unter terminlichem und finanziellem Druck. Es kann sich kein Projektmanagement leisten, Arbeiten doppelt zu vergeben oder ohne Kenntnis parallel an den selben Dingen zu arbeiten. Dennoch wollen alle Beteiligten gerne Modelle verwenden. Diese Art der Entwicklung ist seit der Etablierung von Model Driven Design (MDD) über jeden Zweifel erhaben: Modelle haben Sinn und helfen Kosten zu sparen. Der Test hat es hier etwas schwerer, er möchte auch gerne Modelle verwenden und könnte damit auch Kosten sparen, aber meistens verweigert das Projektmanagement entsprechende Ansätze mit dem Verweis auf die doppelten Kosten, da die Entwicklung schon Modelle verwendet und diese doch bitte verwendet werden sollen. Aber eignen sich diese (Entwicklungs-)Modelle für den Test? Wie steht es mit Verifizierung und Validierung, wenn die Grundlage des Tests die Entwicklungsvorgaben bzw. Spezifikationen sind? Oder sollte nicht weiter oben angesetzt werden? Ein gemeinsames Modell basierend auf den Kundenanforderungen, von welchen die Entwicklungs- und Testmodelle abgeleitet werden.

Dieser Vortrag stellt einige Grundsatzfragen im Entwicklungszyklus und versucht Möglichkeiten zur Beantwortung dieser Fragestellungen aufzuzeigen.

Speak you Kundish?

Erfolgreiche Anforderungsermittlung in komplexen Software-Entwicklungs-Projekten

Anja Schwarz

SOPHIST GmbH

Christian Pikalek

SOPHIST GmbH
V13 Montag, 13. 9., 14:00 – 15:10 Uhr .Net Java Mo de PDF

Studien über den Erfolg von Software-Entwicklungs-Projekten (z. B. CHAOS Bericht der Standish Group) kommen immer wieder zu demselben Ergebnis: nur etwa ein Drittel aller Projekte wird erfolgreich abgeschlossen. Eine der größten Hürden dabei – auch hierin sind sich die Studien einig – ist der richtige Umgang mit den Anforderungen, die an die zu entwickelnde Anwendung gestellt werden. Die Verwendung von Sprache führt bei der Anforderungsermittlung zwangsläufig zu Missverständnissen. Darüber hinaus erschweren implizite Annahmen und unterschiedliche fachliche Hintergründe die Kommunikation zwischen Kunde und Entwickler.

Dieser Vortrag soll typische Kommunikationsfallen aufzeigen und leicht erlernbare, praxiserprobte Methoden vorstellen, die es ermöglichen, Anforderungen so zu formulieren, dass Kunde und Entwickler einander verstehen. Dabei gibt er auch Denkanstöße zum richtigen Umgang mit Veränderung, die den Umstieg auf neue Methoden mit sich bringt.

Event-Based Components

Die Zukunft der Komponentenorientierung

Ralf Westphal

V14 Montag, 13. 9., 15:40 – 16:50 Uhr .Net Java Mo de

Software-Bausteine zusammenstecken wie Lego-Bausteine – ist das möglich? Ja, das ist möglich und gar nicht schwer. Wer ein paar Konventionen folgt und sein Denken ein kleinwenig umstellt, kann das ohne großen Aufwand erreichen. Früher war es methodenbasierter Aufruf von abhängiger Funktionalität; heute ist es ereignisbasierte Kommunikation zwischen unabhängigen Funktionseinheiten. Der Gewinn solchen Umdenkens ist vielfältig: Nicht nur lässt sich Software dann wahrhaft zusammenstecken, sondern sie eröffnet ganz einfach Wege für den Einsatz von Standardbausteinen. Ereignisbasierte Komponenten (Event-Based Components, EBC) sind darüber hinaus einfacher zu verstehen, weil sie sich selbst beschreiben. Und die lokale synchrone Ereignisorientierung ebnet den Weg zu asynchronen und sogar verteilten Architekturen.

Diesem Vortrag führt in das ereignisorientierte Denken ein und zeigt, wie Sie mit EBC-Architekturen viel einfacher beschreiben können als mit „traditionellen“ Komponenten.

ArchiMate

Unternehmensarchitekturen in drei Schichten modellieren

Erwin Hösch

MATHEMA Software GmbH
V15 Montag, 13. 9., 17:20 – 18:30 Uhr .Net Java Mo de PDF

Unternehmensarchitekturen wachsen und sind komplex. Ein Hauptverursacher der Komplexität ist die Integration. Integration ist die konkrete Aufgabe, ein System an alle unterschiedlichen Ebenen der eigenen IT-Landschaft anzubinden. Die unterschiedlichen Ebenen beinhalten Organisationsstrukturen, Prozessdefinitionen, Informationsflüsse und technische Architektur. Der erste Anbindungsschritt ist es, die Funktionen des zu integrierenden Systems in allen existierenden Ebenen zu modellieren. Diese unterschiedlichen Ebenen der Integration werden mit verschiedenen Standards, die keine definierten Beziehungen zueinander haben, modelliert. Zum Beispiel wird die UML für technische Belange und BPMN für Geschäftsprozesse eingesetzt, aber wie Geschäftsprozesse sich auf die technische Architektur abbilden, ist nicht geklärt. Daneben existieren Überlappungen zwischen den Modellierungsstandards, die zu Mehrdeutigkeiten führen und die Integration behindern können. Diese Defizite versucht der ArchiMate-Standard der Open Group zu beseitigen, indem er eine einheitliche Art und Weise zur Modellierung von Enterprise Architekturen ermöglicht. Hierbei werden sowohl organisatorische, prozedurale, applikative als auch technische Belange modelliert und insbesondere die Beziehungen zwischen diesen Ebenen im Modell erfasst.

In diesem Vortrag werden die Modellierungsmöglichkeiten des ArchiMate-Standards exemplarisch vorgestellt. Hierzu wird die Modellierung des Business Layer, des Application Layer und des Technical Layers erörtert und die Möglichkeiten zur Modellierung von Ebenen-übergreifenden Beziehungen und der Definition von sogenannten Viewpoints behandelt. Abschließend werden Erfahrungen, die im Zusammenhang mit dem Forschungsprojekts EFIE in Bezug auf den ArchiMate-Standard gesammelt wurden, skizziert.

Liebling, ich habe die GUI geschrumpft

Gute und schlechte Oberflächen für mobile Geräte

Thomas Künneth

BA-IT Systemhaus
V31 Mittwoch, 15. 9., 09:40 – 10:50 Uhr .Net Java Mi de PDF

Mobile Geräte lassen sich dank mächtiger und ausgefeilter Klassenbibliotheken genauso komfortabel programmieren wie ihre großen Brüder auf und unter den Schreibtischen. Die Benutzeroberflächen von Android und Co. übernehmen zahlreiche Metaphern aus dem Desktop-Umfeld, bringen aber auch eigene Ideen und Konzepte mit.

Der Vortrag zeigt Gemeinsamkeiten und Unterschiede zwischen klassischen Desktop-Systemen und mobilen Geräten und gibt Tipps für eine anwenderfreundliche Gestaltung der Benutzeroberfläche von mobilen Anwendungen sowie der sinnvollen Anordnung von Bedienelementen.

Tricks of the Trade

Eine persönlicher Einblick in die Werkzeugkiste eines Entwicklers

Hardy Ferentschik

JBoss/RedHat
V32 Mittwoch, 15. 9., 11:20 – 12:30 Uhr .Net Java Mi de PDF

Ausgehend von Tipps und Tricks vorgestellt in Büchern wie „My Job Went to India“ von Chad Fowler und „The Pragmatic Programmer“ von Andrew Hunt gibt dieser Vortrag einen ganz persönlichen Einblick in die Entwicklerwerkzeugkiste des Vortragenden. Dabei werden nicht nur konkrete Tools vorgestellt, sondern auch Grundeinstellungen wie „Always leave the code better than you found it“.

Evolutionär

Evolvierbarkeit von Code

Golo Roden

V33 Mittwoch, 15. 9., 14:00 – 15:10 Uhr .Net Java Mi de PDF

Dass Wart- und Evolvierbarkeit wichtige nicht-funktionale Anforderungen an Code sind, ist nichts Neues. Schließlich wird dieses Ziel in nahezu jedem Projekt gefordert. Doch die Frage ist: Wie gelangt man dorthin? Man könnte meinen, dass dies hauptsächlich Erfahrung und ein Gefühl für die Sache voraussetzt, doch glücklicherweise ist dem nicht so: Zum Schreiben von evolvierbarem Code gibt es handfeste Regeln, die jeder lernen kann.

In diesem Vortrag werden eine ganze Reihe solcher Regeln vorgestellt, erläutert, warum diese Regeln zu evolvierbarem Code beitragen, und anhand eines kleinen, selbstentwickelten Frameworks verdeutlicht, wie die Theorie in die Praxis umgesetzt wird.

Selbstorganisiert ein Ziel erreichen

Analyse, Architektur und Design in agilen Software-Projekten

David Tanzer

ciqua Pirringer & Tanzer OG
V34 Mittwoch, 15. 9., 15:40 – 16:50 Uhr .Net Java Mi de PDF

Agile Methoden stellen selbstorganisierte Teams in den Vordergrund. Dabei muss trotzdem sichergestellt werden, dass ein gemeinsames Ziel erreicht wird. Analyse, Architektur und Design werden nicht mehr vor der eigentlichen Entwicklung gemacht, sondern „Just in Time“.

Wann genau das ist und wer die Aktivitäten durchführt, wird in diesem Vortrag gezeigt.

Skalierbar

Eine Einführung in Scala

Rüdiger Keller

MATHEMA Software GmbH
T12 Montag, 13. 9., 11:20 – 12:30 Uhr .Net Java Mo de PDF

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.

Dieser Vortrag gibt eine Einführung und Übersicht zu Scala und wendet sich an ein Java-kundiges Publikum. Es werden verschiedene Code-Beispiele gezeigt, wie sich alltägliche Java-Probleme in Scala leichter und mit meist erheblich weniger Code lösen lassen. Außerdem wird auf die wichtigsten Neuerungen in Scala 2.8 eingegangen.

Fahrstuhl zum Web

Web-Anwendungen mit Lift

Markus Knittig

Universität Stuttgart

Mirko Stocker

HSR Hochschule für Technik Rapperswil / Institut für Software
T13 Montag, 13. 9., 14:00 – 15:10 Uhr .Net Java Mo de PDF

Lift ist ein Web-Framework, das bekannte Konzepte anderer Web-Frameworks (u. a. Wickets designerfreundliche XHTML-Templates und Djangos „mehr als CRUD enthalten“) mit eigenen neuen Ideen kombiniert. Lift-Anwendungen werden in Scala, einer JVM-Sprache, die Konzepte der objektorientierten und funktionalen Programmierung vereint, geschrieben und können alle vorhandenen Java-Bibliotheken benutzen. Außerdem kann die Anwendung auf jedem Servlet-Container laufen.

Dieser Vortrag zeigt, dass sich mit Lift eine ähnliche Produktivität, wie mit bekannten Frameworks dynamischer Sprachen erreichen lässt, ohne dabei auf die von Java bekannte Performanz und Typsicherheit zu verzichten.

Fighting Layout Bugs

Automatische Erkennung von Darstellungsfehlern auf Webseiten

Michael Tamm

optivo GmbH
T14 Montag, 13. 9., 15:40 – 16:50 Uhr .Net Java Mo de

Automatische Unit- und Systemtests sind inzwischen allgemeiner Standard in der Software-Entwicklung, testen jedoch meistens nur die korrekte Funktionsweise einer Anwendung. Aber wie sieht es mit Darstellungsfehlern aus? Wie stellen Sie sicher, dass jede Web-Seite so aussieht, wie es sich der Designer vorgestellt hat.

In diesem Vortrag werden Ihnen mehrere bewährte sowie neuartige Techniken vorgestellt, um automatisch die Arbeit von HTML- und CSS-Entwicklern zu testen. Sie werden mehrere typische Darstellungsfehler sehen sowie Open-Source-Werkzeuge, die dabei helfen, sicherzustellen, dass solche Fehler auf Ihren Web-Seiten in Zukunft nicht mehr passieren können.

Do you Unicode?

Details zum Unicode Standard und der Anwendung in moderner Software

Karol Rückschloss

MATHEMA Software GmbH
T22 Dienstag, 14. 9., 11:20 – 12:30 Uhr .Net Java Di de PDF

Inzwischen ausgereift und weit verbreitet, definiert der Unicode-Standard einen vereinheitlichten Zeichensatz und beschreibt, wie man die mehr als 107.000 erfassten Zeichen aus über 90 Schriftkulturen repräsentiert und verarbeitet. Außer der binären Kodierungen definiert Unicode auch Eigenschaften der Zeichen(-Ketten): Groß- und Kleinschreibung, Vergleich, Sortierung, Schreibrichtung, Rendering und vieles mehr – was besonders spannend bei nicht-europäischen Sprachen ist.

In diesem Vortrag werden die wichtigsten Teile des Unicode Standards (Version 5) vorgestellt und anhand zahlreicher Beispiele dessen Einsatz in modernen Sprachen (Java, .NET, C++) veranschaulicht.

The next generation

HTML5 und CSS3

Matthias Franke

adorsys GmbH & Co. KG

Sandro Sonntag

adorsys GmbH & Co. KG
T23 Dienstag, 14. 9., 14:00 – 15:10 Uhr .Net Java Di de

Die Browser der nächsten Generation schmücken sich fast ausnahmslos mit der Fähigkeit HTML5 und CSS3 kompatibel zu sein. Höchste Zeit also, sich mit den Details hinter den Standards zu beschäftigen.

Deshalb gibt dieser Vortag einen praxisnahen Überblick und zeigt wie sich diese Neuerungen auf Ihre Web-Anwendungen auswirken.

Fallobst

Fallstricke in Objective-C und wie man sie umgeht

Andreas Oetjen

belox software gmbh
T24 Dienstag, 14. 9., 15:40 – 16:50 Uhr .Net Java Di de PDF

Moderne Programmiersprachen wie C++, Java oder C# unterstützen den Entwickler darin, keine Dinge zu tun, die er später einmal bereuen würde. Sie erreichen dies durch vielfältige Sprachmittel, welche die Nutzung der Sprache auf eine korrekte Funktionsweise „einschränken“. Trotz – oder vielleicht aufgrund – der ausgesprochen hohen Flexibiliät von Objective-C kann man sie nur bedingt zu diesen „sicheren“ Sprachen zählen. Der Anwender erhält nur wenig mehr Schutz, als er aus den guten alten C-Tagen gewohnt war.

Der Vortrag zeigt ein paar Klippen auf und zeigt, wie man sie umschifft.

Winds Of Change

Datenbankänderungen verwalten und testen

Jens Schauder

LINEAS Informationstechnik GmbH
T31 Mittwoch, 15. 9., 09:40 – 10:50 Uhr .Net Java Mi de

Ein schlechtes Migrationsskript kann eine Datenbank schnell außer Gefecht setzen, dennoch ist in vielen Projekten die Infrastruktur zum Testen dieser Skripte mangelhaft. Dies wiederum führt dazu, dass das Schema nicht so schnell weiter entwickelt wird, wie es agile Ansätze erfordern.

Dieser Vortrag erläutert, was nötig ist, um Datenbankmigrationsskripte zu verwalten sowie rigoros und vollständig automatisiert zu testen.

Compiler, der API-Checker?

Fehlererkennung durch Erweiterung des Typsystems

Maximilian Konzack

T32 Mittwoch, 15. 9., 11:20 – 12:30 Uhr .Net Java Mi de PDF

Die API eines Frameworks ist meist komplex, da sie viele verschiedene Datentypen definiert und die Verwendung von ihnen bestimmten Mustern folgen. Ein Compiler überprüft nicht, ob die Spezifikation der API im Client Code des Frameworks eingehalten wird und generiert keine aussagekräftigen Fehlermeldungen, die dem API-Nutzer helfen, den Fehler zu beheben. Durch Constraints lassen sich sehr einfach bestehende API-Muster abbilden, die letztlich vom Compiler überprüft werden.

In diesem Vortrag wird die Idee hinter den Constraints vorgestellt und gezeigt, dass sich viele existierende API-Probleme mit Hilfe von Constraints, die vom Compiler validiert werden können, vermeiden lassen. Ebenso wird diskutiert, wie die heutige, existierende Infrastruktur eines Compilers für das Validieren der Constraints genutzt werden kann. Am Beispiel des Plugins für den Scala Compiler werden erste Ergebnisse vorgestellt und die Grenzen dieses Ansatzes erläutert.

Aber sicher!

Strategien für Typsystemerweiterungen

Michael Wiedeking

MATHEMA Software GmbH
T32 Mittwoch, 15. 9., 11:20 – 12:30 Uhr .Net Java Mi de PDF

Mit Hilfe eines Typs kann viel mehr erreicht werden, als sicher zu stellen, dass nur verträgliche Objekte einander zugewiesen oder an entsprechende Methoden übergeben werden. Im Grunde kann man jede beliebe Eigenschaft an das Typsystem koppeln und diese in Bezug auf ihre gegenseitige Verträglichkeit schon zur Übersetzungszeit prüfen.

In diesem Vortrag wird beispielhaft gezeigt, was man mit Typsystemerweiterungen erreichen kann. Dabei wird kurz angerissen, welche Vor- und Nachteile und Aufwände dabei entstehen. Exemplarisch wird dazu ein Blick in die zukunftigen Möglichkeiten zur Erweiterung des Typsystems unter Java gegeben.

Distributed Computing the Google way

Eine Einführung in Apache Hadoop

Eduard Hildebrandt

T33 Mittwoch, 15. 9., 14:00 – 15:10 Uhr .Net Java Mi de PDF

Überall im Netz hinterlassen wir Kommentare, laden Fotos und Videos hoch, aktualisieren unseren Status bei Facebook, bloggen, twittern, chatten usw. Die Systeme generieren und verwalten immer mehr und mehr Daten. Das exponentielle Wachstum dieser Daten war für viele Pionier-Unternehmen wie Google, Yahoo, Amazon und Facebook eine große Herausforderung. Sie müssen Petabytes von Daten analysieren, um herauszufinden, welche Web-Seiten gut sind, welche Bücher Sie interessieren könnten und welche Werbung für Sie am besten geeignet ist. Dafür waren die existierenden Werkzeuge unzureichend. Google war das erste Unternehmen, dass sein System – genannt Map-Reduce – zur Skalierung ihrer Datenverarbeitung veröffentlicht hat. Apache Hadoop ist eine Open-Source-Implementierung vom Map-Reduce-Algorithmus und stellt heutzutage ein Kernstück der Infrastruktur vieler Unternehmen wie Yahoo, Facebook, LinkedIn oder Twitter dar. Doch die Anforderung, immer größere Datenmengen zu verarbeiten, trifft nun auch immer mehr viele herkömmliche Unternehmen und verlangt den Entwicklern völlig neue Fähigkeiten ab.

Dieser Vortrag zeigt, wie man diesem Problem mit dem Apache Hadoop Framework begegnen kann.

Berechtigt!

Berechtigungskonzepte in Domain-Driven Design

Arne Limburg

OpenKnowledge GmbH
T34 Mittwoch, 15. 9., 15:40 – 16:50 Uhr .Net Java Mi de

Domain-Driven Design verschiebt den Fokus der Software-Entwicklung auf die Modellierung der fachlichen Anwendungsdomäne. Häufig enthält die Anwendungsdomäne ein „natürliches Berechtigungskonzept“. So darf z. B. ein Benutzer nur seine eigenen Daten sehen. Doch wie kann ein solches Berechtigungskonzept im Code umgesetzt werden, ohne es mit Geschäftslogik zu vermischen und gleichzeitig die Beschreibbarkeit der Zugriffsregeln, deren Wartbarkeit sowie die Auswirkung auf die Performanz zu vernachlässigen?

In diesem Vortrag wird ein neues Konzept zur Formulierung von domänenbasierter Zugriffssteuerung präsentiert und gegenüber bestehenden Ansätzen wie rollenbasierter Zugriffskontrolle und Zugriffskontroll-Listen abgegrenzt. Gleichzeitig wird das Framework JPA Security vorgestellt, mit dem dieses Konzept umgesetzt werden kann.

Rückkehr nach Oz

Eigene Komponenten mit Wicket erstellen

Isabella Kneissl

MATHEMA Software GmbH
J12 Montag, 13. 9., 11:20 – 12:30 Uhr Java Mo de PDF

Wicket hat seit einigen Jahren seine Stellung bei den Java-Frameworks für Web-Entwicklung eingenommen. Neben Leichtgewichtigkeit und Testbarkeit wird auch die leichte Erstellung, Einbindung und Wiederverwendbarkeit eigener Komonenten bei Wicket groß geschrieben.

Neben einer kurzen Einführung konzentriert sich der Vortrag vor allem auf die Erstellung eigener Komponenten in Wicket. Dazu werden die Schritte für den Bau eigener Komponenten gezeigt, die dazu notwendig sind, und anhand von Beispielen illustriert.

Extreme Rich Clients

Ajax Applications with JSF 2 and the New RichFaces 4

Max Katz

exadel
J13 Montag, 13. 9., 14:00 – 15:10 Uhr Java Mo de PDF

RichFaces is a JavaServer Faces (JSF) framework with (over 100) Ajax components, skins, themes, and a component development kit. Although JSF 2 now offers basic Ajax functionality (which was, in fact, greatly inspired by RichFaces), a broader rich component library is still needed to build most real-world JSF Ajax applications.

This session will first cover JSF 2 Ajax features and then the extra value the new RichFaces 4 adds on top of JSF 2 through its advanced features, tags, customization, flexibility. Whether you are new to using JSF for developing Ajax applications or you can already show your JSF battle scars, this session has something to offer you.

Gutes Benehmen

Akzeptanztest-getriebene Software-Entwicklung in einem Web-Projekt

David Tanzer

ciqua Pirringer & Tanzer OG
J14 Montag, 13. 9., 15:40 – 16:50 Uhr .Net Java Mo de PDF

Behaviour driven development – das Entwickeln von Software getrieben durch ein zuvor spezifiziertes Verhalten – stellt sicher, dass auf allen Ebenen Tests existieren. Das ermöglicht erst agile Vorgehensweisen wie z. B. kontinuierliche Entwicklung.

In diesem Vortrag wird anhand von praktischen Beispielen gezeigt, wie man in Java Akzeptanztest-getrieben entwickeln kann.

Hochverfügbar

Transaktionssysteme mit Java und UNIX

Matthias Schorer

CSC Germany
J15 Montag, 13. 9., 17:20 – 18:30 Uhr Java Mo de PDF

Spricht man von hochtransaktionalen Systemen, ist in der Regel die Rede von Mainframes. Bei allen Vorurteilen die den Mainframes anhängen, muss man ihnen doch neidlos zugestehen, dass sie die Verarbeitung von extremen Transaktionsraten mit Bravour beherrschen. Infrastrukturen auf Basis von UNIX und Java, die als Ersatz für in die Tage gekommene Mainframe-Funktionalitäten gebaut werden, müssen sich dem Vergleich stellen, was Ausfallsicherheit, Robustheit und die Verarbeitung von Massentransaktionen angeht.

In diesem Vortrag geht der Sprecher auf praxiserprobte Patterns ein, die für eine erfolgreiche Umsetzung von Mainframe-Ablöseprojekten unerlässlich sind.

Ab in die Wolken

Java in der Cloud – Eine Einführung in Google App Engine / Java

Dr. Halil-Cem Gürsoy

adesso AG
J21 Dienstag, 14. 9., 09:40 – 10:50 Uhr Java Di de PDF

Jeder redet von Cloud Computing und viele Unternehmen preisen ihre Anwendungen damit, dass sie „Cloud ready“ sind. Aber wie stellt sich die Entwicklung einer Java-Applikation, die in einer Cloud ausgeführt werden soll, für einen Java-Entwickler tatsächlich dar?

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 Microsoft. Nach dem Vortrag wird der Teilnehmer in der Lage sein, schnell und kostenlos in die „Cloud“ abzuheben.

Mobile Development Choices

Native Apps vs. Web Apps

Max Katz

exadel
J22 Dienstag, 14. 9., 11:20 – 12:30 Uhr .Net Java Di de PDF

Recently, there has been a dramatic increase in the number of smart phones and tablet-like devices. This has forced organizations to meet a new requirement that their applications have to work with mobile devices. At same the number and variety of platforms for mobile applications has also increased greatly (iPhone, Android, BlackBerry, Windows 7, webOS and Symbian). This has made it hard for organizations to know how to choose the right development path. That?s where this session comes in.

In this session, we will explain the specific options available today, looking at the pros and cons of the two main approaches for mobile development: native apps or mobile-targeted Web apps.

Real Grails

Projektbericht und Einführung

Jörn Hahn

J23 Dienstag, 14. 9., 14:00 – 15:10 Uhr .Net Java Di de

Einfach und schnell soll die Entwicklung gehen, mit Groovy und Grails, aber ist das Framework auch für „richtige“ Projekte geeignet?

Nach einem Überblick und einer kurzen Einführung mit vielen Beispielen zeigt dieser Vortrag, wie Grails Spring und Hibernate verwendet, um die Basis für zeitsparende Software-Entwicklung zu legen. Wie es sich mit Grails im Projekt arbeitet, welche Tools sich eignen, was für Fallstricke und Vorteile sich ergeben und was dabei zu beachten ist, kommt ebenfalls nicht zu kurz.

Fliegede Teppiche

Moderne Web-Anwendungen mit Tapestry 5

Igor Drobiazko

HSBC INKA
J24 Dienstag, 14. 9., 15:40 – 16:50 Uhr Java Di de PDF

Apache Tapestry ist ein komponentenorientiertes Web-Framework zur Entwicklung von skalierbaren Web-Anwendungen in Java. Dabei kombiniert Tapestry 5 die Mächtigkeit von Java mit der Einfachheit und Produktivität von Scripting-Lösungen wie Ruby on Rails oder Django. Mit Tapestry bekommt man so das Beste aus beiden Welten.

In diesem Vortrag wird Tapestry und der damit verbundene innovative Ansatz zur Entwicklung von Web-2.0-Anwendungen vorgestellt. An einigen Demos werden dann die Features gezeigt, die zur Steigerung der Produktivität beitragen. Darüber hinaus wird der Vorteil eines komponentenorientierten Frameworks wie Tapestry erläutert.

Theorien, Regeln und Kategorien

JUnit experimentelle Features: Theories, Rules und Categories

Jens Schauder

LINEAS Informationstechnik GmbH
J25 Dienstag, 14. 9., 17:20 – 18:30 Uhr .Net Java Di de PDF

JUnit, das vielleicht beliebteste Unit-Test-Tool überhaupt, hat einige wenig bekannte, experimentelle Features.

Deshalb werden in diesem Vortrag Theories, Rules und Categories an Hand von Beispielen erläutert und demonstriert.

Mist gemessen?

Java Performance und Memory Analyse

Dr. Halil-Cem Gürsoy

adesso AG
J31 Mittwoch, 15. 9., 09:40 – 10:50 Uhr Java Mi de PDF

In den Zeiten von BPM, SOA und anderer Buzz-Wörter ist das eigentliche Handwerk – das Entwickeln und der Umgang mit den Werkzeugen – mehr oder weniger ein Nebenschauplatz geworden. Aber spätestens dann, wenn der Kunde seinen Missmut über die mangelhafte Performance „seiner Applikation“ oder „seiner SOA“ äußert, wird es Zeit, sich mit einigen Werkzeugen im Detail zu beschäftigen und sich grundlegenden Fragestellungen zu öffnen.

Aus der Erfahrung geboren, dass gerade bezüglich von Performance- und Memory-Problemen im Java-Umfeld recht „interessantes“ Halbwissen offensichtlich wird, erfolgt in diesem Vortrag eine Einführung in die Analyse dieser, mit Hilfe von freien Tools.

Siebengescheit

Neuerungen in Java 7

Michael Wiedeking

MATHEMA Software GmbH
J33 Mittwoch, 15. 9., 14:00 – 15:10 Uhr Java Mi de

Wenn man den Versprechungen rund um Java Glauben schenken darf, so müsste um die Zeit des Herbstcampus herum die neue Java Version 7 herausgekommen sein. Die Erfahrung sagt aber, dass man – selbst wenn der Termin gehalten wird – immer noch gespannt sein darf, welche der Feature-Kandidaten es denn tatsächlch in die Version geschafft haben werden.

So wird dieser Vortrag  – je nachdem wie es um die Freigabe von Java 7 gestellt ist – entweder über den tatsächlichen Stand oder nach bestem Wissen und Gewissen über den aktuell prognostizierten Stand berichten.

Gobelingewebe

Kategorisierung von Web-Frameworks im Java-Umfeld

Kai Wähner

MaibornWolff et al GmbH
J34 Mittwoch, 15. 9., 15:40 – 16:50 Uhr Java Mi de PDF

Mittlerweile ist eine fast unüberschaubar große Anzahl an Web-Frameworks im Java-Umfeld verfügbar (so z. B. JSF, Wicket, Tapestry, GWT, ZK, JavaFX, Grails und Lift).

Dieser Vortrag stellt eine Kategorisierung der verschiedenen Web-Frameworks und potentielle Einsatzgebiete vor. Dabei ist es das Ziel, einen Überblick ohne tiefe technische Details zu geben – nicht die Vorstellung einzelner Web-Frameworks und Code-Beispiele. Der Zuhörer kann anhand des Vortrags bewerten, welche Kategorie von Web-Frameworks für die Anforderungen in einem konkreten Projekt am besten geeignet ist, insbesondere bezüglich Architekturtypen (klassische Web-Anwendung, Rich Internet Application, Portal, CRUD-Anwendung), Einarbeitungs- und Entwicklungsaufwand, Mehrkanalfähigkeit, Plattformunabhängigkeit und Offline-Fähigkeit. Nach der Kategorisierung der Web-Frameworks werden verschiedene Projekt-Szenarien aus dem Unternehmensalltag vorgestellt, und eine Bewertung bezüglich der Eignung der verschiedenen Web-Framework-Kategorien durchgeführt.

Bottleneckless

Building Scalable Applications with JPA

Shaun Smith

Oracle Canada
D21 Dienstag, 14. 9., 09:40 – 10:50 Uhr .Net Java JEE Di en

One of the most important factors when building high performance scalable applications is effective use of the Java Persistence API (JPA) for database access.

This session will explore through examples how many of the most common performance and scalability bottlenecks faced when accessing a relational database can be effectively addressed using EclipseLink JPA, the JPA 2.0 reference implementation.

Equinox

OSGI plus X in Eclipse

Erwin Hösch

MATHEMA Software GmbH
D22 Dienstag, 14. 9., 11:20 – 12:30 Uhr Java JEE Di de PDF

Eclipse ist, gemessen an Umfragen, die am weitesten verbreitete Java-Entwicklungsumgebung. Dass Eclipse gleichzeitig eine der größten OSGI-Implementierungen auf dem Markt ist, ist weniger bekannt.

Dieser Beitrag bietet eine grundsätzliche Einführung in OSGI an, zeigt auf, wie OSGI in Eclipse implementiert wurde, und beschreibt die Erweiterungen, die nicht Bestandteil des OSGI-Standards sind.

Keep Persistence Simple, Stupid

A possible future for Java Persistence

Robert Braeutigam

adidas AG
D23 Dienstag, 14. 9., 14:00 – 15:10 Uhr Java JEE Di en PDF PDF

Enterprise JavaBeans (EJB) were viewed as state of the art technology at the turn of the century for Java persistence, but its dominance was very short lived. A philosophy change reached the Java world, and developers moved away from heavyweight solutions and started to prefer simpler tools. For persistence, this tool was mostly Hibernate and the later created JPA standard. BeanKeeper is a Free Software/Open Source ORM (Object/Relation mapping) tool that tries to continue in this direction. One of its main principles is that simple or common functions should be as easy to use as possible, even at the cost of other features or a little performance. Easy things in BeanKeeper includes: saving, finding objects, polymorphism, multiple nodes/distribution, schema evolution, configuration, among others.

This lecture introduces BeanKeeper, and through a comparison to Hibernate and JPA draws a possible future direction for Java Persistence.

Into the next round

JPA 2 und Annotation Processing kurz vorgestellt

Hardy Ferentschik

JBoss/RedHat
D23 Dienstag, 14. 9., 14:00 – 15:10 Uhr Java JEE Di de PDF PDF

In diesem Vortrag werden die neuen Konzepte von JPA 2 vorgestellt. Unter anderem stehen Listenverwaltung, ElementCollections und Locking auf dem Programm; der Schwerpunkt liegt allerdings auf der neuen typsicheren Criteria API. In diesem Zusammenhang wird das Konzept des Annotation Processing (JSR 269) aufgegriffen und der Hibernate Metamodel-Generator vorgestellt. An Hand einer Demonstration wird gezeigt, wie der Meta-Model-Generator in die IDE des Entwicklers integriert werden kann, um die für die Nutzung der Criteria API notwendigen Meta-Klassen zu erzeugen.

Solar System

Building OSGi Applications with JPA in Eclipse Helios

Shaun Smith

Oracle Canada
D24 Dienstag, 14. 9., 15:40 – 16:50 Uhr Java JEE Di en

Eclipse Helios provides a complete development JPA environment for OSGi including the EclipseLink JPA 2.0 reference implementation, the Dali Java Persistence Tools, Plug-in Development Environment (PDE), and Data Tools Platform (DTP).

This session walks through the development of an OSGi JPA application using Eclipse Helios highlighting how the integrated tools are used together.

Alles Nichts, oder?!

JPA Security in Theorie und Praxis

Stefan Hildebrandt

consulting.hildebrandt.tk
D25 Dienstag, 14. 9., 17:20 – 18:30 Uhr Java JEE Di de PDF

Was für Möglichkeiten gibt es, wenn man die Zugriffssteuerung von der Business-Schicht trennen will? Wie wirkt sich das auf die Wartbarkeit des Codes und die Gesamt-Performanz aus?

In diesem Vortrag wird mit JPA Security ein Access-Control-Framework vorgestellt, mit dem eine einfache Trennung von Geschäftslogik und Berechtigungsprüfung möglich ist. Anhand eines Erfahrungsberichtes aus einem Customer-Relationship-Management-Portal, in dem JPA Security zur Mandantentrennung und für die Berechtigungsprüfung auf Objektebene mittels komplexer ACLs eingesetzt wird, werden Vorteile und Probleme vorgestellt. Es werden Beispiele für die Auswirkungen auf die Datenbank und den zusätzlichen Rechen- und Speicheraufwand aufgezeigt und mit Alternativen verglichen.

Der lachende Dritte?

PrimeFaces im Vergleich zu RichFaces und IceFaces

Joachim Weinbrenner

jsolutions
E12 Montag, 13. 9., 11:20 – 12:30 Uhr Java JEE Mo de PDF

Verfolgt man die einschlägigen Blogs und Twitter-Meldungen der JSF-Welt, so fällt einem der rasante Aufmerksamkeitsgewinn am AJAX Framework PrimeFaces auf. Als kleines Ein-Mann-Projekt vor erst einem guten Jahr gestartet, wird es mittlerweile oft in einem Atemzug mit den etablierten Kandidaten RichFaces und IceFaces genannt.

Dieser Vortrag stellt PrimeFaces im Vergleich mit den beiden Großen auf die Probe. Dabei wird neben der Gegenüberstellung der Komponenten und deren optischen Aufbereitung der Blick unter die Haube nicht gescheut. Anhand von Code-Beispielen bekommt der Entwickler ein Gespür für den Einsatz in der Praxis. Darüber hinaus werden wichtige Aspekte wie Code-Qualität, Support und Eignung für JSF 2 beleuchtet.

Bohnen auf dem Prüfstand

Effiziente Unit-Tests in Enterprise Java

Karol Rückschloss

MATHEMA Software GmbH
E13 Montag, 13. 9., 14:00 – 15:10 Uhr Java JEE Mo de PDF

Entwickler von Geschäftslogik für Enterprise-Java-Anwendungen (Java EE) halten sich des Öfteren bei der Nutzung von Container-managed Features zurück, weil diese nur zur Laufzeit am Server verfügbar sind und bei Unit-Tests, also im Standalone-Betrieb, fehlen. Anstelle des deklarativen Transaktionshandlings oder der Dependency Injection werden proprietäre „Zwiebelschalen“ um die Geschäftslogik geschrieben, um sie auch in der Unit-Test-Umgebung zur Verfügung zu haben. Diese Strategie hat allerdings den Nachteil, dass man entweder zweigleisig fährt und für Unit-Tests einen anderen Code (und damit ein anderes Verhalten) als für den Produktivbetrieb bereitstellt, oder auf viele Vorteile von Java EE gänzlich verzichtet und eigene Lösungen schreibt.

In diesem Vortrag wird gezeigt, wie man proprietäre Mechanismen vermeidet und die Dienste und Geschäftslogik einer Java-EE-Anwendung in einer standardisierten, produktionsähnlichen Umgebung mit Augenmerk auf Praxistauglichkeit und Performanz testen kann. Als Werkzeuge hierfür werden JUnit, Glassfish Embedded Server und Apache OpenEJB vorgestellt.

Rank und Schlank

Web-Anwendungen in Java ohne Boilerplate-Code

Mirko Zeibig

IST Dresden GmbH
E14 Montag, 13. 9., 15:40 – 16:50 Uhr Java JEE Mo de PDF

Im April 2009 wurde Roo das erste Mal als Alpha-Version öffentlich vorgestellt. Mittlerweile ist es allgemein verfügbar. Roo wird als „next-generation rapid application development tool for Java developers“ beschrieben.

In diesem Vortrag soll zum einen gezeigt werden wie Roo grundsätzlich funktioniert. Zum anderen soll erklärt werden, durch welche Technologien es möglich ist, auch in Java auf eine flexible Art und Weise ohne Boilerplate-Code schnell Web-Anwendungen zu erstellen. Und dies alles mit einer Arbeitsweise, die man sonst eher von Groovy und Grails her kennt.

Alles neu macht ... GWT

Was ist neu, was ist anders im Google Web Toolkit 2.0

Adrian Bürki

Centris AG
E15 Montag, 13. 9., 17:20 – 18:30 Uhr .Net Java JEE Mo de PDF

Ende 2009 wurde das Google-Web-Toolkit (GWT) in der Version 2.0 veröffentlicht. Neben einigen neuen Komponenten und Anpassungen an der API, hat sich im Besonderen der Entwicklungs- und Debug-Prozess verändert. Mit dem GWT bietet Google ein Werkzeug an, um so genannte Rich Internet Applications (RIA) vollständig in Java zu entwickeln. Vollständig in Java entwickeln bedeutet: Programmieren ganz analog zur Entwicklung von Swing- oder SWT-Oberflächen, also arbeiten in bekannter Umgebung mit vertrauten Werkzeugen, inklusive Testen und Fehler-Suchen. Um dann schlussendlich das fertige Java-Projekt mit dem GWT Compiler in Browser-kompatibles JavaScript zu übersetzten.

Die Präsentation startet mit einer Einführung in GWT. Um ein generelles Verständnis zu schaffen, werden Ideen und Konzepte, auf denen GWT aufbaut, erklärt. Danach fokussieren wir uns auf die Neuerungen, die mit der Version 2.0 gekommen sind. Der neue Development Mode, Speed Tracer, Code Splitting sowie die neuen verbesserten Layouts – um nur die wichtigsten Elemente zu nennen.

Hydras and Hypermedia

The Role of Hypermedia in Distributed Application Development

Ian Robinson

ThoughtWorks
R31 Mittwoch, 15. 9., 09:40 – 10:50 Uhr .Net Java Mi en

Do you know what your enterprise apps get up to in their time off? Fighting fantasy, pick-your-path, hypermedia-driven, RESTful Web application adventures – of course. The hypermedia constraint „Hypermedia as the Engine of Application State“ is one of the least understood features of the REST architectural style.

In this session, against the backdrop of an entertaining Web-based dungeon crawl, I describe how a hypermedia system works, and show how the hypermedia constraint can be applied to the design and implementation of Web services in order to guide the client towards achieving its application goals whilst preserving a high degree of loose coupling between client and server.

Komm aufs Sofa

NOSQL am Beispiel von Apache CouchDB

Frank Pientka

MATERNA GmbH
R32 Mittwoch, 15. 9., 11:20 – 12:30 Uhr .Net Java Mi de PDF

Der Vortrag erläutert die Hintergründe und Ziele der NOSQL-Bewegung – die REST-basierte Datenbankalternative fürs WEB 2.0. Dabei gibt er eine grobe Orientierung der dabei verwendeten Methoden und Einsatzmöglichkeiten. Am Beispiel des populären Vertreters Apache CouchDB wird gezeigt, was die Besonderheit einer NOSQL-Datenbank konkret aussieht. Als dokumentenorientierte Datenbank für das Internet unterscheidet sich CouchDB bereits grundlegend von klassischen relationalen Datenbanken. Dabei setzt es konsequent auf den populären Map-Reduce-Algorithmus und Internet-Standards wie das JSON-Austauschformat und das REST-Protokoll.

The REST is silence

Restful Webservices mit JAX-RS

Werner Eberling

MATHEMA Software GmbH
R33 Mittwoch, 15. 9., 14:00 – 15:10 Uhr Java Mi de PDF

Mit der aktuellen Version 6 des Java-Enterprise-Standards haben es Restful Web-Services geschafft, Einzug in die Welt der Java-EE-Application-Server zu halten. Mit relativ geringem Aufwand ist es nun möglich, eine Java-EE-Anwendung über eine leichtgewichtige Web-Service-Schnittstelle ansprechbar zu machen. Ganz ohne das Protokoll-Schwergewicht SOAP. Doch JAX-RS vereinfacht nicht nur das Protokoll für den Web-Service-Zugriff, es bringt eine eigene und komplett andere Philosophie bezüglich des Bereitstellens von Diensten mit sich.

Der Vortrag zeigt die Ideen hinter Restful-Web-Services und demonstriert, wie sie mit JAX-RS realisiert werden können. Darüber hinaus wird das Problem des "SOAPy RESTs" vorgestellt und dessen Für und Wider diskutiert.

Better REST

Designing and Implementing RESTful Application Protocols

Ian Robinson

ThoughtWorks
R34 Mittwoch, 15. 9., 15:40 – 16:50 Uhr .Net Java Mi en

Challenging the notion that REST is suitable only for simple CRUD-based data services, in this session I'll show how to design and implement RESTful application protocols for complex business processes. Using techniques drawn from our forthcoming O'Reilly book „REST in Practice“, I show how to model business processes as domain application protocols, implement them in terms of resource lifecycles, and execute them using HTTP idioms, media types and link relation values.

Der heilige Gral

Einführung in die Applikationsentwicklung mit Grails

Detlef Brendle

Canoo AG

Christoph Sperle

Canoo AG
T01 Sonntag, 12. 9., 09:40 – 18:30 Uhr Tutorium Java So de PDF

Von der Projektidee zum Prototypen in 4 Stunden? Der Einsatz der Grails-Plattform kann den entscheidenden Vorsprung im Rennen um neue Projekte ausmachen.

Ausgehend von einer konkreten Projektidee und deren Use-Cases führen dieses Tutorium Sie Schritt für Schritt vom Domänenmodell bis hin zur Integration in bestehende Web-Sites. An einem einfachen Beispiel wird Ihnen aufgezeigt, wie Sie die reichhaltige Plugin-Landschaft ausnutzen können, um die Anforderungen Ihrer Kunden effizient umzusetzen.

Groovy-Grundkenntnisse werden vorausgesetzt. Für die praktischen Übungen benötigt jeder Teilnehmer einen Laptop mit Java 5, Grails 1.1 oder höher und einem Texteditor.

Sternenkollision

JSF im Portal

Werner Eberling

MATHEMA Software GmbH

Sascha Groß

MATHEMA Software GmbH
T02 Sonntag, 12. 9., 09:40 – 18:30 Uhr Tutorium Java So de PDF

Als aktueller Standard zur Entwicklung von Webanwendungen mit der Java EE ist JSF aus den meisten Projekten nicht mehr wegzudenken. Doch wer kommt heute noch mit einzelnen, alleinstehenden Web-Anwendungen aus. Alles soll heute integriert sein in einen einheitlichen Auftritt mit so „Schmankerln“ wie Single-Sign-On und gegenseitigem Informationsaustausch der einzelnen Teilanwendungen. Kurz gesagt: Portale sind gefragt. Doch was muss man tun, um mit JSF in die Welt der Portale vorzudringen? Mit welchen Einschränkungen ist zu rechnen und welche Portlet-Features (Eventing, Resource-Requests, ...) sind dabei nutzbar und welche gehen verloren?

Im Rahmen dieses Tutoriums bekommt der Teilnehmer eine Übersicht über die Herausforderungen bei der Integration von JSF in ein Portal und lernt, wie JSF-Applikationen gestaltet werden müssen, um sowohl innerhalb eines Portals, als auch „standalone“ lauffähig zu sein.

Richer Applications

Ajax Applications with RichFaces and JSF 2

Max Katz

exadel
T03 Sonntag, 12. 9., 09:40 – 18:30 Uhr Tutorium Java JEE So en

Attendees will learn everything they need to begin developing applications with JSF 2 and RichFaces. We will first start with basic Ajax features in JSF 2 such as sending an AJAX request, partial view rendering, partial view processing using the f:ajax tag. We will then move to the new RichFaces 4 and demonstrate advanced features, tags, customization and richness it adds on top of JSF 2. You will learn how the a4j:ajax extends the standard f:ajax tag as well as how to use other a4j: tags, rich: tags and skins in RichFaces. Hands-on example will be used to demonstrate most concepts and features.

Operndiva

Kleine Einführung in Scala

Rüdiger Keller

MATHEMA Software GmbH
T06 Sonntag, 12. 9., 09:40 – 18:30 Uhr Tutorium Java So de

In den letzten Jahren sind viele Sprachen für die Java Virtual Machine entstanden, von denen einige mehr, andere weniger populär geworden sind. Eine Sprache, die zweifelsohne viel Aufmerksamkeit auf sich zieht ist Scala. Sie versucht ein besseres Java zu sein, das die Konzepte objektorientierter und funktionaler Programmierung in sich vereint, dabei aber im Gegensatz zu den meisten anderen populären Sprachen an statischer Typisierung festhält.

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

KaffeeKlatsch
Bookware
Microsoft Visual Studio
adesso
MATHEMA
dpunkt
Galileo
Hanser
Open Source Press
GearConf
Metropolregion Nürnberg - Kommen. Staunen. Bleiben.
Nürnberger Initiative für Kommunikationswirtschaft