83 messaggi dal 11 agosto 2008
Buongiorno a tutti.
Devo iniziare a sviluppare un nuovo applictivo in WPF che deve gestire in lettura e scrittura un database residente su un server. È possibile e corretto utilizzare i WCF RIA services in un progetto WPF o devo costruire dei servizi WCF dedicati per ogni operazione di accesso al database. VI prego non ditemi che l'ultima è l'unica soluzione possibile.

Ho visto in un video l'utilizzo dei WCF Data Services. Hanno qualcosa a che vedere con il problema che devo affrontare?

Ho utilizzato i WCF Ria services in un progetto Silverlight e mi sono trovato benissimo. Spero sia possibile utilizzarli anche in un progetto WPF.

Ma dubito dubito dubito.

Qualche dritta?

Grazie a tutti e buon fine settimana.
Andrea

Andrea
Purtroppo è la seconda. I WCF ria services li han pensati per Silverlight e facilitano molto, come ben sai. In verità non sono altro che veri e propri servizi wcf che ti vengono automaticamente generati e vi è una parte di condivisione delle logiche. Sicuramente è comodo anche il framework client che tiene traccia delle modifiche che nulla ti vieta di creare anche per wpf.
Puoi in alternativa usare un approccio misto, dove lato server hai usato i wcf ria services e fare un add service reference lato client da wpf.
I WCF Data services sono un modo piuttosto grezzo per fare operazioni CRUD sul database passando per servizi. E' piuttosto semplice da uasre e veloce ma se hai usato le RIA ti sembrerà di tornare indietro.
Io te li sconsiglio perché appena fai qualcosa di complicato cominciano a dare problemi e perché non sono fatti per includere della logica.

Ciao

Il mio blog
Homepage
83 messaggi dal 11 agosto 2008
Grazie Ricciolo.
Trovo strano, o forse non ho capito a fondo, che non posso utilizzare Entity Framework in un progetto WPF quando il database si trova su un server.
Se non ho capito male, dovrei creare dei servizi sul server utilizzando Entity Framework e i Ria Services, e connettermi a quei servizi dal client WPF. Giusto?

Grazie mille ancora e buona giornata.
Andrea

PS: Ma non è che per caso tu saresti disponibile per una consulenza di una mezza giornata - chiaramente a pagamento - per darmi qualche dritta in questo progetto che mi occuperà per i prossimi due anni? Sai non vorrei sbagliare l'approccio iniziale e poi pagarne le conseguenze.

Andrea
il database può essere ovunque, basta aggiustare la connection string

Non hai veramente capito qualcosa fino a quando non sei in grado di spiegarlo a tua nonna.
-Albert Einstein-
Beh come ti ha detto fileman puoi tranquillamente usare EF anche lato client da wpf. Ovviamente il database dev'essere raggiungibile nella rete e questo approccio è praticamente valido solo in una intranet.
L'architettura client/server è però in disuso in favore dei servizi. Per prima cosa la topologia delle reti è sempre più distribuita e messa su internet e con i servizi puoi tranquillamente supportarlo. Con i servizi disaccoppi il client dal server, puoi (con i dovuti accorgimenti) migliorare o aggiungere funzionalità al servizio e essere compatibili con client nuovi o vecchi.
Con i servizi permetti anche ad altre tecnologie di usufruire dei tuoi dati, che possono essere terze parti, ma anche app SL o ASP.NET da te fatte, centralizzando le logiche in un punto comune.
Con i servizi puoi fare routing, in base alle versioni dei client o fornire servizi a seconda di pagamento/gratuti, bilanciare i carichi su più server, porre nel mezzo dei servizi che effettuano caching o che scalino con delle code.
Con i servizi puoi gestire transazioni distribuite, usare autenticazioni più solide (x509, claim) e criptare i messaggi.
Insommma, sono molti i vantaggi

Per la consulenza sono disponibile. Scrivimi a cristian@cristiancivera.com

Ciao

Il mio blog
Homepage
83 messaggi dal 11 agosto 2008
Grazie ancora.
Ti ho inviato la mail.
Spero di sentirti presto.
Andrea

Andrea

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.