EclipseRT in Indigo: Equinox, Jetty, EclipseLink & Co. - JAXenter

EclipseRT in Indigo: Equinox, Jetty, EclipseLink & Co.

Jetty als Webserver – jetzt in Version 7

Vielleicht ist das noch nicht überall bekannt: Unter dem Dach von Eclipse befindet sich Jetty – ein hochwertiger Webserver. OSGi beinhaltet zwar bereits einen rudimentären HTTP Server – es empfiehlt sich aber, hierbei auf den bewährten und performanten Webserver Jetty zu setzen.

In der Version 7 von Jetty wurden Packages umbenannt [4], und es stehen bereits einige der kommenden Servlet- 3.0-Funktionen unter 2.5 zur Verfügung. Mit Jetty und Equinox ist es sehr einfach, einen OSGi basierten Webserver zu bauen: keine lästige web.xml mehr, kein warfile-deployment:

// register Servlets
private String myAlias = "/myPath";
protected void setHttp(HttpService http) {
	this.http = http;
}
public void start(ComponentContext componentContext){
	this.componentContext = componentContext;
	MyServlet theServlet = new MyServlet();
	try {
		http.registerServlet(myAlias, theServlet, null, null);
	} catch ( ... ...) {
	}
}

Natürlich können Sie Jetty auch ganz klassisch einsetzen 😉

EclipseLink: Version 2.3.0 enthält ein paar Schmankerl

Server leben ja erst richtig auf, wenn sie einfach und schnell auf Daten zugreifen können – auch Persistenz genannt. Ebenso wie Riena war EclipseLink 2009 das erste Mal bei einem Release Train dabei und das Projekt hat sich seither hervorragend entwickelt.

Abb. 2: EclipseLink-Projekte

EclipseLink [5] besteht insgesamt aus diesen Teilprojekten:

  • Object-Relational-Mapping (ORM) mit JPA [6]
  • Object-XML-Binding: JAXB und SDO [7]
  • Database-Web-Services: JAX-WS und JAX-RS [8]

Ich betrachte jetzt nur den Einsatz von JPA. Noch vor zwei bis drei Jahren kam in meinen Kundenprojekten Hibernate als ORM Framework zum Einsatz. Hibernate hat aber viele Abhängigkeiten und ist kein idealer Kandidat zum Einsatz in OSGi-basierten Servern.

EclipseLink lässt sich in SE-, EE- oder OSGi-Umgebungen einsetzen [9]. Außerdem ist EclipseLink im Gemini-Projekt für JPA zuständig. [10]

Wer kennt das nicht: Der Server läuft und sollte nicht heruntergefahren werden, aber die Entwicklung geht weiter, und eine Abteilung muss ein paar Eigenschaften an Entities hinzufügen. Mit EclipseLink 2.3.0 ist dies dynamisch on-the-fly möglich. Bisher waren PersistenceUnits in Stein gemeißelt – EclipseLink erlaubt einen refresh des EntityManagers in laufenden Anwendungen.

Ebenfalls mehr Flexibilität bringt die Möglichkeit, Mappings nicht nur innerhalb der Anwendung, sondern auch außerhalb zu speichern und zu ändern, während die Anwendung läuft. Mit 2.3.0 ermöglicht EclipseLink die Speicherung von MetaDataSource external. Zusammen mit der Erweiterung von Entities ermöglicht dies mehr Dynamik – danke an das Team! Alle Neuigkeiten zum EclipseLink-Projekt hier [11].

Gyrex Server

Gyrex [12] ist in diesem Jahr das erste Mal dabei und verspricht, die Entwicklung von Equinox-basierten Servern zu vereinfachen und insbesondere skalierbare Lösungen für Cluster anzubieten. Auf der letzten JAX habe ich mir Gunnar Wagenknechts Session angesehen und war beeindruckt.

Abb. 3: Gyrex Server

Gyrex basiert auf Equinox und Jetty, nutzt p2 zum Update, RAP als Admin-UI und ermöglicht die Integration in die Cloud.

Kommentare

Schreibe einen Kommentar

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