MS: Angesichts der Vielzahl von Seam-3-Modulen und ihres unfertigen Zustands scheint es, dass das Projekt zu viele Features in die erste Veröffentlichung gepackt hat. Wäre es sinnvoller, das erste Release etwas zu reduzieren?

Muir: Das ist eine Frage, über die ich schon bei verschiedenen Gelegenheiten nachgedacht habe. Wir haben bereits beschlossen, einige Seam-2-Funktionen aus dem Seam-3-Release rauszulassen, als wichtigstes zum Beispiel die Seam-2-Bridge, und ich bin fest davon überzeugt, dass weitere Abstriche nicht möglich gewesen wären. Es ist auch erwähnenswert, dass Seam 3 viele leidenschaftliche Mitarbeiter in der Community hat, und viele der Module in Seam 3 werden von diesen Mitarbeitern entwickelt und beanspruchen daher keine Zeit der Entwicklung der „Kern“-Module.

MS: Wie sieht es bei neuen Modulen aus? Gibt es ein CDI-Plug-in-Center? Wer würde sich darum kümmern?

Muir: Wir ermutigen jeden in der Community zu Beiträgen (sprecht uns einfach an!) der ein neues Modul für Seam entwickeln will. Wenn wir das Gefühl haben, etwas passt gut in den Seam Stack und entspricht unseren Richtlinien für die Codequalität, Dokumentation und Beispiele, dann werden wir es in das Seam-Release mit aufnehmen.

Wir moderieren auch eine Social-Bookmarking-Gruppe, wo jeder CDI-Erweiterungen verlinken kann. Diese Gruppe ist für alle offen, und wir ermutigen jeden, eine Extension oder ein Blog mit Ideen in der Gruppe zu verlinken: http://groups.diigo.com/group/cdi-extensions.

MS: Seam 3 benötigt einen Java-EE-6-konformen Application-Server. Wie wichtig ist die Veröffentlichung von JBoss AS 6 für Seam 3?

Muir: Ein Großteil von Seam 3 wird in jedem CDI-Container laufen, zum Beispiel wie schon erwähnt, hat das Seam-Persistenzmodul das Ziel, JPA außerhalb eines Java-EE-Umfelds nutzen zu können. Aktuell angepeilte Umgebungen beinhalten Java-EE-6-Server, Servlet-Container wie Tomcat, Jetty und Google App Engine sowie Java SE. Natürlich machen einige Module wie JMS-Unterstützung am meisten Sinn in Java EE.

Doch bei JBoss sind wir fest davon überzeugt, dass ein Java-EE-6-Server der beste Weg für eine Seam-Anwendung ist, und natürlich denken wir, dass JBoss AS 6 der beste Application-Server dafür ist. Wir testen auch am meisten auf JBoss AS, und natürlich wird Red Hats kommerzieller Support für Seam 3 für solche Anwendungen verfügbar sein, die auf JBoss AS laufen.

MS: Du bist Seam- und Weld-Projektleiter und beteiligt an einigen weiteren Projekten. Wie koordinierst du all diese Projekte? Hast du noch Zeit fürs Coden?

Muir: Ich habe glücklicherweise ein tolles Team, das sehr unabhängig ist und Ideen, die wir diskutieren, umsetzt. In der Tat ist das eine Voraussetzung für die Aufnahme ins Team. Vertrauen ist eine wichtige Komponente für unsere Arbeit – Vertrauen auf meiner Seite, dass die Kollegen liefern, was sie versprochen haben, und Vertrauen des Teams, dass sie Fragen stellen oder mich zu jeder Zeit um Rat fragen können.

Ich arbeite hauptsächlich über Blogs, E-Mail und IRC, die wie ich finde tolle Medien für die Kommunikation sind und ein hohes Maß an Offenheit für unsere Art zu arbeiten ermöglichen. Ich bin kein großer Nutzer von modernen Kommunikationsmechanismen wie Twitter – ich weiß auch nicht warum, ich bin damit einfach nicht warm geworden -, aber zum Glück gibt es andere im Team, die in der Lage sind, diesen Bereich abzudecken. Ich habe auch Glück, dass ich ein gutes Gedächtnis habe, besonders für strukturelle Informationen.

Ich kodiere noch eine Menge selbst, wahrscheinlich 50 % meiner Zeit. (Ich meine damit aber auch alles Mögliche andere, einschließlich dem Fixing von Build-Systemen, Beispiele debuggen etc.) Das Entwickeln ist der Grund, warum ich hier bin.

MS: Viel passiert momentan im Bereich Infrastruktur: Maven, Git, Arquillian usw. Wie ist hier der Status?

Muir: Also der Reihe nach. Git – wir haben begonnen, alle Seam- und Weld-Projekte nach Git umzuziehen, da wir es für ein viel besseres VCS-Tool halten als SVN, und für eines, das sehr gut zum Open-Source-Projekt-Workflow passt. Zusätzlich haben wir die Leute dazu ermutigt, das Projekt zu forken und Erweiterungen zu erstellen, die sie uns dann auch wieder zurückgeben, das geht mit Git sehr einfach. Im Moment ist Weld vollständig nach Git migriert, und Seam ist gerade dabei.

Maven – während wir Seam 3 entwickelten, wurde auch Maven 3 entwickelt, jetzt ist es erschienen. Maven 3 scheint die meisten Probleme von Maven 2 zu fixen. Gerade die saubere Unterstützung von BOMs sehen wir als kritisch für die Verbreitung von Seam 3 an. Das erlaubt uns, dem Entwickler einen Stapel von Abhängigkeiten und Versionen mitzugeben, die er oder sie dann in sein Projekt importieren kann. Seam 3 wird die Verwendung von Maven 3 erfordern. Du kannst natürlich auch ein anderes Tool wie Ant oder Ivy verwenden.

Arquillian – das ist ein entscheidender Teil der Seam-Infrastruktur, sowohl für Endverbraucher, die ihre Anwendungen testen möchten, als auch für das Seam-Projekt. Wir verwenden es, um alle unsere Module zu testen. Wir planen, Arquillian 1.0.0 noch in diesem Jahr zu veröffentlichen.

Seamframework.org – alle Projekte werden auf seamframework.org gehostet. Diese Seite stellt die Foren, Wiki-und Projektseiten zur Verfügung. Seamframework ist vor Kurzem umgezogen in ein US-Rechenzentrum mit besseren Peering-Vereinbarungen als beim deutschen, und hat ein Softwareupgrade bekommen, um die Engpässe in der Forumsoftware zu entfernen. Es läuft jetzt sehr gut.

Weld sollte vielleicht nicht unter „Infrastruktur“ laufen, aber Seam 3 baut auf CDI auf. Wir wollen Weld 1.1.0 in JBoss AS 6.0 und GlassFish 3.1 einbauen. Weld 1.1.0 enthält Verbesserungen im Bereich Leistung und Speicher, und läuft bei unseren internen Tests besser als Seam 2 jemals lief.

Kommentare

Schreibe einen Kommentar

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