anx721:Salve,
sto dando uno sguardo a questo componente del framework 3, premetto che ancora non ho letto abbastanza, ho visto che permette di esporre dei servizi invocabili da remoto. Mi chiedo come si pone questo framework rispetto ad altre soluzione , come i Web Services e .il .Net romoting, cosa offre in più, o in quali scenari è preferibile l'uno o l'altro.
Ciao anxt21,
i tuoi dubbi sono giustificati, ma proverò a darti qualche dritta. In breve WCF è l'implementazione Microsoft di quelle specifiche (conosciuti come tenets/pilastri) su cui si basano le applicazioni Service Oriented-Architecture (SOA). Rappresenta, in soldoni, l'unione di tecnologie già esistenti non solo come i Web Services e il .NET Remoting da te citati, ma anche come gli Enterprise Services. Ogni tecnologia ha determinate caratteristiche e il loro utilizzo dipende molto dal contesto. Tieni presente che un servizio è indipendente dal protocollo di trasporto utilizzato. In ragione di questo i Web Services, per esempio, sono una particolare tipologia di servizi perchè utilizzano esclusivamente HTTP/HTTPS.
Gli ASMX sono dei web services di tipo base che in WCF, per compatibilità, corrispondono al binding BasicHttpBinding. Dalla parte del consumer non cambia assolutamente nulla, quello che cambia è l'architettura interna della soluzione che ci permette di esporre lo stesso ed identico servizio utilizzando, ad esempio, un protocollo differente come il tcp. A questo si aggiunge la possibilità di utilizzare particolari tipologie di trasmissione dei messaggi come il Duplex.
anx721:Nel mio caso dovrei sviluppare una applicazione, chiamiamola Server, che interagisce con altre applicazioni, nel senso che queste possono eseguire delle azioni (o lanciare eventi, o richieste) verso il Server. Alcune richieste servono solo ad eseguire un'azione presso il server, altre si aspettano di ricevere un risultato come risposta. Il Server ha anche una sua interfaccia web, non è ancora deciso se il Server stesso nel suo complesso sarà una web application, oppure se il Server sarà un'applicazione a sè stante a cui associare una web application che gli fa da interfaccia.
Non dipende solo da questo. Da quello che descrivi l'uso del buon vecchio ASMX è sufficiente. Se puoi la tua applicazione deve comunicare con sistemi di terze parti ed implementare meccanismi di sicurezza e standard come i vari WS-*, oppure utilizzare protocolli più sicuri ed efficienti rispetto all'http come il già citato tcp, anche replicando un comportamento simile al .NET Remoting, allora WCF potrebbe essere la scelta migliore.
anx721: A naso WCF dovrebbe offrire dei servizi in più (ad esempio ?), di certo rispetto ai webservices no avrei una tecnologia standard e quindi il Server potrebbe colloquiare solo con applicazioni .NET.
Dipende da come usi WCF. Se decidi di utilizzare un binding come il BasicHttpBinding o il WsHttpBinding, allora la tua applicazione sarà interoperabile anche con applicazioni non-.NET. Se decidi di utilizzare un binding come il NetTcpBinding, allora potrai colloquiare solo con applicazioni compatibili con quel particolare protocollo. Preciso che la mia risposta è molto riduttiva perchè non sempre è così semplice decidere la modalità di utilizzo.
anx721:
Spero di averti chiarito qualche dubbio. Nel frattempo ti consiglio di dare un'occhio alle slide del workshop di maggio'06 e all'articolo che ho scritto al riguardo.
Se hai ancora dubbi ... chiedi pure 
ciauz
Fabio Cozzolino
CoFounder of DotNetSide - Dot Net South Italy Developers
Microsoft MCAD.NET
Blog: http://blogs.dotnetside.org/fabio