Microsoft Trainer e Software Architect
Sviluppatore professionista dal 2001 con VB6, SQL 2000 e Access creando applicazioni gestionali di varia natura. Passando rapidamente a .NET, windows e web, ho poi espanso le mie esperienze su Compact Framework, SQL Server Mobile ed infine BizTalk Server.
Negli ultimi anni mi sono focalizzato sempre più sullo sviluppo distribuito ed enterprise conseguendo nel contempo le seguenti certificazioni:
Microsoft Certified Trainer (MCT)Microsoft MCPD .NET 3.5 Enterprise Applications DeveloperMicrosoft MCTS .NET 3.5 WCF Applications DevelopmentMicrosoft MCTS .NET 3.5 ASP.NET Applications DevelopmentMicrosoft MCTS .NET 3.5 ADO.NET Applications DevelopmentMicrosoft MCTS .NET 3.5 Windows Applications DevelopmentMicrosoft MCTS .NET 2.0 Distributed Applications DevelopmentMicrosoft MCP .NET
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
Se non sei ancora registrato, registrati tanto non si paga niente
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 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)
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 , 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
A presto