Erweiterung von Eclipse als Entwicklungs-Plattform aus Sicht des Eclipse-Boardmitgliedes TogetherSoft Together auf Basis von Eclipse
Agenda Gründe für den Entschluss Gründe für den Entschluss Interne Reaktionen Interne Reaktionen Architektur von Together Architektur von Together Architektur von Eclipse/WSAD Architektur von Eclipse/WSAD Anspruch an die Integration Anspruch an die Integration Herausforderungen Herausforderungen Architektur Together für WSAD Architektur Together für WSAD Kleiner Live Preview Kleiner Live Preview
Gründe für den Entschluss Austausch bisher nur über VA- Repository möglich Austausch bisher nur über VA- Repository möglich Andere Philosophie (Single Source vs. Repository) Andere Philosophie (Single Source vs. Repository)
Gründe für den Entschluss Gleiche Basis: Source Code Gleiche Basis: Source Code Gleiches Architekturkonzept: Everything is a Plugin Gleiches Architekturkonzept: Everything is a Plugin
Interne Reaktionen Was passiert mit Together Was passiert mit Together Konkurrenz zum eigenen Produkt Konkurrenz zum eigenen Produkt Marketing verändert parallel dazu das Logo Marketing verändert parallel dazu das Logo
Architektur von Together
Architektur von Eclipse
Eclipse Plattform Plugins
Eclipse/WSAD/Together
Praktisch identische Struktur Plug-In entspricht Module
Anspruch an die Integration WSAD Anwender sollen sich sofort zu Hause fühlen WSAD Anwender sollen sich sofort zu Hause fühlen So tief wie nur möglich So tief wie nur möglich Together Feeling Live Source Together Feeling Live Source
Herausforderungen Umstellung auf SWT Umstellung auf SWT Portieren bestehender Module Portieren bestehender Module Einführung eines Models losgelöst von der Datenquelle Einführung eines Models losgelöst von der Datenquelle
Architektur Together für WSAD
Das Herzstück der Togetherintegration beinhaltet einen High Level API Zugriff auf beliebige grafische Objekte Das Herzstück der Togetherintegration beinhaltet einen High Level API Zugriff auf beliebige grafische Objekte Dient als Model für das Diagramm Framework und erlaubt damit beliebige Daten unabhängig von der Datenquelle darzustellen Dient als Model für das Diagramm Framework und erlaubt damit beliebige Daten unabhängig von der Datenquelle darzustellen Unterstützt Erweiterbarkeit im laufenden Prozess Unterstützt Erweiterbarkeit im laufenden Prozess Unterstützt einen gemeinsamen Update Mechanismus basierend auf delta events Unterstützt einen gemeinsamen Update Mechanismus basierend auf delta events Unterstützt beliebige Sichten, z.B. Diagramm, Navigator, etc. Unterstützt beliebige Sichten, z.B. Diagramm, Navigator, etc. Generischer Data Model Support Model Delta Tree Original State New State
Kapselung der Datenquelle
Runtime Delegation
Was ist drin ?
Live