Sonntag, 12. Februar 2012


Artikel

April 2010 | Artikel

"Die Eclipse-Plattform muss sich weiterentwickeln, um weiterhin relevant zu sein"

(Link zum Artikel: http://www.entwickler.de/jaxenter//003014)

Chris Aniszczyk über die Perspektiven von Enterprise OSGi und Eclipse als Runtime-Plattform

  • Teilen
  • kommentieren
  • empfehlen
  • Bookmark and Share
Wer beim Wort "Eclipse" an eine Java-Entwicklungsumgebung denkt, hat zwar den meisten Twilight-Vampiranbetern einiges voraus. Die Entwicklung der Eclipse-Plattform hin zu einer ausgereiften Runtime-Plattform hat er möglicherweise aber dennoch verschlafen. Ein wahrer Runtime-Stack bildet sich da bei Eclipse gerade heran, der mit der zunehmenden Reife von OSGi auch mehr und mehr im Enterprise-Bereich Fuß fassen sollte.

Chris Aniszczyk ist sicherlich einer der aktivsten Eclipse-Runtime-Förderer in der Community. Gerade zum Vertreter der Eclipse-Committer in das Board of Directors der Eclipse Foundation gewählt, wird er auf der JAX 2010 den Eclipse Platform Day moderieren und auch im Rahmen des Enterprise Eclipse Day eine Einführung in Eclipse-Runtime-Technologien geben. Im Gespräch mit JAXenter erklärt er, wo er die Stärken und Schwächen des Eclipse-Runtime-Stacks sieht und verrät, weshalb die neue Eclipse-Plattform 4.0 – für ihn im wesentlichen Eclipse RCP 2.0 - überlebensnotwendig für Eclipse ist.

JAXenter: Hallo Chris! Eclipse wird immer populärer auch als Runtime-Technologie. Mit neuen Runtime-Projekten wie Virgo (SpringSource dm Server), Gemini und Jetty hat Eclipse ja langsam alle Komponenten für einen wahren Enterprise Runtime Stack zur Hand. Was hat der Eclipse Runtime Stack zu bieten?

Chris Aniszczyk: Eclipse hat sich definitiv weiterentwickelt und hat ausgehend von seinen Wurzeln als Tooling-Plattform mit dem EclipseRT-Projekt den Runtime-Bereich erobert. Es gibt derzeit etwa 200 Projekte bei eclipse.org und viele davon beinhalten Aspekte von Runtime-Technologien.

Das EclipseRT-Top-Level-Projekt ist vielen aber dennoch unbekannt, es handelt sich dabei aber schlicht um das Eclipse-Portfolio von Runtime-Projekten, in dem sich Bausteine befinden, um Rich-Desktop-Anwendungen, Webapplikationen und auch ganze Applikationsplattformen zu bauen. EclipseRT bietet u.a. folgende Möglichkeiten:

  • UI Layer mit RCP, RAP oder Riena
  • Runtime Container wie Jetty und Equinox
  • Persistenz-Services wie EclipseLink
  • Unterstützung für Daten-Reporting vom BIRT-Projekt
  • Datenmodellierung mit dem Eclipse Modeling Framework (EMF)
  • Fernkommunikation und verteiltes OSGi mit ECF
  • etc.

Ich denke, dass die Kombination von EclipseRT-Projekten und Eclipse Tooling mittlerweile eine ausgezeichnete Wahl für das Entwickeln und Deployen von Enterprise-Anwendungen darstellt.

JAXenter: Was sind deiner Meinung nach die Schwächen des Eclipse Runtime Stack?

Chris Aniszczyk: Nun, ich glaube, dass es tatsächlich eines der größten Probleme von Eclipse ist, dass viele Leute es immer noch für eine reine Tooling-Plattform halten. Es ist schwierig, mit Leuten über Runtime-Technologien zu reden, die Eclipse einfach nur als Entwicklungstool betrachten. Genau das wollen wir durch den EclipseRT-Brand ändern.

Eine Schwäche war meiner Meinung nach bisher das Fehlen einer zusammenhängenden Beispielanwendung, welche die Mächtigkeit der verschiedenen Eclipse-Runtime-Technologien demonstriert. Es ist zwar großartig, über Runtime-Technologien zu reden, aber wenn man kein gutes Beispiel vorzuzeigen hat, das alle Vorteile auf einen Schlag intuitiv begreifbar macht, steht man oft auf verlorenem Posten. Zum Glück sind wir bei EclipseRT nun endlich so weit, mit der Anwendung "Toast" ein solches Bespiel aufweisen zu können. Toast zielt darauf ab, eine breite Palette von EclipseRT-Technologien im Einsatz im Bereich der Telematik und Leitsystem-Steuerung zu demonstrieren. Es ist ein leicht zugängliches aber nicht triviales Beispiel, in dem das Zusammenspiel von EclipseRT-Technologien eindrucksvoll aufgezeigt wird.

Ich denke auch, dass das kürzlich erschienene OSGi- und Equinox-Buch hilfreich sein wird, denn eine oft gehörte Klage war, dass es zu wenig Dokumentationsmaterial gebe. Das OSGi- und Equinox-Buch ist ein hervorragendes Grundlagenbuch für EclipseRT, und ich empfehle es brennend allen Leuten, die an den Runtime-Technologien bei Eclipse interessiert sind.

JAXenter: Adrian Colyer vom Spring dm Server Projekt hart kürzlich gesagt, dass die Kosten, die derzeit noch mit der Annahme von Enterprise OSGi verbunden seien, die kurzfristigen Vorteile übersteigen. Weshalb ist das so? Ist OSGi noch nicht bereit, eine Mainstream-Technologie im Enterprise-Bereich zu werden?

Chris Aniszczyk: Ich glaube, dass viele Leute dieses Zitat aus dem Kontext gerissen haben. Natürlich kann ich selbst nicht für Adrian sprechen, aber ich glaube, dass er teilweise ausdrücken wollte, dass eine wirkliche Modularität nicht einfach umsonst zu haben ist. Oft sind Entwickler überzeugt davon, dass sie „modularen“ Code schreiben, aber ohne dass man eine modulare Laufzeitumgebung wie OSGi zur Verfügung hat, welche gewisse Regeln erzwingt, sieht man nicht wirklich, dass der Code eigentlich gar nicht modular ist. Ich habe bereits eine Menge von Legacy-Projekte auf OSGi umgestellt und es war interessant zu erkennen, welche Löcher in der Architektur durch die Erzeugung von OSGi-Bundles und die Umsetzung der OSGi-Spezifikationen sichtbar wurden.

Die Tatsache, dass Modularität nicht trivial ist, macht den Einstieg in OSGi nicht einfach. Allerdings wird die Software auch immer komplexer, und ich glaube persönlich, dass man wirklich so etwas wie OSGi braucht, um diese Komplexität in den Griff zu bekommen.

Um auf deine Frage zurückzukommen: Ich denke, dass OSGi sich weiterentwickeln wird und sich mit der OSGi-Enterprise-Experten-Gruppe (EEG) immer mehr den Wünschen und Anforderungen des Enterprise-Bereichs annähern wird. Die Gruppe hat kürzlich einen Katalog von Enterprise-bezogenen Spezifizierungen veröffentlicht, die hilfreich sein sollten.

Eine Nebenbemerkung: Einen unterhaltsamen Blogeintrag über das Problem, wie Modularität verkauft werden kann, bietet Hal Hildebrand.

JAXenter: Auf der JAX 2010 in Mainz wirst du den Eclipse Platform Day moderieren. Die Eclipse-Plattform wird ja mit dem e4-Projekt gerade einer Rundumerneuerung unterzogen. Welche Wirkung wird Eclipse e4 auf die Community haben?

Chris Aniszczyk: Ja, ich bin wirklich begeistert, als Moderator des Eclipse Platform Day auftreten zu dürfen, und ich denke, wir haben ein großartiges Programm auf die Beine gestellt, von dem die Leute viel profitieren werden! Die Wirkung des e4-Projekts auf die Community wird spannend zu beobachten sein, ich denke aber, dass es eine positive sein wird. Im Allgemeinen gibt es natürlich immer auch Spannungen, wenn eine Technologie auf eine neue Stufe gehoben werden soll.

Man muss nur einmal auf ähnliche Prozesse in anderen Bereichen schauen, etwa beim Übergang von Perl5 zu Perl6 oder was in der Python-Community passierte, als dort die Abwärtskompatibilität gebrochen wurde. Es ist schwierig, eine Technologie weiterzuentwickeln, ohne einige Leute zu verärgern. Die Eclipse-Plattform muss sich allerdings weiterentwickeln, um weiterhin relevant zu sein – jede Technologie muss das. Das e4-Team besteht aus vielen Eclipse-Veteranen (und auch Neulingen), die die Fehler verstehen, die in der Vergangenheit gemacht wurden, und sie werden eine Plattform bauen, die die nächste Generation überdauern wird.

Ich denke auch, dass man verstehen muss, dass e4 im wesentlichen als RCP 2.0 gesehen werden kann (um die Dinge einmal etwas zu vereinfachen), und dass das e4-Team an einer beeindruckenden Kompatibilitätsschicht arbeitet, die die Abwärtskompatibilität erhält, sodass die getätigten Investitionen in die Eclipse-Technologie auch auf der e4-Plattform gesichert sein werden.

Die Eclipse-Plattform ist schließlich beinahe ein Jahrzehnt alt und eine Neuversion war unbedingt nötig, um einige Fehler zu beheben und die Grundstruktur zu modernisieren. Ich bin mir sicher, dass wir wieder einige Fehler machen werden, aber solange wir uns weiterentwickeln, werden wir vorwärts kommen und die Eclipse Community glücklich machen.

JAXenter: Auf dem Enterprise Eclipse Day der JAX hältst du auch die Session: 'An Introduction to EclipseRT, Equinox and OSGi'. Worauf können sich die Besucher freuen?

Chris Aniszczyk: Wie der Titel andeutet, erwartet die Besucher eine gründliche Einführung in EclipseRT. Ich werde kurz einen geschichtlichen Überblick geben, wie sich Eclipse von einer Tooling-Plattform zur Runtime-Plattform weiterentwickelt hat, einige spannende EclipseRT-Projekte vorstellen und einen Ausblick in die Zukunft geben. Zur Demonstration der Technologien kommt ganz praxisnah das erwähnte Toast-Beispiel zum Einsatz, sodass die Teilnehmer ein wirklich tiefes Verständnis dessen erlangen werden, was EclipseRT ist, wie die verschiedenen Runtime-Technologien zusammenspielen und wie sie sie selbst erfolgreich anwenden können. Also: Jedem, der sich ein wenig für EclipseRT interessiert, sei der Besuch der Session wärmstens empfohlen!

JAXenter: Du bist ja kürzlich zu Red Hat gewechselt. Was bedeutet das für dein Eclipse-Committment?

Chris Aniszczyk: Red Hat ist ein großartiges Unternehmen, welches den Wert von Open Source versteht, und es ist eine Freude, dort zu arbeiten. Mein Eclipse Committment wird intakt bleiben, wenn nicht sogar stärker werden. Ich bleibe natürlich Co-Lead des Eclipse Plug-in Development Environment (PDE). Mein Fokus liegt darauf, Eclipse erfolgreich zu machen und den Stand von Eclipse auf Linux zu verbessern. Ich bleibe also auf der ganzen Linie dem Erfolg von Eclipse verschrieben!

JAXenter: Vielen Dank für dieses Gespräch!

Chris Aniszczyk ist Co-Leader des Eclipse Plug-in Development Environment (PDE)-Projekts und einer der Chefentwickler bei Red Hat. Er ist Co-Autor des Buches „The Eclipse Rich Client Platform“ (Addison-Wesley) und aktiv als Committer zahlreicher Eclipse-Projekte tätig. Er ist Mitglied des Eclipse Architecture Council, des Eclipse Planning Council und hat die Ehre, die Committer Member der Eclipse Foundation im Board of Directors zu vertreten. Chris Leidenschaften sind Modularität, Blogging, Tooling und alles, was mit Eclipse zu tun hat. Bei einem kühlen Getränk ist er für jede Diskussion über Open Source zu haben.

Der Eclipse Platform Day der JAX 2010

Dienstag, 4. Mai 2010, Moderator: Chris Aniszczyk

Boris Bokowski: Adopting e4

Other than being the basis for Eclipse 4.0, what does the e4 application framework offer that would make it interesting to adopt right away? Targeted at rich client developers, Eclipse add-on providers, and those interested in the future of Eclipse, this talk will explain the motivation behind e4 and give concrete recommendations why you would want to start using the e4 application platform. The main part of the talk will cover the e4 programming model, which is based on independent application services and dependency injection, and explain how the EMF-based application model makes it easy to assemble rich client applications from reusable UI components. Additional topics include the integration of web UI components in rich client applications, our experience with porting plug-ins from 3.x to be "native" 4.x plug-ins, and what to expect from the compatibility layer for backwards compatibility with 3.x-based Eclipse plug-ins.

Chris Aniszczyk: Single Sourcing Applications with Eclipse RCP and RAP

The Rich Ajax Platform (RAP) provides a framework and set of tools to develop rich clients and web clients from a single code base (single sourcing), either from scratch or by migrating an existing Rich Client Platform application. In this talk we'll explore the differences between RAP and RCP that are especially relevant to the goal of single sourcing as much code as possible. Attendees will get an overview of some of the challenges faced and a live action demo of a single sourced application.

Kai Tödter: e4 Preview: CSS Styling and Workbench Modeling

The next major version of Eclipse, code name e4, will bring new and innovative features to Eclipse RCP. Kai will talk about UI styling and customization using CSS and the new workbench model for the UI skeleton of the application. Kai will show his e4 contacts demo and demonstrate the newest features regarding CSS styling and workbench modeling.

Steffen Pingel: Bringing easy Extension Install to your RCP Applications

Eclipse P2 is a powerful tool for managing plug-ins but lacks a UI that matches the ease of use of the Firefox extension installer which has helped to perpetuate the browsers success. To bring the Firefox install experience to RCP applications and Eclipse-based tools the Mylyn project has developed a reusable component on top of P2 that provides a simplified installer.

Benjamin Muskalla: Scale your RAP Application

With more and more RAP applications in the wild, there is a real need to let the application scale up to a certain amout of users. In this talk we will cover several topics what you need to take care of regarding the scalability of your RAP application. Besides some more general concepts the talk will include: * How to deploy a RAP application to the cloud with the help of g-Eclipse * How to find bottlenecks in your application with stress testing and many more advices to get the best out of your application and the underlying framework With the help of the g-Eclipse project, the presentation and demo will guide you step by step trough the process of deploying your RAP application to the cloud. The g-Eclipse project maintains a set of connectors to Grid middlewares and provides an adapter to the Amazon Web Services EC2 and S3.

Christian Campo: SWT on Qt

This talk gives a short overview over a new effort to create a SWT platform based on the well-known Qt library from Trolltech. The promise of the new lib is to run any RCP application and even the Eclipse IDE unmodified on SWT/Qt with the benefit of the many additional styling options that Qt supplies. The shorttalk introduces the idea and shows a number of demos.

Karsten Voigt: Berechtigungen mit LDAP in einer Eclipse-RCP-Anwendung

Viele Anwendung bieten Funktionen für verschiedene Gruppen von Nutzern an. Auch in Eclipse-RCP-Anwendungen müssen Inhalte über ein Rechtekonzept gesteuert werden. Dieser Vortrag soll zeigen, wie man Berechtigungsinformationen aus LDAP ausliest und damit Funktionen in Eclipse steuert. Neben den theoretischen Grundlagen soll primär die Praxis im Vordergrund stehen.

andere Artikel dieser Serie

Kommentare