Newsgroup: it.comp.java
Titolo: Scelta migliore - applicazione remota

Allora... supponiamo che abbia sviluppato una applicazione web
utilizzando struts, spring e hibernate ma soprattutto una ottima
separazione nei tre strati (MVC / business logic / DAO - vedi
http://raibledesigns.com/wiki/Wiki.jsp?page=AppFuse
). Il tutto su
Tomcat e/o Jboss.
Tutto questo lavoro lavoro di progettazione dovrebbe portare il
vantaggio di poter cambiare uno degli strati in modo trasparente. E
adesso sono a mettere alla prova il progetto :-)
In pratica, voglio cambiare la parte di presentazione dalle JSP/Struts
ad un client Swing.
L'altra cosa che vorrei fare è mantenere business logic e DAO sul
server. E questa è la parte che mi interessa discutere.
L'applicazione client dovrebbe accedere solo a degli oggetti manager
che si preoccupano già loro di gestire gli accessi al database e
quant'altro. Vorrei che questi oggetti continassero a stare sul server,
eventualmente lavorando sull'interfaccia per le chiamate remote.
Naturalmente ho già applicato per questa applicazione Web un sistema
di sicurezza e sarebbe ottimale passare da quello.
Quali tecniche mi suggerite in questo contesto? EJB? RMI? Web Services?
So che la domanda è capziosa, ma in questo momento mi trovo in fase
brainstorming :-)



Tenendo conto che tutte le tue scelte sono basate sulla flessibilità (il
poter cambiare in modo trasparente le implementazioni nei vari strati) io
opterei per i webservice, in questo modo esponi i servizi della business
logic a client che possono stare su piattaforme diverse, se domani ti
svegli e ti gira di metterci sopra un client in c# piuttosto che in
delphi o altre piattaforme/linguaggi, ti trovi la portabilità dell'
infrastuttura di comunicazione già implementata. Prova a dare un occhiata
al esempio distribuito con spring, petstore, offre i servizi di e-commerce
del esempio via webservice.
A titolo di curiosità, sto facendo una cosa come la tua, l
implementazione di un progetto strutturandolo secondo l'architettura di appfuse, per la sicurezza hai continuato ad utilizzare ACEGI?
Sto facendo un sistema un po complesso distribuito composto da 3
applicazioni web comunicanti tramite webservice, le appl. in verticale le
ho progettate secondo appfuse, pero' per l autenticazione ho messo in
piedi un gw di single sign on basato su josso, quindi acegi non mi serve
piu', ho spostato il matching delle url nel web.xml riadattandole un po ed
eliminato l aop sui metodi di business (che posso tranquillamente
evitare), in piu' ho aggiunto un appl. di frontend che mi
"decori" il tutto.
Volevo sapere come ti trovavi con ACEGI, io lo trovo molto potente anche
se oviamente complesso.
-- 
Ciao
   Renato
-----
A lungo andare, solo il capace ha fortuna.
		-- Menandro

 del esempio via webservice.
non so se può essere utile ma sto guardando xfire per creare webservices 
con spring e non sembra male 
http://xfire.codehaus.org/Spring+Remoting

 Credo anch'io a questo punto che i webservice siano la soluzione più giusta.
mah... devi avere il requisito di client C#, però. "Se un domani" è
indice, di solito, di overdesign. Se non arriva questo "se un domani",
come tipicamente succede, chi paga per tutta la complessità aggiunta?
Fra l'altro i web services sono tipicamente molto poco performanti e
limiterebbero fortemente la scalabilità, e di solito si usano per una
granularità meno fine
cui prodest? Usa qualcosa di più semplice
uL
P.S. a me le soluzioni complicate non piacciono, a meno che non siano la
soluzione più semplice possibile per quel dato problema. Nel qual caso c'è
probabilmente qualcosa che non va nel problema :)
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 se oviamente complesso.
Mi trovo bene, e sebbene non lo sfrutti nella sua granularità cerco di 
usarlo lo stesso perchè da grosse potenzialità con spring.
Poi ringrazio anche appfuse che è un discreto kickstart per una 
applicazione complessa, perchè altrimenti sarebbe complesso da 
configurare da zero.

 con spring e non sembra male 
http://xfire.codehaus.org/Spring+Remoting
Ho dato una scorsa e sembra interessante.
Grazie della segnalazione, ne tengo di conto.

 probabilmente qualcosa che non va nel problema :)
Sottoscrivo in pieno questa affermazione :)
La regola numero zero (ancor prima della regola numero uno) è che la
soluzione non deve essere più complessa del problema. Sembra una
banalità, ma è esattamente quello che succede quando si vuole a tutti i
costi applicare una specifica soluzione, cosa che nel software purtroppo
succede.