Installationsprobleme? Gelöst

In der Ära Callisto: Eclipse-Distribution Yoxos on Demand

Lars Wunderlich

Unter dem Namen Yoxos vertreibt die inzwischen im Eclipse-Umfeld als Gründungsmitglied gut bekannte Firma Innoopract eine eigene Eclipse-Distribution. Die Frage, die sich an dieser Stelle zwangsläufig stellt, ist: Wie kann man mit einem Open-Source-Projekt Geld verdienen und worin besteht der Mehrwert eines solchen Distributionsansatzes, wo doch jeder Eclipse aus dem Internet auch kostenlos herunterladen kann?

Karlsruhe verfügt nicht nur laut Bewilligungsausschuss über eine der deutschen Elite-Universitäten. Auch in Sachen Softwareentwicklung in Richtung Eclipse muss man sich beim Hauptquartier in Karlsruhe und im Team um Jochen Krause, selbst Autor zahlreicher Magazinbeiträge, nicht verstecken.

Seit die Eclipse-Plug-in-Entwicklung so richtig gestartet ist und sich diverse Subprojekte in und um Eclipse sowohl intern als auch extern scheren, ist die Aufgabe der Zusammenstellung einer lauffähigen Eclipse-Umgebung jenseits des Einsatzes des vergleichbar einfach „All in one“-Pakets Eclipse-Java-Umgebung ein spannendes und hehres Ziel, das es durch Lesen der diversen Kommentare und Installationsanleitungen der Entwickler zu nehmen gibt. Hier greift die nunmehr vorzustellende Yoxos-Distribution an.

Nun lässt sich nicht bestreiten, dass das Dependency-Management von Eclipse mit seiner plugin.xml, Versionsnummern und Minor- und Major-Versionsänderungen schon von Beginn an recht gut durchdacht gewesen ist. Dennoch war es nötig, mit der Callisto-Initiative auch die Auslieferungszeitpunkte und damit indirekt auch das Bibliotheksabhängigkeitsproblem zu minimieren. So kann, wer Eclipse 3.2 „unkonfiguriert und nackt“ herunterlädt, inzwischen über Callisto zumindest im Bereich der Standard-Eclipse-Projekte eine gute Harmonisierung der Bibliotheken mit wenigen Schritten erreichen. Eclipse als Plattform für alles und nichts (eine Formulierung, die man auf der Eclipse-Seite selbst einmal nachlesen konnte) fand über Jahre hinweg noch kein wirklich endgültiges Rezept, mit der zunächst unterschätzten Komplexität vieler Versionen in Komponenten/Plug-ins umzugehen.

Zwei Dinge erledigen sich auch mit Callisto nur bedingt: die Erreichung eines weiterhin aktuellen Standes, wenn Einzelteile der selbst zusammengestellten Distribution zwischenzeitlich aktualisiert und wiederum eingespielt werden müssen. Zusätzlich wird dies bei vielen Installationen in Unternehmen problematisch aufgrund eines möglicherweise synchronisierten Vorgehens.

Der zweite Punkt betrifft den Umgang mit Projekten außerhalb von Callisto. Da sind die PHP- und JavaScript-, die Perforce- und speziellen GUI-Builder-Plug-ins, die man im Hintergrund noch integriert haben möchte.

Hier fällt dann der Begriff der unabhängigen Eclipse-Distributionen, die als fertiges und angepasstes Bundle mal mit, mal ohne zusätzliche Dokumentation daherkommen. Darin entwickelt sich nunmehr ähnlich einer Linux-Distribution der Mehrwert: Aufbau eines funktionsfähigen Gesamtsystems, Angebot von Update- und Supportmechanismen, Hinzufügen eigener anwendungsfall- oder architekturgetriebenen Dokumentation.

Yoxos-Distribution

Was bietet uns nun Yoxos als Distribution an? Unter dem Namen Yoxos findet man einen On-demand-Download-Service, einen Subskriptionsservice zur Aktualisierung der geladenen Distributionsvariante und ein Toolset für Unternehmen zur Erstellung und Verwaltung eigener Eclipse-Distributionen.

Seit Juli findet man auf der Yoxos-Website unter Yoxos on demand (YOD) einen bisher noch neuartigen und ungewöhnlichen Installationsservice. So einfach wie das Bestellen einer Pizza soll die Zusammenstellung einer personalisierten Distributionsvariante sein. Dafür stellt man sich in einer Plug-in-Auswahl Basis- und Zusatz-Plug-ins zusammen oder wählt aus bereits konfigurierten und oft verwendeten Szenarien. Mit wenigen Klicks und der Bestätigung der automatisch ermittelten Abhängigkeiten zwischen den Plug-ins hat man sich so seine persönliche Eclipse-Distribution zusammengemixt (Abb. 1). Leichter und eleganter kann’s eigentlich kaum gehen und die Weboberfläche gleicht dabei eins zu eins der späteren Yoxos-Perspektive im heruntergeladenen Eclipse, sodass, wer sich einmal auf der Weboberfläche zurechtgefunden hat, auch mit der späteren Installationsoberfläche in Eclipse keine Probleme hat.

Abb. 1: „Yoxos on demand“-Webseite

Während der Konfiguration hat man eine breite Auswahl an Open-Source-Plug-ins. Hier kann man aus der Vielfalt der Eclipse-Fähigkeiten schöpfen. Darunter finden sich neben der typischen Java- und C/C++-Umgebung, Sprach-Plug-ins für Groovy, Ruby, Eiffel und PHP. Hinzu kommen Plug-in-Development-SDKs, Web- und Java EE-Entwicklungserweiterungen, Datenbank- und UML-Modellierung, Reporting-/Test- und Performance-, Quality-Assurance- und Mobile-Java-Plug-ins, um nur die Highlights zu nennen. Wer den Überblick verliert, kann per Suchoption in den Plug-ins die richtigen für den eigenen Zweck finden. Mit Auswahl der Plug-ins können gleichzeitig Kurzdokumentationen angezeigt und Lizenzbedingungen eingesehen werden. Ebenfalls möglich ist die Auswahl eines Sprachpakets, allerdings dürften die meisten Entwickler die englische Version der Einheitlichkeit und des Verständnisses halber oft vorziehen.

Ist die Arbeit abgeschlossen, generiert die On-demand-Seite von Yoxos ein Installationspaket. Ergebnis ist eine einzelne ZIP-Datei, die dann die individuelle Konfiguration enthält. Kurz nach Installation vollführt die auch mit dem Yoxos-Logo ausgestattete Distribution eine erneute Prüfung auf aktualisierte Distributionsteile.

Abb. 2: Konfigurierte ZIP-Datei

Abb. 3: Yoxos-Startup

Der restliche Gebrauch von Yoxos unterscheidet sich dann nicht mehr vom klassischen Eclipse. Dies ist natürlich auch insgesamt besser so, konzentriert sich Yoxos damit doch mehr auf die Assemblierung der Einzelteile, ohne deren Verhalten zu beeinflussen.

Persönlich kann ich natürlich nur empfehlen, sich bei einer gegebenenfalls neuen notwendigen Installation von Eclipse direkt mit Yoxos zu beschäftigen. Zwar empfiehlt die Webseite eine Registrierung eines neuen Users, bisher zwingend notwendig war es allerdings nicht, solange man nicht später in Eclipse-Updates machen möchte. Somit kann man von den Yoxos-Features erst einmal derzeit kostenlos profitieren.

Insgesamt hat man im Gegensatz zu dem selbst zusammengebastelten Eclipse-Werk hier am Ende eine Komposition validierter und getester Plug-ins vor sich. Bei Innoopract spricht man hier von einer „Fertigungsstraße“, in der die Metadaten der Features validiert, korrigiert und die Abgeschlossenheit geprüft werden, um eine möglichst fehlerfreie und lauffähige Distribution zu erzeugen.

Solange denn alle Wunsch-Plug-ins in Yoxos auswählbar sind, ist die Distribution dem manuellen Aufwand auf jeden Fall vorzuziehen. Wer sein Lieblings-Plug-in nicht wieder findet, ist allerdings gerne aufgefordert, dies Innoopract mitzuteilen, um die ständig erweiterte Auswahl zu komplettieren. Wer einmal seine Lieblingsdistribution zusammengestellt hat, kann diese „Best Practice“-Version auch speichern (erfordert ein Login), später erneut darauf zurückgreifen oder auch anderen über einen URL zur Verfügung stellen.

Kommerzielle Plug-ins

Da sich immer mehr Hersteller der Eclipse-Gemeinde anschließen und die Eclipse-Standardversion oder die RPC-Variante als Ausgangspunkt für eigene Ideen nutzen, fragt man sich natürlich, wie teure Produkte in das Geflecht der bisher primär auf Open Source/Freeware ausgerichteten Plug-ins in Yoxos passen. Hier bemüht man sich um Kontakt zu kommerziellen Anbietern, um deren Test-Versionen zu integrieren. Sicherlich sind hier Schritte auf beiden Seiten nötig, da kommerzielle Anbieter oft natürlich auch an einem bestimmten Markenauftritt interessiert sind und das Zepter der Unabhängigkeit gegen die Möglichkeit des Plug-ins-Mixes ausloten und für sich bewerten müssen.

Yoxos Subscription (YOS)

Wem das Prinzip von Yoxos gefällt, kommt nicht umhin, sich zu fragen, wie er oder sie denn auch nach Erstinstallation von konsistenten Updates und neuesten Plug-in-/Feature-Versionen profitieren kann. Hier kommt die Yoxos Subscription ins Spiel, die für die ersten drei Monate kostenlos und in der 12-Monats-Variante für derzeit knapp 100 Euro erhältlich ist. Auf den ersten Blick ist das natürlich wesentlich teurer als der eigene Open-Source-Download, aber nur auf den ersten Blick. Der Mehrwert erhöht sich natürlich mit jeder weiteren und komplexeren Distribution. Stunden mühevoller Arbeit lassen sich ersparen und umgerechnet zum Normalverdienst des Entwicklers kann der Erwerb einer solchen Subskription dann schnell günstiger sein, als einen Entwickler mehrere Tage herumprobieren zu lassen. Auch an der Yoxos-Distribution kann man manuell so viel erweitern und ändern, wie man möchte. Nur für die automatische Unterstützung von Yoxos muss man hier Geld auf den Tisch legen, denn ohne Registrierung geht über die Yoxos-Perspektive in Eclipse dann nicht mehr viel. Natürlich könnte man aus finanzieller Hinsicht hier regelmäßig einen neuen Gesamt-Download von Eclipse durchführen, allerdings ist damit das Problem, wann welche Teile neu sind und wie es sich mit der Rekonfiguration und dem Neuaufsetzen verhält, noch nicht gelöst.

Install Manager (YIM)

Der Install-Manager liefert in Eclipse die gleiche Funktionalität wie die „Yoxos on demand“-Webseite inkl. einer Inspector View, um in einem Inventurverfahren nach aktuelleren Release-Ständen zu suchen. Der Yoxos eigene Installer und das bereits bekannte Eclipse-Pendant sollen sich dabei nicht behagen. Allerdings macht es Sinn, sich bei Yoxos auf den YIM zu konzentrieren, der in regelmäßigen Abständen automatisch auf Updates der bestehenden Plug-ins hinweist.

Abb. 4: Yoxos-Installationsperspektive in Eclipse
Gerüstet für morgen – Eclipse als Unternehmenslösung
Da auch bei Eclipse der Zug nicht anhält und die Eclipse 3.3 Milestones bereits wieder vor der Tür stehen oder bereits zum Einsatz kommen, will man diese Trends natürlich auch bei Yoxos mit aktualisierten Versionen und individueller Konfiguration der Eclipse-Basisversion begegnen. Darüber hinaus sind immer wieder verbesserte und erweiterte Yoxos-Versionen schon ob der Weiterentwicklung der Plug-ins selbstverständliche Pflicht seitens des Herstellers.

Auch in Unternehmen stellt sich ein ähnliches Problem der Auswahl und Zusammenstellung von Plug-ins. Insbesondere ist es aus betriebswirtschaftlicher Sicht nicht sinnvoll, wenn jeder Entwickler seine Plug-ins individuell zusammenstellt. Auf der anderen Seite sollte der große Vorteil von Eclipse, nämlich eine Integrationsplattform für Werkzeuge unterschiedlicher Herkunft zu sein, nicht durch ein „one size fits all“-Paket zugunsten der einfachen Verwaltung aufgegeben werden. Viele Unternehmen profitieren schon heute von den Möglichkeiten, eigene Plug-ins für unternehmensspezifische Entwicklungsartefakte bereitzustellen, allerdings sind Erstellung und Pflege der eigenen „Distributionen“ mit teilweise beträchtlichem manuellen Aufwand verbunden. Auch das Thema Qualität sollte in diesem Zusammenhang berücksichtigt werden, ist die langfristige Verfügbarkeit der Werkzeuge für Unternehmen doch ein wichtiger Faktor – und Qualität in Bezug auf die Regeln der Integrationsplattform Eclipse eine wichtige Voraussetzung, dass Plug-ins nicht nur heute funktionieren, sondern sich auch noch in zukünftige Releases der Plattform nahtlos integrieren.

In der so genannten Yoxos Enterprise-Version bietet Innoopract Lösungen für diese Anforderungen, indem „Baugruppen“, also die Plug-ins der Distribution, mit entsprechenden Werkzeugen zur Prüfung, zur Qualitätssicherung, zum Management und zum Deployment angeboten werden. Die Tools zur Distributionserzeugung prüfen die Korrektheit der Meta-Informationen der Plug-ins, und mit weiteren Werkzeugen zum Durchführen automatisierter Tests folgt dem bisher losen Versprechen einer Kompatibilität eine Prüfung auf Funktionstestebene. Die Werkzeuge zur Qualitätssicherung bestimmen Metriken zur Plug-in-Architektur und decken häufig gemachte Fehler in Plug-ins auf. Diese Werkzeuge können nicht nur für selbst entwickelte Plug-ins angewendet werden, sondern liefern auch einen wichtigen Indikator für das Risiko, das von der Integration eines Plug-ins ausgeht.

Mit der auf Yoxos On Demand basierenden Lösung zur Auslieferung der Werkzeuge können Entwickler sich mithilfe von Szenarien selbst organisieren, und auch Konfigurationen (Preferences) auf Ebene von Szenarien vordefinieren. Auf diese Weise lässt sich auch mit geringem Aufwand die zu einer im Sourcecode-Management vorgehaltenen Version gehörende Werkzeugkonfiguration langfristig vorhalten, eine im Bereich Wartung von großen Softwareprojekten relevante Anforderung.
Wer Eclipse strategisch als Werkzeugplattform einsetzt, erhält mit dieser Kombination eine interessante Möglichkeit, die Vorteile der Erweiterbarkeit von Eclipse mit den Anforderungen an Werkzeuge im Unternehmensbereich zu vereinen. Wem die technische Unterstützung hier nicht reicht, der kann auch an die Hand genommen werden, da Innoopract Schulungen und Vor-Ort-Service anbietet.

Fazit

Insgesamt muss natürlich jeder für sich entscheiden, ob er mit dem nativen Eclipse auskommt oder sich in die Fänge einer Distribution ergibt, wobei Fänge bei Yoxos einen außergewöhnlich offenen Umgang mit dem Thema bedeuten. Yoxos lässt ausreichend Freiheiten, ohne großen monetären Einsatz oder in den Grenzen der Yoxos-Plug-ins/Features zu arbeiten. Es ist mehr ein intelligent ausgebautes Eclipse denn eine Spielwiese der Spezialisierung.

Derzeit gibt es für Windows-Entwickler mehr als 1.200 Features und 3-700 Plug-ins in mehr als 23 Sprachen. Wer nun Eclipse als reine Java-IDE nutzt, kann darauf natürlich gut verzichten. Aber gerade in Unternehmen, wo durchgängige und aktuelle Tool-Unterstützung wichtig ist und alle Entwickler mit wenigen Tastenklicks die gleiche Distribution nutzen sollen, ist ein Überdenken des Umgangs mit Plug-ins sicherlich wichtig.

Noch findet man nicht alle Plug-ins bei Yoxos, aber die Auswahl ist reichhaltig und aktuell und die Distributionslösung innovativ und empfehlenswert, selbst für jene, die zunächst kein Geld ausgeben, sondern erstmal nur testen wollen. Wenn man etwas Negatives diagnostizieren will, dann höchstens, dass man sich ähnliche Lösungen schon viel früher am Markt gewünscht hätte.

Lars Wunderlich arbeitet als System-Architekt und Application Designer bei der TUI InfoTec in Hannover. Er ist regelmäßiger Autor verschiedener Fachartikel und Bücher zu den Themen Eclipse, Java Architekturen, AOP, Rules Engines und JMX.
Geschrieben von
Lars Wunderlich
Kommentare

Schreibe einen Kommentar

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