Visualizzazione post con etichetta jboss. Mostra tutti i post
Visualizzazione post con etichetta jboss. Mostra tutti i post

sabato 31 marzo 2007

Le proposte del papà di Hibernate per Java EE 6

Gavin King, per chi non lo conoscesse, è il papà di Hibernate, l'arcinoto framework di persistenza. Gavin, iniziò a scrivere hibernate per averla vinta con il suo capoufficio (come scrisse tempo fa in un post che non riesco a recuperare). Dopodichè Hibernate crebbe fino a diventare il più popolare e performante ORM java. Venne quindi acquisito da JBoss, di cui Gavin è ora dipendente. Allo stesso tempo l'autore entrò a far parte del gruppo che scrisse la JSR per Java EE 5... i famosi EJB3. Di fatto questi non furono altro che un set di annotation e specifiche cucite attorno ad hibernate.

Oggi Gavin ha pubblicato la sua (parziale) wish list di specifiche per la prossima versione di Java EE. La 6. Alcune, di fatto sono già implementate in JBoss Seam, per cui se la storia insegna, le vedremo nuovamente cucite in EJB4.

Ci aspettiamo a breve nuovi post sulla questione. Per adesso vi riassumo le proposte per i nuovi Session Bean, tutte specificabili via annotation:

Concorrenza

tre tipi di concorrenza forniti dal container

  • session bean senza concorrenza (come adesso)
  • session bean con concorrenza gestita dal container: la serializzazione delle chiamate è garantità dall'application server (esempio: Session Bean singleton)
  • session bean con concorrenza gestita dal container: i synchronized sono a vostro carico
Metodi asincroni

Possibilità di marcare un metodo asincrono (con @Asynchronous), cioè in modo che la sua chiamata non sia bloccante per il chiamante e sia cura dell'application server aprire su un altro thread l'esecuzione del metodo. Direte: si può già fare con il sistema di messagging. Sì, ma quella suggerita da Gavin è un'infrastruttura più leggera di JMS.

Endpoit per webservice WS-blablabla

Possibilità di marcare uno stafeful bean come endpoint di un web-service con stato specificato da molte delle WS-qualcosa. Ad esempio WS-Transaction.
Qui il nostro caro, ha ancora le idee un po' confuse.

Interfaccia business opzionale

La rindondanza della @Local è roba nota, e non ve la ripeto. Gavin "pretende" di togliere il problema. Inoltre fa pubbliche scuse sull'implementazione attuale in EJB3... effettivamente è uno dei pochi che può farlo ;)

Loggers e JMS queues iniettabili

Possibilità di iniettare il classico logger o una coda di messaggi in modo semplice. In Seam già si fa.

Meta-annotation

Questa è bellissima. In un mondo dove ci saranno più annotation che codice, Gavin propone di introdurre una sorta annotation contenitore che esprima tutte le altre in un sol colpo. Direi che questa ci vorrà per forza.


Per ora questo è tutto. Vi terrò aggiornati sul proseguimento delle proposte.

mercoledì 28 marzo 2007

Rilasciato JBoss Seam 1.2.1

Rilasciata la nuova versione di JBoss Seam: la 1.2.1

JBoss Seam è un framework opensource per la realizzazione di applicazioni web, che sposa in toto la filosofia EJB3.
Le singole pagine, le conversazioni, gli utenti, ecc ecc sono rappresentati come classi Java standard (i famosi POJO) decorate da alcune annotation. Quindi: no implementazioni di interfacce, pattern complessi o altre amenità. L'application server (in questo caso JBoss) si cura di realizzare a runtime, in modo efficiente, quanto si "dichiara" nelle annotation.

In quest'ultima versione è stata aggiunta la classica feature edit-save-and-refresh dei linguaggi web interpretati come PHP o ASP. Nel caso di JBoss Seam si traduce nella possibilità di modificare il codice java, ad esempio via Eclipse, e quindi ottenere la nuova applicazione con un semplice refresh del browser.

Seam farà molta strada.