zum aktuellen Java Forum Stuttgart
•
Kontakt
•
Impressum
|
Abstracts zum 10. Java Forum Stuttgart Fett markierte Vortragskürzel: Vortragsfolien liegen vor.
Stichworte: JavaServer Faces (JSF), Ajax, Web 2.0, Web-Oberflächen, Web-GUI-Design Abstract: JavaServer Faces (JSF) ist ein Framework zur Erstellung von User Interfaces für Webanwendungen. Ajax zielt darauf, das UI dynamischer und damit auch attraktiver zu machen. Ajax ist eine der wichtigsten Säulen von Web 2.0. In der Kombination von JSF und Ajax entstehen damit einerseits für Anwender sehr attraktive und moderne Web-Oberflächen, für Entwickler ergeben sich bei Einsatz entsprechender Bibliotheken sehr einfache Möglichkeiten, JSF-Anwendungen zu "ajaxen". Um JSF-Anwendungen mit Ajax zu kombinieren, kann einerseits auf fertige JSF-Ajax-Komponentenbibliotheken zurückgegriffen werden, oder es werden selbst Ajax-Funktionalitäten in eine bestehende JSF-Anwendung integriert. Im Vortrag werden für beide Ansatzpunkte Lösungsvorschläge aufgezeigt und demonstriert, dass gerade die Kombination von JSF und Ajax eine hervorragende Lösung darstellt. Der Vortrag gibt zudem einen Ausblick auf künftige JSF-Versionen, in denen die Ajax-Integration bereits durch die Spezifikation selbst geregelt werden soll. Vortragsfolien: A1.pdf
Stichworte: Web 2.0, AJAX, JBoss, BPM, Open Source Abstract: JBoss Seam ist das Web-Applikations-Framework der nächsten Generation. Es baut auf die Java EE 5 Frameworks und bietet ein konsistentes, einfach zu verstehendes Programmiermodell für alle Komponenten in Enterprise Web-Applikationen. Seam integriert wichtige Web-Applikations-Features, die von anderen Frameworks nur unzureichend unterstützt werden, wie z.B. isolierte Workspaces, Business Prozess-Integration, Business Rules Engine, POJO/EJB3/JSF, AXAX und vieles mehr. Es macht die Entwicklung robuster Datenbank- und Geschäftsprozess-getriebener Applikationen zum Kinderspiel. In anderen Worten: bei Seam geht es um Vereinfachung, Entwickler-Produktivität und Applikations-Skalierbarkeit. Diese Session beleuchtet alle Aspekte und mächtigen Features von JBoss Seam. Die Session hilft zu verstehen, wie Seam funktioniert und welchen Nutzen in der Entwicklung von Webapplikationen bringt. Vortragsfolien: A2.pdf
Stichworte: SOAP, JSON, Webservices, Java, Web2.0, Authentifizierung Abstract: Web2.0 ist der Trend Anwendungen um den Nutzer herum zu gestalten, soziale Netzwerke zu unterstützen und Zugriff auf personalisierte Daten von zu erlauben. Diese Applikationen verwenden oft verschiedene Datenquellen und generieren ein völlig neues Nutzererlebnis. Das Ergebnis ist ein "Mashup" und diese waren bis vor kurzer Zeit vorwiegend Technologiedemonstrationen aber durch ein stark wachsendes Angebot von qualitative hochwertigen APIs und Webservices entstehen immer mehr kommerzielle Produkte welche auf solchen Services aufbauen. Die technischen Variationen sind vielfältig. SOAP, REST, JSON-RPC welche Ausgabe Formate wie XML, RSS und JSON unterstützen. Dieser Vortrag wird einen Überblick über die gegenwärtigen Web2.0 Trends geben und danach die damit verbundenen Technologien genauer betrachten. Das reicht von welche Webservices werden zu Zeit kostenfrei und gegen Bezahlung angeboten, den Unterschieden in Formaten der angebotenen Services und wie diese in Java genutzt werden. Zuletzt wird der Vortrag einen Blick auf Webservice Authentifizierung werfen was eine Voraussetzung für Zugriff auf personalisierte Daten ist. Vortragsfolien: A3.pdf
Stichworte: Eclipse, Ajax, RCP, OSGi, Webentwicklung Abstract: Der Vortrag gibt einen Überblick über die Ajax-Aktivitäten bei Eclipse. Zum einen wird über die aktuellen Entwicklungen im Eclipse Rich Ajax Platform Projekt berichtet, das die Entwicklung von Webapplikationen mit dem von Eclipse RCP bekannten Entwicklungsmodell ermöglicht. Zu diesem Entwicklungsmodell gehören ein Widget Toolkit mit SWT API, dass serverseitig ausgeführt wird und JavaScript für den Client generiert, die Übertragung erfolgt mit Ajax. Der Browser als Client benötigt nur JavaScript-Unterstützung, keine JVM oder Eclipse Installation. Weiterhin wird eine JFace Implementierung bereitgestellt, die große Teile der bekannten API implementiert. Mit der Workbench-Implementierung von RAP können dann Applikationen mit Views, Perspektiven, Menüs und fast dem gewohnten Bedienkomfort mit Plugins und UI-Contributions entwickelt werden. Auch die Wiederverwendung von Code zwischen RAP Applikationen und RCP Applikationen ist in Grenzen möglich. RAP nutzt die Eclipse OSGi Implementierung Equinox, die auch OSGi für Server-Dienste bereitstellt. Zum anderen werden die im Rahmen des Ajax-Toolkit-Framework-Projekts bereitgestellten Werkzeuge zur Entwicklung von Ajax-Applikationen präsentiert. Die Werkzeuge reichen vom Javascript-Editor über Launch/Debug für Ajax-Webapplikationen bis zum Debuggen von Javascript in Eclipse. Vortragsfolien: A4.pdf
Stichworte: SOA, ESB, Orchestrierungstools, B2B-Integration, JavaCAPS Abstract: Mit der Einführung einer Service-orientierten Architektur sollen Geschäftsprozesse durch Wiederverwendung bestehender Komponenten komponiert werden. Die Sun Java Composite Application Platform Suite (JavaCAPS) ist ein integriertes, umfassendes Software-Paket, das neben dem klassischen ESB und den Orchestrierungstools auch Werkzeuge zur B2B-Integration, ein leistungsfähiges Portal, integriertes Identity-Management und viele weitere Komponenten enthält. JavaCAPS basiert zu 100% auf Java und ermöglicht als hochintegrierte Entwicklungsplattform den schnellen Aufbau einer flexiblen Service-Infrastruktur. Durch die Unterstützung aller wichtigen Standards und die ausgefeilten Integrationsmöglichkeiten werden Offenheit und Investitionsschutz gewährleistet. Der Vortrag gibt einen Überblick über JavaCAPS und die einzelnen Komponenten der Suite. Darüberhinaus wird im Zusammenhang mit dem Open Source Project "OpenESB" einen kurzen Ausblick auf künftige Entwicklungen vorgestellt. Vortragsfolien: A5.pdf
Stichworte: Security, Acegi, Spring, Testing Abstract: Wie werden Sicherheitsanforderungen wie Authentifizierung, Rollenverwaltung und Zugriffsbeschränkung am besten umgesetzt? Meine Antwort: Möglichst einfach, wartbar, testbar und unabhängig vom Businesscode und der Technologie, gleichzeitig aber sicher und robust. Erfahren Sie hier wie Ihnen dabei Spring Security (Acegi) und AspectJ helfen können und welche Vor- und Nachteile dies gegenüber JAAS hat. Vortragsfolien: A6.pdf
Stichworte: Sicherheit, Web Anwendungen, Hacking Abstract: Über 70% aller Angriffe erfolgen heute über Schwachstellen im Anwendungsdesign oder der Implementierung, nicht über Netzwerke. Somit sind "Application Attacks" die größte Gefahr für E-Business, da sie zudem von Firewalls, SSL und anderen herkömmlichen Technologien nicht abblockiert werden können. Nur das richtige Design und eine korrekte Implementierung einer Anwendung kann schützen. Dieser Vortrag spricht Entwickler und Manager an, die Ihre Enterprise Anwendungen gegen interne und externe Hacker schützen wollen. Er gibt einen Überblick auf die vielfältigen Aspekte der Sicherheit in Web-Applikationen und wie sie zuverlässig zu schützen sind. Der Vortrag wird praxisnah und mit vielen Beispielen gestaltet. Eine "Live Hacking" Demonstration zeigt, wie eine laufende J2EE Applikation mittels SQL-Injection, AJAX, Cross-Site Scripting, Missbrauch des Invoker-Servlets, unsicherer Kryptographie, Konfiguration des Containers u.v.m. attackiert werden kann. Durch die Live Demonstration erhält das Seminar eine direkte Aktualität, die das Thema den Teilnehmern in einer klaren, sehr deutlichen Form aufzeigt. Der Vortrag basiert auf konkreten Erfahrungen und Beispielen aus der Praxis: es wird keine graue Theorie vermittelt. Vortragsfolien: A7.pdf
Stichworte: OpenOffice.org Extensions programmieren mit NetBeans Abstract: Man kann OpenOffice.org um eigene Funktionalitäten erweitern. Dies erfordert eine Einarbeitung in die API und in die Konfiguration von OpenOffice.org, was die initiale Hürde zum Erstellen der Erweiterungen schwer überwindbar scheinen lässt. Andererseits steht mit NetBeans eine mächtige integrierte Entwicklungs-Umgebung zur Verfügung, die mit Plug-Ins erweitert werden kann. Das OpenOffice.org NetBeans-Integration Plug-In stellt die Schnittstelle zwischen beiden Plattformen dar. Nach Installation des Plug-Ins stehen in NetBeans neue Datei- und Projekt-Wizards zur Verfügung, die dem Benutzer bei der Erstellung von Erweiterungen viele Standard-Aufgaben abnehmen. Im Rahmen des Vortrags werden die Projekt-Typen und Datei-Typen des Plug-Ins vorgestellt und die Features der OpenOffice.org Extensions erläutert. Dabei wird genauso auf die Konfiguration des Office eingegangen wie auf Versionierung und Lizenzierung von eigenen Extensions. Abschließend wird auf die Möglichkeit des automatischen Updates von Extensions in OpenOffice.org eingegangen. Sowohl NetBeans, das NetBeans Plug-In als auch OpenOffice.org sind unter einer Open Source Lizenz erhältlich. Vortragsfolien: B1.pdf
Stichworte: J2EE, Application Server, Apache Abstract: Ein frisch implementierter Open Source Application Server, der mit einem interessanten Lizenzmodell, IBM Commitment, guten Konfigurationsmöglichkeiten und dem in Version 1.1 neu hinzugekommenen Plugin Konzept argumentiert, muss sich aktuell noch fragen lassen, ob er schon einsatzbereit ist. Im Zeitalter von Spring ist der Verlust eine JavaEE 5 EJB Containers für viele Interessenten zu verschmerzen. Die Session stellt den Apache Geronimo zusammen mit Einsatzszenarien für den produktiven Betrieb, z.B. mit einer dynamisch erstellten Konfiguration vor. Vortragsfolien: B2.pdf
Stichworte: Eclipse, RCP, Application Architecture, Components, Domain-specific platform Abstract: Eclipse Rich Client Platform (RCP) is a runtime platform for delivering your Java applications on multiple platforms. RCP is far more than just a widget toolkit; it is effectively rich client "middleware" that provides a comprehensive platform for building and deploying applications that are modular, extensible, and updatable. Many organizations (including BEA, IBM, NASA, and Novell) are using the richness of the open source Eclipse platform to deliver high quality applications that provide rich user experiences. In this presentation, we walk through some of the key points in the code for an Eclipse RCP application. Discussion includes factoring of application code into components (OSGi bundles), the use of extension points to provide hooks that allow others to extend and customize the application, the inclusion of custom widgets, and leveraging components as both an independent RCP application and as plug-ins to an existing Eclipse environment. The presentation starts with a brief overview of the Eclipse Rich Client Platform, along with a brief discussion many important features (component model, jobs API, workbench, views and editors, and extension points). The main focus of the presentation is the RCP application itself which is presented using live code. Key parts of the application are reviewed, discussed, and shown in action. This is effectively a shallow code review that starts with an overview of the application that includes discussion of the various components that make up the application, the roles that they play, and how they interact. The underlying object model is discussed briefly, followed by a more detailed review of the various interacting views and how they are composed within the workbench. Extension points are then reviewed showing attendees how an application can be made into a domain-specific platform allowing adopters to customize and extend the application with relative ease. This portion of the talk concludes with dicussion of the branding process (splash screen, icons, about dialog, etc.). The demonstration portion of this presentation leverages Eclipse Mylar to provide a focused view of each part under review. The presentation wraps up with pointers to how attendees can access the application code, and find additional help and resources. Vortragsfolien: B3.pdf
Stichworte: Project Management, "Collaborative Software Development", "Open Source Development", Verteilte Entwicklung Abstract: SubTitel: What project managers and developers can learn from the open source development model Open source projects have resulted very successful products such as Apache, eclipse, NetBeans, operating systems - What managers and developers can learn from this successful projects, processes and techniques and which tools they require, behind of their firewalls, for their corporate development environment. This speech shows our experiences at international Enterprises which are successfully adopting open source techniques for distributed teams. It shows within a concrete example how a collaborative platform with wiki's task, bug, requirements management, document sharing, build system helps corporate development to successfully apply open source practises. A life presentation will be given showing an integrated environment together with eclipse, Mylar and NetBeans, Subversion together with codeBeamer. Vortragsfolien: B4.pdf
Stichworte: Eclipse, Softwareentwicklung, Tipps, Einsteiger Abstract: Eclipse ist momentan die Java-Entwicklungsplattform der Wahl. Viele andere Toolhersteller bauen ebenfalls auf der Eclipse-Plattform auf. Der Vortrag möchte dem schon etwas geübten aber trotzdem Neueinsteiger in Eclipse einige Features und Kniffe aufzeigen, die er bisher vielleicht noch nicht entdeckt hat:
Der Vortrag richtet sich an erfahrene Java-Programmierer, die neu auf Eclipse umgestiegen sind oder an Entwickler, die frisch zu Java und Eclipse gekommen sind, und es noch gewohnt sind, wie in ihrer bisherigen Entwicklungsumgebung zu programmieren. Vortragsfolien: B5.pdf
Stichworte: Drucken mit JAVA, XSL-FO, FOP Abstract: Drucken mit Java gestaltet sich in der Praxis oft sehr schwierig, insbesondere wenn auf Basis individuell gestaltbarer Vorlagen ein mit Anwendungsdaten angereichertes Dokument erzeugt werden muss. Abhilfe kann ein Drucksystem schaffen, das ohne Zusatzanwendungen plattformunabhängig diese Anforderungen erfüllt. Der Vortrag zeigt, wie mit Hilfe der von Apache bereitgestellten Open Source Lösung FOP solch ein Drucksystem aufgebaut und in die eigene Anwendung integriert werden kann. Beispielhaft wird die Erstellung qualitativ hochwertiger Ausdrucke im Portable Document Format (PDF) vorgestellt. Unter anderem werden die Fragen beantwortet, wie Daten und Druckvorlagen getrennt werden können und wie flexibel sich das Drucksystem bei Erweiterungen und Anpassungen verhält. Vortragsfolien: B6.pdf
Stichworte: Unit-Tests, Selenium, Testautomatisierung von Webanwendungen Abstract: Webanwendungen zu testen hat schon viele Projekte herausgefordert und auch viele unterstützende Frameworks zu Tage gebracht. Mit dem Framework Selenium ist ein neues Test-Werkzeug auf dem Open Source-Markt erschienen, welches das Testen von Web-Oberflächen zu einem Kinderspiel macht. In unserem Vortrag werden wir zuerst die Probleme manueller Oberflächentests eingehen und darauf aufbauend verdeutlichen, wie diese Probleme mithilfe von Selenium angegangen werden können. Im Anschluss daran beschreiben wir die drei Bestandteile des Frameworks und verdeutlichen ihren Nutzen, aber auch ihre Nachteile: Manuelles Erstellen von Tests in Tabellenform, automatisches Recording von Tests während der Testdurchführung und die aus Java heraus gesteuerte Ausführung als Unit-Test (z. B. im Zuge einer Continuous Integration). Eine praktische Demonstration wird den Vortrag begleiten. Hier werden die einzelnen Bestandteile einmal kurz vorgeführt und auf ihre Besonderheiten eingegangen. Eine Bewertung des Frameworks wird den Abschluss bilden. Hierbei gehen wir auf den Nutzen des Einsatzes von Selenium in Projekten ein und auf die Möglichkeit, den Kunden selber in die Testfallerstellung einzubeziehen, um damit auch die Akzeptanz neuer Produkte zu erhöhen. Vortragsfolien: B7.pdf
Stichworte: Numerische Bibliothek, Multivariat Analysis, ClusterHierarchical, ClusterKMeans, Cluster Analysis Abstract: This speech explains two classes of different kinds of clusters based on the algorithms included in the JMSL library of Visual Numerics for JAVA programmers. Cluster explanations will be presented by using examples out of medical and astronomic (sort stars depending on luminosity and hotness) applications with the following classes: ClusterKMeans performs a K-means cluster analysis. ClusterHierarchical conducts a hierarchical cluster analysis based upon a distance matrix, or by appropriate use of the argument transform, based upon a similarity matrix. Proceeding of hierarchical clustering with following contents:
Vortragsfolien: C1.pdf
Stichworte: Bug-Pattern, AOP, AspectJ, Fehlervermeidung Abstract: Shit happens. Genauso NullPointerExceptions. Selbst bei sorgsamer Programmierung und ausgiebigen Tests finden sie immer wieder ihren Weg in die Programmlogik, in der sie sich solange versteckt halten, bis die Applikation in Freiheit und Produktion entlassen wird, um sich dann bemerkbar zu machen. Aber selbst wenn sich beim Testen eine NullPointerException verrät, tut man sich bei der Suche nach dem Übeltäter meist schwer - wer, verdammt noch mal, hat hier denn die eine Null-Referenz übergeben? Ursache für NullPointerExceptions sind meist ein zu sorgloser Umgang mit Null-Werten. Dagegen helfen keine schärfere Compiler-Einstellungen, keine Meetings und keine Moralpredigten - da hilft nur die AOP-Klatsche: jede Methode, die eine Null-Referenz übergibt oder zurückgibt, wird gebranntmarkt ... Wie? Sie können mit AOP (Aspektorientierte Programmierung) nichts anfangen oder halten es gar für gefährliches Teufelszeug? Dann lassen Sie sich überzeugen, wie sie mit AspectJ (einer aspektorientierten Erweiterung von Java) diese und andere Zeitbomben in ihrem Code entschärfen können. Gerade für die Qualitätssicherung und dem Entlarven einiger typischer Bug-Patterns kann die Aspektorientierung eine wertvolle Hilfe sein. Vortragsfolien: C2.pdf
Stichworte: Java Generics, Java 5.0, Tipps, Programmiertechniken, Fehlervermeidung Abstract: Die Version 5.0 der Java Standard Edition hat einige Änderungen an der Sprache und den Plattform-Bibliotheken gebracht. Insbesondere die Einführung von parameterisierten Typen sowie deren konsequente Verwendung im Collection Framework und anderen Teilen des JDK betrifft nahezu jeden Java-Entwickler, der Java 5.0 einsetzen will. Zwar wurde mit parameterisierten Typen schon lange vor ihrer Freigabe im Herbst 2004 experimentiert. Ihre endgültige Form, wie seit Java 5.0 verfügbar, weicht aber stark von den anfänglichen Java Generics ab. Insbesondere die sogenannten Wildcards - seltsame syntaktische Konstrukte mit Fragezeichen - wurde erst kurz vor der Freigabe von Java 5.0 in die Sprache aufgenommen. Nun lachen diese Wildcards dem Java-Entwickler bei jedem Blick in die Java-API-Dokumentation entgegen. In dieser Session sehen wir uns das Sprachmittel der parametrisierten Typen an. Da sicher die meisten Java-Entwickler bereits eine ungefähre Vorstellung von Java Generics haben werden, liegt der Schwerpunkt auf den weniger offensichtlichen Aspekten, wie zum Beispiel den Wildcard-Instantiierungen. Daneben werden neue Programmiertechniken diskutiert, die sich aus der Parametrisierung von Typen und Methoden ergeben. Dazu gehört die Nutzung von Typinformation in Form von Class<T>-Objekten, flexibles API-Design unter Verwendung von Wildcards sowie Kompatibilitätserwägungen bei der Generifizierung existierenden APIs. Vortragsfolien: C3.pdf
Stichworte: Groovy, Java Abstract: Groovy ist eine neue objektorientierte Sprache, die sich durch die Kompatibilität mit Java auszeichnet. Groovy bietet die volle Interoperabilität zu Java, nahezu identische Syntax, aber ohne den Ballast "überflüssiger" Anweisungen, und das ganz angereichert mit zusätzlichen Sprachkonstrukten, die es erlauben, sich optimal auf die Problemlösung zu konzentrieren. In diesem Vortrag lernen Sie die grundlegenden Eigenschaften von Groovy kennen, die es erlauben, deutlich produktiver Software zu entwickeln als mit Java, ohne die Kompatibilität zu existierender Java-Software aufzugeben. Vortragsfolien: C4.pdf
Stichworte: Groovy, Java Abstract: Groovy ist eine neue objektorientierte Sprache, die aufbauend auf Java, viele neue und elegante Sprachkonstrukte zur Verfügung stellt. Im ersten Moment scheint es verblüffend, dass diese auf einer normalen Java Virtual Machine implementiert werden können. In diesem Vortrag werden wir die Details der Implementierung einiger dieser Konstrukte kennen lernen und sehen, wie die Java Virtual Machine davon überzeugt werden kann, Dinge zu tun, die eigentlich unmöglich sind. Besonders beleuchten wir die Implementierung des Meta Object Protocols, von Closures und von Categories. Vortragsfolien: C5.pdf
Stichworte: TDD, Groovy, Design, Architektur, Java Abstract: Groovy ist eine dynamische Programmiersprache. Seine enorme Popularität verdankt Groovy zum einen den Features, die in die Sprache aufgenommen wurden, wie etwa Closures, literale Ausdrücke für Listen, Maps und Ranges, GStrings und Metaobjektprogrammierung (MOP). Andererseits ist Groovy so beliebt gerade bei Javaentwicklern, da es für sie sehr leicht erlernbar ist und sich darüber hinaus ohne Hauen und Stechen mit der Javawelt versteht. TDD ist mit Groovy eine Freude! Das testgetriebene Entwickeln mit dynamischen Programmiersprachen gibt dem Entwickler mächtige Methoden und Werkzeuge an die Hand und es ergeben sich dadurch neue Möglichkeiten der Anwendungsentwicklung. Groovy unterstützt direkt Unittests, Mocks und Dummies. Die Features der Sprache verhelfen dem testgetriebene Designen von Software zu mehr Effizienz bei der Durchführung und das gute Zusammenspiel mit Java erlaubt es auch in Javaprojekten, von TDD per Groovy zu profitieren. Vortragsfolien: C6.pdf / C6-C7.zip
Stichworte: Groovy, DSL, dynamische Programiersprachen, Metaobjektprogrammierung Abstract: Eine Domain Specific Language (DSL) ist eine Sprache, mit der sich Umstände innerhalb eine Fachgebiets ausdrucksstärker darstellen lassen als in allgemeinen Programmiersprachen. Hierfür war es bislang meist notwendig, Parser zu schreiben oder ähnlich aufwändig zu verfahren. Mit dynamischen Programmiersprachen können DSLs deutlich einfacher entwickelt werden. Groovy ist eine dynamische Programmiersprache. Dynamische unterscheiden sich von statischen Programmiersprachen u.a. dadurch, dass sie Empfänger von Methodenaufrufen zur Laufzeit ermitteln, nicht bereits während des Kompilierens. Dieses Feature ist die Basis der Metaobjektprogrammierung (MOP). Groovy bietet hervorragende MOP-Eigenschaften, und gerade durch Groovys immens gutem Zusammenspiel mit der Javaplattform ist es für viele Javaentwickler eine gute Wahl, die Vorteile bei der DSL-Entwicklung mit Groovy zu nutzen. Vortragsfolien: C7.pdf / C6-C7.zip
Stichworte: Persistenz, Java SE, Java EE Abstract: Persistenz im Jahre 2007 ist leichtgewichtig und standardisiert. Im Rahmen der EJB 3.0 Standardisierung ist ein separater Standard für Java Persistenz entstanden, der über alle Mittel verfügt, komplexe datengetriebene Anwendungen zu realisieren. In dem Beitrag werden die Referenten die Neuerungen des Java Persistence API vor- und der EJB 2.x Persistenz gegenüberstellen und Ihre in zwei Projekten gesammelten Erfahrungen schildern. Vortragsfolien: D1.pdf
Stichworte: Maven2, ANT Abstract: Maven2 erlangt zunehmend Popularität durch die Automatisierung von Build-Prozessen. Die Routinearbeit von Entwicklern wird durch die Standards und Konventionen von maven2 vereinfacht. Des Weiteren unterstützten Maven2-Paradigmen die Automatisierung von projektbezogene Aktivitäten wie Qualitätssicherung und Dokumentationsgenerierung. Der Vortrag stellt die grundlegenden Standards und Funktionsweisen von maven2 vor und erläutert deren Bedeutung anhand des Kommandozeilenwerkzeugs an praxisbezogenen Beispielen. Ferner ermöglicht er einen Einblick in ausgewählte Features wie Build-Life-Cycle und Dependency-Management. Da in vielen Java Projekten heutzutage ANT das Werkzeug der Wahl ist, soll in diesem Vortrag ein besonderes Augenmerk auf die Umstellung von ANT-Projekten gelegt werden. Ziel des Vortrags ist es, eine Entscheidungsgrundlage für die Umstellung auf maven2 zu geben. Dazu werden die Stärken von maven2 und ANT gegenübergestellt. Live-Beispiele begleiten den Vortrag und erlauben es, theoretische Inhalte umzusetzen. Vortragsfolien: D2.pdf
Stichworte: EJB 3.0, POJO, Umstellung Abstract: Vor stark einem Jahr wurde die EJB 3 Spezifikation verabschiedet. Sie bietet eine deutliche Vereinfachung der Programmierung mit Enterprise JavaBeans. Allerdings muss man nun bei der Entwicklung auch einige "liebgewonnene" Verhaltensweisen über Board werfen. Dieser Vortrag zeigt Erfahrungen mit EJB 3.0 aus der Praxis, die unter Anderem bei der Umstellung existierender Software von EJB 2.x auf EJB 3.0, gemacht wurden. Die beinhaltet sowohl die ganz neuen Entity Beans, Session und Message-driven Beans als auch der Umgang mit den Metadaten und des Namensdienstes. Vortragsfolien: D3.pdf
Stichworte: Spring Framework, OSGi, Modularisierung, Große Business-Anwendungen Abstract: Das Spring-OSGi-Projekt erlaubt es, Anwendungen auf Basis des Spring-Frameworks zu implementieren und gleichzeitig auf einer OSGi-Runtime aufzusetzen. Diese Kombination wird als der nächste große Schritt in der Spring-Entwicklung angesehen und findet immer häufiger Erwährung in Vorträgen zu den Features der nächsten Spring-Versionen. Diese Session gibt einen Einblick in das Spring-OSGi-Projekt und zeigt, wie die Integration von Spring und OSGi funktioniert. Es wird gezeigt, wie sich die Features von OSGi (Modularisierung, dynamisches Komponentenmodell, Service-Orientierung und eine starke Entkopplung zwischen Komponenten) aus einer Spring-Anwendung heraus nutzen lassen und erläutert zusätzlich, wie die Realisierung von OSGi-Anwendungen mit Spring und der Spring-OSGi-Integration deutlich einfacher wird. Vortragsfolien: D4.pdf
Stichworte: Eclipse Equinox, OSGi, Smart Client Abstract: Die Eclipse Equinox OSGi Implementierung erfreut sich schon länger mit ihrem modularen, erweiterbaren und doch kompakten Aufbau bei der Erstellung von Client Anwendungen großer Beliebtheit. In letzter Zeit dehnt sie ihr Einsatzgebiet auch auf die Server Plattform aus. Diese Aufstellung macht sie zur idealen Basis für die Erstellung von Smart Client Anwendungen, bei der die fachlichen Komponenten flexibel zwischen Client und Server verteilt werden können. Bisher fehlt jedoch die Infrastruktur, die die serverseitigen Services nahtlos in die Client Runtime integriert. Der Vortrag zeigt auf welche Weise diese Lücke geschlossen werden kann und welche Möglichkeiten sich daraus für Smart Client Anwendungen ergeben. Vortragsfolien: D5.pdf
Stichworte: EJB 3.0, Java EE, Design Patterns Abstract: Design Patterns beschreiben Probleme und dazugehörige Lösungsszenarien in der Softwareentwicklung. Sowohl Sun als auch andere Autoren haben Design Patterns speziell für den J2EE- bzw. neuerdings Java EE-Bereich beschrieben. Mit dem Fortschreiten der Spezifikation von J2EE 1.4 nach Java EE 5.0 bzw. EJB 2.1 nach EJB 3.0 hat Sun bzw. der Java Community Process sich Ease of Development auf die Fahnen geschrieben. Speziell im Bereich der Enterprise JavaBeans erwartet die Entwicklergemeinde diese Vereinfachungen mit großer Sehnsucht. Grund genug einmal zu prüfen, in welcher Weise sich die Probleme und Lösungen mit EJB 3.0 ändern werden. Dieser Vortrag stellt die J2EE Design Patterns für EJB auf den Prüfstand und bewertet deren Relevanz in Bezug auf EJB 3.0. Vortragsfolien: D6.pdf
Stichworte: Java Batch, Mainframe, Java z/OS, Mainframe Java Anwendungsentwicklung Abstract: Diese Session gibt einen technologischen Überblick über Java auf dem Mainframe. Zunächst werden die verschiedenen Laufzeitumgebungen für Java Anwendungen sowie die Integration von Java in die Mainframe-Welt vorgestellt. Daraufhin wird beleuchtet, in welchen Fällen man einen Mainframe als Laufzeitumgebung für Java verwenden sollte und was die Vorzüge der Mainframe Batch-Verarbeitung in Java sind. In diesem Zusammenhang wird auch die Integration von Java in die klassische Mainframe Batch Umgebung erläutert. Abschließend wird erklärt, wie man Java und Java Batch Anwendungen für den Mainframe entwickelt und monitort. Vortragsfolien: D7.pdf
Stichworte: Provisioning, Enterprise Deployment, Automatisiertes Deployment, Java EE, Betrieb Abstract: Die Entwicklung großer Java EE-Anwendungen ist nach wie vor eine Herausforderung. Oft unterschätzt hingegen wird der Betrieb einer solchen Umgebung, insbesondere wenn zahlreiche Komponenten für das Funktionieren einer Anwendung reibungslos zusammenwirken müssen. Bei großen Projekten kommt außerdem schnell eine mittlere zweistellige Anzahl an Server-Umgebungen zusammen, welche bereitzustellen sind. Dazu zählen beispielsweise Umgebungen für Fachtest, Integrationstest, Systemtest, Abnahmetest, Produktionsvorbereitung, Schulung, Datenmigration sowie für die Produktion selbst. Diese Umgebungen müssen jederzeit nachvollziehbar und, ausgehend vom "nackten Blech", auf Knopfdruck reproduzierbar sein. Auch muss es möglich sein, Unterschiede innerhalb der Konfiguration der jeweiligen Umgebungen zu verwalten und bei der Provisionierung automatisch zu berücksichtigen. Dieser Beitrag zeigt einen Erfahrungsbericht über die Einführung und die Nutzung eines Provisionierungs-Werkzeugs für eine komplexe Java EE-Anwendungslandschaft für ca. 6.000 Benutzer, ausgelegt für mehrere Mandanten in einem Hochverfügbarkeitsumfeld. Die Herausforderung bestand darin, die fehleranfällige, da manuelle, Installation neuer Umgebungen zu vereinheitlichen und zu automatisieren. Schwerpunkte des Beitrages sind zum einen der Prozess von Auswahl, Einführung und Betrieb eines solchen Werkzeugs und zum anderen die technische Integration und Nutzung in Verbindung mit serverbasierten Java-Anwendungen. Vortragsfolien: E1.pdf
Stichworte: Programmanalyse, Sicherheitskritische Software, Laufzeitfehleranalyse, Korrektheit, Verifikation Abstract: Programmweite Datenflussanalyse (Pointeranalyse) zum Nachweis der Freiheit von Laufzeitfehlern, wie z.B. Null-Pointer oder Class-Casts, ist immer noch wenig verbreitet. Derzeitige Anwendungen beschränken sich meist auf Informationen für Optimierungen in Compilern, wobei geringe Genauigkeit zwar zu weniger aggressiven Optimierungen führt, aber meist tolerierbar ist. Bisherigen Analysemethoden fehlte entweder die Genauigkeit, um die vollständige Freiheit von bestimmten Laufzeitfehlern nachzuweisen, oder sie verursachten eine Explosion im Zeit- und Speicherbedarf bei der Analyse nicht trivialer Anwendungen. Zu geringe Genauigkeit führt zu vielen "false positives", d.h., die Analyse kann für korrekten Code nicht automatisch nachweisen kann, dass kein Fehler auftreten kann, während eine Explosion im Analyseaufwand dazu führt, dass in vertretbarer Zeit gar keine Analyseergebnisse vorliegen. In diesem Vortrag wird ein im EU Project HIJA (High Integrity Java) entwickeltes Verfahren zur programmweiten Datenflussanalyse präsentiert, das die Abwesenheit bestimmter Klassen von Java Laufzeitfehlern vollständig nachweisen kann. Solch eine Analyse reduziert den nötigen Debugging-Aufwand und verbessert die Code-Qualität im Allgemeinen. Darüber hinaus dient die durch die Analyse gewonnene Information als Grundlage für weitergehende Werkzeuge, etwa zur Bestimmung des nötigen Laufzeitspeichers oder der maximalen Ausführungszeit. Vortragsfolien: E2.pdf
Stichworte: Service-Orientierung, Enterprise Architecture, Enterprise Service Bus Abstract: In Anbetracht vieler unterschiedlicher Technologien und einer sich ständig ändernden Softwarelandschaft setzen mehr und mehr Unternehmen auf Service-Orientierung. Dabei zeichnet sich ab, dass der Service-Infrastruktur-Layer entscheidende Technologien bietet, die serviceorientierte Architekturen erst ermöglichen. Die bedeutendste Technologie dürfte der Enterprise Service Bus (ESB) sein. BEA AquaLogic Service Bus liefert die service-orientierte Infrastruktur für eine flexible, leistungsfähige IT, die sich auf die betrieblichen Erfordernissen ausrichtet und sorgt für die nahtlose Konvergenz zwischen den Integrationsfähigkeiten eines Enterprise Service Bus mit dem Service-Management. Das beschleunigt die Konfiguration und Implementierung und vereinfacht das Management von gemeinsam genutzten Services innerhalb der gesamten SOA. Der AquaLogic Service Bus bietet intelligentes Message Brokering, dynamisches Routing und Transformationen, unterstützt die verschiedensten Services und integriert Service-Lifecycle-Management-Fähigkeiten wie Service-Registrierung, Monitoring und die Schwellwert-definierte Durchführung von Service-Level-Agreements (SLA). Zudem werden Sie erfahren, wie das AquaLogic Enterprise Repository eine SOA mit Metadaten unterstützt und wie man Informationsobjekte mit ihren Funktionen für die unternehmensweite Nutzung bereitstellen kann. Vortragsfolien: E3.pdf
Stichworte: SOA, Java Business Integration, Composite Applications Abstract: Inhalt des Vortrags ist ein Überblick über die Spezifikation Java Business Integration (JBI), die Entwicklung von Composite Applications sowie das Projekt Open-ESB. Open-ESB ist ein Open Source Projekt von Sun mit dem Ziel eine JBI basierte ESB Infrastruktur bereitzustellen und darauf aufbauend Adaptoren sowie Engines anzubieten. Ein Überblick bzw. Demos der aktuell verfügbaren Umgebung sowie ein Ausblick auf kommende Erweiterung bilden einen weiteren Schwerpunkt des Vortrags. Vortragsfolien: E4.pdf
Stichworte: XFire, Web Services, Java, EAI, SOA Abstract: Im Umfeld von EAI und SOA stehen Architekten/Entwickler vor der Herausforderung ihre bestehenden J EE Anwendungen in andere Legacy-Systeme zu integrieren. Dabei soll zum einen der Refactoring-Aufwand gering gehalten werden, zum anderen etablierte Standards (statt Eigenentwicklungen) für die Kommunikation eingesetzt werden. Diese scheinbar gegensätzlichen Anforderungen können mit dem XFire Web Service Framework elegant umgesetzt werden. Dieser Vortrag schildert anhand von Beispielszenarien und Code-Snippets wie mit geringem Entwicklungs-Aufwand J EE Anwendungen mit Hilfe des XFire Frameworks über Web Services kommunizieren können. Vortragsfolien: E5.pdf
Stichworte: JBoss jBPM, Geschäftsprozesse, BPM / Workflow-Management, Integration / EAI Abstract: Der Vortrag soll die Open-Source Business Process Engine JBoss jBPM vorstellen. Das inzwischen in der stabilen Version 3.2 vorliegende Projekt erfreut sich in letzter Zeit immer größerer Beliebtheit, inzwischen werden auch größere Projekte damit gefahren. Ich möchte in den zur Verfügung stehenden 45 Minuten das Projekt und die Engines (JBoss jBPM unterstützt die proprietäre Prozessmodellierung in jPDL sowie den Standard BPEL) kurz vorstellen und die wichtigsten Konzepte erläutern. Anhand eines kleines Beispieles soll die Umsetzung eines Geschäftsprozesses mit JBoss jBPM gezeigt werden. Als Ausblick möchte ich darauf eingehen, wie eine Business Process Engine sinnvoll in die Anwendungsarchitektur integriert werden kann und mit welchen Probleme / Fallen man üblicherweise konfrontiert ist. Vortragsfolien: E6.pdf
Stichworte: Business Rules als wiederverwendbare Services, Kollaboration von Business und IT, TQM im Business Rules-Kreislauf Abstract: Die Erwartungen an die Einführung einer SOA sind groß: Systeme sollen agil werden, d.h. neue oder geänderte Business Anforderungen müssen sich schnell umsetzen lassen. Zudem wird eine neue Art und Intensität der Kollaboration von Fachabteilungen und IT erwartet. Hierzu ist die Einführung geeigneter Methodologien und Technologien erforderlich. Eine grundlegende Methode ist die Trennung von Geschäftsprozessen und -regeln - und damit die komplementäre Anwendung von Business Process Management (BPM) und Business Rules Management (BRM) Technologien. Dies sind die Schlüssel-Fragen, die Volker Großmann in seinem Vortrag beantwortet:
Vortragsfolien: E7.pdf
Stichworte: Agile Software-Entwicklung, Best Practices in IT Projekten, Lernen aus Projekterfahrungen, Agiles Qualitätsmanagement Abstract: Was suchen Projektmanager und Java-Systemarchitekten? Sie suchen Tipps und Tools, die in konkreten Situationen weiterhelfen. Sie möchten ihre Erfahrungen einbringen und Neues lernen. Was bekommen sie statt dessen? Umfangreiche Methodensysteme, seien es klassische Vorgehensmodelle oder Agile Verfahren wie XP. Muss das so sein? Das ist nicht belegt. Tatsächlich befasst sich die Empirische Forschung zum Software Engineering primär mit der Untersuchung einzelner Methoden - und deswegen gibt es für einzelne Methoden auch viel bessere Aussagen, unter welchen Bedingungen sie erfolgreich sind. Im Vortrag wird zunächst das Konzept vorgestellt, angemessenes Software Engineering aus einzelnen Methoden zusammenzusetzen - einschließlich eines organisierten Lernprozesses, der die Erfahrungen auch über das Projektteam hinaus zugänglich macht. Darüber hinaus werden unterschiedliche einzelne Methoden und die tatsächlichen Erfahrungen und Forschungsergebnisse hierzu vorgestellt. Dabei liegt der Fokus auf agilen und techniknahen Verfahren, wie Test Driven Development vs. automatischen Akzeptanztests, und Pair Programming vs. Code Reviews. Weiterhin wird die neue Wiki-Plattform zur Sammlung des Erfahrungswissens zu Techniken des Software Engineerings vorgestellt, auf der weitere Erfahrungen gesammelt werden. Alle Teilnehmer bekommen die Möglichkeit, als Autoren teilzunehmen. Die Teilnehmer bekommen einen neuen Blick auf das Software Engineering, der es ihnen ermöglicht, selbstbewusster und flexibler mit den unterschiedlichen Vorgehensmodellen umzugehen. Auf dieser Basis wird konkretes Know How zu einzelnen Techniken vermittelt - und eine offene Diskussion mit den Teilnehmern ist ausdrücklich erwünscht! Vortragsfolien: F1.pdf
Stichworte: JUnits auf Knopfdruck, Direktes Feedback für den Entwickler Abstract: Unit-Testing kristallisiert sich als die Lösung heraus, um Agilität und immer kürzere Releasezyklen in der Softwareentwicklung zu realisieren. Des Weiteren können per Knopfdruck JUnit Tests generiert werden, um Regressionsfähigkeit, besonders für Bestandcode zu erlangen. Bei Änderungen werden aufgrund der automatisch generierten Testabdeckung "Querschläger" identifiziert. Das Management Dashboard verarbeitet die Resultate von AgitarOne sowie eigenen JUnits und präsentiert diese auf einfache und verständliche Weise (auch dem Management). Dabei werden zusätzliche Metriken, wie z. B. die Komplexität und das Risiko sowie Coding Conventions erhoben bzw. überprüft. Durch diese Kombination inkl. Continuous Integration und Test wird Unit-Testing einfach und effizient in den Alltag des Entwicklers integriert, mit dem Effekt, dass die Qualität signifikant steigt sowie kürzere Releasezyklen erreicht werden. Vortragsfolien: F2.pdf
Stichworte: Java GUI Testing, Automated Testing, QA Abstract: Functional GUI testing is a vital part of the development and QA process of today's complex GUI applications. Manually testing the GUI of an application is error-prone, unreliable, unpredictable and slow. Automating this process on the other hand, allows to reliably deliver results quickly, enabling developers to find and fix regressions in nearly no time. This does not only save time but also money. This talk will highlight the requirements, challenges and solutions to automating the GUI testing of Java Swing/AWT and Java SWT/Eclipse RCP applications based on real-world examples and experience. The talk will be accompanied by practical, live demonstrations. Vortragsfolien: F3.pdf
Stichworte: Requirements Engineering, Requirements Management Abstract: Lohnt die Investition in die Einführung von Requirements Engineering und Managementtools wirklich? Oder ist das nur ein geeignetes Mittel um eine maximale Anzahl an Mitarbeitern zu verschrecken und parallel noch viel Geld zum Fenster hinaus zu werfen? Der Vortrag versucht die wirklichen Benefits von Tools in der Analysephase herauszuarbeiten. Er gibt Ihnen Entscheidungskriterien an die Hand, wann sich eine Investition für Sie lohnt und welche flankierenden Maßnahmen Sie unbedingt ergreifen sollten. Vortragsfolien: F4.pdf
Stichworte: MDRE, Modellbasierte Entwicklung, Projektmanagement, Eclipse, Softwareentwicklungsprozess, Requirements Engineering Abstract: In den Disziplinen "Entwicklung und Design" gilt der Einsatz vom Modellen als State of the Art. Im Requirements Engineering werden dahin gegen leider immer noch althergebrachte, konservative Strukturierungsmöglichkeiten verwendet. Der Einsatz von Modellen auch in diesem Bereich macht Anforderungsbeschreibungen besser auswertbar, verifizierbar und eröffnet ganz neue Möglichkeiten für die Nachverfolgbarkeit. Die Erfassung auch der Anforderungen in einem Modell schafft aber auch Integrationsmöglichkeiten im Softwareentwicklungsprozess weit über das übliche Maß hinaus und schafft Synergieeffekte in weiteren Projektdisziplinen wie beispielsweise im Bereich Projektmanagement. Vortragsfolien: F5.pdf
Stichworte: Eclipse, Mylar, Task tracking, JDT, Java Development, Bugzilla, JIRA, Trac Abstract: Eclipse Mylar's task-focused interaction technology has changed the way that developers work. Current IDEs overload developers with tens of thousands of artifacts, meaning that we often spend more time searching, scrolling, and navigating than we do programming. Mylar focuses the entire UI of Eclipse to show only the information relevant to the task-at-hand. With Mylar, multi-tasking becomes effortless, and recalling previous work only takes a single click. In addition, Mylar's integrated task management facilities displace the cumbersome browser and email based mechanism of task tracking. This talk will start with an overview of Mylar's task management features including features 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, Mylar 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 Mylar's task context management when working with Java, plug-in, and web applications. Mylar's task context sharing and change set management will then be used to show Mylar can make the entire development team more productive by realigning interaction around tasks. Vortragsfolien: F6.pdf
Stichworte: "Collaborative Software Development", "Open Source Java Development", Verteilte Entwicklung Abstract: The JavaForge was launched in 2005 as the first Subversion backed, free collaboration platform for the Open Source World. It provides today a rich set of application life cycle management capabilities including enterprise Wiki, trackers for bugs, task, changes and requirements as well as project management. The next version of JavaForge comes with a fully integrated Eclipse Mylar plug-in and a NetBeans module that extends a rich set of capabilities resulting in increased developers' productivity. Through the integrated infrastructure, developers are able to collaborate, share knowledge, and work effectively together from different locations using their IDE's or the Web. A live demonstration will be given about how JavaForge is being used by open source developers. It will be also mentioned what managers could adapt from open source experiences to improve their existing techniques in the corporate culture. Vortragsfolien: F7.pdf
Stichworte: Entwicklungsprozess, Softwarequalität, SCRUM, XP Abstract: Zur Sicherung der Qualität der produzierten Software bei Gewährleistung einer effizienten Arbeitsweise ist bei andrena objects ag ein agiler Entwicklungsprozess definiert, dessen Komponenten sich in jahrelanger Praxis bewährt haben. Dieser umfasst im Wesentlichen SCRUM als Planungsmethode, ergänzt um XP-Praktiken wie Pairprogramming, testgetriebene Entwicklung und Refactoring als Programmiermethodiken. Parallel dazu werden monatlich Kennzahlen zur Bewertung der Codequalität, erreichten Testabdeckung und der Qualität der Aufwandsschätzungen erhoben sowie die im Kundentest bzw. Produktivbetrieb aufgedeckten Programmierfehler gesammelt. Alle diese Kennzahlen werden zu einem Prozessqualitätsindex verdichtet, der als Basis für die Steuerung und Optimierung des Prozesses dient. Im Rahmen des Vortrags wird dieses Vorgehensmodell am Beispiel eines konkreten Projektes vorgestellt und die Vorteile, die sich aus der kreativen Umsetzung dieser Arbeitsweise ergeben, präsentiert. Vortragsfolien: G1.pdf
Stichworte: Fitness, Jira, Entwicklungsprozess, Kundenintegration, Qualitätssteigerung Abstract: Wer kennt nicht das Problem? Der Kunde sagt: Der Entwickler sagt: Diese Diskrepanz zwischen der Artikulation des Kunden und dem Verständnis des technisch orientierten Entwicklers ist oft eine unüberbrückbar scheinende Kluft, die einer der entscheidenden Gründe für das fehlschlagen von Softwareprojekten verantwortlich gemacht werden. Innerhalb des Vortrages soll mit Hilfe von Fitnesse und Jira praxisnah eine Möglichkeit aufgezeigt werden, um diese Differenzen in der Kommunikation der beiden Stackholder zu minimieren. Der Vortrag ist ein Praxisbericht eines unsere Projekte! Dieses Ziel kann erreicht werden, indem der Kunde aktiv in den Entwicklungsprozess mit Hilfe von Fitnesse eingebunden wird.
Vortragsfolien: G2.pdf
Stichworte: Prozessoptimierung und -automatisierung, Anforderungsverwaltung, Metriken (Qualität, Produktivität, Effizienz), Konfigurationsmanagement Abstract: Haben Sie als Projektmanager immer den Überblick über den aktuellen Stand Ihres Projektes? Wissen Sie genau, welche Anforderungen schon bearbeitet oder gar getestet wurden? Heutige Requirements Management Lösungen sind meist Insellösungen mit einem scheinbar unüberwindbaren Bruch in der Verbindung zum Testen. Obwohl eine Verbindung zwischen verschiedenen Test Management Tools und JUnit existiert, fehlt meistens auch hier eine wirkliche Nachvollziehbarkeit (Traceability) zur dazugehörigen Anforderung. Der vollständige Abschluss eines Projekts steht aber immer im Zusammenhang von Anforderung zu erfolgreichem Test. Eine praktikable Architektur muss demzufolge erlauben, zu jeder Anforderung eine Liste der zu erfüllenden Tests aufzuzeigen und diese auch automatisiert ablaufen zu lassen. Dabei müssen abschließend die Testergebnisse zurückgegeben werden. Eine vollständige Fertigstellung der jeweiligen Anforderungen kann dementsprechend nur bei erfolgreicher Testdurchführung erfolgen. Zusätzlich müssen relevante Reports generiert werden, die alle aktuellen Informationen über den Status des jeweiligen Projekts enthalten, wie beispielsweise die Requirements-Testabdeckung. Der Vortrag teilt sich auf in einen theoretischen Teil und eine Live-Vorführung, die zeigt, wie diese Situation von MKS Integrity in die Praxis umgesetzt und gelöst wird. Vortragsfolien: G3.pdf
Stichworte: EJB 3.0, testgetriebene Entwicklung, Unit-Testing Abstract: Der EJB 3.0 Standard weist einige radikale Neuerungen auf. Eine der Versprechungen, mit denen Sun die dritte Version der serverseitigen Komponenten an den Start schickt, ist die der leichten Testbarkeit. Doch wie zeigt sich das in der Praxis? Ist mit EJB 3.0 nun endlich ein Test-driven Ansatz möglich? Diesen Fragen wird in diesem Vortrag auf den Grund gegangen! Ein Überblick über die Test-Features von EJB 3.0 wird vermittelt, auf Basis dessen diskutiert wird, wie man diese in der Praxis einsetzt. Der Referent arbeitet derzeit, gemeinsam mit einem Kollegen, an einem Buch über den neuen EJB-Standard, das im Mai 2007 veröffentlicht wird. Vortragsfolien: G4.pdf
Stichworte: Kommerzieller Nutzen von SOA, Technologie für SOA, Erwartungen an SOA, Erfahrungen aus SOA Projekten Abstract: Wir beschreiben die Vision des agilen Unternehmens, das aktiv den Markt gestaltet statt nur auf Veränderungen zu reagieren. Geschäftsmodelle, Prozesse, Strukturen und Leistungsangebote können so dynamisch geändert werden, das daraus ein echter Wettbewerbsvorteil entsteht. Time to Market im Leistungsangebot ist hier das Kernelement. Es ist die konkrete Vision der optimierten Aufstellung aller Geschäftsbereiche. Wobei qualitative Faktoren wie etwa gute Kundenbindung, Erfolg im Neukundengeschäft, optimale Integration der Partner etc. im Vordergrund stehen. Wir stellen der Vision die konkrete Realität von SOA Projekten gegenüber und beschreiben welche Ergebnisse erzielt wurden, welche Erfolgsfaktoren entscheidend sind und was letztlich - immer gemessen an der attraktiven Vision - erreicht werden kann. Vortragsfolien: G5.pdf
Stichworte: ROI, GUI Test, Entwickler-Guidelines, Test Automatisierung Abstract: Das funktionale Testen von Applikationen über die grafische Oberfläche ist sehr wichtig, jedoch schwierig zu automatisieren. Da dies eine zeit- und ressourcenaufwändige Aufgabenstellungen in einem Softwareprojekt darstellt, lohnt es sich, Chancen und Risiken der Automatisierung schon vor Projektbeginn genau zu analysieren. Unsere Erfahrung zeigt, dass Testautomatisierung im GUI-Bereich häufig als nicht rentabler und unnötiger Mehraufwand abgetan wird, was durchaus zutrifft, falls die Organisation, Strukturierung und Implementierung von Testautomatisierung unüberlegt erfolgen. Der erste Teil des Vortrages untersucht die Projektphasen der GUI-Testautomatisierung hinsichtlich deren Einfluss auf den Return on Invest (ROI). Der zweite Teil des Vortrages beschreibt Erfahrungen und Grundtechniken, die bei der Umsetzung von GUI-Testautomatisierungsprojekten beachtet werden sollten, ebenso wie Richtlinien, die für die Entwickler bei der Erstellung der GUIs zu empfehlen sind. Letztere resultieren aus Erfahrungswerten in der GUI-Test-Entwicklung für Java/Swing und Java/SWT-Oberflächen sowie Entwicklungen von Tests für Weboberflächen. Aus der praktischen Erfahrung ist der ROI von GUI-Testautomatisierung stark abhängig vom Grad der Wiederverwendbarkeit der Testmethoden sowie der möglichst einfachen Änder-, Wart- und Erweiterbarkeit der Testfälle bei Änderungen der Programmoberfläche und neuen Programmversionen. Hier kann der Entwickler durch die Befolgung der im zweiten Teil behandelten Richtlinien die Automatisierung von GUI Tests enorm unterstützen. Vortragsfolien: G6.pdf
Stichworte: k.A. Abstract: Automatisierte Tests zählen heute zum Standard in der Software-Entwicklung. Jedoch werden graphische Benutzerschnittstellen immer noch meist von Hand getestet. Dieser Vortrag gibt einen Überblick über die verschiedenen Ansätze GUIs zu testen und stellt die verfügbaren kommerziellen und open-source Werkzeuge vor, die bei der Erstellung von Tests für SWT/JFace/RCP-basierte Anwendungen helfen.
|