Creare applicazioni Client/Server dal WEB

venerdì 18 gennaio 2008 - 16.02

fonxie Profilo | Newbie

E' quasi un anno ormai che realizzo delle piccole applicazioni web con .NET.

Ultimamente mi è stato chiesto però di realizzare un progettino (con .NET) che abbia tutte le funzionalità di una classica applicazione Windows Client/Server ma che possa girare su internet.

Il mio problema in effetti è quello di ovviare al problema delle richieste delle pagine web asp.net al server, facendo lavorare il più possibile il lato client (cosa che avviene nelle applicazioni windows)

Il pratica vorrei fare ini modo che l'applicazione giri in locale su client e che le maschere siano delle windows form accedibili dal browser.

Non so se il framework di dotnet offre tale possibilità ma ho visto fare qualcosa di simile con java script e oracle.

Aspetto vostre proposte.

Cordiali Saluti.
Marco.

Wamba Profilo | Expert

Benvenuto nel mondo ajax.net
http://www.asp.net/AJAX/
-----------------------------------------------------------
Solo chi ha il Caos dentro può generare una stella danzante
Wamba
blogs.ugidotnet.org/WamBlog/

fonxie Profilo | Newbie

Grazie del consiglio...
sto guardando i video che mostrano gli esempi. E' tutto codice ASP.NET, molto interessante e alquanto semplice.

freeteo Profilo | Guru

ciao,
concordo con quanto detto da Wamba, se vuoi tenere il codice asp.net ed avere una maggiore usabilita' dell'applicazione web ajax è lo strumento giusto.

Valuta pero' il tipo di client che avrai in termini di sistema operativo,perche' se sai gia a priori che i tuoi client saranno cmq windows, io ti consiglio anche di spendere un po' di tempo nella valutazione di applicazione "Smar Client", ovvero che windowsform normale, che accede ad una parte server via webservice magari, e che ti da ancora piu' interazione utente (e ti semplifica non poco alcuni aspetti).
La distribuzione sarebbe sempre lato server, e gestita in locale tramite ClickOnce.

Un post interessante che puoi guardare è questo:
http://www.dotnethell.it/Forum/messages.aspx?ThreadID=20508

ciao.

Matteo Raumer
[MCAD .net]
http://blogs.dotnethell.it/freeteo

bluland Profilo | Guru

Salve,

scusate l'intrusione, ma anche a me interessa l'argomento, vorrei porre alcune domande:


Da premettere che fino ad ora mi sono sempre trovato a lavorare con le intranet

1. Ho un applicazione win appena create che mi hanno chiesto di far girare sul web, invece di riscriverla per asp.net vorrei considerare la strada delle smart.
primo devo prendere uno spazio web dove mettere il mio db e pubblicare attraverso clickonce la soluzione.

Ma poi per ogni client che si collega all'url che per scaricare il pacchetto ci dovrebbero essere dei permessi tipo win authentication direttamente sul server o cose del genere?

2. Aspetto db

spesso per il collegamento con le win32 uso per access

Dim file As String = Directory.GetCurrentDirectory & "\database.mdb"

in questo caso dovrei instanziare la stringa nell'app.config allo stesso modo del web?

3. il send e receive di dati col db come avverrebbe??


Aspetto notizie Ciao
--------------------
Vincenzo PESANTE
System Engineer

freeteo Profilo | Guru

>1. Ho un applicazione win appena create che mi hanno chiesto
>di far girare sul web, invece di riscriverla per asp.net vorrei
>considerare la strada delle smart.
>primo devo prendere uno spazio web dove mettere il mio db e pubblicare
>attraverso clickonce la soluzione.
certo, se vuoi Aruba ha degli ottimi prezzi a parita' di condizioni, io mi sono sempre trovato bene, valuta tu il traffico e il carico a cui sara' sottoposta la tua applicazione perche' per quei prezzi stracciati ci sono sicuramente delle "controindicazioni" da considerare


>Ma poi per ogni client che si collega all'url che per scaricare
>il pacchetto ci dovrebbero essere dei permessi tipo win authentication
>direttamente sul server o cose del genere?
sinceramente non sono esperto di questo, io ho sempre risolto con una login dentro all'applicazione Win32 che arriva giu' con Clickonce.Pero' puoi pensare ad una pagina che faccia poi il redirect sul .application, cosi' l'utente passa prima per la pagina di login con la solita "Form Authentication" che gestisci come con asp.net.
Tieni presente che 1po di "sicurezza" lato Win32 sarebbe cmq meglio perche' qualcuno potrebbe cmq risalire all'url ".application" e bypassare la login...vedi te.


>2. Aspetto db
>
>spesso per il collegamento con le win32 uso per access
>Dim file As String = Directory.GetCurrentDirectory & "\database.mdb"
>in questo caso dovrei instanziare la stringa nell'app.config
>allo stesso modo del web?
la stringa la devi cmq gestire lato server come faresti in asp.net, perche' le cose che devi esporre sono un webservice che fa le operazioni che ti interessano.
Attento che alcune operazioni devono essere protette da password, altrimenti, essendo pubblico, qualche maleintenzionato potrebbe sniffare il tuo webservice e con strumenti come "WebServiceStudio" andare ad eseguire metodi dannosi...


>3. il send e receive di dati col db come avverrebbe??
sempre tramite WebService, perche' il lato client cmq deve sparare i dati sul server, il quale accedera' al database, altrimenti siamo di fronte ad una win32 in Lan normale


Cmq sia io non sono un esperto di sicurezza, spero che qualcuno che se ne intende di piu' di me, abbia modo di commentare questo thread e darci qualche consiglio aggiuntivo...

ciao.

Matteo Raumer
[MCAD .net]
http://blogs.dotnethell.it/freeteo

bluland Profilo | Guru

Ciao e grazie delle risposte,

quindi la trasmissione la dovrei fare tramite webservice,
beh dovrò studiarmeli poiche non ho avuto mai occasione di lavorci,
hai qualche spunto da darmi?

Per quanto riguarda l'autenticazione, si in effetti sarebbe meglio fare cmq un login nell'applicazione win32, magari prevedere proprio una gestione utenti.


grazie

Saluti
--------------------
Vincenzo PESANTE
System Engineer

freeteo Profilo | Guru

>Ciao e grazie delle risposte,
>
>quindi la trasmissione la dovrei fare tramite webservice,
>beh dovrò studiarmeli poiche non ho avuto mai occasione di lavorci,
>hai qualche spunto da darmi?
diciamo che l'utilizzo di webservice in se è veramente molto semplice, sostanzialmente generi un WebService con i metodi che hanno l'attributo "[WebMethod]" in modo da essere visibili.
Dopodiche' nell'applicazione Win32, aggiungi un "riferimento web" puntando a quel webservice (si salva nel file config, che a deploy dovrai andare a modificare con l'Url giusto, dato che dentro a visual studio punta ad un "localhost...")

E il grosso è fatto...ovvio poi puoi affinare usandoli in async, puoi avere dei problemi con alcuni oggetti che non sono serializzabili, ma se fai una seria programmazione ad oggetti, riuscirai a fare tutto senza problemi.

Parti da qualche tutorial su msdn, sono ben fatti, e poi comincia a "smanettare" seguendo la strada che ti ho indicato, non avrai grossi problemi secondo me a partire, poi ci risentiamo per altri dettagli....

ciao.

Matteo Raumer
[MCAD .net]
http://blogs.dotnethell.it/freeteo

bluland Profilo | Guru

>>Ciao e grazie delle risposte,
>>
>>quindi la trasmissione la dovrei fare tramite webservice,
>>beh dovrò studiarmeli poiche non ho avuto mai occasione di lavorci,
>>hai qualche spunto da darmi?
>diciamo che l'utilizzo di webservice in se è veramente molto
>semplice, sostanzialmente generi un WebService con i metodi che
>hanno l'attributo "[WebMethod]" in modo da essere visibili.
>Dopodiche' nell'applicazione Win32, aggiungi un "riferimento
>web" puntando a quel webservice (si salva nel file config, che
>a deploy dovrai andare a modificare con l'Url giusto, dato che
>dentro a visual studio punta ad un "localhost...")
>
>E il grosso è fatto...ovvio poi puoi affinare usandoli in async,
>puoi avere dei problemi con alcuni oggetti che non sono serializzabili,
>ma se fai una seria programmazione ad oggetti, riuscirai a fare
>tutto senza problemi.
>
>Parti da qualche tutorial su msdn, sono ben fatti, e poi comincia
>a "smanettare" seguendo la strada che ti ho indicato, non avrai
>grossi problemi secondo me a partire, poi ci risentiamo per altri

Ok ora cerco un pò di tutorial

Grazie Ciao
>dettagli....
>
>ciao.
>
>Matteo Raumer
>[MCAD .net]
>http://blogs.dotnethell.it/freeteo

--------------------
Vincenzo PESANTE
System Engineer
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5