7

Dec

WCF Home Framework – Finally Cloud

Ciao a tutti

 

chi ha seguito il mio blog da tempo, ricorderà questo nome “Home Framework”… così come anche chi è venuto alle mie scorse conferenze come ad esempio l’ultimo WPC in OverNet a Milano/Assago

WCFHF è un framework che ci aiuta a gestire e rilasciare servizi WCF, adesso completamente cloud su Windows Azure e SQL Azure

La sicurezza, la scalabilità, la configurazione, il rilascio, la gestione delle versioni, sono tutte problematiche che WCFHF gestisce per te.

E’ sicuro, perchè il manager è in HTTP/SSL, è sicuro perchè il tuo servizio è utilizzabile esclusivamente da te tramite username e password identiche a quelle del manager, è sicuro perchè il servizio risponde alle chiamate a sua volta in TLS/SSL + Message Security con autenticazione, appunto, username+password.

E’ scalabile perchè il tuo servizio è sul cloud. Gira sempre su più server dietro un bilanciatore che non devi gestire, semplicemente usare

Niente più configurazioni… non hai bisogno di creare un progetto da visual studio per il tuo WCF, niente più .config da gestire, etc…

Niente più rilasci con copia di files, modifiche delle configurazioni, web deploy, etc…. Semplicemente basterà andare sul manager web di WCFHF e fare l’upload del tuo servizio.

Le versioni le gestisce WCFHF, e non c’è limite al numero di versioni contemporanee del tuo servizio online

 

Esempio d’uso. Andiamo su WCFHF: https://homeframework.tnxconsulting.com/Manager/Default.aspx

image

Se non sei ancora registrato, registrati tanto non si paga niente Sorriso

Qui sono presenti i nostri servizi, catalogati per nome e versione. sulla sinistra abbiamo il flag che ci indica se il servizio è attivo (risponde alle chiamate) o no mandando in automatico eventuali chiamate sulla versione subito successivamente disponibile

infine sulla dx abbiamo il link al wsdl. questo ci permette di creare il nostro client come facciamo abitualmente da visual studio o da svcutil

Guida. Creiamo l’HelloService1

1) Apro Visual Studio 2010 con framework 4.0 e creo un progetto di tipo libreria (DLL) in c# o vb

2) Aggiungo i riferimenti a System.Runtime.Serialization e System.Servicemodel.*

3) Creo il contratto di servizio ed il servizio con un’interfaccia ed una classe

[ServiceContract()]
public interface IHelloService1
{
    [OperationContract]
    string GetString();
}

[ServiceBehavior]
public class HelloService1 : IHelloService1
{
    public string GetString()
    {
        return "Hello v 2.0";
    }
}

4) compilo in Release

5) Vado su WCFHF e clicco sulla DX il link upload, scelgo il mio file compilato in .dll e premo ancora Upload

6) Abilito il servizio cliccando sul link con il suo nome, e poi Enable sulla DX

Tornando alla homepage vedrò che il servizio è funzionante Sorriso volendo possiamo cliccare WSDL sulla sua DX per vederne la configurazione

 

Guida. Creiamo un client per utilizzare l’HelloService1.

1) Clicco sul link WSDL sulla DX del servizio che voglio usare, e mi copio l’URL (oppure clicco dx sul link e faccio copia URL)

2) Apro Visual Studio, creo un nuovo progetto o uso uno esistente, copio l’URL del WSDL in “Add Service Reference” come usualmente faccio per connettermi ad un servizio e do un nome leggibile al namespace in basso (opzionale)

image

3) vado nel mio codice e istanzio un nuovo client passandogli le credenziali del mio utente WCFHF

var c = new CloudHelloService.HelloService1Client();
c.ClientCredentials.UserName.UserName = "[USERNAME]";
c.ClientCredentials.UserName.Password = "[PASSWORD]";

4) Uso il mio servizio normalmente

Console.WriteLine(c.GetString());
Console.ReadLine();

A questo punto, non bisogna fare altro Sorriso, a tutta la configurazione, inclusa la sicurezza, ha pensato il WDSL

 

Usatelo e mandatemi ogni feedback possibile a info@antonioesposito.it

Vi consiglio per ogni richiesta su WCF di andare sul forum italiano: http://social.msdn.microsoft.com/Forums/it/wcfwfit/threads

 

Seguiranno ulteriori tutorial e nuove funzionalità come supporto REST, supporto a SilverLight, servizi longrunning, etc… spero il più presto possibile e se non ci si vede prima, ci si vedrà con WCFHF al prossimo HackItaly Sorriso

A presto

by Antonio Esposito on 12/7/2011