zum aktuellen Java Forum Stuttgart
•
Kontakt
•
Impressum
|
Abstracts zum 11. Java Forum Stuttgart Fett markierte Vortragskürzel: Vortragsfolien liegen vor.
Stichworte: Software-Architektur, Code-Qualität, Design Patterns Abstract: Ein kurzweiliger und amüsanter Einblick in die wichtigsten Java Coding-, Design- und Projekt- Strategien um Ihre Kollegen sicher davon abzuhalten, Ihren Code verstehen oder gar pflegen zu wollen. Mit vielen praktischen Code-Beispielen und ausführlicher Anleitung, um dabei die wichtigsten Fehler zielsicher begehen zu können - oder auch nicht. Vortragsfolien: A1.pdf
Stichworte: OSGi, AOP, Open-Source, Architektur Abstract: Im Rahmen des Eclipse-Equinox-Projektes ist über die letzten Jahre eine Erweiterung für die Equinox-OSGi-Implementierung entwickelt worden, die es erlaubt, aspektorientierte Techniken auch in OSGi-basierten Systemen anzuwenden. Damit wird es möglich, Aspekte in OSGi-Bundles zu modularisieren und die Verwebung der Aspekte durch die OSGi-Runtime selbst erledigen zu lassen (per load-time weaving). Dem Entwickler stehen damit alle Möglichkeiten aspektorientierter Programmierung auch für OSGi-Systeme zur Verfügung. Der Vortrag gibt einen praxisorientierten Einstieg in die Verwendung dieser Equinox-Erweiterung und zeigt, wie einfach sich Aspekte und OSGi-Bundles miteinander kombinieren lassen. Es wird darüber hinaus gezeigt, wie beispielsweise das neue Allianz Business System von dieser Technik profitiert. Der zweite Teil des Vortrags gibt einen Einblick in die Implementierung der Equinox-Erweiterung und zeigt, wie sich auch andere Bytecode-Modifizierungen (beispielsweise für JPA) realisieren lassen. Eine Reihe von Beispielen und Live-Demos sind fester Bestandteil der Präsentation. Vortragsfolien: A2.pdf
Stichworte: Java Programmierung Abstract: Mit der zunehmenden Verwendung von Multicore-Prozessoren ergibt sich für Java-Entwickler die Notwendigkeit, das Java-Memorymodell genauer zu verstehen. Es kann nämlich passieren, dass Multithread-Anwendungen, die auf ein Single-Core-Systemen "fehlerfrei" funktionieren, auf einer Multi-Core-Architektur "unerklärlicherweise" Fehler liefern. Das kann u.U. mit dem Caching auf Prozessorlevel zusammenhängen. Um generell auf die Problematik aufmerksam zu machen, betrachten wir in dem Tutorial die Java-Sprachmittel für Multithread-Programmierung. Stichworte: alte und neue Locks, volatile und atomic Variablen, Memorymodell, Visibility und Reordering, lock-free Programming. Vortragsfolien: A3.pdf
Stichworte: Java Echtzeit Embedded Speicheranalyse Abstract: Java ist in Entwicklungsprojekten mit weichen Echtzeitanforderungen bereits etabliert. Denn verglichen mit dem Einsatz von C und C++ bietet Java einen zweifachen Produktivitätsgewinn in der Neuentwicklung. Während der Wartungsphase und bei der Wiederverwendung existierenden Codes wird sogar eine bis zu 10-fache Kostenersparnis erzielt. Allerdings war der Einsatz von Java im Bereich harter Echzeit bisher nicht möglich. Dort muss garantiert sein, daß Software ohne Ausnahme alle zeitlichen Randbedingungen einhält und der Applikation immer genügend Speicher für ihre Operationen zur Verfügung steht. In diesem Vortrag werden spezielle Methoden für die Programmierung von Software in Java vorgestellt, die auf die Einhaltung von zeitlichen und räumlichen Randbedingungen getestet werden kann. Ausserdem werden besondere Entwicklungswerkzeuge präsentiert, die die Ressourcenanalyse für diese Art von Beweisen automatisieren. Diese Ansätze für harte Echtzeit basieren auf Standardisierungsbemühungen innerhalb des Java Community Process als JSR 302. Eine spezielle Implementierung dieser Technologie zeigt, daß "harte Echtzeit"-Javakomponenten mit weniger als einem Zehntel des Speichers und bis zu dreimal schneller als vergleichbare traditionelle Javatechnologien ausgeführt werden können. Der Determinismus verbessert sich zuätzlich um mehr als das Zwanzigfache. Weiterhin stellen wir eine eine hochperformante und robuste Schnittstelle vor, mit der eine Kombination von harten und weichen Echtzeitsoftwarekomponenten möglich wird. Diese Konfiguration ist ideal für moderne, komplexe Softwaresysteme. Vortragsfolien: A4.pdf
Stichworte: Java multi-core echtzeit parallel Abstract: Die immer stärkere Verbreitung von Mehrprozessorarchitekturen will einen sehr tiefgreifenden Einfluss auf den Software-Entwicklungsprozess haben. Der Trend zu Mehrprozessorsystemen greift dabei auch auf eingebettete Systeme über. In diesem stark wachsenden Markt gibt es neben den Korrektheitsanforderungen häufig sehr strikte Anforderungen an das zeitliche Verhalten, die Sicherheit und die Robustheit. Das JEOPARD Projekt (Java Environment for Parallel Realtime Development) hat im Januar 2008 begonnen und befasst sich damit, wie Echtzeit-Java auf Mehrprozessorsystemen technisch unterstützt werden kann und welche zusätzlichen Möglichkeiten Entwicklern zur Verfügung gestellt werden sollten, um die Möglichkeiten von parallelen System auszunutzen. JEOPARD adressiert dabei die verschiedene Ebenen einer echtzeit-Java Implementierung für Mehrprozessorsysteme: Beginnend mit den oberen API-Ebenen, die spezielle Funktionen für die effiziente Parallelisierung und vorhersagbare Ausführung auf diesen Systemen ermöglichen, über die Ebenen der VM Implementierung mit paralleler echtzeit Garbage Collection bis hinunter zum Betriebssystem und parallelen Prozessorarchitekturen. Zusätzlich werden Werkzeuge für die Analyse von parallelen Anwendungen vorgestellt. Der Vortrag präsentiert anhand von Beispielen, welche Fehler typische Java Anwendungen enthalten, die auf Mehrprozessorsystemen zu katastrophalen folgen führen können. Es wird gezeigt, wie diese Fehler gefunden und umgangen werden können und mit welchen Techniken nicht nur funktional korrekte, sondern auch zeitlich vorhersagbare und effiziente parallele Anwendungen in Java entwickelt werden können. Vortragsfolien: A5.pdf
Stichworte: Mobile, OpenSource, Google Android Abstract: Mit Android hat Google in Verbindung mit über 30 Partnern eine Plattform für mobile Anwendungen auf den Markt gebracht, die schon einiges an Aufmerksamkeit auf sich gezogen hat. Die Rezeptur für Google Android wurde sehr klug ausgewählt. Zunächst wurde einmal Java als Implementierungssprache gewählt und somit wird eine grosse Schar von potentiellen Entwicklern adressiert. Auf Herstellerseite wurde auf einen Linuxstack und eine eigene VM (Dalvik) gesetzt. Dadurch entstehen hier auch keine Lizenzkosten. Diese beiden Dinge sind sicherlich ein grosser Pluspunkt für die Plattform und stellen eine direkte Konkurrenz zu JavaME und iPhoneSDK dar. Der Vortrag stellt einmal die Bestandteile von Google Android vor und zeigt, wie damit Anwendungen entwickelt werden können. Vortragsfolien: A6.pdf
Stichworte: Embedded Java, Google Android, Web 2.0, OpenSource Abstract: Dieser Vortrag führt den Java Entwickler in die Programmierung der Google Android Plattform für Mobile Geräte ein. Im Rahmen des Vortrags werden folgende Themenbereiche vorgestellt:
Es wird eine Online Demo durchgeführt, die eine Live-Integration von Internetdiensten auf der Android Plattform zeigt. Vortragsfolien: A7.pdf
Stichworte: Eclipse, Web 2.0, Server, Architektur Abstract: The Eclipse platform is a great success on the client-side. Plug-ins and Extension Points based on the OSGi runtime are solid architectural building blocks. Server-side Eclipse (SSE) wants to achieve the same success on the server-side. Today you can find a plug-in for almost every purpose to install into your Eclipse SDK. The vision of SSE is to have the same amount of plug-ins available for servers. Imagine extending your server with additional functionality by installing some extra bundles, e.g. a log analyzer for your HTTP service. Eclipse-based servers use the OSGi runtime which provides a service abstraction. OSGi services map well to services in SOA. OSGi is a dynamic environment where bundles can be installed, started, stopped and uninstalled at runtime. Server-side Eclipse can be used to develop dynamic applications running 24/7 where bundles can be updated without causing down times. Another scenario are servers running multiple versions of a service at the same time. In our presentation we give an overview of the current state of Server-Side Eclipse and Eclipse projects using SSE. Based on our experiences we speak about the limitations and the potential of the SSE technology. The talk includes several code examples and live demos. Frank and Jochen are the chairs for SSE Symposium at Eclipse Summit Europe 2006 and 2007.
Stichworte: EclipseLink, JPA, TopLink, OpenSource, Oracle, WPT Abstract: Building applications for the J2EE certified Oracle Application Server and the industry leading Oracle Database has never been easier thanks to the availability of open source tools and runtime frameworks from Eclipse. In this session we'll demonstrate how to build a complete application that spans the Oracle technology stack from database up to the browser using the Eclipse IDE. We'll see how projects like WTP, DTP, and EclipseLink can be used to build and deploy rich internet applications using popular Java technologies including JSF, JPA, and EJB 3. If you're using Oracle technology or any other standards based application server then this session is for you!
Stichworte: Eclipse FRamework, Eclipse Link, Oracle, WTP Abstract: For over a decade now, Oracle TopLink has delivered a premiere Java persistence solution. With the open sourcing of the complete TopLink product in the Eclipse Persistence Services ('EclipseLink') Project, a new era has begun. EclipseLink delivers a comprehensive set of persistence services addressing relational, XML and non-relational data stores through standard interfaces including JPA, JAXB, SDO and JCA. In this session, we will introduce the EclipseLink project and its various persistence services, with a focus on its object-relational JPA implementation including a demonstration of how it can be used within various Java containers. Vortragsfolien: B3.pdf
Stichworte: Mylyn, Task-focused UI Abstract: This talk will start with an overview of Mylyn's task management features including offline editing, background synchronizations and change notifications, and demonstrate how these work for repositories such as Bugzilla, JIRA, and Trac. Once your tasks are in Eclipse, Mylyn provides support for automatically managing your task context as you work, an approach that has been validated to make programmers much more productive. Demonstrations of the tool will show you how to get the most out of Mylyn's task context management when working with Java, plug-ins, and web applications. Mylyn's task context sharing and change set management will then be used to show how Mylyn can make the entire development team more productive by realigning interaction around tasks. Vortragsfolien: B4.pdf
Stichworte: MDSD, Eclipse, GMF, EMF Abstract: Eclipse bietet mit EMF (Eclipse Modeling Framework) und GMF (Graphical Modeling Framework) bereits seit einiger Zeit zwei ausgereifte Plugins mit deren Hilfe man sich individuelle, grafische DSL Editoren erstellen kann. Mit ein wenig Know-How lassen sich so in relativ kurzer Zeit Grundgerüste generieren, aus denen man anschließend mittels gezieltem Customizing vollwertige Editoren erhält. Diese Session soll zunächst in die Grundlagen von EMF/GMF einführen und am praktischen Beispiel die Mechanismen aufzeigen, die notwendig sind um diese Grundgerüste zu erstellen. Abschließend soll ein kurzer Blick auf die generierten Artefakte aufzeigen, welche Eingriffsmöglichkeiten für individuelles Customizing bestehen. Vortragsfolien: B5.pdf
Stichworte: Kollaborative Software Entwicklung, Agile Software Entwicklung, Eclipse Abstract: Developing software in a team is much like playing an instrument in a band. Both require a balance of team collaboration and solo expertise. A goal of the Jazz project is to provide a team and teams of teams with a stage that supports developing software in this style. Rational Team Concert is the first product that comes out of this project. Team Concert provides agile teams with an integrated tool set including source control, work item tracking, and continuous integration and build management. It provides collaboration facilities and a high degree of transparency throughout development, and enables a team to establish their processes to reduce team mistakes. This talk shows how Team Concert addresses common pain points of software development and how the Jazz team leverages Team Concert for their own distributed development. Vortragsfolien: B6.pdf
Stichworte: Eclipse RAP, Erfahrungsbericht, Web2.0 Abstract: In den letzten 1 1/2 Jahren wurde bei der CAS Software AG, dem führenden deutschen CRM-Spezialist für den Mittelstand, das Software-as-a-Service Produkt "teamCRM" auf Basis von Eclipse RAP (Rich Ajax Platform) entwickelt. CAS gehört damit zu RAP-Anwendern der ersten Stunde und verfügt über umfangreiche Erfahrungen mit der Technologie. RAP ermöglicht Java Entwicklern die Erstellung von RIAs (Rich Internet Application) ohne sich mit Low-Level Technologien wie JavaScript, XmlHttpRequest, Browser DOM etc auseinanderzusetzen. RAP baut auf Java-Servlet Technologie auf und kombiniert diese mit dem leistungsstarken OSGi Modulkonzept und den APIs von Eclipse RCP. Im Vortrag wird an Hand einer kurzen Demonstration der Software die Modularisierung der TeamCRM-Anwendung durch die Verwendung von Plug-ins (OSGi-Bundles) erläutert. Die im Laufe der Modularisierung gewonnenen Erkenntnisse werden vorgestellt. Weiterhin wird die Bereitstellung anwendungsspezifischer Oberflächenfunktionalitäten durch Custom-Widgets erläutert. teamCRM enthält beispielsweise einen Terminkalender, der sich durch hohen Benutzungskomfort sowie eine optisch ansprechende Gestaltung auszeichnet, und der in JavaScript (qooxdoo) implementiert wurde, während viele andere spezifische Komponenten durch einfache Komposition bereitgestellt wurden. Der Vortrag schliesst mit einer Beschreibung des Develop/Run/Debug Zyklus basierend auf dem zur Verfügung stehenden Tooling. Vortragsfolien: B7.pdf
Stichworte: Testen, FIT, Prozess Abstract: "Dokumentation ist nicht Teil der Lösung, sondern Teil des Problems." Dokumente sind oft die erste Anlaufstelle, um sich in fremde Systeme einzuarbeiten. Leider sieht es in der Praxis aber oft so aus, dass Dokumente widerwillig erstellt, nur oberflächlich geprüft und danach nie wieder angefasst werden. Entsprechend nehmen die Qualität und die Übereinstimmung mit der Realität immer mehr ab. Mit dem FIT-Framework von Ward Cunningham besteht die Möglichkeit, Dokumente als Eingabe für Integrations-Tests heranzuziehen und damit auch die Dokumentation aufzuwerten und abzugleichen. Dieser Beitrag berichtet von den Erfahrungen mit dem FIT-Framework: zum einen, wie bei der Schufa erfolgreich ein Betriebshandbuch erfolgreich eingebunden und automatisch geprüft werden konnte, zum anderen, wie durch den konsequenten Einsatz im Fachkonzept für Giropay Integrationstests ihren Schrecken verlieren. Vortragsfolien: C1.pdf
Stichworte: QA, GUI Testing, Swing, AWT, Eclipse, RCP Abstract: Dieser Vortrag widmet sich den Herausforderungen und Lösungsansätzen für das automatische Testen von Java GUI Applikationen. Dabei wird besonderer Augenmerk auf das Ertstellen plattformunabhängiger und robuster Tests gelegt, die auch nach Änderungen an der grafischen Oberfläche der zu testenden Anwendung noch funktionieren. Schließlich sollen automatische Tests den Arbeitsaufwand reduzieren und nicht erhöhen. Weitere Themen des Vortrags sind Besonderheiten der Java GUI Toolkits, die man bei der Testerstellung beachten sollte, und die Integration der automatischen Test Ausführung in Eclipse, Ant und andere Systeme sowie die Testauswertung und testgetriebene Entwicklung. Der Vortrag wird eine Mischung von Theorie und praktischen Vorführungen mithilfe des GUI Test Tools Squish bieten. Vortragsfolien: C2.pdf
Stichworte: BPM, Open Source, Geschäftsprozesse Abstract: Inzwischen hat sich die Erkenntnis durchgesetzt, dass Business Process Engines hervorragend mit Rule Engines kombiniert werden können. Dies ermöglicht einfachere Geschäftsprozesse und flexiblere Geschäftsregeln. Auch stehen Rule Engines kurz davor, zum neuen Hype zu werden, was Prozessmaschinen bereits sind. Die Session gibt einen Überblick über die Technologien dahinter und typische Integrationsarten der zwei Konzepte. Sie geht aber auch auf Probleme und Fallen ein. Am Beispiel JBoss jBPM und JBoss Drools, der erfolgreichen Open Source Projekte für Process und Rule Engine, werden die Konzepte konkret verdeutlicht und Beispiele gegeben. Vortragsfolien: C3.pdf
Stichworte: Architektur, Komponenten, Modellgetriebene Softwareentwicklung Abstract: Modellgetriebene Softwareentwicklung (oder kurz MDSD) spielt in der Produktentwicklung der Cellent Finance Solutions AG seit einigen Jahren eine tragende Rolle. In diesem Vortrag möchten wir Ihnen einen Einblick in unseren Alltag geben. Wir zeigen Ihnen, wie sie mit einem Mix aus Open Source, kommerziellen Lösungen und einer Komponentenarchitektur kostengünstig, effezient und sicher Software entwickeln können. Dazu machen wir einen Ausflug in die Welt von MagicDraw, open Architectureware, Maven und Subversion - mit allen Höhen und Tiefen, denen wir bei der Entwicklung unserer Arbeitsumgebung begegnet sind. Wir werfen einen Blick auf die Modellierung graphischer Benutzeroberflächen, zeigen die Herausforderungen, die eine Produktion von Komponenten für mehrere Plattformen birgt und wie Sie sie lösen können. Vortragsfolien: C4.pdf
Stichworte: Subversion, Eclipse, OpenSource, BugTracking Abstract: Als SVN Team Provider ist Subversive in der Eclipse Community schon seit längerem bekannt. Mit der Eclipseversion 3.4 wurde Subversive offizieller Bestandteil der Eclipse distribution. Von den Machern von Subversive kommt ein weiteres freies Werkzeug mit dem Namen FastTrack. FastTrack ist ein Tracking Tool, das alle Items (Bugs, tasks etc) direkt in Subversion speichert. Vortragsfolien: C5.pdf
Stichworte: Entwicklung, Debugging, Vorgehen Abstract: Es scheint klar, tut ein Programm nicht was es soll, nimmt man einen Debugger. Läuft es zu langsam oder verbraucht zu viel Speicher, nimmt man einen Profiler. Aber ist dies immer das richtige Vorgehen? Spätestens wenn mächtige Frameworks wir Hibernate im Spiel sind, ist es nicht immer einfach, schrittweise durch das Programm zu schreiten, um zu sehen was es genau tut. Läuft die zu untersuchende Logik in einer Transaktion und erhält man während des Durchsteppens in eine Zeitüberschreitung, sind nachfolgende Resultate unbrauchbar. Ein Profiler läuft während der Ausführung des Codes und kann so die verwendeten Code-Pfade aufzeichnen. Dabei ist es natürlich nicht möglich, alle Variablen und deren Änderungen mitzuprotokollieren, für einen Überblick über die (möglicherweise falsche) Funktionsweise eines Programms reicht es aber oftmals aus. Diese Session möchte zeigen, wie man mit einem Profiler zu Aussagen über die Funktionsweise von Code kommen kann, die so mit einem Debugger nicht möglich sind. Dabei möchte der Vortrag anregen, durch unkonventionelle Methoden zu Problemlösungen zu kommen. Vortragsfolien: C6.pdf
Stichworte: Softwareentwicklungsprozess, Produktivität, Wissensarbeit, Lernen Abstract: Viele Unternehmen diskutieren intensiv über Softwareentwicklungsprozesse, die heute in einer Vielzahl von Ausprägungen verfügbar sind. Dabei fokussiert die Diskussion meist darauf wie agil oder wie industriell die Entwicklung erfolgen soll. Meistens wird das Thema aus der Perspektive der Steuerbarkeit des Entwicklungsprozesses behandelt, da sich die Dimensionen Zeit und Kosten in Projekten oft als schwer beherrschbar erwiesen haben. Der Vortrag betrachtet Softwareentwicklung aus einer kognitiven Perspektive, welche den für Wissensarbeit charakteristischen mentalen Problemlöseprozess ins Zentrum stellt. Die Einführung in die Grundlagen des Problemlösens erfolgt anhand der unterschiedlichen Barrieretypen sowie des zweifachen Handlungsfeldes des Wissensarbeiters. Durch Beispiele macht der Vortrag den Unterschied zu Routinearbeit deutlich. Mit dem fundamentalen Modell des zweifachen Handlungsfeldes des Wissensarbeiters werden Selbststeuerung und Lernen beim Problemlösen anschaulich gemacht. Eine kleine Denksportaufgabe unter Einbezug der Zuhörer macht das zweifache Handlungsfeld sofort real erlebbar. Projektmanager, Architekten, Business Analysts und Softwareingenieure erhalten Einblick in die mentalen Prozesse der beteiligten Wissensarbeiter und verstehen den fundamentalen Zusammenhang zwischen den Dimensionen Agilitätsgrad des Entwicklungsprozesses sowie dem Lernbedarf und dem aktuellem Wissensstand jedes Einzelnen. Damit sind die verschiedenen Softwareentwicklungsprozesse wesentlich besser zu beurteilen und auf ihre Eignung sowie Anpassbarkeit für ein Unternehmen oder ein einzelnes Projekt einzuschätzen. Projekte sind dann nicht nur besser steuerbar, sondern die beteiligten Wissensarbeiter auch deutlich produktiver. Vortragsfolien: C7.pdf
Stichworte: Sicherheit, Code Review, Web Anwendungen, Secure Coding Abstract: Sichere Anwendungen beginnen bereits mit sicheren Quelltexten. Aber wie schreibt man einen sicheren Code und wie können Sicherheitsprobleme im Quelltext identifiziert werden? Dieser Vortrag zeigt anhand von konkreten Beispielen, wo und wie Entwickler und Architekten auf Sicherheit achten müssen. Web-Anwendungen, Datenbank-Zugriff, Validierung und mehr werden behandelt. Das Thema Code Review wird auf verschiedenen Ebenen behandelt, so dass es klar ist, welche Problemarten mittels Tools und welche Problemarten nur durch Expertenanalyse gefunden werden können. Der Einsatz von Tools und ein Marktüberblick runden die Präsentation ab. Vortragsfolien: D1.pdf
Stichworte: Security, OpenSource, Identity Management, Web2.0 Abstract: Bei der Anwendungssicherheit haben sich einige Best Practices entwickelt, um gängige Angriffe wie beispielsweise SQL Injection, Parameter Tampering, URL Encoding zu verhindern. In dieser Session wird anhand von praktischen Beispielen gezeigt wie mit aktueller Technik diesen Gefahren in Java entgegen gewirkt werden kann. Vortragsfolien: D2.pdf
Stichworte: Security, Entwicklungsprozess, Agil Abstract: Sicherheit ist zu einer wichtigen Komponenten nahezu jeder Anwendung geworden. Doch ist Sicherheit tatsächlich nur eine Komponenten? Die Literatur besagt das Sicherheit ein Prozess ist, und kein Produkt. Wie bekomm ich aber diesen Prozess in meinem Entwicklungsprozess unter? Steuert jetzt Security meinen Entwicklungsprozess, und wie verhält sich das mit agilen Entwicklungsprozessen? Erfahren Sie hier Ansätze und Ideen wie Sie sowohl sichere als auch wirtschaftliche und funktionale Anwendungen entwickeln können. Vortragsfolien: D3.pdf
Stichworte: Ajax, JSF, Web 2.0 Abstract: JSF has seen increased momentum among enterprise Java developers ever since JSF made it into Java EE 5.0 and became the standard framework for Java-based Web development. While some are just now taking their first steps with JSF, early adaptors of JSF have already discovered both the upsides and downsides of this framework. And while some are just waiting for the next major JSF release to be completed, others have implemented many enhancements on top of JSF in commercial and open-source frameworks. This session explains areas in which JavaServer Faces needs to advance to meet the requirement of Rich Internet Application (RIA) development with Ajax. Live demos use the ADF Faces Rich Client component set that is built on top of the Apache MyFaces Trinidad project. ADF Faces Rich Client is a blueprint of what's missing in JSF: Strategies for reuse, declarative components, enhanced page templating and extended page flow concepts and scopes. Join this session and learn how you become productive tomorrow using JavaServer Faces and Ajax. Outline of the presentation :
Vortragsfolien: D4.pdf
Stichworte: Grails, Groovy, Web2.0, Webentwicklung Abstract: Grails ist DAS Webframework basierend auf der dynamischen Sprache Groovy. Es basiert auf den Prinzipien "Konvention statt Konfiguration" und "Don't Repeat Yourself" (DRY) und erlaubt so die schnelle und leichtgewichtige Entwicklung von Web-Anwendungen. Grails bedient sich ausgereifter Technologien wie Spring, Hibernate und Sitemesh und dirigiert deren Zusammenspiel anhand von zahlreichen Domain Specific Languages (DSLs) in einer Model-View-Controller-Umgebung (MVC). Seit Anfang 2008 ist Grails in der Version 1.0 verfügbar - und schon seit längerem keine einfache Transformation mehr des erfolgreichen Ruby-on-Rails-Webframeworks. Grails hat viele eigene Ideen umgesetzt und sich so zu einer sehr attraktiven Alternative für alle J2EE-Entwickler im Webbereich entwickelt. Noch hat effektive und effiziente Webentwicklung auf der Java-Plattform so viel Spaß bereitet! Der Vortrag zeigt Grundlagen von Grails in der Theorie (Folien) und anhand von Beispielen: Es wird live ge-code-d! Vortragsfolien: D5.pdf
Stichworte: JSF, Trinidad, Web 2.0 Abstract: Java Server Faces (JSF) haben sich als Technologie für die Gestaltung von Oberflächen in Java Applikationen etabliert. Sie bieten dem Entwickler die Möglichkeit, mit Hilfe von Komponenten, komplexe (Web-)Oberflächen im "Baukastenprinzip" zu gestalten. Die zugehörigen Bausteine (Komponenten) liefern einige OpenSource Projekte - unter anderem auch das Trinidad Projekt, welches unter Apache MyFaces gehostet wird. Präsentieren sich die derzeit verfügbaren Komponenten des Projektes noch in einem "braven" webüblichen Layout, ändert sich das in der neuen Version fundamental. Die so genannten Rich Client Komponenten bieten dem Entwickler die Möglichkeit im Browser Funktionalitäten umzusetzen, wie es bisher nur in "heavy client" Applikationen möglich war. Der Vortrag gibt eine kurze Einführung in JSF und einen kleinen Überblick über die vorhandenen OpenSource Projekte. Danach werden einige ausgewählte Komponenten aus dem Oracle Application Development Framework Faces (ADF Faces werden 1:1 an Apache MyFaces Trinidad übergeben) anhand einer kleinen Beispielapplikation vorgestellt. Zum Abschluß werden noch einige neue Features, "behind the scenes" vorgestellt, die das Entwicklerleben stark erleichtern. An erster Stelle ist hier JSF Task Flow zu nennen. Task Flow ist eine Statemachine, die zu 100% in JSF integriert ist (anders als zum Beispiel Spring Webflow). Vortragsfolien: D6.pdf
Stichworte: JavaServer Faces, Portale, Portlets, Portlet Bridge Abstract: Der Einsatz von JavaServer Faces als UI-Framework hat sich in den letzten Jahren durchaus bewährt. Pionierarbeit muss man allerdings (noch) betreiben, wenn JavaServer Faces in einer Portalumgebung (JSR-168 oder JSR-286) eingesetzt werden soll. Da beide Frameworks unterschiedliche Lebenszyklen aufweisen, müssen diese zunächst aufeinander angepasst werden. Diese Arbeit übernehmen sogenannte Bridges. Die Standardisierung dieser JSF-Portal-Brücken wird seit einigen Monaten im JSR-301 (Portlet Bridge Specification for JSF) vorgenommen. Damit soll ein allgemeiner Standard für die Verwendung von JSF in einer Portalumgebung geschaffen werden. Der Vortrag zeigt auf, welche Schwierigkeiten und Herausforderungen es in der Kombination von JSF und Portalen/Portlets gibt. Zudem werden Lösungsstrategien vorgestellt und aufgezeigt, wie eine erfolgreiche Kombination von JSF und Portlets gelingen kann. Der Referent selbst ist Mitglied der Expertengruppe des JSR-301 und kann damit aus erster Hand berichten, wie JSF und Portlets mit Hilfe der neuen Portlet-Bridge kombiniert werden können. Vortragsfolien: D7.pdf
Stichworte: Eclipse, BIRT, report, scripting, eventhandler Abstract: This discussion will focus on the more advanced reporting interfaces found in the BIRT Report Designer including report customization using expressions and scripting, building reports with re-use in mind, and internationalization of report elements. While many reports start with a query and a simple layout, it doesn’t take long before custom logic is needed to meet the complex requirements of the report. The data is rarely in the exact form needed by the report and the people requesting reports often have complex requirements for how the data should appear within the report. Scripting in BIRT allows developers to add custom code all throughout the report design either to manipulate the report data, or to adjust report content conditionally. This session will cover the use of scripting in various parts of your report building process including a scripted data set, adding scripting to report elements, scripting with parameters, as well as using scripting in expressions and events. We will also cover reusable library components, and how to access external Java classes. Finally, we will discuss the Internationalization of report elements in BIRT. Vortragsfolien: E1.pdf
Stichworte: Datenbank, SOA, BI Abstract: Auf der Suche nach dem passenden Open Source ETL (Extraction, Transform, Load)-Werkzeug. Migration und Integration bestehender Daten ist auch für Java-Anwendungen ein wichtiges und kein triviales Thema. Gerade beim Umstieg auf neue SOA oder Web 2.0 Architekturen müssen die alten Datenbestände in die neue Welt gebracht werden. Meist läuft das Ganze auf eine recht brisante Mischung aus selbst geschriebenen Skripten und Prozeduren heraus. Fertige ETL-Werkzeuge erleichtern einem diese Arbeit und lassen sich auch gut in den bestehenden Datenbewirtschaftungprozess einbinden. Bei kommerzziellen Produkten ist das oft mit einen nicht geringen Aufwand und einer langfristigen Bindung daran verbunden. Das es auch anders gehen kann möchte diese Session am Beispiel der Open Source ETL-Werkzeuge: Kettle, Octopus und JasperETL zeigen. Dabei wird untersucht, welche Frameworks es für Java dafür gibt und wie diese für diese Aufgabe eingesetzt werden können. Untersuchte ETL-Werkzeuge: Kettle, Octopus. Vortragsfolien: E2.pdf
Stichworte: EAI, SOA, Patterns, OpenSource Abstract: In einer zunehmend vernetzten und automatisierten Welt wird die Integration von IT-Systemen immer bedeutender und stellt oft eine große Herausforderung für Software- Architekten und Entwickler dar. Mit dem Einsatz von Enterprise Integration Patterns (http://www.enterpriseintegrationpatterns.com), die bewährte Integrationslösungen beschreiben, kann diese Aufgabe wesentlich vereinfacht werden. Nach einer kurzen Erläuterung einiger wichtiger Enterprise Integration Patterns, stellt Eduard Hildebrandt in diesem Vortrag das Open-Source Framework "Apache Camel" (http://activemq.apache.org/camel) vor und zeigt wie es unter Verwendung von minimalen Java oder XML Code dazu eingesetzt werden kann leistungsfähige Enterprise Integration Patterns zu implementieren um Systeme und Services über unterschiedliche Transport-Protokolle und Datenformate zu integrieren. Weiterhin wird auf die Einsatzmöglichkeiten von Apache Camel zur Überwachung und Test von Webservices eingegangen. Vortragsfolien: E3.pdf
Stichworte: Enterprise Java, OpenSource Abstract: Der Vortrag geht auf die aktuellen Planungen für die nächste Generation Java Enterprise Edition - Java EE 6 ein. Es wird ein Überblick über den Stand der Spezifikationen für EJB 3.1, Java Server Faces 2.0 und andere Technologien gegeben. Im 2.ten Teil des Vortrags wird das Open Source Projekt GlassFish als Application Server behandelt sowie dessen Unterstützung für Java EE aber auch für Scriptsprachen. Vortragsfolien: E4.pdf
Stichworte: SOA, OpenSource Abstract: Eine SOA basierend auf Open Source und dabei auch noch einfach und schnell zu installieren und zu konfigurieren? Wir werden in unserer Session zeigen, dass innerhalb einer JFS Session eine SOA-Umgebung aufgesetzt, konfiguriert und erste Services genutzt werden können. Es wird die Open Source Plattform von SOPERA eingesetzt, entwickelt bei der Deutschen Post und nun Kern des Eclipse Projektes "Swordfish". Vortragsfolien: E5.pdf
Stichworte: opensource eclipse esb jbi soa Abstract: The Swordfish project aims at providing an extensible runtime framework for creating applications following the service-oriented architecture paradigm, based on work done by Deutsche Post AG starting in 1999. Part 1 of this long talk introduces Swordfish's basic architecture and highlights some of the features that differentiate Swordfish from other open source and commercial SOA frameworks. In Part 2, I'll walk the audience through some practical examples that demonstrate how Swordfish can be used by application developers to provide and consume services. In the final part of the talk, I'll talk about the Swordfish project's future plans and notable new features in the upcoming milestone releases. Vortragsfolien: E6.pdf
Stichworte: ESB, EAI, SOA, OpenSource, ServiceMix, Architektur, JBI, BPM Abstract: SOA wird oft im Zusammenhang gesehen mit EAI und umgesetzt durch den Einsatz eines Enterprise Service Bus (ESB). Hier wird jedoch nicht die Projekt-orientierte Enterprise Application Integration beschrieben, sondern sozusagen die Intra Application Integration, also die Entwicklung und Integration eines Produkts oder einer Produktlinie auf Basis eines open-source ESB. Wir zeigen aus den Erfahrungen mit dem open-source ESB Apache Servicemix, wie man mit geringen Mitteln und einem Mash-up von open-source Software ein großes pragmatisches Service-orientiertes System bauen kann. Statt auf Mainstream J2EE zu setzen, wird mit leichtgewichtigen Containern (bspw. Spring) und JBI-basiertem Routing eine Infrastruktur für eine Produktlinen-Architektur erstellt und mit ungewöhnlichen Ideen alle Eigenschaften eines flexiblen service-orientierten Systems erreicht. Es werden Themen wie "programing in the large" Adaptoren, Embedding-Strategien für Web-Container, synchrones und asynchrones Pipeline-Design, Server-basierte User Authentication und Authorization, Modularisierung und BPM etc. angesprochen. Als Kombination aus Erfahrungsbericht und Architekturdiskussion, soll der Vortrag eine neue Art des flexiblen Produktdesigns anregen. Vortragsfolien: E7.pdf
Stichworte: OpenSource, Modellbasiert, Neueinsteiger Abstract: Auch deutlich mehr als 10 Jahre nach Veröffentlichung der Programmiersprache Java gibt es Unternehmen, die bislang sehr gut ohne die neuesten Technologiethemen ihr Tagesgeschäft erledigen konnten. Aufgrund der Marktreife, Standardisierung und Fülle von Werkzeugen, welche die Java Welt heute bietet, zieht es aber mittlerweile auch die "Late-Mover" aus ihren Löchern, um endlich von den Vorteilen der Java Plattform zu profitieren. Wie die Praxis zeigt, ist der Einstieg trotz oder gerade wegen der Vielzahl von Werkzeugen auch heute noch mit Fallstricken gespickt und immer wieder mit viel Lehrgeld verbunden. Speziell an die Neueinsteiger richtet sich dieser Vortrag, in dem nicht mit Fachbegriffen und Hypethemen jongliert wird. Stattdessen soll eine solide Basis für die erfolgreiche Arbeit im undurchsichtigen Tool- und OpenSource Dschungel geschaffen werden. Die Schaffung von Lösungen steht dabei gegenüber der Technologie-Überfrachtung klar im Vordergrund. Vortragsfolien: F1.pdf
Stichworte: Data Grid, Caching, Skalierbarkeit Abstract: Das Caching von Daten kann helfen die Performance, Stabilität und Skalierbarkeit von Anwendungen deutlich zu steigern. JBoss Cache ist die ausgereifteste Open Source Caching Lösung mit der auch die Clustering- und Hochverfügbarkeitskomponeten des JBoss Application Servers realisiert werden. Der Vortrag beschreibt die unterschiedlichen Einsatzszenarien des Caches von der Session Replikation bis hin zum Data Grid und geht dabei auch auf komplexe Themen wie Classloading, Cache Loader, Eviction Policies, Transaktionalität und die AOP Implementierung des Caches ein. Vortragsfolien: F2.pdf
Stichworte: OutOfMemoryError, Hprof heap dump, memory footprint Abstract: Although there are many factors that can affect the quality of service an application delivers, few have as severe a negative impact as poor memory utilization. Analyzing memory-related problems such as memory leaks or a high memory footprint has proven to be very time-consuming and difficult. Fortunately, the process might be significantly simplified by a memory analyzer tool recently contributed to the open-source community by SAP. This session provides an advanced introduction into the memory analysis and is a quick start for those willing to achieve proper performance in their Java applications. The talk presents a robust yet easy-to-use tool that automates and noticeably eases the analysis. In the course of the session you will:
Vortragsfolien: F3.pdf
Stichworte: ApplicationServer, Mainframe, OpenSource Abstract: Auf Mainframes laufen nach wie vor sehr viele geschäftskritische Anwendungen, wie z.B. Banktransaktionen und Buchungssysteme. In diese, traditionell von älteren Programmiersprachen dominierten Bereiche, dringt auch zusehends Java als neue Technologie vor. Dieser Vortrag gibt einen Überblick über verfügbare Open Source Application Server auf Großrechnern und deren Einsatzmöglichkeiten im Zusammenspiel mit etablierten Anwendungen, sowie den Nutzen solcher Anwendungsserver auf Großrechnersystemen. Vortragsfolien: F4.pdf
Stichworte: Java Programmierung Abstract: Annotations sind als Sprachmittel in Java 5.0 hinzugekommen. Sie werden hauptsächlich von Tool-Herstellern (wie z.B. von Junit oder in EJB 3) definiert und ausgewertet. Die meisten Java-Entwickler beschränken sich auf die Verwendung vordefinierter Annotations und ziehen selten in Erwägung, Annotations selber zu definieren und zu verarbeiten. Mit der Verwendung vordefinierter Annotation erschöpfen sich die Einsatzmöglichkeiten aber keineswegs. Annotations können relativ einfach auch für eigene Hilfsmittel und Werkzeuge verwendet werden. Das Auswerten von Source-Code-Annotations wird seit Java 6.0 sogar direkt vom Java-Compiler unterstützt. Vortragsfolien: F5.pdf
Stichworte: Tomcat 6, Loadbalancing, Hochverfügbarkeit, Clusterkonfiguration, Failover Abstract: Der Vortrag zeigt, wie man der Forderung nach Hochverfügbarkeit und Lastverteilung von Webcontainern mit Tomcat 6 gerecht werden kann. Ausgehend von einer einzelnen Tomcat Instanz werden die Konfigurationsschritte für eine komplette Clusterumgebung mit vorgeschaltetem Apache Webserver aufgezeigt. Diese beherrscht das Loadbalancing der Tomcat-Instanzen sowie die Replikation der Sessiondaten via Multicasting für ein transparentes Failover. Vortragsfolien: F6.pdf
Stichworte: Parallelisierung, Mehrkernprozessoren, Java Concurrent API, Multithreading, OpenMP Abstract: Während mehrere physikalische Prozessoren noch vor ein paar Jahren lediglich teuren Servermaschinen vorbehalten waren, feiern die Hersteller Intel und AMD seit zwei Jahren den Einzug der sogenannten Mehrkernprozessoren in die Wohnzimmer der Privatanwender - und das zu Preisen, die noch vor wenigen Jahren undenkbar gewesen wären. Dieser grundsätzliche Wandel in der Hardwarearchitektur bietet nicht nur für Java Entwickler ganz neue Möglichkeiten: während Thread basierte Java Client Anwendungen in der Vergangenheit auf Einkernprozessoren nur quasi-parallel abliefen, machen es die Mehrkernprozessoren nun möglich, parallelisierbare Aufgaben tatsächlich auf mehrere physikalische Prozessoren zu verteilen. Eine intelligente Verteilung kann nicht selten zu einem (fast) linearen Anstieg der Ausführungsgeschwindigkeit führen. Mit der Einführung der Java Concurrent API in Java 5 stand zusätzlich auch erstmals eine leistungsfähige API zur Verfügung, die das Entwickeln parallel ausführbarer Codeteile deutlich erleichtern sollte. Der Vortrag zeigt die Möglichkeiten für Java Anwendungen, die sich aus dem Einsatz der Java 5 und 6 Laufzeit auf Multi Core Maschinen ergeben und zeigt an einem Beispiel, wie sehr sich die Performanz durch geschickte Parallelisierung steigern lässt. Wir wollen den Zuhörern zudem eine Checkliste an die Hand geben, die sich auf alle Teile der Anwendung anwenden lässt. Dabei sollen die Fragen beantwort werden: wann macht es wirklich Sinn, die Möglichkeiten der Mehrkernprozessoren voll auszunutzen? Wann wirkt sich dies negativ auf die Ausführungsgeschwindigkeit aus? Vortragsfolien: F7.pdf
|