zum aktuellen Java Forum Stuttgart
•
Kontakt
•
Impressum
![]() |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() |
![]() |
![]() Abstracts zum 12. Java Forum Stuttgart Fett markierte Vortragskürzel: Vortragsfolien liegen vor.
Stichworte: BPM, Architektur, Workflow Abstract: Die Open Source Business Process Engine JBoss jBPM erfreut sich großer Beliebtheit. Die Version 4 bringt einige Neuerungen mit: Die Process Virtual Machine (PVM), die verschiedene Sprachen und eigene DSLs unterstützen kann, eine besser abstrahierte API und natürlich die Modellierung in der von der OMG standardisierten BPMN. Neben der allgemeinen Vorstellung von jBPM wird anhand eines Beispiels die Umsetzung von Geschäftsprozessen mit der Prozesssprache jPDL gezeigt. Vortragsfolien: A1.pdf - Update am 03.07.2009, 19:45 Uhr
Stichworte: Business Rules, Architektur, EAI Abstract: Was sind Geschäftsregeln überhaupt? Wie werden diese herkömmlich implementiert? Welche Anforderungen führen dazu, dass Business Rules Technologie immer populärer wird? Markus Schärtel stellt eine mögliche Klassifizierung von Geschäftsregeln vor und leitet daraus typische Einsatzszenarien ab. Er klärt, wie Business Rules Technologie und Regelmaschinen die Erstellung flexibler und wettbewerbsfähiger IT-Lösungen erleichtern und warum sie in den Werkzeugkasten jedes Architekten gehören. Anhand von Architektur-Snapshots zeigt der Referent, wie die Geschäftslogik ausgelagert und in unterschiedlichen Szenarien eingebunden werden können. Der Vortrag soll die Teilnehmer ermuntern, daraus ein Muster für die Architektur ihrer regelbasierten Systeme abzuleiten. Vortragsfolien: A2.pdf
Stichworte: eHealth, Framework, MDSD, OpenSource Abstract: Das eHealth Framework (eHF) wurde von der InterComponentWare AG (ICW) für die Entwicklung von Anwendungen im Gesundheitswesen entworfen und verwirklicht. Das eHF ist Java-basiert und nutzt die aktuellsten verfügbaren Technologien und Frameworks wie Spring und Hibernate. Es bietet eine zukunftssichere Plattform für Softwarefirmen, die rasch Applikationen in diesem Umfeld bauen wollen, sich dabei aber vorrangig auf die Umsetzung der eigenen Geschäftslogik fokussieren wollen. Das eHF bietet dafür eine modularisierte Architektur für modellgetriebene Softwareentwicklung sowie optimierte und ausgereifte Dienste, die für solche Applikationen genutzt werden können. Beispiele für solche Dienste sind Gesundheitsakte, Dokumentenverwaltung, oder die Verwaltung kontrollierter Vokabularien, wie sie im Gesundheitswesen für die semantische Interoperabilität zwischen Anwendungen unabdingbar sind. Das eHF orientiert sich neben den technischen auch an den relevanten fachlichen Standards des Gesundheitswesens. Darüber hinaus wartet das eHF mit umfangreichen Funktionalitäten zur Gewährleistung der Datensicherheit auf, die den diesbezüglichen außerordentlich hohen Anforderungen im Gesundheitswesen gerecht werden. Für den Austausch von Daten zwischen verschiedenen Systemen bietet das eHF die Integrationsplattform IPF. Diese reichert die Apache Camel Routing und Mediation Engine mit verschiedenen Mehrwerten an. Beispiele dafür sind Transformationen zwischen verschiedenen Protokoll- und Datenstandards aus dem Gesundheitswesen, Routendefinitionen in Groovy, Erweiterungen im Bereich Flow Management und QoS sowie Adaptoren als Abstraktionsschicht zu verschiedenen ESB-Lösungen. Die ICW verfolgt für das eHF eine sehr weitgehende Open Source Strategie im Rahmen der Open eHealth Foundation (www.openehealth.org), die von der ICW mitgegründet wurde. Damit wird dieses Framework sukzessive der Open Source Community zur Verfügung gestellt. Erste Beiträge zur Foundation wurden bereits in Form der IPF geleistet. Mit diesem Vortrag wird Entwicklern und Architekten sowohl aus Softwarefirmen als auch aus der Open Source Community ein mächtiges und zukunftssicheres Framework für ihre Anwendungen vorgestellt. Vortragsfolien: A3.pdf - Update am 03.07.2009, 14:45 Uhr
Stichworte: REST-Services, EAI, JAX-RS Abstract: REST-Services haben sich mittlerweile als Alternative zu "klassischen" SOAP-basierten Webservices etabliert. Spätestens seit der Standardisierung einer API für REST-Services (JAX-RS bzw. JSR 311) sind REST-Services auch für Aufgaben in Geschäftsanwendungen interessant geworden. In einem Kundenprojekt mussten zwei bisher autonome Systeme aufgrund neuer Anforderungen gekoppelt werden. Der Vortrag beleuchtet die Gründe für die Wahl von REST-Services für diese Aufgabe und erläutert, wie REST-Services zur Anwendungsintegration eingesetzt werden können. Nach einer kurzen Einführung in REST wird beschrieben, welche Infrastruktur für REST-Services notwendig ist und wie diese in eine bestehende Projekt-Infrastruktur integriert werden kann. Danach wird auf die konkrete Realisierung von REST-Services mit JAX-RS eingegangen. Dabei spielen sowohl funktionale Aspekte wie Datenaustauschformate und Authentifizierung/Autorisierung als auch nicht-funktionale Aspekte wie beispielsweise Performance von Services eine Rolle. Abschließend werden die im Projektalltag gewonnenen Erfahrungen diskutiert. Vortragsfolien: A4.pdf
Stichworte: Hibernate JPA Performance Antipatterns Abstract: Für den einfachen Zugriff auf relationale Datenbanken aus Java heraus gibt es O/R Mapping Frameworks und den entsprechenden Standard: Die Java Persistence Api (JPA). In der Praxis ist der Einsatz aber nur im ersten Moment trivial und die Komplexität steigt mit dem Umfang der Anwendung. Am Beispiel von Hibernate und EJB3 werden die Fallstricke und Stolpersteine beleuchtet auf die man in der Praxis häufig trifft. Gerade die Themen Performance und Skalierbarkeit werden während des Vortrags detaillierter und an Hand von Beispielen besprochen, sowie Lösungen für die gängigen Probleme aufgezeigt. Vortragsfolien: A5.pdf
Stichworte: OSGi, Equinox, SpringSource dm Server, Komponenten, Dienstorientierung Abstract: Die OSGi Service Plattform gewinnt als eines der modernsten Komponentensysteme für Java zunehmend an Bedeutung. Man findet sie in der Eclipse IDE, einem modernen Auto und einem Mobiltelefon genauso wie in nahezu allen Java Application Servern. Die Plattform bietet ein hohes Maß an Flexibilität und Dynamik und hilft zudem, die Komplexität in der Anwendungsentwicklung zu reduzieren. Diese Präsentation beleuchtet folgende Aspekte der OSGi-Technologie:
Vortragsfolien: A6.pdf
08.06.2009: Änderung im Vortragsprogramm
Stichworte: JSF, Performance, AJAX, Open Source Abstract: JavaServer Faces skaliert nicht. Das hört man zumindest immer mal wieder. Die Session erläutert anhand konkreter Projekte, wie es sich wirklich damit verhält. Es werden Benchmarks, Lösungen und Stolperfallen vorgestellt. Zusätzlich werden Anforderungen an kommende JSF-Versionen diskutiert. Vortragsfolien: A7.pdf
Stichworte: Java-Betrieb, Optimierung, JVM, Basiswissen Abstract: Gestatten: T.P., C.M.S. und G.1, alle drei Garbage Collectoren (GC) von Beruf. TP ist sozusagen das "alte Arbeitspferd", manchmal scheinbar etwas lahm, aber sehr zuverlässig. Es wird Sie aber überraschen, was sich TP über die Jahre so an Tricks und Kniffen angeeignet hat und wie Sie diese für sich einsetzen können. Aber auch CMS hat sich etwas Schlaues einfallen lassen und punktet genau da, wo TP seine Schwäche hat. Dafür muss man bei CMS jedoch einige Fallstricke beachten. Und in Zukunft wird G1 - noch der Neuling unter den GCs - versuchen, mit einigen "revolutionären" Neuerungen den bisherigen Platzhirschen den Rang abzulaufen. Wir schauen uns an, wie der Stand des Rennens momentan ist. Wenn Sie nach all dem den Eindruck haben, beim Thema GC fehle Ihnen noch der richtige Durchblick, so macht das nichts. Eine repräsentative Anwendung wird uns durch das Programm führen und uns jeden der drei GCs mit seinen Stärken und Schwächen vorstellen. Sie wird uns auch zeigen, mit welchen Maßnahmen man jeden der drei zu Höchstleistungen veranlassen kann. Am Ende können Sie dann sicher sagen, für wen der drei Sie sich entscheiden wollen. Vortragsfolien: B1.pdf
Stichworte: JPA, JPA2.0, Persistenz, JavaEE Abstract: Im Stile der beliebten Java-Puzzlers wird das Publikum auf die dunkle Seite des Java Persistence APIs gelockt. Durch die Untiefen der Implementierungen, vorbei an schaurig schönen Formulierungen alter und neuer Spezifikationen begibt sich das Publikum auf eine Reise voller Rätsel und Mysterien. Nur die tapfersten Recken werden die Herausforderungen bestehen. Frank Schwarz arbeitet als Berater bei der buschmais GbR. Eines seiner Aufgabengebiete liegt in der Erarbeitung tragfähiger Persistenzlösungen für große Unternehmensanwendungen. Darüber hinaus gilt sein besonderes Interesse der modellgetriebenen Softwareentwicklung. Vortragsfolien: B2.pdf - Update am 03.07.2009, 14:45 Uhr
Stichworte: Java, Hibernate, Lucene, Volltextsuche, Annotation Abstract: Hibernate Search schlägt eine Brücke zwischen O/R Modell und Volltextsuche und erlaubt so eine einfache Integration beider Technologien ohne unnötigen "boilerplate code". Der Vortrag ist in zwei Teile geteilt. Im ersten Teil werden die Kernkonzepte von O/R Mapping und Volltextsuche vorgestellt und die folgenden Fragen beantwortet:
Im zweiten Teil wird dann anhand von Beispielen gezeigt wie Hibernate Search mit Hilfe von Annotationen und einfachen Lucene Queries die im ersten Teil angesprochenen Integrationsprobleme löst. Abschließend wird anhand einer einfachen Webapplikation gezeigt, wie man eine SQL basierte Suche in wenigen Schritten in eine Volltextsuche mit Hibernate Search umwandeln kann. Vortragsfolien: B3.pdf
Stichworte: GUI Testing, Automated Testing, QA Abstract: Die Qualitätssicherung von GUI Tests, besonders im Cross-Platform Java Umfeld, ist ein herausforderndes Thema. Die manuelle Durchführung von GUI Tests ist extrem aufwändig, langwierig und fehleranfällig. Daher bietet es sich an, die funktionalen Oberflächentests von Java Anwendungen zu automatisieren. Die Automatisierung verspricht, dass mehr GUI Tests in weniger Zeit und mit höherer Zuverlässigkeit ausgeführt werden können. Allerdings entscheidet die Herangehensweise und Auswahl des Test Frameworks maßgeblich über den Erfolg der Automatisierung. In diesem Vortrag werden die größten Fallen und Irrtümer der GUI Test Automatisierung von Java Oberflächen vorgestellt. Außerdem wird gezeigt, wie man diese umgehen kann. Dazu stützt sich der Vortragende auf zahlreiche Erfahrungen aus verschiedenen Test Automatisierungsprojekten, die erfolgreich u.a. das GUI Test Tool Squish einsetzen. Vortragsfolien: B4.pdf
Stichworte: OpenSource, Test, Werkzeuge Abstract: Bei der Entwicklung GUI-intensiver Anwendungen - seien es Web-Interfaces oder Rich-Clients - ist der Einsatz von Lösungen für das automatisierte Testen der User Interfaces und der dahinter liegenden Abläufe extrem hilfreich. Zu diesem Zwecke existieren inzwischen zahlreiche Open Source Test-Frameworks und -Werkzeuge unterschiedlicher Qualität und mit unterschiedlichen Ansätzen, z.B. Script-basiert oder Capture-and-Replay. Der Vortrag stellt die interessantesten Vertreter vor, zeigt die konzeptionellen Vor- und Nachteile der von den Werkzeugen implementierten Ansätze auf und gibt Hinweise, die bei der erfolgreichen Konzeption einer User Interface Test Suite hilfreich sein können. Vortragsfolien: B5.pdf
Stichworte: performance engineering, application monitoring, profiling Abstract: Das Verständnis, dass Performance keine inhärente Eigenschaft einer entwickelten Applikation ist, sondern durch entsprechende Aktivitäten integriert und sichergestellt werden muss, findet immer mehr Anklang. Ein wichtiger Bestandteil des Performance Prozesses ist der Performancetest einer Applikation. Hierbei werden Werkzeuge verwendet, welche die Interna der Applikation messbar machen (Application Monitoring & Profiling). Diese Werkzeuge sind jedoch meist recht teuer und belasten somit das Budget eines mittleren oder kleinen Projektes doch so stark, dass die notwendigen Schritte zur Sicherstellung der vorab definierten Performanceanforderungen nicht durchgeführt werden. Jedoch müssen auch diese Projekte nicht auf eine adäquate Toolunterstützung bei der Behebung von Performance Problemen verzichten. Dieser Vortrag stellt sowohl kostenfreie als auch kostengünstige Lösungen zur Performanceüberprüfung vor und grenzt diese kurz gegen die Werkzeuge der Marktführer ab. Vortragsfolien: B6.pdf - Update am 14.07.2009, 17:50 Uhr
Stichworte: Anti-Pattern, AspectJ, OpenSource, Bibliothek, bessere Programme Abstract: Das bekannteste Anti-Pattern ist sicherlich der Spaghetti-Code. Aber es gibt auch jede Menge weiterer "Bad Practices", die in vielen Java-Projekten für graue Haare sorgen:
Um solche Problem-Zonen aufzudecken, gibt es PatternTesting (http://patterntesting.sourceforge.net), eine der ersten AspectJ-Bibliotheken, die sich aber auch in normalen Java-Projekten einsetzen lässt. Lange Zeit war es still um dieses Projekt, aber vor zwei Jahren wurde es reanimiert und seitdem sind einige Erfahrungen aus diversen Projekten eingeflossen. An der weiteren Entwicklung dieser Bibliothek kann jeder, der Interesse daran hat, durch Anregungen oder direkte Beteiligung am Projekt teilnehmen. Dieser Vortrag gibt einen Überblick über den derzeitigen Stand von PatternTesting. Vortragsfolien: B7.pdf
Stichworte: Persistenz, JPA 2.0, EclipseLink Abstract: Der JSR-317 stellt einen weiteren Meilenstein für objektrelationale Persistenzmechanismen innerhalb der Java Community dar: Er definiert das Java Persistence API (JPA) in der Version 2.0. Viele Features, die Entwickler innerhalb des JPA 1.0 vermisst haben, werden hier berücksichtigt, so z.B. zusätzliche objektrelationale Mappings, alternative Locking Strategien, eine Java API-basierte Abfragesprache und vieles mehr. Als Referenzimplementierung des JPA 2.0 wurde das "Eclipse Persistence Services Project" (kurz: EclipseLink) ausgewählt. Dabei setzt JPA als standardbasierter Persistenzmechanismus auf die umfangreichen objektrelationalen Features von EclipseLink auf. EclipseLink beinhaltet eine Menge von verschiedenen Laufzeitkomponenten, benutzbar auf Client- oder Serverseite und stellt das erste Open Source Projekt dar, welches gleich eine Reihe von Persistenztechnologien anbietet, wie Java Persistence API (JPA), Objekt-XML Mapping mittels Java Architecture for XML Binding (JAXB) oder Service Data Objects (SDO). In unserem Vortrag werden wir nach einer kurzen Einführung in EclipseLink und dessen Aufbau EclipseLink JPA und dessen Extensions vorstellen. Zudem wird ein Ausblick auf JPA 2.0 und auf andere EclipseLink Features gegeben. Vortragsfolien: C1.pdf
13.05.2009: Änderung im Vortragsprogramm
Stichworte: Eclipse SOA, Open Source, Deutsche Post, Web-Services, Vorgehensmodell Abstract: The Eclipse SOA Runtime Framework Project (Codename Swordfish) aims to provide an extensible framework that enables developers to create business applications following service-oriented principles. Building upon Apache ServiceMix and Equinox, the Eclipse Foundation's OSGi implementation, Swordfish adds enterprise features such as policy-controlled message processing, dynamic lookup of service metadata using a Service Registry and extensive monitoring and management capabilities, all based on 7 years of SOA experience gained at Deutsche Post. In this talk, we'll introduce the audience to the basic architecture of Swordfish, highlight some of the features and give an update on the current state and the near-term and mid-term plans. Special focus will be laid on the extension points provided Swordfish, including a live demonstration of its capabilities. Vortragsfolien: C2.pdf
Stichworte: Open Source, Pervasive, Eclipse, e4 Abstract: In 2008 the Eclipse Foundation announced a new project called e4, the Eclipse community effort for building a next generation platform for pervasive, component-based applications and tools. This talk will outline the technical goals of e4 and provide insight on the progress that has been made since the project's inception. Multiple demos will showcase the current state of evolution of e4. Vortragsfolien: Leider haben uns noch nicht alle Referenten ihre Vortragsfolien zukommen lassen.
Stichworte: OSGi, Dynamik, OSGi Services, Architektur Abstract: Die OSGi-Technologie erlaubt es, Komponenten zur Laufzeit zu installieren, zu aktualisieren oder zu deinstallieren. Nur wenige wissen allerdings, was diese Dynamik für große objektorientierte Systeme wirklich bedeutet oder wie man entsprechende Systeme gestalten und implementieren muss, damit sie von diesen dynamischen Eigenschaften von OSGi profitieren und sich korrekt in einem solchen dynamischen Umfeld verhalten. Der Vortrag gibt einen Einblick in die Dynamik von OSGi und mit OSGi implementierter Systeme. Dieser Einblick beinhaltet auch eine genauere Betrachtung, wie die Dynamik durch OSGi realisiert wird. Es wird diskutiert, was Entwickler berücksichtigen müssen, um hoch dynamische Systeme mit OSGi zu implementieren, welche typischen Fehler und Probleme auftauchen und wie man diese lösen kann. Darüber hinaus gibt der Vortrag einen kurzen Einblick in zusätzliche, deklarative Ansätze (Declarative Services, Spring Dynamic Modules, iPojo), die den Umgang mit der Dynamik von OSGi vereinfachen. Vortragsfolien: C4.pdf
Stichworte: Servlet API 3.0, AJAX, Tomcat, Java Abstract: Die nächste Generation des Servlet 3.0 API ist gerade in der Vorbereitung. Modularität, Annotationen und dynamische Veränderung der Anwendungen zur Laufzeit stehen zur Diskussion. Asynchrone und eventbasierte Kommunikation weisen die Java Webanwendungsentwicklung in eine neue Richtung. Die Session stellt die Kernideen des neuen Standards vor und diskutiert die Erwartungen und neuen Möglichkeiten. Vortragsfolien: C5.pdf
Stichworte: JavaServer Faces, User Interface Abstract: Mit JavaServer Faces 2.0 ist der nächste große Meilenstein in der JSF-Entwicklung erreicht. Diese Session gibt einen ersten Überblick über die neuen Möglichkeiten. Es wird auf die wesentlichen Neuerungen wie Ressourcenbehandlung, Annotations, Composite Components, Integration von Ajax, Templating mit Facelets und viele weitere kleinere Erleichterungen eingegangen. Vortragsfolien: C6.pdf
Stichworte: JavaScript, Evolution, Client/Server, Good/Bad Parts Abstract: JavaScript ist zu Unrecht das hässliche Entlein unter den Programmiersprachen. Heute hat sich JavaScript den ersten Platz unter den im Web verwendeten Skriptsprachen erobert. Genau in dem Bereich, den Java mit Applets erobern wollte. Neben unzähligen Anwendungen, die sich damit erweitern lassen, taucht JavaScript auch an überraschenden Stellen auf, wie z.B. in PDF-Dokumenten und in Datenbanken. Auf der JVM können viele Sprachen verwendet werden, manche bezeichnen sich sogar als den besten Freund von Java. Dabei ist JavaScript schon im JDK enthalten in Form der soliden Rhino-Implementierung. Damit können die Vorteile von Java und die Leichtigkeit von JavaScript gemeinsam genutzt werden. Neue native JS-Applikationsserver erlauben eine durchgängige end-to-end Implementierung von Client- und Serverseite mit der gleichen Technologie. Ein Anspruch von Java, der aber wegen des fehlenden Erfolgs von Applets nie Wirklichkeit geworden ist. Eine weitere Möglichkeit, die Durchgängigkeit zu erreichen, sind Java-basierte Applikationsserver mit eingebettetem JavaScript. So können Skripte alle APIs der Java-Plattform nutzen. Wir zeigen die Good Parts und die Bad Parts von JavaScript und stellen erfolgreiche JS-Toolkits und Frameworks vor. Außerdem sprechen wir interessante Neuentwicklungen im Client- und im Server-Bereich an. Vortragsfolien: C7.pdf
Stichworte: Scala, Funktionale Programmierung, Alternative Sprachen für die JVM Abstract: Die Programmiersprache Scala erfährt zunehmende Aufmerksamkeit als Alternative zu Java. Abseits der reinen funktionalen und objektorientierten Sprachen setzt Scala genau auf die Symbiose beider Konzepte und fördert dadurch neue Programmieransätze, die so in Java bisher nicht verfügbar waren. Funktionen Closures, "Mehrfachvererbung" und tail-Rekursionen gehören zur Sprache wie die konsequente Umsetzung des Objektmodells. Der Vortrag gibt einen Einblick in die Sprache, in die Verschmelzung von OOP und FP und welche Vorteile diese in der Praxis bietet. Vortragsfolien: D1.pdf
Stichworte: dm Server, OSGi, Spring, Enterprise Java Abstract: OSGi entwickelt sich zum neuen Trend für Enterprise Java. Mit dem dm Server steht nun ein Application Server bereit, der die Vorteile von OSGi sehr einfach nutzbar macht. In diesem Vortrag erfahren Sie, welche Vorteile OSGi für Enterprise-Java-Anwendungen bietet und welche Ansätze es für eine Migration vorhandener Anwendungen hin zu OSGi gibt. Außerdem sehen Sie, wie man im laufenden System Module in der Anwendung austauschen kann. Vortragsfolien: D2.pdf - Update am 03.07.2009, 19:45 Uhr
Stichworte: Bugs, Softwarequalität, UnitTests, Paiprogramming, Prozessoptimierung Abstract: Seit Anfang 2007 werden bei andrena in einem Java-Projekt die Programmierfehler gesammelt, kategorisiert und für die Ursachenanalyse nützliche Daten erfasst. Ziel ist es, aus den Fehlern zu lernen, um sie zukünftig zu vermeiden sowie Strategien zur Fehlervermeidung zu optimieren. Des Weiteren liefert die Metrik Bugs pro Personenmonat eine wichtige Steuergröße für das Verhältnis von Arbeitsgeschwindigkeit und Arbeitsqualität und zur Beurteilung der Prozessqualität insgesamt. Die mittlerweile vorliegende Datenmenge erlaubt Aussagen zur Wirksamkeit von UnitTests und Pairprogramming für die Fehlerreduzierung. Von Interesse ist auch die zeitliche Verteilung zwischen dem Implementierungsdatum und dem Entdeckungsdatum eines Fehlers, da sie Ansatzpunkte für die Verbesserung der Abnahmetests liefert. Vortragsfolien: D3.pdf
Stichworte: Agile Entwicklung, Scrum, Model-Driven Development, Modelltransformation, UML Abstract: Einfache Regeln und Arbeitstechniken, wenige Rollen und Artefakte - vieles spricht für Scrum als agilen Softwareentwicklungsprozess. Aber welche Entwicklungstechnik passt dazu? Welche Technik unterstützt iteratives Vorgehen, ermöglicht die Implementierung fachlicher Anforderungen in kurzen Iterationen (in Scrum als Sprints bezeichnet) und erlaubt eine schnelle Reaktion auf Änderungen der fachlichen Welt? Der Vortrag gibt eine Antwort darauf. Sie lautet: Model-Driven Development - kurz MDD. Ausgehend von der Sprint-Planung wird dargestellt, wie Entwickler-Tasks, die ein Team definiert hat, realisiert werden. Die Bearbeitung einer Task umfasst dabei drei Schritte: die fachliche UML- und BPMN-Modellierung der geforderten Funktionalität, die anschließende maschinelle Transformation der fachlichen Modelle in technische Modelle und Code (z.B. Java, BPEL, XSD und WSDL) und die Vervollständigung der Anwendungslogik im Code per Round Trip Engineering (z.B. mit Eclipse). Es wird eine Technik für die Transformation von Modellen vorgestellt, die hochgradig iterativ anwendbar ist. Wie sich MDD in den Scrum-Ablauf integriert, wird mit dem MDD-Tool objectiF® und der in-Step Scrum Edition®, einem Teamwerkzeug, live anschaulich gemacht. Vortragsfolien: D4.pdf
Stichworte: Software Quality, statische Codeanalyse Abstract: Statische Codeanalysen zur Sicherung der Softwarequalität sind in vielen Java Projekten Standard. Oft werden dazu die OpenSource Werkzeuge PMD, FindBugs und Checkstyle eingesetzt. Wenn Sie diese Tools gleichzeitig in sehr großen Projekten einsetzen, gilt es einige Dinge zu beachten, die in diesem Vortrag angesprochen werden:
Für diesen Vortrag wurden über 1,5 Millionen Lines-Of-Code mit diesen Werkzeugen analysiert: Populäre Projekte wie das JDK, Tomcat oder JBOSS sind darunter. Die "10 häufigsten Fehlermuster" dieser Analysen werden vorgestellt und wahrscheinlich finden Sie einige dieser Fehler auch in Ihrem Projekt. Vortragsfolien: D5.pdf
Stichworte: Continuous Integration, Qualitätssicherung, Open Source Abstract: Hudson (https://hudson.dev.java.net) ist ein Java-basiertes Continuous-Integration-System. Entwickler und Teamleiter können damit wichtige Aspekte der Softwareerstellung automatisieren und so mehr Transparenz in IT-Projekte bringen. Über 140 Plug-Ins sind bereits für unterschiedlichste Automatisierungsaufgaben verfügbar: vom Checkout zum Deployment, von der Codemetrik bis zur Ansteuerung von sprechenden Hasen. Hudson muss den Vergleich mit den "üblichen Verdächtigen" seiner Gattung wie etwa CruiseControl nicht scheuen. Im Gegenteil: In vielen Fällen etabliert sich Hudson sogar als deren Ablösung. Für sein Potenzial spricht auch die Auszeichnung mit dem "Duke‘s Choice Award" in der Kategorie "Developer Solutions" auf der JavaOne 2008. Hudson ist kostenlos, Open Source, und wird von einer äußerst rührigen Entwicklergemeinde vorangetrieben - vor allem aber ist es praxiserprobt. Hudson bietet insbesondere:
Folgende Leitfragen der Präsentation werden illustriert durch eine durchgängige Live-Demonstration mit Extreme-Feedback-Anzeigen:
Vortragsfolien: D6.pdf
Stichworte: Fitnesse, Domain-Driven Design, OO-Datenbank Abstract: Die verstehen es einfach nicht - das ist alles sooo schwierig. Und teuer. Und langsam - muss das sein? Schwammiges Pflichtenheft, sich widersprechende Anforderungen - wollen die uns ärgern? Was machen die denn eigentlich, bevor ein IT-Projekt losgeht? Eine Vielzahl von Problemen in IT-Projekten lassen sich auf unentdeckte Fehler aus frühen Konzeptionsphasen, Missverständnisse und Fehlinterpretationen zurückführen. Die ursächlichen zwischenmenschlichen Probleme können wir natürlich nicht lösen ... aber mit geradlinigem Feedback lassen sich Fehler früh finden und gleichzeitig die Kommunikation verbessern. Im Vortrag zeigen wir Konzepte und Werkzeuge, um Feedback zu konkretisieren und drastisch zu beschleunigen. Mit einer unkonventionell zusammengestellten Plattform setzen wir Anforderungen unmittelbar in Java-Code - dem fachlichen Kern - um. Wir erreichen so fast unmittelbares Feedback über die wesentlichen Konzepte eines Projekts. Im Beispielszenario verwenden wir Fitnesse, POJOs und eine OO-Datenbank. Die technische Umsetzung stellen wir im Detail vor. Vortragsfolien: D7.pdf
Stichworte: Certification, Safety Critical Java, Embedded Systems, RTSJ Abstract: Ada has been the preferred language for safety critical applications, but this is beginning to change. The number of Ada developers is diminishing, while the complexity of applications is increasing. C and C++ are poor alternatives to Ada and many ideas from the Ada community have made their way into the realtime Java specifications. Though strongly related to standard Java technology such as J2SE and J2EE, realtime Java is really a different beast. Realtime Java sets itself apart by having much stronger threading semantics and a means of avoiding timing anomalies due to garbage collection, ideally while maintaining the reference consistency automatic object deallocation ensures. In the past, reference consistency was maintained by disallowing or severely limiting dynamic memory management. This approach works well for state machine like tasks, but not for more complex applications. The up and coming Safety Critical Java standard (JSR 302) provides some more flexibility than currently tolerated by providing a stack like approach to memory allocation and deallocation. This will enable the Java language to be used at the highest criticality levels in the near term, but does not address increasing complexity well. New work on object oriented technology in SG-5 of the SC 205 / WG 71 Plenary to update the DO-178 standards, will make certification of Java technology easier, including the use of virtual machine technology and garbage collection. This talk outlines the important Java standards, such as the realtime Specification for Java (JSR 1 and JSR 282) and Safety Critical Java (JSR 302), as well as proposed changes from SG-5 for object oriented technology. New garbage collection technology will also be covered. This should give the attendee a good background in the state-of-the-art of realtime Java Technology and safety certification. Vortragsfolien: E1.pdf
Stichworte: Weblogic, Application Server, SOA, Anwendungen, Integration, hochverfügbar, ausfallsicher Abstract: Der Oracle WebLogic Server ist die zentrale Komponente der Oracle Fusion Middleware und bietet eine äußerst umfassende Lösung für die Entwicklung, Integration von Anwendungen und Web-Services im Unternehmen. Auf der Grundlage eines leistungsfähigen und skalierbaren JEE-Servers bietet Oracle WebLogic Server Anwendungsbereitstellung und Unternehmensintegration in branchenführender Qualität. Oracle WebLogic Server ist als einzige Plattform auf das Grid-Computing ausgelegt und unterstützt serviceorientierte Architekturen (SOA) über den gesamten Lebenszyklus hinweg. Die Entwicklung von Java Anwendungen wird durch das Oracle Toolset JDeveloper, dem Oracle Application Framework (ADF) und mit Eclipse Plugins unterstützt, die direkt mit dem Oracle WebLogic Server per Download bezogen werden können. Die entwickelten Java-Anwendungen werden typischerweise in einer hochverfügbaren und ausfallsicheren Umgebung mit dem Oracle WebLogic Server Cluster betrieben und gleichzeitig mit Lastverteilungsmechanismen versehen. Vortragsfolien: E2.pdf
Stichworte: EAI, SOA, Patterns, Best Practices Abstract: Die Automatisierung von unternehmensweiten Prozessen erfordert die immer umfangreichere Integration von unterschiedlichsten Systemen, Diensten und Benutzern. Entsprechend hoch sind die Anforderungen an die technische Umsetzung, welche oft eine große Herausforderung für Software-Architekten und Entwickler darstellt. Enterprise Application Integration (EAI) und Service Oriented Architecture (SOA) stellen den State-of-the-Art bei der Integration von Business Prozessen dar. Die Verbindung dieser Technologien und Business Prozess Management als generischer, automatisierter Ansatz bringen viele neue Denkmuster sowie Vorgehensweisen und Herausforderungen mit sich. Dieser Vortrag berichtet über die Erfahrungen von Mike, einem fiktiven Architekten, der mit der Integration von Prozessen in seinem Unternehmen beauftragt ist. Es wird gezeigt welche Erkenntnisse Mike im Verlauf des Projektes gesammelt hat und daraus verschiedene Patterns und Best Practices für EAI und SOA Projekte abgeleitet. Vortragsfolien: E3.pdf
Stichworte: Proaktivität, PAI, Daimler, JavaEE, Security Abstract: Neueste Java Widgets, brandaktuelle Runtime Environments, "frühlingshafte" oder "aspektverliebte" Frameworks, eben erst veröffentlichte Open Source Bibliotheken - all das mag vielen Entwickleraugen schnell Glänzen verleihen - der schnelle unproblematische Produktiveinsatz dieser Technologien ist in einem weltweit vernetzten Konzern aber sehr problembehaftet. Hier muss das Hauptaugenmerk in der Auswahl geeigneter Technologie auf ganz anderen Gesichtspunkten liegen. Der Lebenszyklus eines Produkts kann oft fünf Jahre oder mehr sein, Stabilität und Skalierbarkeit sind unabdingbar für Systeme, über deren Grenzen hinweg tagein/tagaus Millionen von Datensätzen transportiert werden. Der Lieferant der Third-Party Produkte muss über Jahre hinweg kompromisslosen Support für seine Produkte gewährleisten können - wenn es sein muss 24 Stunden am Tag. Dies war einer der Gedanken, der zu Beginn dieses Jahrtausends die Initiative "Proactive Infrastructure (PAI)" bei der Daimler AG ins Leben rief. Auf der Basis ausgereifter Basisprodukte bekommt jede Geschäftseinheit im Konzern die Möglichkeit, sich bei der Entwicklung ihrer Applikation vollständig auf den "Business Case" zu konzentrieren. Vorgaben des Konzerns an zu erfüllende Security Policies oder Zugriffe auf zentrale Verzeichnisse werden durch die PAI Plattform selbst abgedeckt. Dabei ist PAI mehr als nur ein ausgereiftes Third Party Produkt. Eigens entwickelte Komponenten sorgen für die nahtlose Integration der Kundenapplikationen in die Daimler Infrastruktur und reduzieren die Entwicklungszeiten in den Kundenprojekten erheblich. Und dabei spielt es keine Rolle, ob es sich um eine prozessgetriebene (BPEL) Applikation oder eine klassische JavaEE Applikation handelt. Durch PAI wird jeder dieser Applikationen per Definition sicher. Dieser Vortrag gibt einen Einblick in die PAI Produktfamilie und stellt anhand dieser die technischen Konzepte zur einheitlichen Integration von Applikationen in die Daimler Infrastruktur vor. Vortragsfolien: E4.pdf - Update am 03.07.2009, 14:45 Uhr
Stichworte: Coherence, SOA, Cache, Speicher, In-Memory Abstract: In einer gemeinsamen Speicherstruktur mit separaten Cache Memory Bereichen können die Speicherinhalte auf andere Softwareknoten beliebig verteilt werden; damit befindet sich ein Datum im Hauptspeicher und weitere Kopien im jeweiligen Cache Memory. Cache Coherence ist der Mechanismus, der dafür sorgt und sicherstellt, dass die Veränderung der Daten sehr schnell innerhalb des Caching Systems verteilt werden. Die daran teilnehmenden Anwendungen nutzen diese Daten und deren Änderungen direkt aus einer verteilten, linear skalierbaren und konzentrierten 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 werden folgende Caching Mechanismen besprochen: Read-Through, Write-Through, Refresh-Ahead und Write-Behind Caching. Vortragsfolien: E5.pdf
Stichworte: Interoperabilität, Java, .Net, Architektur Abstract: Die Chancen, in einem Systemsetup auf eine heterogene Landschaft zu stoßen, in der sowohl Java als auch .Net Software gemischt werden, sind sehr hoch und üblicherweise müssen diese Systeme miteinander kommunizieren. Interoperabilität zwischen Java und .Net wird oftmals auf Web-Service Kommunikation reduziert, aber es gibt eine große Bandbreite an Alternativen. In diesem Vortrag werden einige dieser Alternativen vorgestellt. Es werden sowohl Commercial-off-the-shelf als auch Open-Source Frameworks gezeigt, die unterschiedliche Eigenheiten bzgl. Kommunikationsstil und Kodierung der Nachrichten aufweisen und deren Vor- und Nachteile aufgezeigt. Vortragsfolien: E6.pdf - Update am 03.07.2009, 14:45 Uhr
Stichworte: JPA, Persistenz, Hibernate, Tuning Abstract: Zahlreiche Projekte kämpfen mit Performanceproblemen bezüglich des Einsatzes eines OR-Mappers. Im Rahmen der Session werden Tuningmöglichkeiten und Herangehensweisen an einen Tuningprozess für Hibernate-Anwendungen vorgestellt. Des Weiteren werden die Themen "Second-Level-Caching" und die "Analyse des Laufzeitverhaltens von Hibernate" besprochen. Vortragsfolien: E7.pdf
Stichworte: Java SE Security, JAAS, Security-Patterns Abstract: Web-Anwendungen im Unternehmensumfeld haben in der Regel komplexe Autorisierungsanforderungen. Recht schnell kommt man dabei an die Grenzen von Servlet- oder JEE-Spezifikation. Oft werden deshalb proprietäre Lösungen eingesetzt. In dieser Präsentation wird gezeigt, wie auf Basis von Java Standards eine voll funktionsfähige und flexible Autorisierungskomponente für Web-Anwendungen erstellt werden kann. Dazu wird als zentraler Bestandteil von Java SE Security der Java Authentication and Authorization Service (JAAS) verwendet. JAAS bietet eine Sicherheits-Infrastruktur und einen Satz von Standard-APIs für Java Anwendungen an. Nach einer kurzen Einführung in Java SE Security und JAAS wird demonstriert, wie bekannte Security-Konzepte und -Patterns angewendet werden können, um die Grundfunktionalität von Java SE Security zu erweitern. Es wird unter anderem dargestellt, wie hierarchische rollenbasierte und instanzbasierte Zugriffskontrolle realisiert wird. Anhand eines fiktiven aber praxisnahen Beispiels wird gezeigt, wie die entwickelte Autorisierungskomponente in einer Web-Anwendung eingesetzt werden kann. Vortragsfolien: F1.pdf
Stichworte: Access-Management, Federation-Management, Single Sign On, Identity as a service Abstract: Webanwendungen sind heutzutage sowohl im Consumer-Bereich als auch im Unternehmensalltag allgegenwärtig. Sie ermöglichen ein einfaches und schnelles verteiltes Arbeiten an nahezu jedem Ort. Es werden personenbezogene Informationen und sensible Geschäftsdaten verarbeitet, welche ein hohes Maß an Sicherheit unbedingt voraussetzen. Das Web-Access-Management schafft Lösungen, mit deren Hilfe es möglich, ist die Anforderungen zur Absicherung von webbasierten Anwendungen zu erfüllen. Authentifizierung und Autorisierung bilden die Grundbausteine einer sicheren IT-Infrastruktur. Eine moderne Web-Access-Management Lösung geht jedoch weiter. Um Sicherheit auch in einem verteilten Umfeld für den Nutzer komfortabel zu gewährleisten, sind Single Sign On und die Bereitstellung von Nutzeridentitäten als Dienst (Identity as a service) unbedingte Voraussetzungen. Dieser Vortrag zeigt einführend die Notwendigkeit von SSO auf und führt in die theoretischen Begriffe (PEP, PDP, PAP, etc.) ein. Weiterhin wird auf das Access- und Federation-Management eingegangen. Es werden Möglichkeiten aufgezeigt, eine konsolidierte IT-Sicherheits-Infrastruktur zu schaffen, welche es ermöglicht, transparent, anwendungsübergreifend und verteilt Web-Sicherheit umzusetzen. Parallel zu den einzelnen Themen werden zwei freie Lösungen für verteilte Identitäten und deren Integration in ein Java-Umfeld an praktischen Beispielen vorgestellt: JA-SIG CAS und Sun OpenSSO. Vortragsfolien: F2.pdf
23.06.2009: Änderung im Vortragsprogramm
Stichworte: Deployment Automation, Java EE middleware, WebSphere, WebLogic, JBoss Abstract: Eine Java EE Applikation in Produktion zu setzen scheint auf den ersten Blick einfach zu sein. Einfach eine EAR Datei in ein Serververzeichnis kopieren, oder? In der Praxis stellt sich doch heraus, dass viel mehr nötig ist, um eine Java EE Applikation erfolgreich zu starten. Oftmals müssen Datasources oder andere Java EE Resourcen vorbereitet werden; der Webserver muss konfiguriert und mit statischem Inhalt versehen werden, Konfigurationsdateien müssen kopiert und auf den Classpath des Servers gesetzt werden, Server müssen neugestartet werden usw. Hinzu kommt, dass diese Schritte auch noch in der richtigen Reihenfolge ausgeführt werden müssen, oftmals um Downtime zu minimieren. In einer komplexen Umgebung ist es daher kein Wunder, dass von Zeit zu Zeit Dinge schiefgehen. In dieser Präsentation wollen wir 8 "Deployment-Fallen" vorstellen, die uns in unserer langjährigen Erfahrung mit Java EE Middleware Applikationen begegnet sind, darunter WebSphere, WebLogic und JBoss Umgebungen. Wir werden versuchen, die Umstände, die zu diesen Problemen führen, auszuleuchten und mögliche Lösungsansätze zu präsentieren. In Anschluss daran möchten wir Deployit vorstellen, das automatisierte Deploymentprodukt für Java EE von XebiaLabs. Deployit verleiht Entwicklern und Systemadministratoren Einsicht in ihre Applikationsumgebungen und ermöglicht ihnen, deklarativ Deployments auszuführen. Zudem können umgebungsspezifische Zugangs- und Ausführrechte eingerichtet werden. Deployit beschleunigt den Entwickelprozess und überbrückt die traditionelle Trennung von Entwicklungs- und Operationsabteilungen, zu beiderseitigem Vorteil. Vortragsfolien: F3.pdf
Stichworte: Java 7, Date/Time API Abstract: Jeder, der mit Date und Calendar arbeiten muss, stößt früher oder später an die Grenzen des Frameworks. Das gegenwärtige Date/Time API von Java leidet unter vielen Schwächen, die es fehleranfällig und unflexibel macht. Date-Formatter arbeitet nur mit Date-Objekten, obwohl Date zum größten Teil veraltet ist, Calendar speichert ein Datum auf zwei unterschiedliche Weisen gleichzeitig und ist etwas "hölzern" in der Verwaltung von Sommer- und Winterzeit, um nur ein paar dieser Schwächen zu erwähnen. Mit JSR-310 wird ein neuer, von Altlasten befreiter Ansatz eingeführt, der Lösungen zu den bisherigen Problemen anbietet und mit neuen Konzepten den einfacheren Umgang mit Datum und Zeit erlaubt. Dieser Vortrag bietet einen Überblick über die Schwächen des bestehenden Datum-/Zeit-Modells und präsentiert die Neuigkeiten, die das neue JSR-310-Date/Time API mit sich bringen wird. Vortragsfolien: F4.pdf
Stichworte: Core Java, Concurrency, Memory Model Abstract: Mit der Verbreitung von Multicore-Prozessoren ergibt sich für Java-Entwickler die Notwendigkeit, das Java Memory Modell genauer zu verstehen, um Fehler zu erkennen, die sich in Single-Core-Umgebungen nicht auswirken, aber auf einer Multicore-Architektur "plötzlich" auftauchen. Es wird außerdem erwartet, dass Anwendungen auf einer Multicore-Architektur schneller laufen. Das heißt für den Entwickler, dass er nicht-parallele Verarbeitungen reduzieren muss. Dazu gibt es zahlreiche Techniken, u.a. Lock-Free-Programming unter Verwendung von volatile und atomicVariablen. Die Vortragsfolien dieses Vortrags dürfen wir leider nicht direkt zur Verfügung stellen. Anfragen zu den Vortragsfolien dieses Vortrags bitte an Angelika Langer.
Stichworte: Application Framework, Web Framework, Open Source Abstract: Die dritte Generation des Open-Source-Frameworks Spring führt einen überarbeiteten Core auf Basis von Java 5 ein. Die neue Spring Expression Language sowie verfeinerter Annotation-Support entfalten an vielen Stellen ihre Wirkung. Im Web-Bereich sind REST, Portlet 2.0 und Konversationsverwaltung die zentralen Themen. Dieser Vortrag stellt Spring 3.0 in seiner ganzen Breite dar, wobei auch der Bezug zur neuen Java Enterprise Edition 6 diskutiert wird. Vortragsfolien: F6.pdf
Stichworte: Validierung, JSR 303, Java7 Abstract: Kaum eine Anwendung kommt ohne die lästige Prüfung von Eingaben aus. Zwar existieren bereits eine Reihe von proprietären Validierungs-Frameworks, jedoch wurden diese meist nur für eine konkrete Schicht der Applikation entworfen. Das Bean Validation Framework (JSR 303) soll hier Abhilfe schaffen und über Annotationen des Modells erlauben, Konsistenzprüfungen Schichten übergreifend durchzuführen. In diesem Vortrag wird ein Blick auf das Bean Validation Framework geworfen, das in Java 7 integriert werden soll. Vortragsfolien: F7.pdf - Update am 07.07.2009, 22:45 Uhr
![]() |