© DrHitch/Shutterstock.com
Vaadin mit Eclipse, Clojure und OSGi

1 Thinking of U and I and E - Vaaclipse bringt die Eclipse 4 Workbench ins Web


Rushan Gilmullin ist Project Lead des Open-Source-Projekts Vaaclipse und arbeitet seit einigen Monaten gemeinsam mit Sopot Cela an dessen Implementierung. Ziel von Vaaclipse ist es, die E4 Workbench im Web verfügbar zu machen. Abweichend vom bereits zur Verfügung stehenden Ansatz per RAP verwendet Vaaclipse – wie schon der Name vermuten lässt – das finnische UI-Framework Vaadin. Die Workbench-Komponenten werden auf Basis dieser Technologie implementiert, und das Ergebnis lässt keine Wünsche offen. Die Web-Workbench verhält sich sehr homogen in Bezug auf die erwarteten E4-Features. Die neueste Version von Vaaclipse basiert auf Vaadin 7. Es erforderte einiges an Aufwand, die Migration von Vaadin 6 auf Vaadin 7 durchzuführen. Besonders im Bereich Drag and Drop gab es einige kurzfristige Blocker. Durch die schnelle Behebung von Fehlern auf Seiten des Vaadin-Teams konnte die Migration allerdings sehr zügig abgeschlossen werden. Alles in allem ein sehr gelungenes Projekt mit einem hohen Nutzen für die Eclipse- und Webcommunity.

Das Projekt birgt sehr viele Vorteile in Bezug auf die Implementierung diverser Applikationen im Webbereich. Beispielsweise wird das Open-Source-Projekt „lunifera.org – OSGi-Services for Business Applications“ Vaaclipse verwenden, um Businessapplikationen zu implementieren. Eine Designstudie zu diesem Thema ist unter [1] in Form eines kurzen Films zu sehen. Sie zeigt, wie hervorragend Vaaclipse verwendet werden kann, um dem Endnutzer maximale Usability zur Verfügung stellen zu können.

Die Entwicklung von Vaaclipse-Applikationen erfordert im Grunde Wissen über zwei Haupttechnologien: Einerseits sind Kenntnisse von E4 notwendig und zum anderen Vaadin-Kenntnisse. Da Vaaclipse zwei verschiedene Demoimplementierungen zur Verfügung stellt, sollte es relativ einfach sein, eine eigene Demo zu implementieren. Vaaclipse ist auf Basis der EPL lizensiert und somit der Lizenz folgend sehr liberal verwendbar. Die erste Demo hat den Namen Cassandra [2] und zeigt den klassischen IDE-Ansatz aus dem Eclipse-Umfeld. Die zweite Demo ist die Implementierung eines Mediaplayers und somit eine vom klassischen Einsatzbereich abweichende Implementierung. Abbildung 1.1 zeigt einen Screenshot der online erreichbaren Cassandra-Demo.

Abb.1_1.png

Abbildung 1.1: Cassandra-Demoapplikation

Technisches

Um Vaaclipse als E4 Renderer umsetzen zu können, benötigt es im Grunde vier verschiedene Komponenten.

  • Vaadin-OSGi-Implementierung
  • E4 Renderer
  • Vaadin Widgetsets
  • E4 Theming

Vaadin OSGi Bridge

Die aktuell im Projekt Vaaclipse verwendete Vaadin-OSGi-Implementierung basiert auf dem von Chris Brind implementierten Vaadin-6-Add-on, das im Zuge des lunifera.org-Projekts auf Vaadin 7 migriert und um zusätzliche Funktionen erweitert wurde.

Die Basis dieser Implementierung bildet das VaadinOSGiServlet. Es stellt die Erzeugung von neuen VaadinSessions sicher. Eine VaadinSession stellt eine Verbindung vom Browser zum Webserver dar. Es sei an dieser Stelle angemerkt, dass verschiedene Browsertabs die gleiche...

Neugierig geworden? Wir haben diese Angebote für dich:

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang