SeamFramework.orgCommunity Documentation

Seam - Componenti Contestuali

Un framework per Java Enterprise

2.2.1.CR1


Introduzione a JBoss Seam
1. Contribuire a Seam
1. Tutorial di Seam
1.1. Utilizzo degli esempi di Seam
1.1.1. Eseguire gli esempi in JBoss AS
1.1.2. Eseguire gli esempi in Tomcat
1.1.3. Eseguire i test degli esempi
1.2. La prima applicazione di Seam: esempio di registrazione
1.2.1. Capire il codice
1.2.2. Come funziona
1.3. Liste cliccabili in Seam: esempio di messaggi
1.3.1. Capire il codice
1.3.2. Come funziona
1.4. Seam e jBPM: esempio di lista todo
1.4.1. Capire il codice
1.4.2. Come funziona
1.5. Seam pageflow: esempio di indovina-numero
1.5.1. Capire il codice
1.5.2. Come funziona
1.6. Un'applicazione Seam completa: esempio di Prenotazione Hotel
1.6.1. Introduzione
1.6.2. Panoramica sull'esempio di prenotazione
1.6.3. Capire le conversazioni in Seam
1.6.4. La pagina di debug di Seam
1.7. Conversazioni Annidate: estendere l'esempio di Prenotazione Hotel
1.7.1. Introduzione
1.7.2. Capire le Conversazioni Annidate
1.8. Un'applicazione completa di Seam e jBPM: esempio di Negozio DVD
1.9. URL segnalibro con l'esempio Blog
1.9.1. Utilizzo di MVC "pull"-style
1.9.2. Pagina bookmarkable dei risultati di ricerca
1.9.3. Uso di MVC push in un'applicazione RESTful
2. Iniziare con Seam usando seam-gen
2.1. Prima di iniziare
2.2. Comfigurare un nuovo progetto
2.3. Creazione di una nuova azione
2.4. Creazione di una form con un'azione
2.5. Generazione di un'applicazione da database esistente
2.6. Generazione di un'applicazione da entity JPA/EJB3 già esistenti
2.7. Eseguire il deploy dell'applicazione come EAR
2.8. Seam e hot deploy incrementale
2.9. Uso di Seam con JBoss 4.0
2.9.1. Install JBoss 4.0
2.9.2. Installare JSF 1.2 RI
3. Iniziare con Seam usando JBoss Tools
3.1. Prima di iniziare
3.2. Configurare un nuovo progetto Seam
3.3. Creazione di una nuova azione
3.4. Creazione di una form con un'azione
3.5. Generare un'applicazione da un database esistente
3.6. Seam e hot deploy incrementale con JBoss Tools
4. Il modello a componenti contestuali
4.1. Contesti di Seam
4.1.1. Contesto Stateless
4.1.2. Contesto Evento
4.1.3. Contesto Pagina
4.1.4. Contesto Conversazione
4.1.5. Contesto Sessione
4.1.6. Contesto processo di Business
4.1.7. Contesto Applicazione
4.1.8. Variabili di contesto
4.1.9. Priorità di ricerca del contesto
4.1.10. Modello di concorrenza
4.2. Componenti di Seam
4.2.1. Bean di sessione stateless
4.2.2. Bean di sessione stateful
4.2.3. Entity bean
4.2.4. JavaBeans
4.2.5. Message-driven bean
4.2.6. Intercettazione
4.2.7. Nomi dei componenti
4.2.8. Definire lo scope di un componente
4.2.9. Componenti con ruoli multipli
4.2.10. Componenti predefiniti
4.3. Bijection
4.4. Metodi del ciclo di vita
4.5. Installazione condizionale
4.6. Logging
4.7. L'interfaccia Mutable e @ReadOnly
4.8. Componenti factory e manager
5. Configurare i componenti Seam
5.1. Configurare i componenti tramite impostazioni di proprietà
5.2. Configurazione dei componenti tramite components.xml
5.3. File di configurazione a grana fine
5.4. Tipi di proprietà configurabili
5.5. Uso dei namespace XML
6. Eventi, interceptor e gestione delle eccezioni
6.1. Eventi di Seam
6.2. Azioni di pagina
6.3. Parametri di pagina
6.3.1. Mappatura dei parametri di richiesta sul modello
6.4. Parametri di richiesta che si propagano
6.5. Riscrittura URL con parametri di pagina
6.6. Conversione e validazione
6.7. Navigazione
6.8. File granulari per la definizione della navigazione, azioni di pagina e parametri
6.9. Eventi guidati da componenti
6.10. Eventi contestuali
6.11. Interceptor Seam
6.12. Gestione delle eccezioni
6.12.1. Eccezioni e transazioni
6.12.2. Abilitare la gestione delle eccezioni di Seam
6.12.3. Uso delle annotazioni per la gestione delle eccezioni
6.12.4. Uso di XML per la gestione delle eccezioni
6.12.5. Alcune eccezioni comuni
7. Conversazioni e gestione del workspace
7.1. Il modello di conversazioni di Seam
7.2. Conversazioni innestate
7.3. Avvio di conversazioni con richieste GET
7.4. Richiedere una conversazione long-running
7.5. Usando <s:link> e <s:button>
7.6. Messaggi di successo
7.7. Id di una conversazione naturale
7.8. Creazione di una conversazione naturale
7.9. Redirezione alla conversazione naturale
7.10. Gestione del workspace
7.10.1. Gestione del workspace e navigazione JSF
7.10.2. Gestione del workspace e pageflow jPDL
7.10.3. Lo switcher delle conversazioni
7.10.4. La lista delle conversazioni
7.10.5. Breadcrumbs
7.11. Componenti conversazionali ed associazione ai componenti JSF
7.12. Chiamare concorrenti ai componenti conversazionali
7.12.1. Come si può progettare la nostra applicazione AJAX conversazionale?
7.12.2. Gestione degli errori
7.12.3. RichFaces (Ajax4jsf)
8. Pageflow e processi di business
8.1. Pageflow in Seam
8.1.1. I due modelli di navigazione
8.1.2. Seam ed il pulsante indietro
8.2. Utilizzo dei pageflow jPDL
8.2.1. Installazione dei pageflow
8.2.2. Avvio dei pageflow
8.2.3. Nodi e transizioni di pagina
8.2.4. Controllo del flusso
8.2.5. Fine del flusso
8.2.6. Composizione dei pageflow
8.3. La gestione del processo di business in Seam
8.4. Uso di jPDL nella definizione del processo di business
8.4.1. Installazione delle definizioni di processo
8.4.2. Inizializzazione degli actor id
8.4.3. Iniziare un processo di business
8.4.4. Assegnazione task
8.4.5. Liste di task
8.4.6. Esecuzione di un task
9. Seam e Object/Relational Mapping
9.1. Introduzione
9.2. Transazioni gestite da Seam
9.2.1. Disabilitare le transazioni gestite da Seam
9.2.2. Configurazione di un gestore di transazioni Seam
9.2.3. Sincronizzazione delle transazioni
9.3. Contesti di persistenza gestiti da Seam
9.3.1. Utilizzo di un contesto di persistenza gestito da Seam con JPA
9.3.2. Uso delle sessioni Hibernate gestite da Seam
9.3.3. Contesti di persistenza gestiti da Seam e conversazioni atomiche
9.4. Usare il JPA "delegate"
9.5. Uso di EL in EJB-QL/HQL
9.6. Uso dei filtri Hibernate
10. Validazione delle form JSF in Seam
11. Integrazione con Groovy
11.1. Introduzione a Groovy
11.2. Scrivere applicazioni Seam in Groovy
11.2.1. Scrivere componenti Groovy
11.2.2. seam-gen
11.3. Esecuzione
11.3.1. Eseguire il codice Groovy
11.3.2. Esecuzione di file .groovy durante lo sviluppo
11.3.3. seam-gen
12. Scrivere la parte di presentazione usando Apache Wicket
12.1. Aggiungere Seam ad un'applicazione Wicket
12.1.1. Bijection
12.1.2. Orchestrazione
12.2. Impostare il progetto
12.2.1. Instrumentazione a runtime
12.2.2. Instrumentazione a compile-time
12.2.3. L'annotazione @SeamWicketComponent
12.2.4. Definire l'applicazione
13. Seam Application Framework
13.1. Introduzione
13.2. Oggetti Home
13.3. Oggetti Query
13.4. Oggetti controllori
14. Seam e JBoss Rules
14.1. Installazione delle regole
14.2. Utilizzo delle regole da un componente SEAM
14.3. Utilizzo delle regole da una definizione di processo jBPM
15. Sicurezza
15.1. Panoramica
15.2. Disabilitare la sicurezza
15.3. Autenticazione
15.3.1. Configurare un componente Authenticator
15.3.2. Scrivere un metodo di autenticazione
15.3.3. Scrivere una form di accesso
15.3.4. Riepilogo della configurazione
15.3.5. Ricordami su questo computer
15.3.6. Gestire le eccezioni della sicurezza
15.3.7. Redirezione alla pagina di accesso
15.3.8. Autenticazione HTTP
15.3.9. Caratteristiche di autenticazione avanzate
15.4. Gestione delle identità
15.4.1. Configurare l'IdentityManager
15.4.2. JpaIdentityStore
15.4.3. LdapIdentityStore
15.4.4. Scrivere il proprio IdentityStore
15.4.5. L'autenticazione con la gestione delle identità
15.4.6. Usare IdentityManager
15.5. Messaggi di errore
15.6. Autorizzazione
15.6.1. Concetti principali
15.6.2. Rendere sicuri i componenti
15.6.3. La sicurezza nell'interfaccia utente
15.6.4. Rendere sicure le pagine
15.6.5. Rendere sicure le entità
15.6.6. Annotazioni tipizzate per i permessi
15.6.7. Annotazioni tipizzate per i ruoli
15.6.8. Il modello di autorizzazione dei permessi
15.6.9. RuleBasedPermissionResolver
15.6.10. PersistentPermissionResolver
15.7. Gestione dei permessi
15.7.1. PermissionManager
15.7.2. Verifica dei permessi sulle operazioni di PermissionManager
15.8. Sicurezza SSL
15.8.1. Modificare le porte di default
15.9. CAPTCHA
15.9.1. Configurare la servlet CAPTCHA
15.9.2. Aggiungere un CAPTCHA ad una form
15.9.3. Personalizzare l'algoritmo CAPTCHA
15.10. Eventi della sicurezza
15.11. Run As
15.12. Estendere il componente Identity
15.13. OpenID
15.13.1. Configurare OpenID
15.13.2. Persentare una form di login OpenID
15.13.3. Eseguire il login immediatamente
15.13.4. Rimandare il login
15.13.5. Log out
16. Internazionalizzazione, localizzazione e temi
16.1. Internazionalizzare un'applicazione
16.1.1. Configurazione dell'application server
16.1.2. Traduzione delle stringhe dell'applicazione
16.1.3. Altre impostazioni per la codifica
16.2. Traduzioni
16.3. Etichette
16.3.1. Definire le etichette
16.3.2. Mostrare le etichette
16.3.3. Messaggi Faces
16.4. Fusi orari
16.5. Temi
16.6. Registrare la scelta della lingua e del tema tramite cookies
17. Seam Text
17.1. Formattazione di base
17.2. Inserire codice e testo con caratteri speciali
17.3. Link
17.4. Inserire codice HTML
17.5. Utilizzo di SeamTextParser
18. Generazione di PDF con iText
18.1. Utilizzo del supporto PDF
18.1.1. Creazione di un documento
18.1.2. Elementi base per il testo
18.1.3. Intestazioni e pié di pagina
18.1.4. Capitoli e Sezioni
18.1.5. Liste
18.1.6. Tabelle
18.1.7. Costanti nei documenti
18.2. Grafici
18.3. Codici a barre
18.4. Form da riempire
18.5. Componenti per i rendering Swing/AWT
18.6. Configurazione di iText
18.7. Ulteriore documentazione
19. The Microsoft® Excel® spreadsheet application
19.1. Supporto The Microsoft® Excel® spreadsheet application
19.2. Creazione di un semplice workbook
19.3. Workbooks
19.4. Worksheets
19.5. Colonne
19.6. Celle
19.6.1. Validazione
19.6.2. Maschere per il formato
19.7. Formule
19.8. Immagini
19.9. Hyperlinks
19.10. Intestazioni e pié di pagina
19.11. Stampa di aree e titoli
19.12. Comandi per i fogli di lavoro (worksheet)
19.12.1. Raggruppamento
19.12.2. Interruzioni di pagina
19.12.3. Fusione (merge)
19.13. Esportatore di datatable
19.14. Font e layout
19.14.1. Link ai fogli di stile
19.14.2. Font
19.14.3. Bordi
19.14.4. Background
19.14.5. Impostazioni colonna
19.14.6. Impostazioni cella
19.14.7. L'exporter delle datatable
19.14.8. Esempi di layout
19.14.9. Limitazioni
19.15. Internazionalizzazione
19.16. Link ed ulteriore documentazione
20. Supporto RSS
20.1. Installazione
20.2. Generare dei feed
20.3. I feed
20.4. Elementi
20.5. Link e ulteriore documentazione
21. Email
21.1. Creare un messaggio
21.1.1. Allegati
21.1.2. HTML/Text alternative part
21.1.3. Destinatari multipli
21.1.4. Messaggi multipli
21.1.5. Comporre template
21.1.6. Internazionalizzazione
21.1.7. Altre intestazioni
21.2. Ricevere email
21.3. Configurazione
21.3.1. mailSession
21.4. Meldware
21.5. Tag
22. Asincronicità e messaggistica
22.1. Messaggistica in Seam
22.1.1. Configurazione
22.1.2. Spedire messaggi
22.1.3. Ricezione dei messaggi usando un bean message-driven
22.1.4. Ricezione dei messaggi nel client
22.2. Asincronicità
22.2.1. Metodi asincroni
22.2.2. Metodi asincroni con il Quartz Dispatcher
22.2.3. Eventi asincroni
22.2.4. Gestione delle eccezione da chiamate asincrone
23. Gestione della cache
23.1. Usare la cache in Seam
23.2. Cache dei frammenti di pagina
24. Web Service
24.1. Configurazione ed impacchettamento
24.2. Web Service conversazionali
24.2.1. Una strategia raccomandata
24.3. Esempio di web service
24.4. Webservice RESTful HTTP con RESTEasy
24.4.1. Configurazione RESTEasy e gestione delle richieste
24.4.2. Risorse come componenti Seam
24.4.3. Sicurezza della risorse
24.4.4. Mappare eccezioni e risposte HTTP
24.4.5. Exposing entities via RESTful API
24.4.6. Test delle risorse e dei provider
25. Remoting
25.1. Configurazione
25.2. L'oggetto "Seam"
25.2.1. Esempio Hello World
25.2.2. Seam.Component
25.2.3. Seam.Remoting
25.3. Interfacce client
25.4. Il contesto
25.4.1. Impostazione e lettura dell'ID di conversazione
25.4.2. Chiamate remote all'interno della conversazone corrente
25.5. Richieste batch
25.6. Lavorare con i tipi di dati
25.6.1. Tipi primitivi/base
25.6.2. JavaBeans
25.6.3. Date e orari
25.6.4. Enums
25.6.5. Collections
25.7. Debugging
25.8. Gestione delle eccezioni
25.9. Il messaggio di caricamento
25.9.1. Cambiare il messaggio
25.9.2. Nascondere il messaggio di caricamento
25.9.3. Un indicatore di caricamento personalizzato
25.10. Controllare i dati restituiti
25.10.1. Vincolare campi normali
25.10.2. Vincolare mappe e collezioni
25.10.3. Vincolare oggetti di tipo specifico
25.10.4. Combinare i vincoli
25.11. Richieste transazionali
25.12. Messaggistica JMS
25.12.1. Configurazione
25.12.2. Sottoscrivere ad un topic JMS
25.12.3. Disiscriversi da un topic
25.12.4. Fare il tuning del processo di polling
26. Seam e il Google Web Toolkit
26.1. Configurazione
26.2. Preparare i componenti
26.3. Collegare un componente GWT ad un componente Seam
26.4. Target Ant per GWT
27. Integrazione con il framework Spring
27.1. Iniezione dei componenti Seam nei bean Spring
27.2. Iniettare i bean Spring nei componenti Seam
27.3. Inserire un bean Spring in un componente Seam
27.4. Bean Spring con scope di Seam
27.5. Uso di Spring PlatformTransactionManagement
27.6. Uso del contesto di persistenza gestito da Seam in Spring
27.7. Uso di una sessione Hibernate gestita da Seam in Spring
27.8. Contesto Applicazione di Spring come componente Seam
27.9. Uso di TaskExecutor di Spring per @Asynchronous
28. Integrazione con Guice
28.1. Creazione di un componente ibrido Seam-Guice
28.2. Configurare un injector
28.3. Uso di injector multipli
29. Hibernate Search
29.1. Introduzione
29.2. Configurazione
29.3. Utilizzo
30. Configurare Seam ed impacchettare le applicazioni Seam
30.1. Configurazione base di Seam
30.1.1. Integrazione di Seam con JSF ed il servlet container
30.1.2. Usare Facelets
30.1.3. Resource Servlet di Seam
30.1.4. Filtri servlet di Seam
30.1.5. Integrazione di Seam con l'EJB container
30.1.6. Non dimenticare!
30.2. Uso di provider JPA alternativi
30.3. Configurazione di Seam in java EE 5
30.3.1. Packaging
30.4. Configurare Seam in J2EE
30.4.1. Boostrapping di Hibernate in Seam
30.4.2. Boostrapping di JPA in Seam
30.4.3. Packaging
30.5. Configurazione di Seam in java EE 5 senza JBoss Embedded
30.6. Configurazione di Seam in java EE 5 con JBoss Embedded
30.6.1. Installare JBoss Embedded
30.6.2. Packaging
30.7. Configurazione jBPM in Seam
30.7.1. Packaging
30.8. Configurazione di SFSB e dei timeout di sessione in JBoss AS
30.9. Esecuzione di Seam in un Portlet
30.10. Deploy di risorse personalizzate
31. Annotazioni di Seam
31.1. Annotazioni per la definizione di un componente
31.2. Annotazioni per la bijection
31.3. Annotazioni per i metodi del ciclo di vita dei componenti
31.4. Annotazioni per la demarcazione del contesto
31.5. Annotazioni per l'uso con i componenti JavaBean di Seam in ambiente J2EE
31.6. Annotazioni per le eccezioni
31.7. Annotazioni per Seam Remoting
31.8. Annotazioni per gli interceptor di Seam
31.9. Annotazioni per l'asincronicità
31.10. Annotazioni per l'uso di JSF
31.10.1. Annotazioni per l'uso con dataTable
31.11. Meta-annotationi per il databinding
31.12. Annotazioni per i pacchetti
31.13. Annotazioni per l'integrazione con un servlet container
32. Componenti Seam predefiniti
32.1. Componenti per l'iniezione del contesto
32.2. Componenti JSF
32.3. Componenti d'utilità
32.4. Componenti per l'internazionalizzazione ed i temi
32.5. Componenti per il controllo delle conversazioni.
32.6. Componenti per jBPM
32.7. Componenti per la sicurezza
32.8. Componenti per JMS
32.9. Componenti relativi alla Mail
32.10. Componenti infrastrutturali
32.11. Componenti misti
32.12. Componenti speciali
33. Controlli JSF di Seam
33.1. Tag
33.1.1. Controlli di navigazione
33.1.2. Convertitori e Validatori
33.1.3. Formattazione
33.1.4. Seam Text
33.1.5. Supporto per le form
33.1.6. Altro
33.2. Annotazioni
34. JBoss EL
34.1. Espressioni parametrizzate
34.1.1. Utilizzo
34.1.2. Limitazioni e suggerimenti
34.2. Proiezione
35. Clustering e passivazione EJB
35.1. Clustering
35.1.1. Programmare il clustering
35.1.2. Deploy di un'applicazione Seam in un cluster JBoss AS con replica di sessione
35.1.3. Validazione dei servizi distribuiti di un'applicazione su un cluster JBoss AS
35.2. Passivazione EJB e ManagedEntityInterceptor
35.2.1. Attrito fra passivazione e persistenza
35.2.2. Caso #1: Sopravvivere alla passivazione EJB
35.2.3. Caso #2: Sopravvivere alla replica della sessione HTTP
35.2.4. ManagedEntityInterceptor wrap-up
36. Tuning delle performance
36.1. Bypassare gli interceptor
37. Test delle applicazioni Seam
37.1. Test d'unità dei componenti Seam
37.2. Test d'integrazione dei componenti Seam
37.2.1. Uso dei mock nei test d'intergrazione
37.3. Test d'integrazione delle interazioni utente in applicazioni Seam
37.3.1. Configurazione
37.3.2. Uso di SeamTest con un altro framework di test
37.3.3. Test d'integrazione con Dati Mock
37.3.4. Test d'integrazione di Seam Mail
38. Strumenti di Seam
38.1. Visualizzatore e designer jBPM
38.1.1. Designer del processo di business
38.1.2. Visualizzatore Pageflow
39. Seam su Weblogic di BEA
39.1. Installazione e operatività di Weblogic
39.1.1. Installare la versione 10.3
39.1.2. Creazione del dominio Weblogic
39.1.3. Come avviare/arrestare/accedere il dominio
39.1.4. Impostazione del supporto JSF in Weblogic
39.2. L'esempio jee5/booking
39.2.1. I problemi di Weblogic con EJB3
39.2.2. Far funzionare l'esempio jee5/booking
39.3. L'esempio booking con jpa
39.3.1. Build e deploy dell'esempio booking con jpa
39.3.2. Differenze con Weblogic 10.x
39.4. Deploy di un'applicazione creata con seam-gen su Weblogic 10.x
39.4.1. Eseguire il setup di seam-gen
39.4.2. Cosa cambiare per Weblogic 10.X
39.4.3. Build e deploy dell'applicazione
40. Seam su Websphere AS di IBM v7
40.1. Informazioni sull'ambiente e raccomandazioni sulle versioni di Websphere AS
40.2. Configuring the WebSphere Web Container
40.3. Seam and the WebSphere JNDI name space
40.3.1. Strategy 1: Specify which JNDI name Seam must use for each Session Bean
40.3.2. Strategy 2: Override the default names generated by WebSphere
40.3.3. Strategy 3: Use EJB references
40.4. Configuring timeouts for Stateful Session Beans
40.5. L'esempio jee5/booking
40.5.1. Build dell'esempio jee5/booking
40.5.2. Deploying the jee5/booking example
40.5.3. Deviation from the original base files
40.6. Esempio Prenotazione jpa
40.6.1. Build dell'esempio jpa
40.6.2. Deploy dell'esempio jpa
40.6.3. Deviation from the generic base files
41. Seam sull'application server GlassFish
41.1. L'ambiente e l'esecuzione di applicazioni su GlassFish
41.1.1. Installazione
41.2. L'esempio jee5/booking
41.2.1. Compilare l'esempio jee5/booking
41.2.2. Mettere in esecuzione l'applicazione su GlassFish
41.3. L'esempio booking jpa
41.3.1. Compilazione dell'esempio jpa
41.3.2. Deploy dell'esempio jpa
41.3.3. Quali sono le differenze in GlassFish v2 UR2
41.4. Mettere in esecuzione un'applicazione generata con seam-gen su GlassFish v2 UR2
41.4.1. Eseguire il setup di seam-gen
41.4.2. Modifiche necessarie per l'esecuzione su GlassFish
42. Dipendenze
42.1. Dipendenze JDK
42.1.1. Considerazioni su JDK 6 di Sun
42.2. Dipendenze del progetto
42.2.1. Core
42.2.2. RichFaces
42.2.3. Seam Mail
42.2.4. Seam PDF
42.2.5. Seam Microsoft® Excel®
42.2.6. Supporto Seam RSS
42.2.7. JBoss Rules
42.2.8. JBPM
42.2.9. GWT
42.2.10. Spring
42.2.11. Groovy
42.3. Gestione delle dipendenze usando Maven