Im Gespräch mit TomEE Project Lead David Blevins

TomEE: Java EE und Tomcat unter einem Hut

Eine spannende Nachricht erreichte uns von der JavaOne: Das Projekt TomEE hat die volle Zertifizierung für das Java EE 6 Web Profile erhalten. Wir sprachen mit Projektleiter David Blevins über die Hintergründe von TomEE und über die Möglichkeit, die beiden populären Communitys von Apache Tomcat und Java EE miteinander zu vereinen.


src=“http://entwickler.com/develop/zonen/magazine/onlineartikel/pspic/picture_file/5/Blevins_Po4e969bd5c1549.jpg?1318493141″ hspace=“10″ vspace=“5″ alt=““>

JAXenter: Hallo David! Du bist der Projekt-Leiter des neuen Apache-Server-Projekts TomEE. Was ist TomEE?

David Blevins: Kurz gefasst ist TomEE die Java EE 6 Web Profile zertifizierte Version von Tomcat. TomEE ist das, was man bekommt, wenn man ein einfaches Tomcat Zip File hernimmt, fehlende jars wie OpenWebBeans, OpenEJB, OpenJPA und MyFaces hinzufügt und diese alle so integriert, dass Tomcat weder seine Identität noch seine Funktionalität verliert. Unser Fokus bei der TomEE-Entwicklung liegt auf drei Dingen: Sei klein, sei zertifiziert, sei Tomcat.

JAXenter: TomEE wurde also offiziell für das Java EE 6 Web Profile zertifiziert. Was bedeutet das genau?

David Blevins: Diese Zertifizierung zu erhalten, besteht zum großen Teil in der Arbeit, eine unglaublich lange Compliance Test Suite auszuführen, die jedes einzelne API und jeden Integrationspunkt zwischen den APIs im Java EE Web Profile überprüft. Das ist bestimmt keine kleine Aufgabe und der Hauptgrund dafür, dass es so lange dauert, bis Anbieter diese Zertifizierung erhalten. Die Java-EE-6-Spezifikation wurde 2009 verabschiedet, und viele Anbieter haben erst jetzt in diesem Jahr die Zertifizierung erreicht. Die Tatsache, dass ein so kleines Open-Source-Projekt wie das unsere dies überhaupt erreicht hat, ist schon beeindruckend, und die Tatsache, dass wir es mit einem so leichtgewichtigen Quellcode geschafft haben, ist wirklich einzigartig. Unser Download ist nur 24 MB groß, und wir durchlaufen das ganze TCK, ohne den Speicherbedarf der JVM zu erhöhen. Ich denke, das wurde so noch nie vorher erreicht.

Das Geheimnis für unseren Erfolg liegt einerseits in unserer unglaublich leidenschaftlichen Community und andererseits in einer Amazon-EC2-Konfiguration, die es uns erlaubt, die Tests in der Cloud auszuführen. Was früher Tage in Anspruch genommen hätte, wird so in Stunden erledigt und handhabbar für eine kleine Gruppe Freiwilliger. Das kleine und agile Profil von TomEE ist nicht zuletzt auch ein guter Indikator für die Community, die die Entwicklung vorangetrieben hat.

JAXenter: TomEE soll eine Alternative zu anderen Java-Application-Servern wie GlassFish, JBoss AS oder Apache Geronimo darstellen. Was ist der Unterschied zwischen TomEE und anderen Server-Systemen?

David Blevins: Die Server-Systeme unterscheiden sich natürlich alle stark voneinander. TomEE ist aus dem OpenEJB-Projekt heraus entstanden, in dem die grundsätzlichen Werte gelten, anderen Leuten nicht in die Quere zu kommen, sie das machen zu lassen, was sie machen wollen, und schnell, klein, einbettbar und testbar zu sein. Der JBoss AS7 ist wahrscheinlich am nahesten mit TomEE verwandt und wird es wohl bleiben, da wir die Grenzen des Testens weiter ausweiten wollen.

In Bezug auf Download-Größe und Memory Footprint scheint TomEE eine der leichtgewichtigsten Optionen zu sein, die es derzeit gibt. Einige der App Server benötigen hunderte von MBs nur für den Bootvorgang. Ich freue mich schon sehr auf einige objektive Vergleichstests seitens der großen Java EE Community. Ich glaube, die Zahlen werden einige überraschen.

TomEE sieht schon nach einer sehr starken Lösung für die Nutzung in Cloud-Computing-Setups aus. Wir betreiben TomEE jeden Tag in der Cloud auf hunderten von EC2 ti.micro-Instanzen, und ich sehe nicht, warum andere nicht dasselbe tun könnten. Wir haben sehr bewusst den Speicherverbrauch von TomEE klein gehalten, da wir den Rest des Speichers jenseits des Defaultwertes als Besitz des Users ansehen. Was bringt es, einen App Server auf einer t1.micro-Instanz mit nur 613MB zu booten, wenn der Server selbst 512 MB dieses Speicherplatzes frißt? Für die Anwendung bleibt da nicht mehr viel übrig.

JAXenter: Kannst du ein wenig über die TomEE-Projekt-Geschichte erzählen?

David Blevins: Wie erwähnt, liegt der Ursprung von TomEE im OpenEJB-Projekt. Seit Jahren gibt es dort eine OpenEJB/Tomcat-Integration, wie wir es genannt haben. Als das Java EE 6 Web Profile veröffentlicht wurde, schien es, dass es an allen Ecken und Enden unsere Namen trug. Das war definitiv eine Aufforderung zum Handeln.

Das Interessante daran ist, dass, wenn du mich vor einem Jahr gefragt hättest, wie nah wir am Web Profile sind, ich gesagt hätte: „Sehr nahe, wir sind fast schon soweit“. Doch in diesem aufreibenden Prozess der Zertifizierung wurde klar, wie weit entfernt wir tatsächlich noch waren. Wir mussten wieder bescheiden werden, aber schließlich war es sehr erhellend zu sehen, wie wichtig es ist, mit einem zertifizierten Produkt zu arbeiten. Man ist nie so nahe am Ziel, wie man glaubt. Es ist eine riskante Angelegenheit, mit einem eigenen Stack herumzuspielen, wenn es gute zertifizierte Alternativen gibt.

Kommentare

Schreibe einen Kommentar

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