Web services, WCF e... ASP.NET

di: Giuseppe Marchi     30 Aprile 2008

Windows Communication Foundation (da ora in poi WCF) è una delle quattro componenti della versione 3.0 del .NET Framework, che ha il principale scopo di rappresentare i modelli di comunicazione tra sistemi distribuiti.

Data la grande importanza delle architetture distribuite basate sui servizi (SOA), era necessario unificare in un unico componente i metodi fin'ora supportati dalle tecnologie Microsoft per il trasporto di informazioni in ambienti distribuiti. Prima dell'avvento di WCF infatti, ogni sviluppatore doveva utilizzare uno di questi meccanismi per implementare le proprie architetture:

  • Web Services
  • Web Services Enhancements (WSE)
  • Remoting
  • Enterprice Services
  • MSMQ (Message Queuing)

La scelta di uno tra questi era legata alla tipologia di applicazione da dover sviluppare e alle strutture su cui essa si doveva basare.

Windows Comunication Foundation mette assieme tutte queste tecnologie fornendo un modello unificato di programmazione (e relativa API) per la realizzazione di applicazioni interoperabili, il tutto basato su standard condivisi il che permette lo scambio di informazioni anche tra piattaforme tra loro non eterogenee.

In particolare WCF è stato strutturato in modo tale da offrire supporto per tutti gli standard WS-*, cioè per tutte quelle nuove specifiche che sono nate dopo l'avvento dei Web Service, che hanno come fine comune quello di favorire l'interoperabilità tra piattaforme diverse tra loro. Infine, come abbiamo già detto, questo nuovo modello unificato di programmazione è stato basato sulle linee guida delle architetture SOA.

Una delle novità interessanti di WCF sta nel fatto che possiamo creare un semplice servizio ed esporlo tramite IIS come Web Service (utilizzando quindi il protocollo HTTP) oppure, modificando le informazioni di configurazione del servizio stesso, renderlo utilizzabile attraverso il protocollo TCP/IP.

Struttura di un servizio WCF

Ogni servizio WCF ha la medesima struttura basata sui concetti di "service class" e "host application".

Figura 1. Servizi e applicazioni

Servizi e applicazioni

Un servizio è infatti rappresentato da una classe detta appunto classe di servizio, compilata in un'assembly .NET, che per essere eseguita va "ospitata" in applicazioni che fungono da "host" per il servizio stesso. Tali applicazioni possono essere IIS, WAS, servizi Windows o semplici eseguibili (quindi Windows Form, applicazioni WPF o console application).

Guide ASP.Net

Guida Windows Azure Code Snippets

Le migliori pratiche per far girare le applicazioni "in the cloud",...

Guida ASP.NET MVC Best Practices

Un workflow dettagliato e ricco di suggerimenti pratici per...

Guida ASP.NET Starter Kit

Un modo semplice per imparare ad utilizzare le tecnologie Microsoft...

Altre guide

Newsletter @Microsoft Dev

Ogni giovedì, direttamente nella tua e-mail: articoli, guide, tutorial e script ASP, ASP.Net, SQL server e IIS.

Iscriviti alla newsletter

Altre newsletter

Corsi in aula

Amministratore di Reti Windows Server 2008

20 Febbraio 2012 a Milano
Disponibilità: 5 Posti

Nessun corso previsto