Die sieben Säulen von Eclipse

Ian Skerrett

Eclipse, das für seine überall genutzte Open-Source-Java-IDE am bekanntesten ist, ist mittlerweile auch eine bedeutende Plattform für das Bauen von Software-Entwicklungs-Tools geworden. Tatsächlich gibt es mittlerweile über 60 verschiedene Open-Source-Projekte unter Eclipse, und die meisten von ihnen haben nur wenig mit dem Bauen von Java-Entwicklungs-Tools zu tun. Deshalb hängt die Antwort auf die Frage „Was ist Eclipse?“ oder „Wie geht es mit Eclipse weiter?“ von Ihrem Ausgangspunkt ab.

Bei der Beantwortung dieser Frage stellen wir uns oft unterschiedliche User Communities oder Technologiegruppierungen und insbesondere jetzt sieben verschieden Säulen als Metapher dafür vor, die Bandbreite und den Reichtum von Eclipse innerhalb der Eclipse Community zu erklären. Wir erwarten, dass sich diese Säulen im Lauf der Zeit entwickeln und verändern werden.

Das Fundament

Das Fundament von Eclipse ist eine mächtige Technologieplattform, die schnelle Entwicklung, Integration und Einsatz von Software unterschiedlicher Hersteller möglich macht. Den Kern bildet ein dynamisches Komponentenmodell, das auf einer OSGi 4-Spezifikation basiert, die es den Softwareanbietern erlaubt, Softwarekomponenten und Plug-ins zu schaffen, zu erweitern und auf den neuesten Stand zu bringen. Dieses umfassende Komponentenmodell hat es Eclipse erlaubt, in viele Richtungen zu expandieren und sich zu entwickeln.

Die Enterprise-Development-Säule

Es gibt zahlreiche Eclipse-Projekte, die sich hauptsächlich mit den Anforderungen von Enterprise-Entwicklern beschäftigen. Hierzu gehören Modellierung, Entwicklung, Deployment Tools, Reporting, Datenmanipulation, Testen und Profiling. Die Projekte innerhalb dieser Säule konzentrieren sich in erster Linie auf den Bau von Java EEs, Web Services und Webanwendungen. Sie stellen außerdem Unterstützung für Anwendungen in anderen Sprachen zur Verfügung, beispielsweise für C/C++, PHP und andere.

Die Embedded- und Device-Development-Säule

Das Eclipse-C/C++ Tools-Projekt (CDT) arbeitet daran, die Bedürfnisse der Embedded- und Device-Entwickler anzusprechen. Embedded- und Device-Entwickler benötigen ebenfalls Tools, die häufig einmalig für das Ziel-Gerät sind. Neben dem CDT werden gerade neue Projekte gestartet, die sich mit den Bedürfnissen von Debugging auf Remote Devices, Target Management, der Bildung von GUIs für mobile Geräte sowie der Entwicklung für mobilen Geräten, die auf der Java ME laufen, beschäftigen.

Die Rich Internet Application-Säule

Mit Beginn von AJAX und anderen RIAs ist eine neue Art der Webentwicklung entstanden, die oft als „Web 2.0“ bezeichnet wird. Das AJAX Tools Framework ist ein Beispiels dafür, Enwicklern Tools zu liefern, die eine Reihe von AJAX Runtime Frameworks – zum Beispiel Dojo, Kabuki und Rico – als Zielgruppe haben können. Eclipse hat zudem ein Projekt, das sich mit der Entwicklung einer IDE für das Laszlo-Framework beschäftigt.

Die Application Lifecycle Management-Säule

Eclipse stellt eine Plattform zur Verfügung, um Tools auf Basis einer gemeinsamen Technologie zu integrieren. Wie aber sprechen diese Tools miteinander und wie tauschen sie Informationen über den Software-Enwicklungs-Lifecycle aus? Das Eclipse Application Lifecycle Framework (ALF) und das Corona-Projekt sind ins Leben gerufen worden, um dieses Problem zu lösen. Obwohl die Projekte noch in der Anfangsphase sind, arbeiten sie bereits daran, einen Meta-Informationslevel zu definieren, auf dem Requirements-, Modellierungs-, Entwicklungs- und Test-Tools alle miteinander kommunizieren können.

Die SOA-Säule

Eclipse hat das SOA Tools Project (STP) initiiert, um den Bedürfnissen der Architekten und Entwickler, die Software um SOA herum entwickeln, nachzukommen. Aufgabe des Projektes ist es, Frameworks und beispielhaft ausdehnbare Tools zu bauen, die die Konstruktion, die Konfiguration, den Zusammenbau, den Einsatz, das Monitoring und das Management von in SOA entworfener Software möglich machen.

Die Rich Client Platform-Säule

Im Herzen des Eclipse-Platform-Projekts gibt es einen Satz von Frameworks, das man die Eclipse Rich Client Platform (RCP) nennt. Diese RCP hat schnell die Aufmerksamkeit vieler ISVs und Unternehmen als Plattform für den Bau und die Entwicklung von Rich-Client-Anwendungen auf sich gezogen. Sie stellt Folgendes zur Verfügung: 1. eine dynamisches Komponentenmodell (das auf OSGi basiert), das die Integration, den Einsatz und das Updaten vereinfacht, 2. eine Runtime-Umgebung, die auf vielen Betriebssystemen läuft – Windows, Linux und Mac eingeschlossen – während sie gleichzeitig für vollständige Treue zum nativen Look & Feel sorgt, und 3. die Tools und Frameworks, welche die Entwicklung, die Präsentation, den Einsatz und das Management für Rich-Client-Anwendungen beschleunigen.

Die Application Framework-Säule

Application Frameworks stellen den Entwicklern die funktionalen Baublöcke zur Verfügung, mit denen sie den Sofware-Entwicklungsprozess beschleunigen können. Anders als Entwicklungs-Tools, sind die Application Frameworks mit den aktuellen Anwendungen aufgestellt.

Es gibt eine Reihe gut etablierter Eclipse-Projekte, die Frameworks zur Verfügung stellen. In der Zukunft werden wir mehr Implementierungen von Standard-Business-Komponenten und Frameworks sehen, beispielsweise das Enterprise Content Management, das für ein anpassungsfähiges und ausdehnbares Set von Anwendungslogik für Anwendungsentwickler sorgt, das in die Gesamtanwendung integriert werden kann.

Die adaptive Plattform

Die Säulen von Eclipse beschäftigen sich mit den Fragen „Was ist Eclipse?“ und „Wie geht es mit Eclipse weiter? „. Die Eclipse-Community und das Eclipse-Ökosystem sind riesig und viele unterschiedliche Organisationen vergrößern Eclipse zur selben Zeit in viele verschiedene Richtungen. Dankbarerweise ist Eclipse eine sehr adaptive Plattform und ermöglicht eine große Bandbreite von Optionen. In seinem Kern stellt Eclipse Baublöcke und Werkzeuge zur Verfügung, die den Organisationen erlauben, ihre Software-Entwicklungs-Auslieferung über den gesamten Software-Lifecycle und über viele Plattformen, Sprachen und Betriebssysteme auszudehnen. Die Zukunft der Eclipse-Technologie ist allein durch die Vorstellungskraft und durch die Community und das Ökosystem, die seine Entwicklung antreiben, begrenzt.

Geschrieben von
Ian Skerrett
Kommentare

Schreibe einen Kommentar

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