Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
ASP.NET 2.0 / 3.5 / 4.0
WebService??
giovedì 06 febbraio 2014 - 20.00
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Elenco Tags
VB.NET
|
.NET 4.0
86Marco
Profilo
| Expert
889
messaggi | Data Invio:
gio 6 feb 2014 - 20:00
Salve ragazzi e buona sera a tutti.
Da qualche anno sviluppo in asp.net discrete applicazioni web ma non ho mai utilizzato webservice.
Vorrei cominciare a studiare bene questi ultimi e capire dove e perché è meglio utilizzarli o meno...
Vorrei chiederVi cosa di fatto sia un webservice (asmx) e a cosa effettivamente può essere utile, inoltre vorrei sapere se qualcuno di Voi conoscere qualche buon libro che spieghi bene questi concetti oltre a come crearli e utilizzarli.
Grazie
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
ven 7 feb 2014 - 12:19
>Salve ragazzi e buona sera a tutti.
ciao
>Vorrei cominciare a studiare bene questi ultimi e capire dove e perché è meglio utilizzarli o meno...
>Vorrei chiederVi cosa di fatto sia un webservice (asmx) e a cosa effettivamente può essere utile,
diciamo che sei un po' in ritardo. Come filosofia sono un concetto valido, come tecnologia sono passati anni luce. Quindi, personalmente, ti consiglio di cambiare approccio.
In generale un web service (senza parlare di asmx in particolare) è un servizio fornito via web utile a disaccoppiare il "chiamante" dal "chiamato".
Questo serve per rendere i vari componenti dell'applicazione che stai scrivendo molto autonomi e modulari (il che si può tradurre anche in termini "commerciali" con semplicità di lavoro in parallelo, terzializzazione, ecc.).
In poche parole un web service ti porta a definire quello che in gergo è definito "contratto" che servirà come protocollo di comunicazione (regole) tra chi chiama e chi è chiamato e risponde.
Il bello di questo (ed il punto forte) sta nel fatto che nessuno dei due punti (chiamante e chiamato) devono necessarimente sapere come è fatto l'altro in termini di tecnologia, logiche di business, infrastruttura, architettura.
E' un po' come dire che tu ed io parliamo l'italiano e applichiamo le regole della lingua. Ma quello che fai tu durante la giornata, a me non interessa. E nemmeno a te interessa cosa faccio io.. l'importante è che quando comunichiamo parliamo l'italiano.
In termini tecnici, una pagina web, potrebbe avere bisogno di un dato che sta su un server non proprio dell'applicazione.. Ad esempio un ente centrale che rilascia il calcolo del codice fiscale. La pagina web chiama un servizio dato dall'ente centrale (un'anagrafe informatica) passando quanto definito nel contratto (nome, cognome, data di nascita, genere, città di nascita, cittadinanza) e riceve una risposta "serializzata" nel formato scelto (XML, json, ..) usando il protocollo definito dai due (http, http rest, ..). La risposta ricevuta e deserializzata dall'XML all'oggetto interno poi, viene consumata nell'applicazione che ha chiamato.
Come vedi, l'app e l'ente nemmeno si conoscono. Sanno solo quello che uno fa e quello che serve.
Se prendi facebook, esso utilizza ajax (con javascript e i suoi più famosi framework - jquery su tutti) per fare chiamate a server. Quindi, nella sua realtà, non chiama enti, ma chiama componenti del proprio "mondo" usando logiche di servizio. In poche parole, il code behind a cui sei abiutato è solo un linguaggio lato server utile a chiamare servizi. Non più a fare logiche DENTRO al sito web e quindi NON RIUTILIZZABILI. Chiamando un servizio, si delega al componente che risponde di prendere le decisioni che servono per risolvere un problema.
Ho cercato di fartela breve.. ma c'è un mondo. Ora stanno andando forte gli MVC pattern e le WEBApi (che ti consiglio
http://www.asp.net/web-api
).
Ma c'è davvero un mondo. Secondo me devi chiederti cosa devi fare, ed, in base a quello, scegliere la migliore via (rapporto qualità/supporto) presente sul mercato.
Ormai il sapere un po' tutto in generale, per noi informatici, sta FINALMENTE morendo.. Ci sono talmente tante cose che è giusto iniziare a specializzarsi ed approfondire il più possibile sul settore di nostra competenza.
>Grazie
di nulla!
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT
http://blogs.dotnethell.it/suxstellino
http://suxstellino.wordpress.com
http://mvp.microsoft.com/profiles/Alessandro.Alpi
86Marco
Profilo
| Expert
889
messaggi | Data Invio:
ven 7 feb 2014 - 12:39
Ciao Alessandro.
sei sempre molto chiaro! :) Grazie
86Marco
Profilo
| Expert
889
messaggi | Data Invio:
sab 8 feb 2014 - 09:43
Ciao Alex,
ho letto, riletto, pensato e ripensato a quello che mi ha gentilmente risposto. Il tutto è molto chiaro ma dovendo procedere allo sviluppo si un piccolo programma non so che strada prendere.
Il programma in oggetto deve essere una win application (sviluppata in C# o Vb.net).
Questa applicazione dovrebbe collegarsi ad un servizio web (che risiede in un server web esterno) che, ricevuto dei parametri, effettua una serie di operazioni e poi restituisce un codice di prenotazione al client windows.
Ora: già in passato ho creato web service (molto semplici) con l'opportunità di poter essere questi agganciati da una win application, ma senza i web services non so quale strada prendere ... che mi consigli? Considera che io non ho nulla di pronto... devo creare sia la parte client che server.
grazie :)
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
lun 10 feb 2014 - 10:34
>Questa applicazione dovrebbe collegarsi ad un servizio web (che
>risiede in un server web esterno) che, ricevuto dei parametri,
>effettua una serie di operazioni e poi restituisce un codice
>di prenotazione al client windows.
ma il web server comunque è "tuo", nel senso, puoi lavorarci?
>Ora: già in passato ho creato web service (molto semplici) con
>l'opportunità di poter essere questi agganciati da una win application,
>ma senza i web services non so quale strada prendere ... che
>mi consigli? Considera che io non ho nulla di pronto... devo
>creare sia la parte client che server.
Personalmente farei:
- webApi sul server web
- se il server web non può essere visto dai client, host che riceve le chiamate dai client e che si interfaccia con le webApi
- client in WPF che chiama l'host (o che chiama il web server se può)
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT
http://blogs.dotnethell.it/suxstellino
http://suxstellino.wordpress.com
http://mvp.microsoft.com/profiles/Alessandro.Alpi
Torna su
Stanze Forum
Elenco Threads
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 !