Workshop-Tage 2009
09.09. - WS6: OSGi in der Praxis - "Quickstart"
Ganztages-Workshop
Referent/-in
Patrick Baumgartner, Trivadis AG
Patrick Baumgartner arbeitet als Application Development Consultant bei Trivadis AG. Sein Tätigkeitsbereich umfasst den Entwurf und die Entwicklung von JEE und Web-Applikationen auf der Basis des Spring Frameworks. Sein aktueller Schwerpunkt ist die Entwicklung von von OSGi Anwendungen mit Eclipse RCP, Equinox und Spring dm. Sein besonderes Interesse gilt flexiblen Softwarearchitekturen und der agilen Softwareentwicklung mit Scrum.
Bernd Weber, Trivadis AG
Nach seinem Studium der Finanzwissenschaften an der Fachhochschule des Bundes Münster arbeitete Bernd Weber zunächst in der Bundeszollverwaltung und anschliessend im Bundesfinanzministerium als Teilprojektleiter des nationalen Softwareprojekts ATLAS. Seit seinem Wechsel in die freie Wirtschaft im Jahr 2000 war er in Grossprojekten unterschiedlichster Technologien als Entwickler, Berater, Architekt und Projektleiter tätig. Die Integration verschiedener Systeme sowie Daten- und Technologiemigrationen sind beständige Herausforderungen der von ihm begleiteten Projekte. Die Auswahl und Einführung optimal unterstützender Prozesse, Methoden und Werkzeuge bilden daher einen Grundpfeiler seiner Tätigkeiten, bei denen er stets nach einem Optimum an Qualität und Aufwand strebt. Aus seiner Erfahrung heraus befürwortet Bernd Weber die Nutzung agiler Methoden wie Scrum, unterstützt die kontinuierliche Integration und setzt wo möglich auf offenen Standards und Open Source Software auf.
Einleitung
Aller Anfang ist schwer. Das gilt insbesondere für gestandene Java-Entwickler, die OSGi und seine Prinzipien befolgen und einsetzen wollen. Die Vorteile eines Einsatzes von OSGi sind enorm, und mithilfe dieses Workshops werden die gröbsten Hürden auf dem Weg in eine neue Denkwelt schnell gemeistert. Neben der Migration traditioneller Java-Archive widmet er sich der Definition und Verwendung von Diensten in verschiedenen Varianten, führt in die Verwendung der wichtigsten Entwicklungs-Werkzeuge ein und gipfelt in der Kombination zweier bisher getrennter Welten: eines Eclipse Rich Client, der die Möglichkeiten des Spring-Frameworks nutzt! Die Teilnehmer gehen mit einer funktionierenden Arbeitsumgebung und beispielhaften Diensten nach Hause, welche als Vorlage für die eigene Arbeit dienen kann.
Programm
- Erstellen einer bnd-Steuerdatei für die Migration eines traditionellen JARs in ein OSGi-Bundle
- Einbinden der bnd-Steuerinformationen in Maven
- Verwendung von Pax Runner (diverse OSGi-Plattformen auf Kommandozeile) und Pax Cursor (dasselbe unter Eclipse)
- Aufsetzen eines neuen Bundles mit Maven und Verwendung in Eclipse-PDE
- Definition und Bereitstellung eines OSGi-Dienstes via BundleActivator
- Verwendung von Diensten mittels ServiceTracker (OSGi Core Specification)
- Deklaration und Verwendung eines OSGi-Dienstes mittels Declarative Services (OSGi Service Compendium)
- Deklaration und Verwendung eines OSGi-Dienstes mittels Spring Dynamic Modules
- Ein Eclipse-Rich-Client nutzt das Spring-Framework
- Debugging unter Eclipse
- Unit- und Integrationstests mit Spring-dm
- Verwendung von Bundle Repositories
Kursziel
- Traditionelle JAR-Dateien können mit bnd/maven zu OSGi-Bundles migriert werden
- OSGi-Bundles können unabhängig von bestimmten Plattformen eingesetzt werden
- Dienste können programmatisch bereitgestellt und verwendet werden
- Dienste können deklarativ bereitgestellt und verwendet werden
- Spring-DM kann mit einem Eclipse Rich Client kombiniert werden
- Aufsetzen eines neuen Bundles mit Maven und Verwendung in Eclipse-PDE
- Definition und Bereitstellung eines OSGi-Dienstes via BundleActivator
- Verwendung von Diensten mittels ServiceTracker (OSGi Core Specification)
- Deklaration und Verwendung eines OSGi-Dienstes mittels Declarative Services (OSGi Service Compendium)
- Deklaration und Verwendung eines OSGi-Dienstes mittels Spring Dynamic Modules
- Ein Eclipse-Rich-Client nutzt das Spring-Framework
- Debugging unter Eclipse
- Unit- und Integrationstests mit Spring-dm
- Verwendung von Bundle Repositories
Adressaten
Entwickler/-innenVoraussetzungen
Der Teilnehmer sollte gute Java-Kenntnisse mitbringen. OSGi-Vorwissen ist hilfreich, aber nicht notwendig.
Auswertung der Teilnehmer-Feedbacks
Basis 12 Feedbacks
| kein Lerneffekt < > viel gelernt | überhaupt nicht < > voll und ganz | nie wieder < > jederzeit | ||||||||||||
| Lerneffekt des Kurses | Entsprach der Kurs Ihren Erwartungen? |
Würden Sie den Kurs wiederbesuchen? |
||||||||||||
| überhaupt nicht < > voll und ganz | überhaupt nicht < > sehr | zu viel Theorie < > zu viel Praxis | ||||||||||||
| Würden Sie den Kurs weiterempfehlen? |
Nützen Ihnen die Informationen bei Ihrer Arbeit? |
War das Verhältnis von Theorie und Praxis ausgewogen? |
||||||||||||
| zu kurz < > zu lang | zu hoch < > zu tief | dauernd < > überhaupt nicht | ||||||||||||
| Wie war die Vortragsdauer im Verhältnis zum Inhalt? |
Wie war das Vortragsniveau Verhältnis zu Ihren im Vorkenntnissen? |
Wie oft haben Sie sich gelangweilt? |
||||||||||||
| zu komplex < > zu einfach | überhaupt nicht < > voll und ganz | überhaupt nicht < > voll und ganz | ||||||||||||
| Waren die Beispiele angemessen? |
Hat der Referent den Inhalt verständlich vermittelt? |
Ging der Referent auf die Teilnehmer ein? |
||||||||||||
- Manchmal etwas maven lastig :-)
- Mehr kleinere Übungen -> klar abgegrenzt mit Kochrezept?
