Remote Eclipse RCP Management Diplomarbeit Durchgeführt in Zusammenarbeit mit Deutsches Elektronen-Synchrotron DESY 1. Betreuer: Prof. Dr. Züllighoven 2. Betreuer: Prof. Dr. Lamersdorf Eugen Reiswich 09.12.2008
Inhalt 1. Eclipse Rich Client Platform 2. Problemstellung 3. Bestehende Update Mechanismen 4. Remote-Kommunikation 5. Lösungsskizze 6. Prototyp Vorstellung
Eclipse Rich Client Platform Eclipse IDE Eclipse RCP Search Resources UI Runtime UI IDE JFace... OSGi SWT Your RCP Application Component Component Component... * Quelle:Jeff McAffer Eclipse Rich Client Platform, 2.1
Inhalt 1. Eclipse Rich Client Platform 2. Problemstellung 3. Bestehende Update Mechanismen 4. Remote-Kommunikation 5. Lösungsskizze 6. Prototyp Vorstellung
Problemstellung
Problemstellung Eclipse-interne Update Möglichkeiten haben mehrere Nachteile kompliziert zu benutzen Updates nicht Aufgabe der Anwender Unterstützung von headless Applikationen Sicherheitsaspekte
Anforderungen Remote Administration von RCP Anwendungen Aktualisierung/Installation/Deinstallation Administration von Benutzereinstellungen Unterstützung von headless Anwendungen Unterstützung der Administration von Anwendergruppen & einzelner Anwender Erweiterbarkeit Lösung nach Möglichkeit Open-Source
Inhalt 1. Eclipse Rich Client Platform 2. Problemstellung 3. Bestehende Update Mechanismen 4. Remote-Kommunikation 5. Lösungsskizze 6. Prototyp Vorstellung
Bestehende Update Mechanismen Lösungen mit remote Fähigkeit Profil-basierte Lösungen Bundle-Repository Lösungen Eclipse interne Lösungen Eclipse Update Manager Equinox P2
Lösung mit Remote-Fähigkeit Profil-basierte Lösungen Profil Gruppe A - Eclipse 3.3 - Subversion - Eclipse UML Gruppe A Internet/ Intranet Webserver Profil Sandra - Eigene RCP - Feature X - Feature Y Profil... Sandra
Nachteile Keine Unterstützung von headless Applikationen Keine Administration von Benutzereinstellungen Keine Erweiterungsmöglichkeiten Lizenzkosten
Lösung mit Remote-Fähigkeit Remote-Bundle-Repositories Gruppe A Internet/ Intranet Bundles - Bundle A - Bundle B - Bundle C... Bundle- Repository Sandra
Nachteile Administration sehr aufwändig Keine Unterstützung von headless Applikationen Keine Administration von Benutzereinstellungen Keine Erweiterungsmöglichkeiten
Eclipse interne Lösungen Update Manager Installation / Deinstallation / Aktualisierung von Komponenten Equinox P2 Einfache Administration von Komponenten Validierungs-Funktionalität Verbesserte Performance bei Downloads Verbesserte Benutzerführung
Nachteile Update Manager Abgelöst seit Eclipse 3.4 durch P2 Administration bietet wenig Flexibilität Equinox P2 Neuartige Lösung, die kaum dokumentiert ist Keine Beispiele Einarbeitung nur durch Tests und Code
Zusammenfassung Profil-basierte Lösungen Bundle- Repository Lösungen Eclipse Update Manager Equinox P2 Administration ++ - + ++ Benutzereinstellungen Headless Anwendungen -- -- -- -- -- + + + Erweiterbarkeit -- - + ++ Kosten - ++ ++ ++ Eigenentwicklung auf Basis des Eclipse Update Managers
Inhalt 1. Eclipse Rich Client Platform 2. Problemstellung 3. Bestehende Update Mechanismen 4. Remote-Kommunikation 5. Lösungsskizze 6. Prototyp Vorstellung
Anforderungen Online/Offline Status der Anwender visualisieren Geringer Aufwand für Remote- Kommunikation Ausführung von Remote-Operationen Feedback über Erfolg/Mißerfolg von Remote-Operationen
Kommunikationstechnologien Sockets Remote Method Invocation (RMI) Java Messaging Service (JMS) Eclipse Communication Framework (ECF) Desy Communication Framework (DCF)
Kommunikationstechnologien Sockets/RMI synchron JMS synchron/asynchron Message Brocker ECF/DCF synchron XMPP Server
Zusammenfassung Sockets RMI JMS ECF DCF Einfache Kommunikation Online/Offline Statusanzeige Remote Operationen Integration in bestehende Infrastruktur ++ ++ - o - -- -- -- ++ ++ + ++ + + - ++ ++ - ++ ++ Einsatz von ECF als Kommunikationsprotokoll
Inhalt 1. Eclipse Rich Client Platform 2. Problemstellung 3. Bestehende Update Mechanismen 4. Remote-Kommunikation 5. Lösungsskizze 6. Prototyp Vorstellung
Lösungsskizze Direkte Wartung durch Administrator User Gruppe A XMPP Server Administrator Anmeldung am XMPP Server Aufruf Remote-Operationen Sandra
Lösungsskizze Install / update /uninstall change preferences Restart application Administrator Remote-Admin Komponente Admin GUI Aufruf entfernter Operationen Remote-User Komponente Keine GUI Ausführung von Operationen Client
Inhalt 1. Eclipse Rich Client Platform 2. Problemstellung 3. Bestehende Update Mechanismen 4. Remote-Kommunikation 5. Lösungsskizze 6. Prototyp Vorstellung
Danke Wie kann der vorgestellte Prototyp in bestehende Technologien einsortiert werden?