in

DotNetSide

Dot Net South Italy Developers User Group
Latest post 23 Jan 2007 16:14 by Fabio.Cozzolino. 1 replies.
Page 1 of 1 (2 items)
Sort Posts: Previous Next
  • 23 Jan 2007 11:44

    • anx721
    • Top 50 Contributor
    • Joined on 12 Jan 2007
    • Posts 9
    • Points 125

    Utilità di Communication Foundation

    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.

     

    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.

     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.

     

    Grazie e ciao. 

    • Post Points: 20
  • 23 Jan 2007 16:14 In reply to

    Re: Utilità di Communication Foundation

    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:

    Grazie e ciao. 

    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 Smile

    ciauz 

    Fabio Cozzolino
    CoFounder of DotNetSide - Dot Net South Italy Developers
    Microsoft MCAD.NET Blog: http://blogs.dotnetside.org/fabio

    Filed under:
    • Post Points: 5
Page 1 of 1 (2 items)
Powered by Community Server (Commercial Edition), by Telligent Systems