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.