Parancoe e Spring Web Flow

5 views
Skip to first unread message

Pietro Marrone

unread,
Mar 12, 2009, 5:20:58 AM3/12/09
to Parancoe-users
Ciao a Tutti, sto cercando di integrare Parancoe con Spring Web Flow
partendo dall'esempio Hotel Booking.
http://spring.ervacon.com/swf-booking-mvc/spring/intro

Qualcuno ci è già riuscito?, esiste qualche how-to?
Oppure sapete se vi sono impedimenti che rendano impossibile la
integrazione?

Fino ad ora mi sembra che i punti caldi (difficili, almeno per me)
siano: Security config e Persistence Context

1)
Nella definizione del Flow viene dichiarato un ruolo per eseguire il
flusso con: <secured attributes="ROLE_USER" />
ora se definisco la security-config, così come nell'esempio Booking si
verifica un duplicato nella dichiarazione dei bean, quindi immagino
che parancoe-security-plugin estenda spring-security, (chiedo
conferma)
quindi come risolvo?
visto che il flow dichiara e richiede:

<!-- Installs a listener to apply Spring Security authorities -->
<bean id="securityFlowExecutionListener"
class="org.springframework.webflow.security.SecurityFlowExecutionListener" /
>

2)
Sempre nella dichiarazione del Flow dichiaro la necessità di avere un
persisten context: <persistence-context/>
dichiarato nel webflow-config.xml con:
<!-- Installs a listener that manages JPA persistence contexts for
flows that require them -->
<bean id="jpaFlowExecutionListener"
class="org.springframework.webflow.persistence.JpaFlowExecutionListener">
<constructor-arg ref="entityManagerFactory" />
<constructor-arg ref="transactionManager" />
</bean>

Come potete vedere questo listener richiede un entityManager ed un
transactionManager che mi pare non avere a disposizione utilizzando
parancoe-dao e template, o mi sbaglio?

Insomma, qualsiasi aiuto è ben accetto,

Grazie

Enrico Giurin

unread,
Mar 12, 2009, 6:11:55 AM3/12/09
to paranco...@googlegroups.com
On Thu, Mar 12, 2009 at 9:20 AM, Pietro Marrone <pietro...@gmail.com> wrote:
>
> Ciao a Tutti, sto cercando di integrare Parancoe con Spring Web Flow
[cut]
Ciao Pietro,
grazie per il tuo interesse in Parancoe.

>
> Fino ad ora mi sembra che i punti caldi (difficili, almeno per me)
> siano: Security config e Persistence Context
>
> 1)
> Nella definizione del Flow viene dichiarato un ruolo per eseguire il
> flusso con: <secured attributes="ROLE_USER" />
> ora se definisco la security-config, così come nell'esempio Booking si
> verifica un duplicato nella dichiarazione dei bean, quindi immagino
> che parancoe-security-plugin estenda spring-security, (chiedo
> conferma)
> quindi come risolvo?
> visto che il flow dichiara e richiede:
>

[cut]
Parancoe <<usa>> la security come plugin, ovvero, non e' un componente
del core di parancoe.
Il plugin security e' concepito per essere utilizzato in applicazioni
web costruite con il maven archetype di parancoe, qui trovi un
tutorial sull' argomento:
http://www.parancoe.org/articles/2007/10/01/parancoe-security/
Il plugin security nella versione attuale e' implementato usando
spring security che altro non e' che l'evoluzione di acegi.
Purtroppo non conosco bene spring web-flow quindi non ho idea di come
integrarlo, usato nel suo contesto naturale, ovvero con un'
applicazione web parancoe, il pluginsecurity fornisce una
configurazione di sicurezza di default definendo due tabelle nel db
una per i ruoli e una per gli utenti, legate tra esse con una
relazione N:M. Quindi puoi giocare tranquillamente con utenti e ruoli.
La relazione tra ruoli e risorse protette e' invece definita nel file
di configurazione applicativo parancoe-servlet.xml.
Puoi dare un' occhiata all' esempio in
parancoe\examples\basicWebAppEvolution nel codice sorgente di parancoe
(trunk).
Ripeto, salvo essere smentito, il plugin security e' definito per
essere usato con un' applicazione web parancoe based, quindi, dovresti
cercare di integrare spring web flow con l'applicazione costruita con
il maven archetype, non credo sia particolarmente difficile, se ci
riesci poi ti invito ad aggiornare la documentazione sul sito di
parance, www.parancoe.org

Ciao,
Enrico.

Lucio Benfante

unread,
Mar 12, 2009, 7:07:27 AM3/12/09
to paranco...@googlegroups.com
Pietro Marrone ha scritto:
2)
Sempre nella dichiarazione del Flow dichiaro la necessità di avere un
persisten context: <persistence-context/>
dichiarato nel webflow-config.xml con:
	<!-- Installs a listener that manages JPA persistence contexts for
flows that require them -->
	<bean id="jpaFlowExecutionListener"
class="org.springframework.webflow.persistence.JpaFlowExecutionListener">
		<constructor-arg ref="entityManagerFactory" />
		<constructor-arg ref="transactionManager" />
	</bean>

Come potete vedere questo listener richiede un entityManager ed un
transactionManager che mi pare non avere a disposizione utilizzando
parancoe-dao e template, o mi sbaglio?

Insomma, qualsiasi aiuto è ben accetto,
  

Ciao Pietro,
no, non viene usato un entityManager: attualmente Parancoe usa Hibernate come un'implementazione di JPA, ma sfruttandone alcune caratteristiche specifiche.

Quindi devi non devi usare JpaFlowExecutionListener, ma HibernateFlowExecutionListener, passandogli sessionFactory e transactionManager.

Se incontri altre difficoltà, chiedi pure.

Dato che di solito noi usiamo SpringMVC,  non abbiamo particolare supporto per WebFlow fra le classi di Parancoe. Se pensi che qualcosa potrebbe essere utile, proponi pure. Se poi, una volta consolidata la tua applicazione, volessi anche produrre un archetype WebFlow per Paracoe, sarebbe fantastico (ovviamente, anche in questo, chiedi pure aiuto).

Ciao
  Lucio
-- 
Lucio Benfante
JUG Padova           http://www.parancoe.org ...have a look at it!
www.jugpadova.it     http://www.jugevents.org

Pietro Marrone

unread,
Mar 12, 2009, 7:33:41 AM3/12/09
to Parancoe-users
Sarebbe bello integrare un archetype anche per swf,
vedrò quello che riesco a concludere, anche se approccio per la prima
volta: spring, swf, maven e parancoe.
Il tutto per un progetto che DEVE essere pronto fra un mese.
>  smime.p7s
> 4KVisualizzaScarica

Lucio Benfante

unread,
Mar 12, 2009, 8:18:10 AM3/12/09
to paranco...@googlegroups.com
Pietro Marrone ha scritto:

> Sarebbe bello integrare un archetype anche per swf,
> vedrò quello che riesco a concludere, anche se approccio per la prima
> volta: spring, swf, maven e parancoe.
> Il tutto per un progetto che DEVE essere pronto fra un mese.
>

ma sì...una buona dose di sana follia! :)

--
Lucio Benfante

Reply all
Reply to author
Forward
0 new messages