45 messaggi dal 30 gennaio 2010
blogs.dotnethell.it
Ciao a tutti,
volendo spiegare ad un Program Manager quali vantaggi apporterebbe creare servizi con WCF rispetto agli XML Web Service utilizzati in azienda fino a questo momento, cosa rispondereste?

Grazie

Luigi
Con WCF hai diversi vantaggi. Te ne giro qualcuno pescato qui e lì


Protocols Support

WCF
- HTTP
- TCP
- Named pipes
- MSMQ
- Custom
- UDP
ASMX
- HTTP only

Hosting

ASMX
- Can be hosted only with HttpRuntime on IIS.
WCF
- A WCF component can be hosted in any kind of environment in .NET 3.0, such as a console application, Windows application, or IIS.
- WCF services are known as 'services' as opposed to web services because you can host services without a web server.
- Self-hosting the services gives you the flexibility to use transports other than HTTP.

WCF Backwards Compatibility

- The purpose of WCF is to provide a unified programming model for distributed applications.
- Backwards compatibility
- WCF takes all the capabilities of the existing technology stacks while not relying upon any of them.
- Applications built with these earlier technologies will continue to work unchanged on systems with WCF installed.
- Existing applications are able to upgrade with WCF
- New WCF transacted application will work with existing transaction application built on System.Transactions

WCF & ASMX Integration

- WCF can use WS-* or HTTP bindings to communicate with ASMX pages

Limitations of ASMX:
- An ASMX page doesn’t tell you how to deliver it over the transports and to use a specific type of security. This is something that WCF enhances quite significantly.
- ASMX has a tight coupling with the HTTP runtime and the dependence on IIS to host it. WCF can be hosted by any Windows process that is able to host the .NET Framework 3.0.
- ASMX service is instantiated on a per-call basis, while WCF gives you flexibility by providing various instancing options such as Singleton, private session, per call.
- ASMX provides the way for interoperability but it does not provide or guarantee end-to-end security or reliable communication.

Gianluca
http://www.gianlucaesposito.it
Ok, giaesp, però posso avanzare molto umilmente una piccolissima perplessità?
Cioè, secondo me GigiMI parte da un presupposto che non è molto corretto. Quello che dovrebbe chiedersi è se WCF nasca o meno con l'intento di sostituire ASP.NET Web Services.
Io credo proprio di no, ma probabilmente è solo una questione di punti di vista.

Nicola Baldi
"Make things as simple as possible, but not simpler."
>>> My blog <<<
45 messaggi dal 30 gennaio 2010
blogs.dotnethell.it
Grazie Gianluca,
sono già dei buoni punti di partenza.
In realtà la mia domanda non era tanto sul fatto se WCF "rimpiazzi" o meno gli XML Web Service (anche se tale aspetto potrebbe far parte della risposta, se fosse vero), quanto piuttosto sul fatto se convenga investire del tempo per iniziare a creare i propri Web Service secondo questa tecnologia, e non con i "classici" .asmx come si è fatto finora qua da me.

Luigi
Beh naighes...direi che Gigi deve anche chiedersi in quale contesto vuole inserire WCF e fin dove vuole spingere il contesto stesso...credo che con WCF si abbia la possibilità di crescere verso scenari futuri della propria applicazione che con ASMX sarebbero gestibili più difficilmente...che ne dici?

Gianluca
http://www.gianlucaesposito.it
credo che con WCF si abbia la possibilità di crescere verso scenari futuri della propria applicazione che con ASMX sarebbero gestibili più difficilmente...che ne dici?

Sì, ma infatti, come al solito, sono stato poco chiaro io!
Quello su cui volevo che si focalizzasse l'attenzione è che ASP.NET Web Services e WCF sono due cose diverse. Poi, se vogliamo dire che WCF consente di definire, ad esempio, servizi "SOAP style" (passatemi il termine!), allora è un altro paio di maniche.
Siete in accordo con quanto ho scritto, oppure rientra nel girone dei miei vaneggiamenti?

Nicola Baldi
"Make things as simple as possible, but not simpler."
>>> My blog <<<
Sono d'accordo con te naighes, sono due cose molto diverse, anche se vogliamo vederla dal punto di vista dello sviluppatore, cambia un bel pò il modo di approcciare la realizzazione!
Però ribadisco, l'utilizzo di WCF apporta dei vantaggi che sono legati all'applicazione che si sta realizzando.
Personalmente, se in una applicazione web dovessi semplicemente esporre qualche metodo all'esterno utilizzerei tranquillamente ASMX senza pensarci due volte. Ma se stessi lavorando a qualcosa di più grosso, opterei per WCF.

Gianluca
http://www.gianlucaesposito.it
E' una scelta che dipende molto dallo scenario applicativo.
Allo stato delle cose, implementare un normale asmx richiede molto meno tempo, ma ti lega necessariamente ad un particolare tipo di tecnologia/trasporto e ti limita dal punto di vista della sicurezza.

Come al solito la scelta dipende solo ed esclusivamente dal tipo di applicazione che si deve realizzare. Se ad esempio dobbiamo maneggiare dati sensibili, avere performance particolari, o consentire un più alto grado di interoperabilità, allora wcf.

Davide Guida
Technical Architect @ Razorfish Healthware
http://davideguida.altervista.org

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.