Eclipse, OSGi, Spring, JavaEE: Interessanterweise schmelzen die Unterschiede - JAXenter
Im Gespräch mit Gunnar Wagenknecht

Eclipse, OSGi, Spring, JavaEE: Interessanterweise schmelzen die Unterschiede

Jenseits der Toolorientierung hat sich Eclipse auch als Plattform für Enterprise-Anwendungen etabliert. Was mit Eclipse RCP (Rich Client Platform) begann, wird heute auf der Serverseite korrespondierend fortgesetzt, wobei der OSGi-Standard eine tragende Rolle spielt. Gunnar Wagenknecht stellt das Zusammenspiel der verschiedenen EclipseRT-Technologien im Rahmen des Eclipse Runtime Day auf der JAX 2011 vor. Im Gespräch mit JAXenter gibt er Praxis-Tipps, wie man mit EclipseRT zum Erfolg kommt.

JAXenter: Hallo Gunnar! Das Arsenal von Eclipse-Runtime-Technologien wird immer größer und mittlerweile lassen sich komplette Enterprise-Anwendungen damit bauen – meist auf Basis des OSGi-Standards. Wo liegen hierbei die Unterschiede einerseits zu Spring und andererseits zu JavaEE?

Gunnar Wagenknecht: Interessanterweise schmelzen die Unterschiede. Vor ein paar Jahren war das alles noch inkompatibles Zeugs. Mittlerweile hat jeder verstanden, dass er vom anderen lernen kann. JavaEE ist einfacher, Spring dynamischer und OSGi integrationsfähiger geworden. Der eigentlich größte Unterschied ist die ClassLoader-Architektur. Bei OSGi ist sie extrem ausgeklügelt und bei den anderen faktisch nicht existent. Das manifestiert sich leider immer noch in einer Vielzahl an Dritt-Bibliotheken, die mit der ClassLoader-Architektur von OSGi nicht zurechtkommen. Auf der anderen Seite ist diese ClassLoader Architektur gerade eines der Kernelemente von OSGi und ermöglicht interessante Lösungsansätze in der Praxis.

Eclipse Runtime Day

Das Programm:

Mittwoch, 4. Mai 2011, Moderator: Kai Tödter

  • Gunnar Wagenknecht: Managing large and distributed Eclipse Server Applications
  • Kai Tödter: Was ist neu bei der Eclipse Rich Client Platform 4.0?
  • Shaun Smith, Tom Ware: Building OSGi Enterprise Applications with Eclipse Gemini
  • Kai Tödter: Dynamische Web-Applikationen mit Equinox und Vaadin
  • Ekkehard Gentz: Enterprise to go – Mobile Businessanwendungen mit EclipseRT

Alle Infos unter: www.jax.de.

JAXenter: Im Rahmen des Eclipse Runtime Day auf der JAX 2011 stellst du eine
Webanwendung vor, die ihr bei AGETO komplett mittels
EclipseRT-Komponenten entwickelt habt. Kannst du die Anwendung kurz beschreiben?

Gunnar Wagenknecht: Mit dieser Anwendung implementieren wir bei AGETO unser Full-Service eCommerce-Konzept. Das heißt im Prinzip, vom Online-Shop für den Kunden über die Verwaltungsoberfläche für den Shop-Manager und die Konsole für den Webmaster bis hin zur Integration beliebiger Drittsysteme muss die Anwendung alle Anforderungen erfüllen. Bei der Vielzahl der Mandanten und involvierten Dritt-Systeme war für uns entscheidend, dass wir eine Plattform zur Grundlage hatten, die uns die notwendige Flexibilität hinsichtlich Modularität, Versionierung und Wartung bietet.

JAXenter: Welche Eclipse-Technologien kommen dabei zum Einsatz?

Gunnar Wagenknecht: Im Kern ist das die Equinox OSGi Runtime. Darauf aufbauend setzen wir gezielt die Technologien ein, die wir je nach Anforderung benötigen. Das sind p2 für das Ausrollen von Software-Updates im Rechenzentrum, Jetty als Servlet Engine, RAP als Administrationsoberfläche für den Webmaster und Gyrex für das Cloud-Management.

JAXenter: Welche Tipps kannst jemandem geben, der vor der Herausforderung
steht, die verschienen Eclipse-Runtime-Komponenten miteinander zu
kombinieren?

Gunnar Wagenknecht: Aus meiner Sicht sind drei Dinge unbedingt erforderlich für ein solches Vorhaben. Erstens darf man keine Scheu vor Quellcode, Foren und Committern haben. Zweitens ist wichtig, dass man, wenn es dann einmal klemmt (und es wird klemmen!), unbedingt einen Patch erstellt, ein Bug-Ticket anlegt und mit der Lobbyarbeit für den Patch beginnt. Das kann in Form von Blogs und Tweets passieren. Das kann aber auch mal die Teilnahme an einer der regelmäßigen Telefonkonferenzen bedeuten.

Gerade wenn man OSGi-Einsteiger ist, kann einem der Lernaufwand schnell demotivieren. Deshalb ist es – und jetzt kommt Drittens – ganz wichtig durchzuhalten. Es lohnt sich!

JAXenter: Welche spannenden Neuerungen dürfen wir im Eclipse-Runtime-Bereich
erwarten?

Gunnar Wagenknecht: Die neuen Projekte sind Gemini und Virgo. Gerade letzteres arbeitet mit Hochdruck an einer tieferen Integration mit existierenden EclipseRT-Projekten (z.B. Jetty). Interessant für mich persönlich ist aber, dass mit Virgo die Grenzen zwischen Server und Applikation immer weiter verschmelzen. Natürlich versucht man, Kernfunktionen abzuschotten – das ist in manchen Umgebungen auch notwendig. Aber interessant wird das z.B.
für Anbieter von SaaS-Lösungen. Dort kann es tatsächlich Vorteile im Betrieb bringen, wenn die Anwendungen optimal mit der Technologie harmoniert, auf die auch der Server abgestimmt ist.

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

Gunnar Wagenknecht ist Softwareentwickler und beschäftigt sich am liebsten mit Server- und Anwendungsarchitekturen – insbesondere mit solchen, die Equinox/OSGi basiert sind. In seiner Hauptaufgabe bei der AGETO Service GmbH arbeitet er mit Begeisterung an Open Source Software, neu entstehenden Plattformen und Technologien und berät Firmen zu den Themen Eclipse und OSGi und wie diese Open Source erfolgreich für die Verwirklichung ihrer Geschäftsziele einsetzen können. Er ist ein sehr aktives Mitglied der Eclipse Community und erfolgreicher Contributor mit vielen Jahren Erfahrung in zahlreichen Eclipse Projekten. Als Mitglieder des Eclipse Technology PMC vertritt er dieses im Eclipse Architecture Council. Neben Eclipse plaudert er gern über Angeln, Tauchen und Familie bei einem guten Bier oder einem Glass trockenen, roten Barriquewein.
Kommentare

Schreibe einen Kommentar

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