Seam és un entorn de treball per a aplicacions web desenvolupat per JBoss, una divisió de Red Hat.

JBoss Seam
Modifica el valor a Wikidata

Tipusentorn de treball per a aplicacions web i programari lliure Modifica el valor a Wikidata
Última versió
2.3.1 (25 juliol 2013) Modifica el valor a Wikidata
Estat actualdiscontinuat
LlicènciaGNU LGPL Modifica el valor a Wikidata
Característiques tècniques
PlataformaMàquina Virtual Java Modifica el valor a Wikidata
Mida164 MB Modifica el valor a Wikidata
Escrit enJava Modifica el valor a Wikidata
Equip
Desenvolupador(s)JBoss Inc Modifica el valor a Wikidata
Més informació
Lloc webseamframework.org Modifica el valor a Wikidata
Stack ExchangeEtiqueta Modifica el valor a Wikidata

Desenvolupament modifica

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

Funcionalitats modifica

Seam combina els dos entorns de treball 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 accessible des de JSF o a través d'un altre component de lògica de negoci d'una manera unificada. Per tant, es pot accedir a qualsevol component EJB del back-end des del front-end adreçant-lo pel seu nom de component Seam (anotació @Name).

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

L'entorn de treball 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 flux 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ó d'enrere del navegador.

Es pot generar automàticament aplicacions web del tipus CRUD (Create, Read Update Delete / Crear, llegir, actualitzar i 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 a Eclipse (entorn integrat de desenvolupament).

També integra sense instal·lar cap mena de dependència externa les biblioteques de programació per a ajax: RichFaces i ICEfaces, etc.; sense haver d'escriure cap codi en javascript.

A més a més inclou un creador de documents en PDF, enviament de correus electrònics, creació de gràfics i fulls de càlcul per a Excel.

Futures versions modifica

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