Einführung und Entstehung


... [ Seminar JAVA und Werkzeuge für das Web ] ... [ Thema Eclipse ] ... [ Die Eclipse-Architektur ] ...

Übersicht: Einführung und Entstehung




Eclipse - Die eierlegende Wollmilchsau?


"Eclipse - Die Entwicklungsumgebung für JAVA und andere Sprachen." (Thema)

"The Eclipse Platform is an IDE for anything, and for nothing in particular." (IBM Eclipse White Paper)

Mit Eclipse soll also alles ("anything") möglich sein. Da gilt es zunächst einmal, das "alles" zu definieren. Eclipse verspricht dem Softwareentwickler, dass er keine multiplen Entwicklungsumgebungen für verschiedene Programmiersprachen mehr braucht, keine Extra-Tools für Web-Gestaltung, Bildbearbeitung etc. All dies ist bei Eclipse verfügbar. Verfügbar - aber eben nicht standardmäßig implementiert.

Weil IBM nur das Gerüst und das Fundament liefert, müssen sich die Anwender "ihr" Gesamtsystem aus einzelnen, voneinander unabhängigen Einzelmodulen selber bauen. Damit das funktioniert, ist Eclipse ein OpenSource-Projekt, das mit Plug-Ins arbeitet. Jedes einzelne API, jeder Editor etc. ist als sog. Plug-In registriert, das mit dem o.g. Fundament, der "Eclipse Platform", sowie mit anderen Plug-Ins kommunizieren kann. Ein Plug-In kann allgemein wie folgt definiert werden:

Ein Plug-In ist ein Modul, dass mit dem Gesamtsystem über wohl definierte Schnittstellen in einer wohl definierten Art und Weise kommuniziert bzw. interagiert.

Mit Hilfe einer XML-Datei, der sog. Manifest-Datei, wird die Leistungsfähigkeit eines Plug-Ins beschrieben. Beispiele für standardmäßig integrierte Plug-Ins sind JUnit, Lucene oder ANT.

So erinnert Eclipse in seiner Funktionsweise an ein Baukastensystem, aus dem sich jeder Anwender aus einer Fülle von Möglichkeiten genau die zusammenbaut, die seinen subjektiven Anforderungen am ehesten genügt. Denkbare Bausteine wären etwa verschiedenste Programmiersprachen-Umgebungen (bspw. C, C++, C#, FORTRAN, ...), HTML- bzw. XML-Editoren, Datenbank-Verwaltungstools uvm.

Das Eclipse-SDK mit einer standardmäßig enthaltenen JAVA-Entwicklungsumgebung (JDT - JAVA Development Tooling) ist unter dieser Adresse kostenfrei zu erhalten. Über das gesamte Internet verstreut finden sich Seiten, auf denen ebenfalls kostenfrei bereits entwickelte Plug-Ins für unterschiedlichste Aufgaben zum Download bereit stehen. Das JDT benötigt eine JDK-Version von mindestens 1.3, die auf dem Rechner installiert und dem System über die Pfadvariable sichtbar gemacht worden sein muss.

Theoretisch kommt die Idee, die hinter Eclipse steht, der eierlegenden Wollmilchsau also sehr nahe, praktisch ist die Entwicklung neuer Plug-Ins, die das System der subjektiven Perfektion näherbringen, doch sehr schwierig zu erlernen und unflexibel, was im letzten Kapitel noch näher beleuchtet werden soll. Da sich Eclipse mit einem Alter von einem Jahr aber immer noch in der Entwicklungsphase befindet, ist eine Weiterentwicklung auf diesem Gebiet nicht auszuschließen.


Entstehungsgeschichte

Der Entstehungsprozess von Eclipse begann, initiiert von IBM, vor etwa zehn Jahren. Fast der gesamte Quellcode von Eclipse ist in JAVA geschrieben - einiges sogar mit Eclipse selber. (So wurden bzw. werden alle Plug-Ins in JAVA bzw. Eclipse programmiert.) IBM wollte Eclipse zuerst nur als Grundlage ihres WebSphere Application Developers benutzen, erkannte dann aber die Möglichkeiten, die Eclipse als OpenSource-Projekt den Entwicklern bieten könnte, und suchte Mitstreiter, die bei der Weiterentwicklung mithelfen würden. So kam es im November 2001 zur Gründung des Eclipse Consortiums. Gründungsmitglieder des Konsortiums sind:

Besonders IBM und SuSE hatten schon Erfahrungen und große Erfolge mit OpenSource-Projekten (LINUX bzw. Apache) und konnten diese Erfahrungen in die Entwicklung und den Vertrieb von Eclipse einbringen.

Bald nach seiner Entstehung kapselte sich das Konsortium von den Mutterfirmen ab und wurde unabhängig. Inzwischen besteht es durch diverse Neuaufnahmen aus ca. 40 Mitgliedern, die mehr oder weniger in den Entwicklungsprozess involviert sind. Darunter finden sich so namhafte Unternehmen wie z.B. Sybase, Fujitsu, Hitachi oder HP.

Alle Mitglieder verpflichten sich mit der Unterzeichnung der CPL (Common Public License), die OpenSource-Eigenschaft von Eclipse zu garantieren und alle für Eclipse entwickelten Plug-Ins ebenfalls frei verfügbar zu machen. Ältere, aber hochwertige Programme werden von den einzelnen Unternehmen so umgebaut, dass sie als Plug-In in Eclipse verwendet werden können. Weiterhin liegen alle Distributionsrechte aller auf dem Eclipse-System entwickelten Tools allein beim Entwickler selbst.

Allerdings sind alle Konsortiums-Mitglieder berechtigt, eine kommerzielle Entwicklungsumgebung auf der Basis von Eclipse zu entwickeln und zu vertreiben, wie es IBM bspw. mit dem WebSphere Application Developer (Next Generation) getan hat. Dieser unterscheidet sich von Eclipse durch dessen Möglichkeiten zur J2EE-Entwicklung (Servlets, Java Server Pages, Enterprise Java Beans) und dem Application Server, der standardmäßig zum Lieferumfang von WebSphere gehört.

Die Version 1.0 erblickte November 2001 das Licht der Welt, mittlerweile ist die Version 2.0.1 die aktuellste (Stand: November 2002).


Ziele der Entwicklung und Einführung von Eclipse

Zusammenfassend lassen sich folgende Ziele für Eclipse definieren:
Diese Ziele werden erreicht durch das Plug-In-Konzept sowie die Verwendung von JAVA als Entwicklungssprache und dessen Systemunabhängigkeit.


... [ Seminar JAVA und Werkzeuge für das Web ] ... [ Thema Eclipse ] ... [ Einführung und Entstehung ] ... [ Die Eclipse-Architektur ] ...