Introduzione a JBoss Seam

1,775 views
1,712 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,775
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
49
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Introduzione a JBoss Seam

  1. 1. JugSicilia Meeting Ragusa, 21/06/2008 JBoss SEAM: lightweight Java EE 5 framework http://www.codebase.it Relatore: Dott. Andrea Cocca andrea.cocca@codebase.it
  2. 2. JugSicilia Meeting Ragusa, 21/06/2008 JBoss SEAM: lightweight Java EE 5 framework Dott. Andrea Cocca Codebase http://www.codebase.it email: andrea.cocca@codebase.it Andrea Cocca – Codebase http://www.codebase.it
  3. 3. JugSicilia Meeting Ragusa, 21/06/2008 Piattaforma J2EE 1.5 I descrittori di deploy nella J2EE 1.4 erano ● molto complessi ed era facile commettere errori La piattaforma Java EE 5 semplifica il deploy ● rimuovendo la necessita dei descrittori. Annotation – Andrea Cocca – Codebase http://www.codebase.it
  4. 4. JugSicilia Meeting Ragusa, 21/06/2008 Annotation @ Le Annotations sono dei modificatori, simili a ● “public” o “private” che il programmatore specifica nel codice. Servono ad aggiungere informazioni reperibili – successivamente e utilizzabili nei più svariati modi: dalla documentazione del codice alla generazione di codice o ancora, a tempo di esecuzione, per gestioni avanzate della business logic. Andrea Cocca – Codebase http://www.codebase.it
  5. 5. JugSicilia Meeting Ragusa, 21/06/2008 Esempio class Pippo { @Overrides public String toStringGG(int i) //Errore di compilazione { return quot;quot;; } } Andrea Cocca – Codebase http://www.codebase.it
  6. 6. JugSicilia Meeting Ragusa, 21/06/2008 JBoss Seam overview JBoss Seam è un application framework per ● la Java Enterprise Edition versione 5 (JEE 5). modello a componenti uniforme ● JSF – EJB 3.0 – Andrea Cocca – Codebase http://www.codebase.it
  7. 7. JugSicilia Meeting Ragusa, 21/06/2008 Java Server Faces JSF è un framework ● per il presentation tier Utilizza un modello a ● componenti e eventi RichFaces in Seam – Andrea Cocca – Codebase http://www.codebase.it
  8. 8. JugSicilia Meeting Ragusa, 21/06/2008 EJB 3.0 La tecnologia EJB 3.0 consente la ● programmazione di componenti server side dedicati alla business logic e alla persistenza dei dati. Java Persistence Architecture ● Hibernate in Seam – Annotation ● Andrea Cocca – Codebase http://www.codebase.it
  9. 9. JugSicilia Meeting Ragusa, 21/06/2008 The “glue code” Le due tecnologie sono eccellenti nei “relativi ● tier” e necessariamente complementari in una complessa applicazione di livello enterprise. Tuttavia, nella specifica JEE 5, non è presente uno standard per integrare i due mondi. Seam risolve questo limite unificando i ● modelli a componente di JSF e degli EJB 3.0 Eliminazione del “glue Code” – Andrea Cocca – Codebase http://www.codebase.it
  10. 10. JugSicilia Meeting Ragusa, 21/06/2008 Semplice esempio @Entity public void setId(Long id) @Name(quot;Personaquot;) {this.id = id;} public class AnagraficaPersona @OneToMany { public Collection<Email> getEmails() private Collection <Email> emails; {return emails;} private Long id; public void setEmails(Collection<Email> @Id @GeneratedValue emails) public Long getId() {this.emails = emails;} {return id;} } Andrea Cocca – Codebase http://www.codebase.it
  11. 11. JugSicilia Meeting Ragusa, 21/06/2008 Semplice esempio / 2 <ui:define name=quot;bodyquot;> <h1>PROVA</h1> <rich:panel style=quot;width: 500px;quot;> <h:OutputText value=quot;#{Persona.id}quot;/> </rich:panel> </ui:define> Andrea Cocca – Codebase http://www.codebase.it
  12. 12. JugSicilia Meeting Ragusa, 21/06/2008 Seam e l'integrazione Nozione di componente ● EJB – POJO – Nozione di contesto ● estende il “context model” – Conversation. – business process. – Andrea Cocca – Codebase http://www.codebase.it
  13. 13. JugSicilia Meeting Ragusa, 21/06/2008 Le conversation in Seam Una “conversation” in Seam è una unità di ● lavoro dal punto di vista dell’utente costruita sulle diverse interazioni che l’utente ha con il sistema allo scopo di risolvere un problema specifico come per esempio la prenotazione di un volo o la registrazione del profilo in una anagrafica. Richieste http – Transazioni sul dbms – Andrea Cocca – Codebase http://www.codebase.it
  14. 14. JugSicilia Meeting Ragusa, 21/06/2008 il business process in Seam Il contesto di business process è definito nei ● processi di business di tipo “long running” dove lo stato è gestito e reso persistente da un motore di BPM (business process management). Una business process interaction può coinvolgere più utenti e lo stato è condiviso tra questi in un modo ben definito. JPBM http://www.jboss.com/products/jbpm – Andrea Cocca – Codebase http://www.codebase.it
  15. 15. JugSicilia Meeting Ragusa, 21/06/2008 Bijection @In ● Dependency Injection applicabile a tutti i componenti Seam e non alle sole risorse gestite da Java EE 5 @Out ● pubblicazione di una variabile in un componente Seam su uno specifico contesto Andrea Cocca – Codebase http://www.codebase.it
  16. 16. JugSicilia Meeting Ragusa, 21/06/2008 SEAM vs SpringFramework JBoss Seam è realizzato “specificatamente” ● per la versione 5 della enterprise edition di Java dove Java Server Faces e gli EJB 3.0 costituiscono le tecnologie di riferimento IoC ● dependency injection ● Bijection. ● Andrea Cocca – Codebase http://www.codebase.it
  17. 17. JugSicilia Meeting Ragusa, 21/06/2008 SEAM e AJAX built-in JavaScript remoting layer ● I client AJAX possono invocare componenti – server side facilmente e senza la necessita di un action layer intermedio Rich FACES ● Andrea Cocca – Codebase http://www.codebase.it
  18. 18. JugSicilia Meeting Ragusa, 21/06/2008 Riferimenti JBoss Seam ● http://www.jboss.org/products/seam Spring vs. EJB3 ● http://www.onjava.com/pub/a/onjava/2005/06/29/spring-ejb3.html The Java EE 5 Tutorial ● http://java.sun.com/javaee/5/docs/tutorial/doc/index.html Andrea Cocca – Codebase http://www.codebase.it
  19. 19. JugSicilia Meeting Ragusa, 21/06/2008 Grazie per l'attenzione andrea.cocca@codebase.it Andrea Cocca – Codebase http://www.codebase.it

×