JBoss Seam beseitigt die Komplexität auf dem Architektur- und Application Programming Interface (API)-Level. Entwickler können nun komplexe Web-Applikationen mit einfachen annotierten POJOs (Plain Old Java Objects), UI-Widget-Komponenten und einfachem XML zusammenstellen. Damit dies geschehen kann, dehnt JBoss Seam das Annotations-getriebene und Configuration-by-Exception-Programmiermodell von EJB 3.0 auf den gesamten Web-Applikations-Stack aus. Es schließt die künstliche Lücke zwischen EJB 3.0 und JSF in der Java Platform, Enterprise Edition 5.0 (Java EE 5.0)-Architektur. Das Ergebnis ist ein vereinigendes, eng integriertes Applikationsmodell, das zustandslose (stateless), zustandsbehaftete (stateful), transaktionale und prozessgetriebene Applikationen wie Workflow und Page Flow möglich macht. Die Einfachheit von JBoss Seam 1.0 wird künftig eine leichte Integration mit anderen JBoss SOA-Technologien und Java Business Integration (JBI) ermöglichen.
Gavin King, Gründer und Projektleiter von JBoss Seam und Gründer von Hibernate, bemerkt dazu: “Wenn wir die nächste Generation der Web-Entwicklung ermöglichen wollen, muss die zu Grunde liegende Web-Applikationsarchitektur umfassend neu gedacht werden. Bis zu EJB 3.0 war dies nicht möglich. Als erstes vereinigendes und integriertes Framework für SOA-Technologien bietet JBoss Seam Entwicklern eine schnelle Entwicklungsumgebung und ein Programmiermodell, das sowohl für einfache als auch für komplexeste Web-Applikationen geeignet ist.“
Zu den wichtigsten Features von JBoss Seam 1.0 zählen:
• EJB-basierte Entwicklung. EJB 3.0 hat die Vorstellung von EJBs als grobgranulare, schwergewichtige Objekte hin zu leichtgewichtigen POJOs mit feingranularen Annotationen verändert. In JBoss Seam wird alles zu einem EJB. JBoss Seam baut auf dem Web 2.0-Konzept auf, nach dem das Web die Plattform ist und beseitigt so die Unterscheidung zwischen Komponenten der Präsentationsschicht und Komponenten der Geschäftslogik. Session Beans können z.B. als JSF Action Listeners genutzt werden.
• AJAX-basierte Remoting-Ebene. Mit JBoss Seam Remoting können EJB 3.0 Session Beans via Ajax direkt vom Web Browser-Client aufgerufen werden. Die Session Beans erscheinen dem JavaScript-Entwickler als einfache JavaScript-Objekte und verdecken die Komplexität von XML-basierter Serialisierung sowie die XMLHttpRequest-API. Web-Clients können sich sogar auf ein JMS Topic abonnieren und Nachrichten empfangen, die als asynchrone Benachrichtigungen an das Topic publiziert wurden.
• Deklaratives State Management für den Applikationszustand. Aktuell implementieren Java EE-Applikationen jegliche Zustandsverwaltung (state management) manuell, was zu Fehlern und Speicher-Lecks führt, wenn Applikationen Session-Attribute nicht korrekt verwalten. JBoss Seam beseitigt diese Klasse von Fehlern nahezu vollständig. Eine deklarative Zustandsverwaltung ist möglich durch das von JBoss Seam definierte Modell von hierarchischen Kontexten mit automatischer Abgrenzung.
• Support für neue Typen zustandsbehafteter (stateful) Applikationen. Vor JBoss Seam war die HTTP-Session die einzige Art des Managements von Web-Applikationszuständen. JBoss Seam bietet vielfältige zustandsbehaftete (stateful) Kontexte mit unterschiedlicher Granularität, vom Konversations-Kontext bis zum Geschäftsprozess-Kontext, und befreit Entwickler damit vonder manuellen Verwaltung von Werten in einer HTTP Sitzung. Entwickler können beispielsweise Web-Applikationen mit umschaltbaren Workspaces und Konversationen schreiben, die sich wie ein Rich Client mit mehreren Fenstern verhalten.
• Support für prozessgetriebene Applikationen. JBoss Seam integriert transparentes Business Process Management via JBoss jBPM und vereinfacht damit die Implementierung von komplexen Workflow- und Page Flow-Applikationen deutlich. Zukünftige Versionen von JBoss Seam werden die Definition von Konversationsabläufen aus der Präsentationsschicht mit denselben Mitteln ermöglichen.
• Portal-Integration. JBoss Seam unterstützt JSR-168-konforme Portale wie das JBoss Portal.
Verfügbarkeit
JBoss Seam 1.0 steht kostenfrei zum Download und zur Nutzung unter der GNU Lesser General Public License (LGPL) zur Verfügung. JBoss Seam 1.0 arbeitet mit jedem Application Server der EJB 3.0 unterstützt, inkl. JBoss Application Server. Download und weitere Informationen können unter folgender URL abgerufen werden: http://www.jboss.com/...