Windows Communication Foundation: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica
Nessun oggetto della modifica
Riga 3:
 
'''Windows Communication Foundation''' (WCF) è un "sottosistema applicativo" proprietario della [[Microsoft]], che offre la struttura [[Application programming interface|API]] per la creazione di applicazioni distribuite in ambienti [[Windows]].
Esistono diverse tecnologie per creare questo tipo di applicazioni, molte delle quali sono supportate dal .NET framework. Se da un lato ogni protocollo di rete (e.g. [[HTTP]], HTTPS[[FTP]], TCP[[SMTP]], ecc.) ha un suo modello di programmazione, e necessita quindi di una conoscenza specifica da parte degli sviluppatori per poter essere utilizzata, WCF è stato realizzato con l'intento di unificarericondurre inad un unico modello di programmazione diverse tecnologie, rendendo più semplice ed uniforme la programmazione in ambiente Windows.
 
= Nozioni generali =
Un servizio WCF si basa sugli '"EndPoint", che sono le porte attraverso le quali l'applicazionele applicazioni comunicacomunicano con il mondo esterno; si può quindi affermare che un servizio WCF sia una collezione di EndPoint. A sua volta, un Endpoint è costituito da quelli che sono i pilastri di WCF: "Address", "Binding", "Contract".
== Cos’è l’addressl’Address ==
L'Address è l'indirizzo al quale il servizio risponde. L'indirizzo è composto da un Uri[[URI]], ununa "Identity" eed una lista di Headers[[Header]]s. In fase di definizione di un Address, l'informazione principale è l'URI che corrisponde all'indirizzo fisico del servizio (es. http://localhost/ws/svc). Headers e Identity sono informazioni che invece sono necessarie solo in casi particolari. Ad esempio quando ci sono più EndPoint può essere utile avere diversi Headers a seconda dell'Endpoint che il client utilizza. In parole semplici si può definire l'address come il DOVE.
== Cos’è il binding ==
Gran parte della magia dietro WCF sta nei Bindings. Infatti se ci si può occupare del codice senza preoccuparsi dell'infrastruttura di trasporto lo si deve soprattutto a questa feature. I Bindings si occupano di quello che avviene tra il momento in cui il servizio spedisce logicamente il messaggio ed il momento in cui viene fisicamente messo in rete. In questo lasso di tempo vengono eseguiti numerosi passi che seguono una precisa pipeline di cui i bindings sono responsabili.