Das Eclipse-Top-Level-Projekt

Am 24. Juni dieses Jahres wurde mit Eclipse-Galileo ein Open-Source-Paket aus 33 aufeinander abgestimmten Eclipse-Projekten zum Download freigegeben. Neben dem klassischen Einsatz von Eclipse als integrierte Entwicklungsumgebung für eine Vielzahl von Programmiersprachen umfasst Galileo zu einem großen Anteil auch Projekte, die auf anderen Fachgebieten angesiedelt sind, etwa Plug-ins zur modellgetriebenen Softwareentwicklung und auch reine Runtime-Anwendungen. Das Kernstück des Galileo-Release-Zuges bleibt aber nach wie vor das Eclipse-Top-Level-Projekt, das die eigentliche Eclipse-Plattform als generische Entwicklungsinfrastruktur auf Basis einer flexiblen Plug-in-Architektur bereitstellt. John Arthorne und Daniel Megert sind Eclipse-Committer der ersten Stunde und geben im Gespräch mit JAXenter einen Überblick über das Projekt und über die Neuerungen in Eclipse 3.5 Galileo.

JAXenter: Können Sie das Eclipse-Top-Level-Projekt kurz vorstellen?

D. Megert/J. Arthorne: Das Eclipse-Top-Level-Projekt der Eclipse Foundation ist ein Open-Source-Software-Projekt, das einerseits eine hochintegrierte und erweiterbare Entwicklungsplattform bietet und andererseits erlaubt, robuste Rich Client Anwendungen zu schreiben. Es besteht aus einem generischen IDE-Rahmenwerk (Eclipse Plattform), einem Applikationsrahmenwerk (Rich Client Platform – RCP), einer Java Entwicklungsumgebung (JDT) und einer Reihe von Werkzeugen zur Entwicklung von Plug-ins (Plug-in Development Environment – PDE).

Das Projekt dient als Basis für eine Vielzahl von kommerziellen und frei verfügbaren Anwendungen aus einem breiten Anwendungsspektrum. Das Spektrum reicht von Bankanwendungen bis hin zur Steuerung von Geräten für die NASA-Missionen. Der typische Anwendungsfall ist eine Java-basierte, modulare und erweiterbare Klienten-Applikation. Das Projekt bietet für Java-Entwickler eine der meistverwendeten Java Entwicklungsumgebung.

JAXenter: Nun wurde vor wenigen Wochen im Rahmen des Eclipse-Galileo-Releases auch die neue Version 3.5 der Eclipse-Plattform veröffentlicht. Welche Neuerungen wurden hier integriert?

Die neue Version enthält hunderte Verbesserungen, und tausende von Defekten wurden gegenüber der Ganymede-Version behoben. Einige nennenswerte Neuerungen sind die Portierung auf weitere Betriebs- und Fenstersysteme (Mac OS X Cocoa, Solaris x86, s/390), die Implementierung und Werkzeugunterstützung von OSGi Declarative Services (DS), neue Compilerdiagnostiken mit dazugehörigen Quick Fixes, Blockselektion in Editoren sowie erweiterte Unterstützung in PDE für das Erstellen, Verteilen und Verwalten von Zielplattformen.

JAXenter: Die Teilnahme am Eclipse-Galileo-Release-Train ist mit genau spezifizierten Anforderungen an die Projekte verbunden, u.a. um eine bessere Integration und Koordination der Projekte zu erreichen. Welche Prozesse mussten eingehalten werden, um bei Galileo dabei zu sein?

Die Anforderungen an die Galileo-Projekte sind zu einem großen Teil von den existierenden Prozessen des Eclipse-Projektes inspiriert. Da ist zum einen der termingesteuerte Entwicklungsprozess mit iterativer Planung, periodischen Meilensteinen, wöchentlichen stabilen Builds zur Integration der Teilkomponenten und dazugehörige automatisierte Tests für Korrektheit und Performance. Zum anderen gibt es immer strikter werdende Regeln gegen Ende eines Release-Zyklus, mit dem Ziel, das Projekt in einem stabilen Zustand, mit hoher Qualität und natürlich pünktlich abliefern zu können. Der Entwicklungszyklus endet mit einer detaillierten Überprüfung der Qualität und der Respektierung von geistigem Eigentum durch die Eclipse Foundation. Diese Prozesse erlauben es uns, Jahr für Jahr die Eclipse-Software mit den geforderten hohen Standards abzuliefern.

JAXenter: Welche Entwicklungen stehen in nächster Zeit bei Eclipse an?

Unter dem Kodenamen e4 arbeitet das Eclipse-Projekt an neuen Technologien, die es erlauben sollen, die nächste Generation von komponentenbasierten Anwendungen und Werkzeugen zu bauen. Dazu gehören die Erforschung von Web-Technologien, neuen Benutzerschnittstellen-Metaphern und einem einfacheren Programmiermodell für die Eclipse-Plattform. Gleichzeitig arbeiten wir an einer API-kompatiblen nächsten Version für die 3.x Generation der Eclipse Plattform. Das kommende Jahr wird herausfordernd für das Eclipse-Team, da wir fortfahren, regelmäßig stabile Builds zu produzieren und gleichzeitig die fernere Zukunft der Eclipse-Technologien explorieren und entwickeln.

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

Daniel Megert ist diplomierter Informatik-Ingenieur ETH und arbeitet bei IBM Research GmbH Zürich. Er ist Eclipse Project Committer der ersten Stunde und hat bei Komponenten wie Search, Text und JDT UI mitgearbeitet. Zurzeit ist er Eclipse PMC Mitglied und Eclipse JDT Co-Lead.
John Arthorne hat während der letzten zehn Jahren in verschiedenen Bereichen des Eclipse-Projektes gearbeitet und in letzter Zeit auch im Equinox-Projekt. Sein Fokus liegt auf dem Workspace Modell, der Concurrency Infrastruktur, Provisioning (p2), E4 und generell auf der API-Qualität. John ist Mitglied des Eclipse Architecture Council und Autor von zahlreichen Artikeln und einem Buch über Eclipse.
Geschrieben von
Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.