JBoss Seam

De Viquipèdia
Dreceres ràpides: navegació, cerca
Seam Framework
JBoss Seam
Desenvolupador(s) JBoss, una divisió de Red Hat
Versió estable

2.2.0.GA

/ Juliol 30, 2009; fa 5 anys (2009-07-30)
Escrit en Java
Sistema operatiu Multiplataforma
Plataforma Maquina Virtual de Java
Tipus Framework Web
Llicència LGPL
Lloc web http://www.seamframework.org

Seam és un Framework per a aplicacions Web desenvolupat per JBoss, una divisió de Red Hat.

Desenvolupament[modifica | modifica el codi]

El director de projectes Gavin King de JBoss va fundar el projecte Seam en setembre del 2005. King també va jugar un paper clau iniciant el framework de mapeig d'objectes relacional Hibernate. Pete Muir s'ha fet cárrec del projecte després de King.

Funcionalitats[modifica | modifica el codi]

Seam combina els dos frameworks Enterprise Java Beans (EJB3) i JavaServer Faces (JSF), encara que es poden utilitzar els POJOs (Plain Old Java Objects) com a back-end. Es pot convertir qualsevol objecte EJB3 o un simple POJO en un component de Seam sols utilitzant anotacions. Una vegada el component es converteix en un component de Seam, és accesible des de JSF o a través d'un altre component de llógica de negoci d'una manera unificada. Per tant, es pot accedir a qualsevol component EJB del back-end des del front-end direccionant-lo pel seu nom de component Seam (anotació @Name).

Seam introdueix el concepte de bijecció, pres de la injecció de dependencies de Spring on els objectes són injectats o ejectats des de/cap a les variables asignades utilitzant les anotacions @In i @Out.

El framework també expandeix el concepte de context. Cadascun dels components de Seam existeixen dins d'un context. El que s'utilitza per defecte és el de conversació, que pot abastar múltiples pàgines. Normalment s'utilitza al llarg d'un fluxe de negoci, des del principi al final. El context de sessió captura totes les accions de l'usuari fins que ell(o ella) surt o tanca el navegador - també utilitzant diverses vegades el botó de enrere del navegador.

Es pot generar automàticament aplicacions web del tipus CRUD (Create, Read Update Delete / Crear, llegir, actualitzar y esborrar) des d'una base de dades existent utilitzant comandes de consola. És a dir, amb la ferramenta, seam-gen subministrada per Seam.

Seam facilita el desenvolupament d'aplicacions WYSIWYG amb les Jboss Tools. Aquestes són un conjunt de plugins de codi obert per l'entorn de programació Eclipse.

També integra sense instalar cap tipus de dependencia externa les biblioteques de programació per a ajax: RichFaces i ICEfaces, étc.; sense haver de escriure cap codi en javascript.

A més a més inclou un creador de documents en PDF, enviament de correus electronics, creació de grafs i fulls de càlcul per a l'Excel.

Futures versions[modifica | modifica el codi]

Seam és una de les influències clau al darrere del CDI (Contexts and Dependency Injection)de Java (JSR-299 en la JCP). La tercera revisió, 3.0, promet recolzar-se sobre l'últim CDI, per exemple, Weld. Aquest és un superconjunt dels WebBeans i la implementació de referència del JSR-299.

Enllaços externs[modifica | modifica el codi]