Seam- und Weld-Project-Lead Pete Muir im Gespräch

"Wir haben vor, das volle 3.0.0-Release von Seam dieses Jahr auszuliefern"

Michael Schütz traf Pete Muir während der JUDCon 2010 in Berlin und hatte das Vergnügen, ihn zu Seam 3 zu interviewen.

Michael Schütz: Hi Pete, danke, dass du dir die Zeit genommen hast. Könntest du uns kurz etwas über dich erzählen und über deine derzeitigen Jobs und Verantwortlichkeiten?

Pete Muir: Hi Michael. Ich bin derzeit der Project Lead für Seam, Weld und das CDI TCK. Ich bin außerdem Mitbegründer des Arquillian-Projekts und arbeite beim JBoss-AS-Team. Ich habe die letzten drei Jahre für Red Hat an JBoss-Projekten gearbeitet und war vorher für etwa ein Jahr in der Seam-Community.

Pete Muir

Pete Muir ist Principal Software Engineer bei Red Hat, und arbeitet dort als JBoss-Kernentwickler. Er ist Project Lead von Seam und Weld, und leitender Entwickler bei Arquillian. Pete repräsentiert Red Hat auch in der JSF 2.0 Expert Group. Er bloggt über Seam, Weld und Java auf http://in.relation.to/Bloggers/Pete.

MS: O.K., lass uns über Seam 3 reden. Was die meisten Leute wahrscheinlich am meisten interessieren wird, ist, wann Seam 3 reif für die GA ist. Welche Teile von Seam 3 kann ich schon jetzt nutzen?

Muir: Seam 3 ist eine Obermenge von CDIs. Die CDI ist der Kern von Seam 3 – es ist das Basisprogrammiermodel für deine Applikationskomponenten und für die mitgelieferten Komponenten, die das Seam-Framework ausmachen. Weld ist unsere Implementierung dieses Programmiermodells. Basierend auf diesem Programmiermodell bietet Seam ein komplettes Framework für die Applikationsentwicklung sowie die Integration mit verschiedenen nicht standardisierten Open-Source-Technologien. JSR-299 definiert ein sehr mächtiges Framework für portable Erweiterungen. Seam 3 wurde als eine Menge solcher portablen Erweiterungen oder Modulen für JSR-299 implementiert, die in jeder Umgebung laufen, die JSR-299 unterstützt (inklusive jeder Java-EE-6-Umgebung).

Ich habe ein Diagramm dabei, das die Beziehung zwischen Seam 2, Seam 3 und Weld/JSR-299 illustriert.

Seam ist das Vehikel für die BPM-Integration, Seam Security, Drools-Integration, RESTeasy-Integration, PDF- und E-Mail-Templates, Excel-Generierung etc. Man kann sich Seam dabei als Sahnestücke vorstellen. Seam wird außerdem Patches für Java EE beinhalten, wie JSF Fixes (ja, immer noch) und Seam-gesteuerte Persistenz.

Wir haben vor, das volle 3.0.0-Release von Seam dieses Jahr auszuliefern. Die Komponenten, die jetzt bereits zu haben sind, umfassen CDI (die Core Contextual DI Engine), ebenso die Integration mit der Java-EE-Plattform inklusive JSF, Servlet, JAX-RS, EJB, WS. Die Weld Extensions, also die Basis, auf der wir Seam bauen und Common Beans wie Logging, Resource Loading sind in der Betaphase. Das Gleiche gilt für Seam Remoting (JavaScript/CDI-Integration). Betas sind auch von Seam XML (Konfiguration der Beans mit XML) und von Seam Faces (zusätzlicher Support für JSF 2) erhältlich.

Seam Persistence, also das Verwenden von JPA außerhalb von Java EE sowie Conversation-scoped Persistence Contexts, ist als Alpha erhältlich. Seam Drools (Integration von Drools mit CDI) und Seam Security (exzellente Authorisierung und Authentisierung für CDI, voller Umfang der Unterstützung für Authentication und Authorization Engine) ebenso. Die GWT-Integration aus dem Errai-Projekt befindet sich in der Betaphase. Mehr über diese Module kann man unter http://seamframework.org erfahren.

MS: Welche Gründe verzögern die Auslieferung von Seam 3? Halten die unabhängigen Module den Prozess auf?

Muir: Eine Anzahl von Dingen haben das Release länger als erwartet verzögert. Darunter war die Entscheidung, Ressourcen auf Arquillian (ein Framework für das Testen von Anwendungen innerhalb des Containers, mehr unter http://jboss.org/arquillian/) und Seam Forge zu konzentrieren. Als Nachfolger von Seam will Seam Forge eine hervorragende Umgebung dafür liefern, neue Projekte aufzusetzen, und zwar nicht nur für Seam, sondern für jedes Projekt. Wir glauben, dass beide Projekte sehr wichtig für die Java-Enterprise-Community sind, und durch Austausch mit der Community kann ich dir sagen, dass sie die Zeit und die Mühen schätzen, die wir in die Entwicklung von Arquillian gesteckt haben – und ich glaube, dass Seam Forge auf ähnliche Reaktion treffen wird.

Ich denke nicht, dass die unabhängigen Module den Auslieferungsprozess sonderlich verlangsamt haben, aber ich glaube, dass es Alpha-/Betareleases bestimmter Module verlangsamt hat, die auf die Funktionalität warten, die andere Module bereitstellen. Wir haben uns diesen Verzug jedoch zunutze gemacht, um sicherzustellen, dass andere Features der Module komplett sind. Weld Extensions, die oben erwähnt wurden, waren der hauptsächliche Flaschenhals, da es die Basis so ziemlich jeden Moduls ist. Aber ich bin froh, sagen zu können, dass ich gerade eine Beta davon veröffentlicht habe, deren API stabil sein sollte und mit der die anderen Module jetzt mit Volldampf vorankommen können. Viele Module erreichten Betastatus im Oktober.

Kommentare

Schreibe einen Kommentar

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