zum aktuellen Java Forum Stuttgart
•
Kontakt
•
Impressum
![]() |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() |
![]() |
![]()
Abstracts & Vortragsfolien zum 14. Java Forum StuttgartFett markierte Vortragskürzel: Vortragsfolien liegen vor.
Themenbereich: Architektur Stichworte: Java Monitoring, Tomcat, OpenSource Abstract: Java-Webanwendungen professionell zu betreiben, erfordert ein umfangreiches Monitoring und Kontrolle. Verschiedene Tools bieten mit Leichtigkeit die gewünschten Kennzahlen der JVM und der eigenen Anwendung an. Neben der reinen Datenerhebung gehören Visualisierung und Eskalationsmanagement zu weiteren hilfreichen Eigenschaften der Tools. In der Session werden die verschiedenen praktischen Ansätze vorgestellt und ihre Einsatzzwecke diskutiert. Vortragsfolien: A1.pdf
Themenbereich: Architektur Stichworte: NoSQL, CouchDB Abstract: Im Pool der NoSQL-Datenbanken schwimmen etliche Fische. Und eines der interessanteren Exemplare ist CouchDB. CouchDB bietet - ähnlich wie alle anderen NoSQL-Datenbanken - ein sehr individuelles Feature-Set. Diese Spezialisierung polarisiert: In manchen Anwendungsszenarien spielt CouchDB seine Stärken exzellent aus - in anderen kann es kaum vernünftig eingesetzt werden. Das Ziel dieses Vortrags ist es, ein grundsätzliches Verständnis für CouchDB und seine speziellen Stärken und Schwächen zu vermitteln. Anhand von konkreten Beispielen soll deren Bedeutung für die Praxis veranschaulicht werden. Im diesem Rahmen wird (hoffentlich) beantwortet, was "Dokumentenorientierung" bedeutet, was "Partition Tolerance" ist und in welchen Projekt-Szenarien CouchDB gewinnbringend eingesetzt werden kann. CouchDB bietet unter anderem:
Vortragsfolien: A2.pdf
Themenbereich: Architektur Stichworte: Daten Management, Objekt Cache, Java Implementierung Abstract: Mit den Anforderungen nach hohem Durchsatz, niedrigen Antwortzeiten und massiver Skalierbarkeit der Anwendungsplattform wächst der Einsatz einer Daten-Management Architektur im Cache. In einer gemeinsamen Speicherstruktur mit eigenständigen Cache Memory Bereichen können die Speicherinhalte auf andere Softwareknoten beliebig verteilt werden, damit befindet sich ein Datenobjekt im Hauptspeicher und weitere Kopien im jeweiligen Cache Memory. Die veränderten Daten werden innerhalb vom Cache Management System automatisch und zuverlässig verteilt, und fehlerhafte Datenelemente werden aus dem Cache entfernt. Die teilnehmenden Anwendungen nutzen diese Daten und deren Änderungen direkt aus einer verteilten, linear skalierbaren und einheitlichen Caching Struktur. Einfache und komplexe Abfragen können parallel innerhalb der Caching-Struktur verteilt "In-Memory” ausgeführt werden. Damit wird auch die Anzahl der Zugriffe auf Backend-Systeme reduziert bzw. gezielt vermieden, sodass Datenbanken und Mainframe-Systeme entlastet werden. In dem Vortrag wird die Cached Data Architektur mit deren Implementierung und Mechanismen besprochen: Read-Through, Write-Through, Refresh-Ahead und Write-Behind Caching. Vortragsfolien: A3.pdf
Themenbereich: Architektur Stichworte: Architektur, JavaEE, JBoss, Open Source Abstract: JBoss AS 7 ist ein kompletter rewrite des populären Applikationsservers. Ein Hauptfokus der Entwicklungsarbeit wurde auf die einfachere Administration gelegt. Während früher dutzende XML-Dateien angefasst werden mussten, können Konfigurationsänderungen nun zentral erfolgen - und das nicht nur für eine einzelne Serverinstanz, sondern für ganze Serverfarmen. Diesem Paradigma folgen nun auch Deployment von Applikationen oder Upgrades des Servers. Ein weiterer Fokus der Entwicklung lag in der Reduktion des Ressourcenverbrauchs. Dieser Vortrag wird die neue Architektur des JBoss AS 7 vorstellen und zeigen, welche Möglichkeiten zur Administration des Servers bestehen. Vortragsfolien: A4.pdf
Themenbereich: Architektur Stichworte: Architektur, Business Rules, Geschäftsregeln, Agilität, Prozess Abstract: Ein Trend auf dem Sektor der Business Rules Management (BRM) Systeme ist es, mit regelbasierten Ansätzen neben Geschäftsregeln auch Regeln für Präsentations-, Ablauf- und Integrationslogik abzubilden. So kann das Verhalten von Anwendungen ganz oder in großen Teilen durch Regeln bestimmt werden. Die Möglichkeit, Anwendungen entwerfen zu können, die in verschiedenen Anwendungsebenen anpassbar sind, ist für Architekten zugleich Ziel und Herausforderung. Gezeigt werden sowohl die Konzepte als auch relevante Codesnippets für die Regelintegration. Vortragsfolien: A5.pdf
Themenbereich: Architektur Stichworte: JavaServer Faces, Web, UI-Architektur Abstract: "Technologien sind noch lange keine Architektur!". In dieser Aussage steckt sehr viel Wahrheit. Allerdings helfen Technologien durchaus, gute Architekturen zu bauen. Speziell im User Interface Bereich gibt es beim Einsatz von JavaServer Faces verschiedene Ansätze, um die UI-Schicht sowie die Anbindung anderer Schichten zu entwerfen. Im Vortrag werden die verschiedenen Architektur-Ansätze aufgezeigt, wie das UI-Layer mit Hilfe von JSF realisiert werden kann. Zudem wird auf die sich aus diesen Ansätzen ergebenden Konsequenzen eingegangen. Vortragsfolien: A6.pdf
Themenbereich: Architektur Stichworte: Architektur, Dependency, Injection, Konzepte Abstract: Arbeiten Decorators in Kaufhäusern? Schwimmen Alternatives gegen den Mainstream? Steht CDI für Dieseldirekteinspritzung? Wie ist das im Context mit Dependencies zu verstehen? Ist Java eine Insel? Der JSR 299 ist ein Bestandteil von Java EE 6 und stellt einen konsequenten Schritt in der Evolution des Ansatzes der Dependency Injection dar. Im Vortrag werden anhand lebender Codebeispiele die zugrundliegenden Konzepte erläutert sowie Integration mit bzw. Abgrenzung zu anderen Technologien beleuchtet. Vortragsfolien: A7.pdf
Themenbereich: Sonstiges Stichworte: Testen, JUnit, PatternTesting, agile Methoden Abstract: Dank agiler Methoden dringen Unit-Tests (zu Recht) immer mehr ins Bewusstsein vieler Entwickler. Was aber macht man, wenn Testfälle fehlschlagen und der Urheber nicht mehr greifbar ist? Reparieren oder wegschmeißen? Dies ist nur eines von vielen Problemen, das auch beim Reaktivieren längst verschollener Testfälle auftreten kann. Andere sind:
Einige der Problem lassen sich durch Nachdenken und JUnit-Boardmitteln lösen. Für andere Probleme bietet PatternTesting eine Reihe von Hilfsmittel, um wieder grünes Licht für's Testen zu erringen. Vortragsfolien: B1.pdf
Themenbereich: Architektur Stichworte: OpenSource, Suche, Lucene, Apache Abstract: Google, Amazon, Ebay und Co. setzen den Standard für performante Such-, Klassifikations- und Vorschlagsfunktionen: die Nutzung von "ähnliche Begriffe", "nur Ergebnisse des letzten Monats", "weitere ähnliche Seiten", "meinten Sie vielleicht", "das könnte Sie interessieren", "Kunden, die sich diesen Artikel angesehen haben, haben sich auch angesehen" werden inzwischen in der Nutzung von Webanwendungen als Selbstverständlichkeit angesehen. Können die Apache Projekte aus dem Lucene Umfeld hier mithalten ? Welche Projekte helfen bei welchen Fragestellungen ? Welche Möglichkeiten und Vorteile bieten sich mir, wenn ich meine Open Source Suche selbst baue? Diese Session möchte einen Ein- und Überblick über das Apache Lucene Ökosystem und seine Anwendungsmöglichkeiten geben. Vortragsfolien: B2.pdf
Themenbereich: Rich Clients Stichworte: GUI Testing, Software Qualität, Atomatisierung, Prozess Abstract: Die Vorteile von automatisierten Softwaretests, wie z.B. höhere Zuverlässigkeit und mehr Testausführungen in kürzerer Zeit, liegen auf der Hand. Dies trifft auch auf die Automatisierung von Tests von grafischen Oberflächen zu. Allerdings ist die Automatisierung von Java-Oberflächen, v.a. in einer plattformübergreifenden Umgebung, in der Praxis sehr herausfordernd. Dies trifft sowohl auf technische Aspekte, wie z.B. die robuste Identifizierung von Oberflächenelementen, wie auch auf organisorische Aspekte, wie z.B. die Bewältigung der Flut an Testresultaten, zu. In diesem Vortrag wird, basierend auf der Erfahrung zahlreicher Kundenprojekte erläutert, was getan werden muss um ein Scheitern der Java GUI-Test Automatisierung zu vermeiden. Im Gegensatz dazu wird gezeigt, wie die Vorteile der Test-Automatisierung bei Oberflächentests erfolgreich umgesetzt werden können. Vortragsfolien: B3.pdf
Themenbereich: Sonstiges Stichworte: APM, Performance, inspectIT Abstract: Eisern hält sich der Gedanke, dass Performance Diagnose und Monitoring Lösungen teilweise unerschwinglich sind, um sie in jedem Projektkontext einsetzen zu können. Oftmals werden wir deswegen zu Performanceproblemen in Projekten erst dann gerufen, wenn die Entwicklung der Applikation bereits weit fortgeschritten oder die Applikation bereits in Produktion ist. In diesem Vortrag möchten wir Ihnen zeigen, wie Sie mit minimalen Aufwand und ohne zusätzliche Anschaffungskosten Performanceanalysen in jedes Projekt integrieren können. Wir führen in diesem Vortrag zunächst kurz die Notwendigkeit von Performanceuntersuchungen ein und beschreiben welche negativen Auswirkungen Performanceprobleme auf die Applikationen haben können. Danach beschreiben wir eine sinnvolle Vorgehensweise zur Analyse ihrer Applikation und zeigen Ihnen "Live on Stage”, wie Sie diese Vorgehensweise mit inspectIT konkret umsetzen können. Das Werkzeug inspectIT wird von der NovaTec seit 4 Jahren entwickelt und kann kostenlos heruntergeladen und genutzt werden. Mit inspectIT sind Sie in der Lage konkrete Performanceinformationen Ihrer Applikation zu jeder Projektphase zu ermitteln, um zu verhindern, dass Performanceprobleme ein unkalkulierbares Risiko für die Produktion darstellen. Vortragsfolien: B4.pdf
Themenbereich: Sonstiges Stichworte: Zukunft, Java, Community Abstract: Das kann man für Java sicher nicht behaupten! Werfen wir einen kleinen Blick in die Schlagzeilen der letzten Monate: JavaFX wird umgekrempelt, aus Hudson wird Jenkins, Apache und Doug Lea steigen aus dem JCP aus, Oracle und Google steigen wegen Android in den Ring, in das OpenJDK kommt Bewegung, DoS-Bug bringt Administratoren in Bewegung ... und viele weitere. In unserem Vortrag wollen wir diese Ereignisse sortieren und bewerten. Was hat sich seit der Übernahme durch Oracle verändert? Was läuft gut, was läuft schlecht? Wo möglich wollen wir auch einen Blick in die Zukunft wagen. Unsere Bewertung der Ereignisse basiert in wesentlichen Teilen auf vielen Diskussionen, die wir ihm Rahmen des iJUG (Interessenverbund der Java User Groups e.V.) geführt haben. In unserem Vortrag [und in einer "BoF"-Session am Abend] soll auch genügend Raum bleiben, diese Diskussionen mit den Teilnehmern fortzusetzen. Denn die Beteiligung der Community ist ganz wesentlich für die Zukunft von Java - das gilt auch heute. Vortragsfolien: B5.pdf
Themenbereich: Sonstiges Stichworte: JCP Java Community Process JSR Java Standards Abstract: The JCP plays a critical role in the evolution of Java. This session will explain how the JCP is organized and how JSRs (Java standards) are developed. We will discuss the current state of the Java platforms, and explain how the JCP is helping to develop them. The session will also cover the relationship between the JCP and open-source development processes, and the value of transparency and participation. Finally, we will explore some upcoming changes to the process, and explain how you can get involved. Bring your questions, your suggestions, and your concerns. We want to hear from you, and to encourage and enable your active participation in the advancement of the Java platform. Vortragsfolien: B6.pdf
Themenbereich: Architektur Stichworte: Java Plattform Strategie Roadmap Abstract: Java Plattform Strategie und Roadmap Java ist eine der bekanntesten Marken der IT und eine der am häufigsten bereitgestellten Technologien, die durch eine Vielzahl von Anwendungen und Services repräsentiert wird, die in der Java-Sprache geschrieben sind. Mit der Übernahme von Sun wird Oracle mit Innovationen und Investitionen in die Java-Technologie fortfahren - zum Vorteil der Kunden und der Java-Community. Oracle hat bei der Unterstützung von Java seit der Einführung im Jahr 1995 eine führende und bedeutende Rolle eingenommen. Oracle übernimmt die neue Rolle als Befürworter der Java-Technologie mit unermüdlichem Engagement für eine Community, in der Teilnahme und Transparenz entscheidend sind. JDK 7 beinhaltet Sprachverbesserungen im Project Coin, die Unterstützung für dynamisch typisierte Sprachen ("InvokeDynamic”) JSR 292, Concurrency und Collections Updates inklusive Fork/Join Framework. JDK 8 beinhaltet Project Jigsaw mit Plattform-Modularisierung und Project Lambda. Die einzelnen JSR´s wurden im JCP eingereicht und vom JCP Executive Committee angenommen:
Kurz vor der Veröffentlichung vom JDK 7 und dem darauf folgenden JDK 8 in 2012 sollen die angekündigten Inhalte für Java SE 7 und Java SE 8 genauer betrachtet werden. Im JDK 7 geht es um Sprachverbesserungen im Project Coin, die Unterstützung für dynamisch typisierte Sprachen ("InvokeDynamic”) JSR 292, Concurrency und Collections Updates inklusive Fork/Join Framework. Das JDK 8 beinhaltet Project Jigsaw mit Plattform-Modularisierung und Project Lambda. Vortragsfolien: B7.pdf
Themenbereich: EAI Stichworte: EAI, Apache Camel, Java, Spring XML, Systemintegration Abstract: Der Datenaustausch zwischen Unternehmen oder einzelnen Bereichen wird immer intensiver. Die Zahl der Anwendungen, die integriert werden müssen, steigt stetig an. Die Schnittstellen nutzen diverse Technologien, Protokolle und Datenformate. Die Integration dieser Anwendungen soll aber trotzdem standardisiert modellierbar, effizient umsetzbar und automatisiert testbar sein. Apache Camel ist ein Framework, welches diese Anforderungen erfüllt. Es implementiert die allseits bekannten Enterprise Integration Patterns (EIP) und bietet dadurch eine standardisierte, domänenspezifische Sprache, welche für die Integration von Anwendungen eingesetzt wird. Neben Java kann auch Spring XML, Scala oder Groovy für die Integration genutzt werden. Dieser Vortrag stellt Apache Camel vor und zeigt an Hand eines realistischen Praxisbeispiels inklusive Live-Demo, wie dieses Framework in fast jedem Integrationsprojekt im JVM-Umfeld sinnvoll und effizient eingesetzt werden kann. Dabei spielt es keine Rolle, welche Technologien sowie Transport- und Nachrichtenprotokolle eingesetzt werden. Alle Integrationsprojekte können einheitlich und ohne redundanten, "Boilerplate-Code" umgesetzt werden. Vortragsfolien: C1.pdf
Themenbereich: EAI Stichworte: ESB, SOA, Open Source, Apache Abstract: Enterprise Integration Middleware hat heute immer noch den Beigeschmack, zu teuer, zu proprietär und zu komplex zu sein und dabei nicht immer alle gestellten Erwartungen zu erfüllen. Die Firma Talend hat sich das Ziel gesetzt, den "ESB zu demokratisieren", d.h. auf Basis von Standards eine einfach zu bedienende, kostengünstige, aber trotzdem sehr leistungsstarke Alternative zu entwickeln. Mit dieser Idee haben sich die Entwickler von Talend an die Arbeit gemacht und aus populären Open Source Komponenten (wie Eclipse, Apache CXF & Apache Camel) ein ESB-Paket geschnürt, mit dem sich komplexe Integrationsvorhaben kostengünstig, einfach und zuverlässig realisieren lassen. Im Vortrag stellen wir Ihnen zunächst die Architektur und Komponenten genauer vor und sprechen dann über die wichtigsten Features des ESBs. Anhand einiger Beispiele zeigen wir Ihnen, wie einfach es für Sie ist, den Talend ESB in Ihren Projekten einzusetzen, um damit komfortabel Anwendungen und Informationssysteme zu integrieren. Dabei werden auch "Enterprise" Aspekte berücksichtigt, wie z.B. Hochverfügbarkeit und Skalierbarkeit von Lösungen oder den effizienten und effektiven Betrieb. Die Session wird abgerundet mit einem kurzen Ausblick auf weitere zu erwartende "Demokratisierungen" im Bereich Integration. Vortragsfolien: C2.pdf
Themenbereich: Sonstiges Stichworte: Core Java, JVM, JVM-Sprachen, Java 7 Abstract: Wenn man die Qualität einer Programmiersprache über neue Features pro Zeit misst, hinkt Java inzwischen ganz weit hinter vielen Sprachen her. Ganz besonders C# hat mit (fast schon zu vielen) neuen Features eine große Fan-Gemeinde gewonnen. So macht Java - trotz des endlich erscheinenden Java 7 - einen eher altbackenen, fast rückständigen Eindruck und hat bereits heute den Ruf das "Cobol des neuen Jahrtausends" zu sein. Da die JVM aber eine ungeschlage gute Basis für performante, objektorientierte Programme bietet, stellt sich die Frage, ob sich dafür nicht bald eine neue Sprache findet, die Java vielleicht sogar den Rang abläuft. Dieser Vortrag resümiert deshalb nicht nur über die letzten 15 Jahre Java, sondern wagt auch einen Blick in die Zukunft der JVM-Sprachen - mit einer Prognose, wie die nächste, große JVM-Sprache aussehen könnten. Vortragsfolien: C3.pdf
Themenbereich: Mobile Stichworte: Android, ADT Abstract: Der Einstieg in die Android Programmierung ist leicht. Der Vortrag stellt die Konzepte der Android Plattform vor und demonstriert die Verwendung der Android Development Tools (ADT) für Eclipse. Im Rahmen des Vortrags wird ein "PersonenTracker" entwickelt, der erlaubt die Position einer Person bei Twitter zu publizieren indem man diese Person anruft. Die Android Architektur, die verschiedenen Android und Google API's und der Android Mobile Simulator werden im Rahmen dieses Beispiels erläutert. Nach dem Vortrag sind die Teilnehmer in der Lage Ihre ersten Schritte in der Android Entwicklungswelt zu starten.
Vortragsfolien: C4.pdf
Themenbereich: Mobile Stichworte: Android, Security, Entwicklung Abstract: Die Android-Plattform verfügt durch die lose Kopplung einzelner Applikationskomponenten wie Activities, Services, Broadcast Receivern und Content-Providern über sehr mächtige Messaging-Mechanismen. Diese ermöglichen es dem Entwickler, sowohl Komponenten anderer Applikationen zu nutzen als auch eigene Komponenten dem System bekannt zu machen. Der Vortrag soll Entwickler für Fallstricke sensibilisieren, Angriffsvektoren auf einzelne Komponenten des Application-Frameworks vorstellen und proaktive Techniken zur sicheren Implementierung und dem Schutz von Nutzerdaten aufzeigen. Vortragsfolien: C5.pdf
Themenbereich: Security Stichworte: Application Security, JSF, OWASP Abstract: Die überwiegende Anzahl von Angriffen erfolgt heutzutage nicht auf Netzwerk- oder Protokollebene sondern vielmehr auf die Anwendungen selbst. Dabei werden Sicherheitslücken, die aus Fehlern oder Schwachstellen in den jeweiligen Programmen resultieren, ausgenutzt. Im Rahmen dieser Session wird zunächst das Thema Application Security aufgegriffen und u.a. die Fragestellung betrachtet wo die Einsatzgebiete und Grenzen von Web Application Firewalls liegen. Im weiteren Verlauf der Session werden die von der Open Web Application Security Projekts (OWASP) aufgeführten Top Ten Angriffsarten und ihre Relevanz für Java Server Faces (JSF) betrachtet. Anhand von Showcases werden einzelne Angriffe praktisch demonstriert und entsprechende Schutzmechanismen aufgezeigt. Abschließend wird die Architektur einer Applikation Security Komponente für JSF skizziert. Vortragsfolien: C6.pdf
Themenbereich: Security Stichworte: Sicherheit, Security, Webanwendungen, SDLC Abstract: Durch die Implementierung eines Secure Software Development Lifecycles (SDLC) sorgt man dafür, dass Anwendungen von Beginn an sicher sind. Dieser Vortrag zeigt praktische Lösungen basierend auf anerkannten Methoden wie OpenSAMM. Sie lernen, wie Code Review, Penetrationstest, Sicherheitsanforderungen, Abhärtung von Servern usw. zu einem Gesamtprozess vereint werden können, um damit sichere Software zu produzieren. Der Vortrag stützt sich auf praktische Erfahrungen aus deutschen Unternehmen. Der Präsentation ist lebhaft. Eine Vorstellung, wie das eigene Unternehmen in Sache sicherer SDLC untersucht werden kann, rundet die Präsentation ab. Vortragsfolien: C7.pdf
Themenbereich: Prozess Stichworte: Test, Coverage, Eclipse, OpenSource Abstract: Der Glass-Box-Test bietet sich als eine attraktive Ergänzung zu einem gründlichen Funktionstest an, um mit geringem Aufwand neue und gute Testfälle zu entwickeln. Mit CodeCover steht hierfür eine entsprechende Werkzeugunterstützung zur Verfügung. Ursprünglich wurde CodeCover 2007 an der Universität Stuttgart entwickelt. Inzwischen ist CodeCover ein Open-Source-Produkt mit sehr aktiver Community und wird in Industrie und Lehre weltweit eingesetzt. Gründe dafür sind nicht zuletzt die Eclipse-Integration, die einfache Bedienung und die vielfältigen Auswertungsmöglichkeiten. CodeCover unterstützt derzeit von allen Open-Source-Werkzeugen die meisten Überdeckungskriterien und bietet speziell für die Testsuite-Optimierung umfangreiche Prozess-Unterstützung. Der Vortrag geht im ersten Abschnitt auf die prinzipielle Funktionsweise und die Anwendungsgebiete des Glass-Box-Tests ein. In einem zweiten Abschnitt werden die speziellen CodeCover-Funktionen zur Testsuite-Optimierung, die Unterstützung beim Regressionstest, die Eclipse-Integration sowie die speziellen Überdeckungsmetriken zur Bewertung des Lasttests vorgestellt. Abschließend wird auf die geplanten neuen Funktionen und die zukünftige Release-Planung eingegangen. CodeCover steht unter EPL Lizenz, siehe www.CodeCover.org Vortragsfolien: D1.pdf
Themenbereich: Prozess Stichworte: Projektmanagement, Modellbasierte Entwicklung, Prozess Abstract: Im direkten Vergleich wird in diesem Vortrag der Einsatz eines modellbasierten Entwicklungsprozesses in zwei sehr unterschiedlich dynamischen Projekten (Industrie und Behörde) dargestellt. Der Referent begleitete beide Projekte in seiner Rolle als Projektleiter vom Kickoff bis zum Going Live. Er stellt anschaulich die völlig unterschiedlichen Herausforderungen dar, und stellt die ergriffenen Maßnahmen vor, mit denen er beide Projekte zum erfolgreichen Going Live geführt hat. Eine Auflistung der "Lessons Learned" mit agilen Vorgehensweisen in nicht-dynamischen Organisationen rundet den Vortrag ab. Vortragsfolien: D2.pdf
Themenbereich: Eclipse Stichworte: Eclipse, Mylyn, ALM, OpenSource, CI Abstract: Das rasante Wachstum der Mylyn Benutzergemeinde zeigt den nächsten Evolutionsschritt für integrierte Entwicklungsumgebungen auf: Stories und Tasks nehmen eine zentralere Rolle als Quellcode ein, Fokus ist wichtiger als Features, und die Integration mit agilen Arbeitsmethoden bringt einen signifikanten Produktivitätsschub. Mylyn ist seit 2005 bei Eclipse.org etabliert und wurde kürzlich zum Top-Level-Projekt befördert, um dem erweiterten Umfang des Projekts gerecht zu werden, dass nun unter dem Banner Application Lifecycle Tools geführt wird. Neben der Task Liste, die Zugriff auf ALM- und Bugtracking-Systeme wie Bugzilla, Trac und JIRA ermöglicht, werden nun auch Code Review und Continuous Integration Systeme direkt im Mylyn Open-Source Projekt unterstützt. Der Vortrag zeigt wie sich mit der neusten Version die Task-fokussierte Arbeitsweise, sekundenschnelles Multitasking und automatisierte Änderungsverfolgung direkt in der IDE nutzen lassen und wie das gesamte agile Team von Arbeitsabläufen profitieren kann, die mit den neuen Erweiterungen möglich werden. Beispielsweise können Änderungsanforderungen, die in Bugzilla erfasst sind, mit EGit einfach in Branches verwaltet werden. Ein Commit erzeugt automatisch ein Code Review in Gerrit, der mit einem automatisierten Hudson Build geprüft wird. Die Resultate werden in der Task List und im Builds Editor direkt in der Entwicklungsumgeung angezeigt und können von Team-Mitgliedern bearbeitet werden. So lassen sich mit den Werkzeugen des Mylyn Projekts Änderungen effektiv verfolgen und die Qualitätssicherung im Team wird integraler Teil des Arbeitsflusses. Vortragsfolien: D3.pdf
Themenbereich: Eclipse Stichworte: Eclipse, Versionskontrolle, Git, EGit Abstract: Git ist zweifellos das derzeit am meisten gehypte Versionskontrollsystem. Zahlreiche kleine und große Open Source Projekte sind bereits publikumswirksam von CVS und auch vom moderneren Subversion zu Git gewechselt oder planen die Umstellung. Die von Git versprochenen Vorteile sind entsprechend groß und verlockend: parallele und verteilte Entwicklung, hohe allgemeine Arbeitsgeschwindigkeit sowie die später viel interessantere Branch Re-Integration sollen sehr einfach und sehr schnell sein. Grund genug, sich auch in kommerziellen Projekten mit Git zu beschäftigen?! Auf der anderen Seite unterscheidet Git sich in vielen Bereichen grundlegend von CVS und auch SVN: Benutzer müssen sich mit teilweise neuen Bezeichnungen, Tools und Konzepten beschäftigen. Die versprochenen und durchaus verlockenden Vorteile kommen also mit einem gewissen Lern- und Einarbeitungsaufwand, sowie natürlich Migrationsaufwänden für bestehende Repositories daher. Diese Session bietet eine Einführung in die Versionskontrolle mit Git und stellt die derzeit am weitesten fortgeschrittene IDE-Integration in Eclipse - EGit und JGit - detailliert vor. Neben theoretischen Informationen spielen dabei auch praktische Erfahrungen in der täglichen Arbeit mit Git eine Rolle. Vortragsfolien: D4.pdf
Themenbereich: Sonstiges Stichworte: Eclipse, Testing, Automatisierung Abstract: Ab März werden Kernteile von GUIdancer als Open Source Projekt in der Eclipse Foundation veröffentlicht. Das Jubula Functional Testing Tool Projekt ermöglicht die Erstellung und Ausführung automatisierter Akzeptanztests anhand der bekannten Best-Practices aus der Softwareentwicklung (Lesbarkeit, Modularität, Wartbarkeit) ohne jeglichen Programmieraufwand. Das Verfahren des Keyword-Driven Testings erlaubt außerdem eine frühzeitige Testfallerstellung, welches die Einbindung in agilen Prozessen unterstützt. In diesem Talk wird das Jubula Projekt vorgestellt und die Einbindung in den Testprozess anhand einer Demonstration erklärt. Vortragsfolien: D5.pdf
12.05.2011: Referentenwechsel
Themenbereich: Sonstiges Stichworte: Process Engin, BPMN, Rule Engine, BPM Abstract: Prozesse und Regeln sind was für Business-Kasper? Das war gestern! Mit Activiti als BPM Plattform und Drools als Regelmaschine kann man auch als Java Entwickler ohne große Lernkurve einsteigen und muss seine Java-Welt nicht verlassen. Das alles Open Source unter Apache Lizenz. Und trotz aller Java-Nähe helfen diese Tools extrem beim so genannten Business-IT-Alignment, also in der Abstimmung und Zusammenarbeit mit dem Fachbereich. In der Session zeigen wir ein komplettes Beispiel, live und in Farbe, gehen aber auch auf Lessions Learned und Stolperfallen aus unserer Projekterfahrung ein. Vortragsfolien: Leider haben die Referenten uns ihre Vortragsfolien noch nicht zukommen lassen.
Themenbereich: Sonstiges Stichworte: Java, NIO, AsciiParsing Abstract: Geschwindigkeit und Tuning ist nicht nur etwas für Autos. Auch das Lesen oder Schreiben einer ASCII-Datei hat auf Langstrecken ein Tempolimit. Verfolgen Sie in mehreren Schritten, wie aus einer einfachen Leseroutine ein NIO betriebener Formel-1 Renner wird. In diesem Vortrag wird der Entwicklungsweg eines Parsers gezeigt, der auf ASCII-Daten spezialisiert ist. Ein besonderes Augenmerk richtet sich hierbei auf die eingesetzten Tuningwerkzeuge, eingeschlagenen Lösungswege sowie die gewonnen Erfahrungen. Vortragsfolien: D7.pdf
Themenbereich: Parallelisierung Stichworte: JDK7, Concurrency, Phaser, ForkJoin Abstract: Unter java.util.concurrent stehen heute schon Funktionen für die Parallelisierung von Java-Anwendungen zur Verfügung. Mit dem demnächst verfügbaren JDK7 wird dieser Werkzeugkasten um zwei neue Klassen erweitert: "Phaser" und "ForkJoinPool". Der Vortrag stellt die neue Funktionalität und Einsatzmöglichkeiten vor. Mit Hilfe von Beispielen werden typische Anwendungsfälle und auch mögliche Fallstricke aufgezeigt. Es wird immer wichtiger beim Design von Softwarelösungen das Thema Parallelisierung von Anfang an mit einzubeziehen. Deshalb ist es spannend zu entdecken, was dazu in der neuen Java Version geboten wird. Vortragsfolien: E1.pdf
Themenbereich: Parallelisierung Stichworte: Actors, STM, Map/Reduce, Scala Abstract: Aufgrund des Multi-Core-Trends werden sich Programmierer zukünftig vermehrt mit Konzepten wie Nebenläufigkeit beschäftigen müssen. Hierfür werden neue Paradigmen benötigt, mit denen diese Aufgaben effektiv und vor allem einfacher als mit den bisherigen Mitteln gelöst werden können. Dieser Vortrag gibt einen Überblick über hierfür verfügbare Bibliotheken aus der Java- und Scala-Welt. Vortragsfolien: E2.pdf
Themenbereich: Sonstiges Stichworte: Performance, Cloud, Elastizität, Architektur, Umsetzung Abstract: Cloud ist in aller Munde und in allen Köpfen; die neue Technologie eröffnet ungeahnte Möglichkeiten, stellt aber auch neue Herausforderungen. Anhand eines aktuellen Fallbeispieles wird in diesem Vortrag gezeigt, welche Potenziale auch oder gerade für kleine und mittlere Unternehmen in der Wolke stecken. Gelegentlicher Regen ist wahrscheinlich und man braucht das richtige Werkzeug zur Ursachenforschung, um den Problemen in der Anwendung auf den Grund zu gehen (speziell wenn der Regen ins Schneetreiben übergeht). Ebenso braucht man innovative Unterstützung, wenn man die elastischen Möglichkeiten der Technologie ausnutzen will. Denn hinter der Cloud stecken hochverteilte komplexe Architekturen. Häufig haben selbst die cleversten Architekten die Übersicht verloren. Agile Entwicklung ist zwar superproduktiv, doch was genau dann im Betrieb läuft ist, weiß kaum jemand. Wäre es nicht traumhaft eine Lösung zu haben, welche genau herausfindet aus welchen Teilen die Wolke besteht, wie sie miteinander kommunizieren, wo gerade mehr Rechenpower gebraucht wird und welches kleine Rädchen in der Maschine blockiert? AppDynamics heißt die in diesem Vortrag anhand eines konkreten Falles vorgestellte Lösung: Ein innovatives Werkzeug, welches Architekturen automatisch erkennt, Schwellwerte selbsttätig ermittelt und detaillierte Informationen zur Problembehebung liefert. Und das auch in produktiven Systemen mit mehreren Millionen von Transaktionen pro Minute. Vortragsfolien: E3.pdf
22.05.2011: Referentenwechsel
Themenbereich: Architektur Stichworte: Cloud, EC2, BeanStalk, CloudBees Abstract: "Cloud Computing" ist im Moment vielleicht das meist verwendete Buzzword. Aber welche Möglichkeiten verstecken sich hinter dieser Wortwolke tatsächlich für Java-Projekte und Entwickler? Können insbesondere Enterprise Java Applikationen ohne Weiteres auf eine "Cloud" gehoben werden? Eine Betrachtung der aktuellen Situation und eine Einführung in Amazon BeanStalk, CloudBees sowie ein Ausblick auf weitere Entwicklungen. Vortragsfolien: E4.pdf
Themenbereich: Architektur Stichworte: data grid, database, nosql Abstract: RDBMS have been the data-tier solution of choice for decades. And for a good reason: they are proven, mature and their role is well understood. This talk presents the most common use cases in which a datagrid systems such as Infinispan are a better fit than a database, and the other way around. The audience will take home a an better understanding of the problem space datagrids were proved to solve, and also the strengths and weaknesses they have compared with the traditional RDMS. Vortragsfolien: E5.pdf
Themenbereich: Web2.0 Stichworte: REST, API, Meshups, Web 2.0, RIA, AJAX Abstract: Selbst für kleinere Webseiten ist eine webbasierte Schnittstelle ein Muss - sei es zur Anbindung mobiler Geräte, eines Rich-Clientes oder um das Erstellen von Meshups zu ermöglichen. Hierfür ist REST in aller Munde; aber REST ist - entgegen einer weitverbreiteten Meinung - mehr als AJAX oder XML/JSON über http. Dieser Vortrag möchte die Kernphilosophien und Vorteile einer "echten" RESTful API herausarbeiten und zeigen:
Vortragsfolien: E6.pdf
Themenbereich: Web2.0 Stichworte: Web 2.0, Performance, Ajax, JavaScript, WPO Abstract: Die JavaScript-Engine wurde zum kritischen Teil einer Webanwendung. AJAX ist jener Ansatz, der es uns erlaubt, Nachrichten asynchron zwischen Browser und Server auszutauschen. Diese neuen Technologien öffnen nicht nur neue Möglichkeiten - zu leicht ist es Fehler zu machen, die zu drastischen Performanzproblemen führen können. In dieser Session bekommen Sie einen detaillierten Überblick über die Top-5-Performanceprobleme die mit JavaScript/AJAX gemacht werden und erfahren, wie man diese Probleme verhindern kann. Vortragsfolien: E7.pdf
Themenbereich: Sonstiges Stichworte: Produktivität, Agile, Code Qualiät, Frameworks Abstract: Unterbrechungen während der Arbeit, wiederholende Tätigkeiten und Spaghetti Code sind nur drei Dinge aus der Liste, die dem Entwickler den Spaß an der Arbeit verderben können. Patrick Baumgartner und Odilo Oehmichen präsentieren ihre Top 10 der Tools und Methoden, die sich aus ihrer Erfahrung in der Projektarbeit bewährt haben. Sie werden dabei sowohl Werkzeuge zeigen, die den Entwickler beim Programmieren und seinen Projekttätigkeiten unterstützen, als auch auf Techniken eingehen, die helfen den Fokus auf die wirklichen Herausforderungen zu setzen. Jeder Teilnehmer bekommt so einen Werkzeugkasten mit nach Hause, welchen er sofort und spürbar in seinem Projekt einsetzen kann. Vortragsfolien: F1.pdf
Themenbereich: Sonstiges Stichworte: Scala, Entwurfsmuster, Funktionale Programmierung Abstract: In vielen Präsentationen von Scala wird seine große Mächtigkeit und Eleganz betont. Häufig beschränkt sich dies auf die Aufzählung der fortgeschrittenen Sprachelemente wie Funktionsliterale, Closures, Pattern-basierte Programmierung, Actors, Spracherweiterung durch DSLs und viele mehr. Es bleibt dem Zuhörer überlassen zu verstehen, warum diese Sprachelemente für ihn von Vorteil sind und wie sich diese in der Programmierung mit Scala konkret ausdrücken. In der reinen OO-Programmierung haben sich, aus den Erfahrungen mit Smalltalk, die Entwurfsmuster als sehr produktive Werkzeuge zum Anwendungsdesign entwickelt. Letztlich drücken Entwurfsmuster, wie der Name schon sagt, Programmmuster aus, die durch ihre formelhafte Definition und gleichförmigen Einsatz quasi zu neuen, höherwertigen Sprachelementen werden. Ein Visitor-Pattern wird ohne Betrachtung der Implementierungsdetails unmittelbar verstanden. Entwurfsmuster hat es lange vor der Gang of Four bereits gegeben. Die ersten Entwurfsmuster entstanden im Kontext der funktionalen Programmierung, so zum Beispiel die map-Funktion, und viele der später als Entwurfsmuster formalisierten Konzepte in Smalltalk entstammen diesem funktionalen Programmiergedanken. Es soll daher nicht verwundern, dass die in Scala zusammengefassten OO und funktionalen Programmierkonzepte zu neuen Entwurfsmustern führen, die auf den alten funktionalen Konzepten basieren. Diese Scala Entwurfsmuster zeichnen sich durch Kompaktheit und besondere Eleganz aus. Häufig kann man in Scala in wenigen Zeilen das Ergebnis eines seitenlangen Java Entwurfsmusters ausdrücken. In diesem Vortrag betrachten wir die gängigsten Java-Entwurfsmuster und wie sie in Scala eingesetzt werden sowie neue typisch funktionale Entwurfsmuster. Projektleitern und den Entwicklern wird so ein Leitfaden an die Hand gegeben, wie auf der Ebene konkreter Designs Scala möglichst natürlich eingesetzt werden kann und damit das Potential von Scala ausgeschöpft wird. Vortragsfolien: F2.pdf
Themenbereich: Sonstiges Stichworte: Java Batch, Performancetuning, Best Practices, Mainframe-Java, Erfahrungsbericht Abstract: In den letzten Jahren hat die Bedeutung der Programmiersprache Java im Mainframe- und Batchumfeld kontinuierlich zugenommen. Der Einsatz von Java wird von großen Herstellern wie IBM in diesem Bereich massiv vorangetrieben, weil immer weniger Entwickler für die klassischen Mainframe-Programmiersprachen wie COBOL oder PL/I zur Verfügung stehen. Aufgrund der besonderen Anforderungen, die die Entwicklung hochperformanter Batchanwendungen am Mainframe mit sich bringt, funktioniert das in der Javagemeinde so gerne propagierte "Write once/Run everywhere" jedoch nicht immer. Selbst erfahrene Java-Entwickler sehen sich vor große Herausforderungen gestellt, wenn es darum geht, geschäftskritische Anwendungen auf dem Mainframe zu implementieren und erfolgreich in Produktion zu bringen. Man sieht sich mit Fragen konfrontiert wie: Welche etablierten Bibliotheken sind für dieses Umfeld geeignet? Kann ich z.B. JPA/Hibernate überhaupt benutzen? Wie garantiere ich die auf der Zielumgebung erforderliche Stabilität und Performance der Anwendung? Wie gehe ich mit dem erhöhten Speicherbedarf um? Was ist mit der Wiederverwendung existierenden Fachcodes? Dieser Vortrag beleuchtet, auf welche Schwierigkeiten man als Entwickler treffen kann, welche Fehler häufig gemacht werden und zeigt in der Praxis erprobte Lösungstrategien auf, wie man Fehler und Performanceprobleme umgeht bzw. gleich vermeidet. Vortragsfolien: F3.pdf
Themenbereich: Rich Clients Stichworte: GUI, Swing, Java 2D, SwingLabs Abstract: Fachzeitschriften und Konferenzbeiträge vermitteln momentan den Eindruck, dass zeitgemäße Java-Anwendungen nur noch mit Hilfe von Web-Technologien oder SWT entwickelt werden. Das hat sicherlich damit zu tun, dass Swing den Ruf hat, sehr langsam zu sein und wenig ansprechende Ergebnisse zu produzieren. Dabei sind Swing bzw. AWT sehr viel besser als ihr Ruf. Durch den Einsatz von Effekten und Transformationen lassen sich Anwendungskomponenten sehr individuell darstellen und animieren. Wer mehr als die Java-Bordmittel verwenden möchte, findet z.B. bei SwingLabs hilfreiche Erweiterungen. SwingLabs bietet als Open-Source-Spielwiese für die Swing-Weiterentwicklung von Oracle interessante Projekte wie etwa SwingX (neue GUI-Komponenten) oder etwa das Timing Framework, das Animationen deutlich vereinfacht. Der Vortrag basiert auf Erfahrungen, die in den letzten zwei Jahren bei der Entwicklung einer großen Geschäftsanwendung gemacht wurden. Bei dieser Anwendung wurde großer Wert auf ein modernes, sehr ansprechendes GUI gelegt, um eine hohe Benutzerakzeptanz zu erlangen. Der Vortrag stellt die oben genannten Punkte vor und zeigt exemplarisch deren Verwendung. Vortragsfolien: F4.pdf
Themenbereich: Rich Clients Stichworte: UI, Desktop, Web, Design, Ergonomie Abstract: Das Benutzerinterface einer Anwendung ist das wichtigste Kriterium für die Akzeptanz beim Anwender. Es liefert den ersten Eindruck und beeinflusst damit alle weiteren Entscheidungen. Doch die meisten Entwickler scheuen sich vor diesem Thema, dafür gibt es doch Grafiker. Die Realität sieht meistens aber anders aus und was gut aussieht muss noch lange nicht gut bedienbar sein. Diese Session möchte einen Einblick in die psychologischen und gestalterischen Aspekte von Oberflächen bieten und Wege aufzeigen sie so zu designen, dass sie den Bedürfnissen des Benutzer gerecht wird. Vortragsfolien: F5.pdf
Themenbereich: Rich Clients Stichworte: ria, web, framework, ajax, vaadin Abstract: Get introduced to the Vaadin framework by one of its core developers. The Vaadin provides a desktop-like programming model on the server for creating Rich Internet Applications (RIAs) in plain Java - without the need for HTML, XML, plug-ins or JavaScript. In this session, Joonas lays out the key concepts of the server-side RIA development model and compares it to client-side RIA. To demonstrate the use of framework, an example application is developed during the session step-by-step. The presentation is concluded with pointers on how to start developing your own applications with Apache-licensed Vaadin-framework. You'll learn:
Vortragsfolien: F6.pdf
Themenbereich: Prozess Stichworte: Softwareentwicklungsprozess, modellgetriebene Softwareentwicklung, UML, Modelltransformationen Abstract: Komplexitätsbeherrschung und Qualitätssicherung werden immer zentrale Herausforderungen in der Softwareentwicklung bleiben. Die Problematik besteht nicht darin, dass unzureichend Tools oder Wissen über Vorgehensweisen existieren. Vielmehr fehlt das Verständnis, wie mit den vorhanden Werkzeugen und Methodiken ein transparenter und qualitätsgesicherter Entwicklungsprozess umgesetzt werden kann. Dieses Wissen beruht in der Regel auf Erfahrungen, die über mehrere Jahre hinweg beim Leben des Prozesses gesammelt werden. Dieser Vortrag gibt Einblick in einen modellgetriebenen Softwareentwicklungsprozess und wie dieser bei einer großen Krankenversicherung umgesetzt ist. Angefangen bei den Anforderungen wird aufgezeigt, wie der Entwicklungsprozess durch einzelne, aufeinander aufbauende Phasen bis hin zur Codegenerierung gelebt wird. Dabei spielen ein zentrales Modellrepository, automatisierte Modelltransformationen und Traceability eine wichtige Rolle. Vortragsfolien: F7.pdf
![]() |