Heute bricht der letzte Tag der EclipseCon in Santa Clara an. Bisher gab es bereits viel zu bestaunen, wie auch unsere Autoren zu berichten wissen. Christian Campo und Florian Lautenbacher schildern ihre Eindrück zu Eclipse 4.0 und weiteren Highlights des zweiten Konferenztages, und Heiko Seeberger resümiert nach Tag 3: "Cloud Computing wird das nächste 'große Ding'!".
Eindrücke zu e4
Der zweite Tag der EclipseCon
stand ganz im Zeichen von E4 und den in diesem zusammenhangen entstehenden Frameworks und Technlogien. Den Anfang machte allerdings eine Keynote zum großen Thema Communites. Sehr anschaulich wurde an Beispielen erklärt, wie auch in großen Communities wie Wikipedia, Stackoverflow oder Youtube eine unüberschaubare Anzahl von Benutzern doch ein sich teilweise selbstregulierendes System schaffen kann, in dem sinnvoller Content entsteht, schlechtes Verhalten (z.b. Löschen von Artikeln) durch die Community selbst korrigiert wird. Der allgemeine Aufruf war "Vertraut Eurern Nutzern!" und wenn man ihnen nur die Mittel gibt, korrigierend einzugreifen, dann kann das gut funktionieren (siehe.Wikipedia).
Immer wieder unterbrochen wurde dieser Vortrag durch sehr erfrischende Beispiele aus der Praxis (Videos mit 50.000 Kommentarenn etc.) und wie man damit umgeht.
Im Anschluß besuchte ich den Vortrag von Jeff McAffer, in dem er versuchte, eine außergewöhnlich große Anwendung aus sehr vielen verschiedenen Eclipse-Projekte (Equinox, RAP, g-Eclipse, BIRT, p2, ECF, EMF etc.) zu zeigen. Interessant, was mit den heutigen Eclipse-Projekten schon alles möglich ist. Leider gab es bei der konkreten Vorführung ein paar technische Probleme, was die immense Arbeit, die in diese Demo gesteckt wurde, etwas in den Hintergrund geraten ließ.
Der eigentliche rote Faden des zweiten Tages war aber "e4" (Eclipse 4.0). Im e4-Review wurden in einem Überblick die verschiedenen geplanten Erweiterungen für E4 vorgestellt. Wichtige Themen sind "modeled Workbench", also eine in EMF modellierte UI, in der sich mit ein paar einfachen Operationen die UI in ihrem Aufbau komplett verändern läßt. Auch soll es in Zukunft möglich sein, Features aus der Workbench wie z.b. Perspektiven einfach wegzulassen, wenn man sie für seine RCP nicht braucht. Weitere Themen sind CSS-Styling, Branding und etwas, das unter dem Stichwort "less IDE'ness" läuft, das bedeutet, dass RCP-Anwendungen nicht mehr wie die Eclipse-IDE aussehen (was in 3.x der Fall ist).
Steve Northover zeigte eine außergewöhnliche Demo, in der SWT-Widgets in Flex(Flash) dargestellt wurde, Java-Code intern in Actionscript transcodiert wurde, aber trotzdem in der Eclipse-IDE in Java gedebugged werden konnte. Ein anderer wichtiges Thema war WebIDEs. Bespin, ein Mozilla-Projekt, zeigt seinen Codeeditor, der in jedem der gängigen Browser (außer IE) läuft und dort Editieren, Syntax-Highlighting, Compiling etc. anbietet. Die Performance auch für sehr große Dateien ist beeindruckend. Benutzt werden alle neuen Webtechnologien wie "Canvas", "Webworkers" und es gibt bereits einen ersten Prototypen, bei dem Bespin im Hintergrund eine headless Eclipse-IDE ansteuert. Da steckt noch viel Potential drin wie Intellisense oder Collaboration (also das Editieren einer Datei durch mehrere gleichzeitig) etc.
E4 soll es ermöglichen, auch mit den Technlogien, die RAP anbietet, sehr einfach Anwendungen zu schreiben, die sowohl auf dem Desktop als auch im Web laufen. Die folgende Sessions vertieften die bereits angeschnittenen Themen, nämlich deklarative UI und CSS-Styling, die dann auch im Rahmen einer Demo vorgestellt wurden. Yves Yang stellte sein XWT-Framework vor.
Später stellten Kai Tödter und Jochen Krause noch ihre jeweiligen Ansätze für CSS vor. Kai zeigte SWT und CSS in Desktop-Anwendungen, während Jochen einige Beispiele für die Verwendung von CSS mit SWT für Webanwendungen demonstrierte. Sehr interessant fande ich den Überblick von Jochen über Erfahrungen, die man macht, wenn man eine SWT-Desktop-Anwendungen unter RAP ins Web bringt. Imports sind besser als direkte Bundle-Abhängigkeiten. Auch wenn man 98 % wiederverwenden kann, was macht man mit den restlichen 2 Prozent?
Christian Campo ist als IT-Consultant bei der compeople AG tätig. Er beschäftigt sich vor allem mit der Entwicklung von innovativen Onlineanwendungen und serviceorientierten Architekturen im Java-EE-Umfeld. Bei der compeople AG ist er maßgeblich am Design und der Entwicklung der Smart-Clientplattform beteiligt. Darüber hinaus leitet er zurzeit das Eclipse Technology Project Riena.
"Modellieren, transformieren, ausführen"
Nach zwei Tagen EclipseCon haben sich doch einige Schwerpunkte herauskristallisiert. Bei der von ca. 500 Eclipsianern besuchten Konferenz
wurde neben dem immer wiederkehrenden Ausblick auf Eclipse 4.0 (Codename: e4) in vielen Vorträgen der Fokus auf Modellierung, Transformationen oder Runtime gelegt. So hatten diverse Vorträge graphische Editoren im Fokus, ebenso wie die Bearbeitung, das Persistieren, etc. von Modellen. Im Rahmen des STP-Projektes werden graphische Editoren für Policies oder auch SCA entwickelt, JBoss sowie andere berichteten von ihren Modellierungstools für Geschäftsprozesse und ein Vortrag behandelte, wie GEF-Editoren nicht nur auf dem Desktop, sondern auch in einem Browser im Web verwendet werden können.
Zur Arbeit mit Modellen gehört natürlich auch das Speichern eben dieser. Hier wurde mit EMFStore eine Initiative zur Versionierung vorgestellt. Daneben wurden auch neue Funktionen in Teneo zum Persistieren von Modellen in Datenbanken beschrieben.
Bereits bei diversen Tutorials am Tag vor der Konferenz, aber natürlich auch bei Vorträgen wurden immer wieder Modelltransformationen angesprochen. So wurde QVT Operational ebenso wie MTL im Detail vorgestellt. Aber auch neue Funktionen in oAW oder ATL fanden ihren Platz. Besonders hervorzuheben ist auch, dass der Buildprozess für das neue Galileo-Release, welches im Juni ansteht, auf EMF-Modellen und Modelltransformationen aufbaut und dadurch die Build-Skripte nicht mehr für jeden Meilenstein neu geschrieben werden müssen. Es zeigt sich also, dass die modellgetriebenen Techniken weiter auf dem Vormarsch sind und auch in bisher ungewohnten Umgebungen durchaus ihre Berechtigung haben.
Ein weiterer Schwerpunkt der EclipseCon sind sicher die Frameworks zur Ausführung. Egal, ob es sich dabei um Webservices (z.B. mittels Swordfish), Workflows (mit MWE oder JWT), Modelle (mit MXF) oder um andere Frameworks wie Riena oder Equinox handelt, sie finden sich in den unterschiedlichsten Vorträgen wieder. Aber daneben gibt es auch eine ganze Reihe von anderen Themen, die präsentiert werden. Sei es Groovy-Support in Eclipse oder Ruby on Rails, man kann durchaus erkennen, dass sich Eclipse stärker an dynamische Sprachen annähert. Aber der Support von dynamischen Sprachen ist natürlich nicht die einzige Änderung, die uns in e4 erwarten wird. Außerdem wird dafür der seit 1999 existierende Kern von Eclipse komplett neu entwickelt und darauf aufbauend auch die GUI: diese soll zukünftig mit XAML oder CSS deklarativ und modellbasiert entwickelt werden können. Daneben wird der Fokus stärker in Richtung Rich Internet Applications und Cloud Computing gehen. Soviel stellte zumindest Mike Milinkovich, Executive Director der Eclipse Foundation, in Aussicht. Daneben gab er aber auch das Committment ab, dass Eclipse 3.x mindestens weitere 5 Jahre unterstützt werden wird. Dadurch und auch durch die Abwärtskompatibilität von e4 sind Investitionen von Firmen in Eclipse auch für die kommenden Jahre gesichert. Das wird vor allem deutsche Firmen beruhigen, da diese mit 44 Prozent aller europäischen Länder doch einen großen Anteil in der Eclipse-Community einnehmen. Sofern Eclipse auch weiterhin durchschnittlich eine Million Downloads im Monat verzeichnen kann, bleibt sein Erfolg also ungebrochen.
Florian Lautenbacher ist wissenschaftlicher Mitarbeiter an der Universität Augsburg. Sein Forschungsschwerpunkt liegt in der Nutzung semantischer Technologien zur Verbesserung der Modellierung von Geschäftsprozessen sowie deren Ausführung. Er ist Projektleiter des 2007 gegründeten Eclipse-Projektes JWT. Sein Blog findet sich unter http://following-flo.blogspot.com.
"Cloud Computing wird das nächste große Ding!"
Nun sind wohl auch die letzten Zweifler überzeugt:
Cloud Computing wird das nächste "große Ding".
Wie könne es auch anders sein, wenn sogar die EclipseCon ihre übliche Objektivität aufgibt und Amazon Web Services in Form einer Keynote die große Bühne bereitet. Doch obwohl eine solche Werbeveranstaltung schon irgendwie bitter aufstößt, muss ich anerkennen, dass die Vorführung des AWS-Toolkit for Eclipse durchaus überzeugt hat.
Aber auch OSGi hat Neues zu bieten. Der Hype um neue Features in OSGi 4.2 betrifft dabei überwiegend Features wie Distributed OSGi und Blueprint Service (Spring DM). Doch was tut sich eigentlich Neues im OSGi-Framework selbst? Dies stellten Tom Watson und Richard Hall, die Entwickler von Eclipse Equinox und Apache Felix, in ihrem Vortrag "Coming soon to OSGi - Standard framework launching and composite bundles!" dar.
Definitiv Bestandteil des kommenden Release wird das einheitliche Starten des OSGi-Frameworks, ganz unabhängig davon, ob es sich dabei nun um Equinox, Felix oder eine andere kompatible Implementierung handelt. Und auch die Interaktion mit dem Framework über die Konsole scheint vereinheitlicht: Equinox versteht nun scheinbar auch das Kommando "ps" zum Auflisten der installierten Bundles.
Noch nicht in greifbarer Nähe hingegen ist die Antwort auf die Frage nach Applikationen, also einer Gruppe von Bundles, die gegenüber anderen Bundles isoliert sein sollen. Als Recommended Specification werden die Composite Bundles spezifiziert: Innerhalb dieser können Bundles wie gewöhnlich Packages im- bzw. exportieren und Services anbieten bzw. konsumieren. Jedoch ist die Interaktion mit Bundles von außerhalb eingeschränkt: Das Composite Bundle kann dediziert spezifizieren, was herausgegeben und was hineingezogen werden kann.
Weniger technisch, mehr von der Methode her kommend, warb BJ Hargrave für die service-orientierte Programmierung mit OSGi. Schließlich gibt es noch mehr als den Module Layer und Modularisieren ist nur die eine Seite der Medaille: Wie funktioniert Kollaboration zwischen den Bundles? Ohne dabei die schöne Modularisierung durch enge Kopplung ad absurdum zu führen? Mit Interfaces? Oder Class.forName()? Oder Factories, Extension Points oder Dependency Injection? Nein: Besser mit Services! Und ab OSGi 4.2 sogar mit "Symmetric Service Oriented Programming", d.h. mit einer stärkeren Rolle für die Service Provider.
So wird es durch die neuen Service Hooks z.B. möglich, Verteilung zu realisieren oder Proxies anstelle der eigentlichen Services zu registrieren.
Heiko Seeberger ist als Technical Director für die Weigle Wilczek GmbH tätig. Sein technischer Schwerpunkt liegt in der Entwicklung von Unternehmensanwendungen mit OSGi, Eclipse RCP, Spring, AspectJ und Java EE. Seine Erfahrungen aus über zehn Jahren IT-Beratung und Softwareentwicklung fließen in die Eclipse Training Alliance ein. Zudem ist Heiko Seeberger aktiver Committer in Eclipse-Projekten, Autor zahlreicher Fachartikel und Redner auf einschlägigen Konferenzen.




