90 likes | 220 Views
Eclipse Rich Client Platform Siemens Workshop. Kai Tödter Siemens AG CT SE 2. Agenda. Agenda Mittwoch, 26.10.05: 12:00 Mittagessen 12:30 Kurze Vorstellung der Teilnehmer 13:00 Vorstellung der RCP-Applikation, die als Basis für das Tutorial dienen könnte (Kai)
E N D
Eclipse Rich Client PlatformSiemens Workshop Kai TödterSiemens AGCT SE 2
Agenda • Agenda Mittwoch, 26.10.05: • 12:00 Mittagessen • 12:30 Kurze Vorstellung der Teilnehmer • 13:00 Vorstellung der RCP-Applikation, die als Basis für das Tutorial dienen könnte (Kai) • 14:00 Festlegen der Themen und Sichten von existierenden Materialien für OOP, Action Items festlegen, Diskussion • 18:00 Ende • Agenda Donnerstag, 27.10.05: • 09:00 Vorstellung eines Authentication Konzeptes für RCP (vorgestellt von Karsten) • 10:00 Diskussion • 12:00 Mittagessen • Ende
Ergebnisse und Beschlüsse • Action Item • Branding: Custom UI Komponenten (Kai) • Branding: Wie organisiert man Features/Plug-in • Struktur für Tutorial-Projekte • Zusatzaufgaben • Karsten macht auch mit… • Kai setzt Subversion Server auf • Folien • Powerpoint, gleiches einfaches Design • Pro Topic 1 Foliensatz
Aufbau Tutorial • Überblick Eclipse Architektur (25 Minuten, alle) • Plug-in Konzept • OSGi • Extension / Extension Point • “Hello, world” Konsole-Beispiel auf Folie • Features / Plug-ins / Fragments • Eisberg-Folie • Kurze Demo vom MP3 Manager (5 Minuten, Kai) • Minimale RCP-App mit GUI (30 Minuten, Frank) • A) “Hello, world” Konsole-Beispiel • B) Leere Workbench, mit einem Menu-Eintrag • Erst: Pair Programming am Beamer • Dann: Folie mit kompakten Schritten zur Lösung • Mit Code-Fragmenten • Dann: Folien mit typischen Fehlern • Übung
Aufbau Tutorial • Update Manager (60 Minuten, Frank) • Einbindung des Update Managers in das “Hello World” Plug-in • Erstellen von allen nötigen Features • *-Aufgabe: Extended Base Feature • Kurze Einführung in Product Configurations • Deployen der Applikation in ein temporäres Verzeichnes • Verwendung der App für späteres Update • Erstellen einer Update-Site • Gleiche Methodik wie “Hello, World” • Möglichkeiten des Deployments • Nullsoft installer für Windows • Stand Alone Update
Aufbau Tutorial • Benutzen des Update Managers (15 Minuten, Bernd) • Update: Treeviewer + Coolbar/Menu • Updaten im temp-Verzeichnis • Importieren der neuen Plug-ins in den Workspace • Erstellen eines Multi-Page Form Editors (30 Minuten, Kai) • 2 Seiten mit je einem Label und Textfeld • Glue zwischen Treeviewer und Editor • Extension Point bereitstellen (30 Minunten, Bernd) • Z.B. für freedb • Extension plug-in über Update Manager updaten • Help plug-in mit Wizard (15 Minuten, Bernd) • Branding (30 Minuten, Kai) • Konzepte Foliensatz • Presentations API: Kai evaluiert • Übung: 2 Branding
MP3 Manager Features • Branding • Splash Sceen • Application Titles, icons, etc. • About dialog • Menus • Default Close & Save menus • Custom menus • Coolbar • Help system • full html based help • Update manager • Views • Using Tree • Using TableTree • Progress Monitoring with cancellation • Editors • Multi-page form editor • Save funktionalities • Progress Monitors • Saving and loading of preferences • Persistance of window, view and editor positions
Software Architektur • 1 Package & Plug-in Strukturen (Bernd) • Namenskonventionen • Projektnamen = Basis Package • Plug-ins für UI und Core (und Model) • Nur größere Datenmodelle in eigenes Plug-in • In UI Plugin: Packages für actions, views, editors • Wichtig: Gleiche Konventionen innerhalb eines Projektes • IDs • Wie splittet man Plug-ins • Wann benutzt man Extension Points • 1 UI Challenges (Frank) • Wie macht man Progressmonitoring von Modell-Objekten? • Wann verwendet man Adapter? • Entwicklungs-Challenges (Frank) • UI Testen • Nighly build for RCP apps • Exportieren von Dependencies (Frank) • Warum und wie • Fragments als Patches • Unterschied zwichsen Feature Includes und Dependencies • Was ist ein (Feature) Patch • Branding Features (Kai) • Neue Internationalisierungs-Architektur (Kai) • Plug-in.properties <-> external Strings pro Package • UI Contributions • Code versus XML • Pro & Cons • Activities? • 1 Enterprise Challenges (Classpath, Classloader, Library-Plug-ins) • Obfuscation von Plugins • Authentification & Roles (Kai) • 1 Deployment & Update • Standalone Update (Kai) • Signieren von JAR Files, Benutzen von Security Managern • Other Challenger: • Auflösung von Extensions • Performance • Benutzung von Workspace und Ressourcen • Paralellbetrieb von Features / Plugins in verschiedenen Versionen • Was passsiert mit UI contributions • Prodoct Extensions / Extension Locations • Bei 3.2 im Fluss, e.g. Data Binding • Loggen & Tracen (Bernd) • Exceptions & Fehlerbehandlung (Bernd & Frank) • Presentation API (Kai)