Mario Ferrante's blog

Il blog di Mario Ferrante
E’ possibile scaricare il capitolo 9 di Beginning Asp.Net MVC 1.0

E’ possibile scaricare a questo indirizzo il capitolo 9 del libro di Simone Chiaretta e Keyvan Nayyeri “Beginning ASP.NET MVC 1.0” (Wrox).
Il capitolo tratta uno degli aspetti core di Asp.Net MVC, ovvero il testing delle applicazioni mvc ed è scritto veramente bene, mi è piaciuto il modo in cui gli autori prima spiegano i vari concetti  e quindi integrano tali concetti con esempi pratici guidando i lettori passo per passo nella loro implementazione.

Il poter testare le applicazioni Asp.Net costruite con MVC è una delle linee che hanno guidato lo sviluppo del framework, alcune parti di esso sono state sviluppate secondo i principii del Test Driven Development (TDD) e lo stesso Project Template installato assieme dell’SDK ci invita, ogni volta che creiamo un’applicazione Asp.Net MVC, ad aggiungere ad essa un progetto di test (naturalmente per chi ha Visual Studio dalla versione Professional in su).

Ed il testing di applicazioni tramite uno strumento enterprise, Visual Studio Team System, sarà uno degli argomenti del nostro prossimo workshop “Sviluppare Applicazioni di qualità” che si terrà il 15 a Casamassima presso Tecnopolis. Questa sessione sarà tenuta da Lorenzo Barbieri (Microsoft) che ci illustrerà quanto il testing non è un surplus del ciclo di vita di un software ma parte integrante di esso.
Per quanto mi riguarda, sto rifinendo gli ultimi dettagli della mia sessione, MVC Customization, nella quale tratterò un altro aspetto fondamentale di Asp.Net MVC, ovvero la possibilità di personalizzare ed estendere il framework in praticamente ogni sua parte. Parlerò inoltre del principio della dependency injection e di come tale principio possa tornare utile nelle applicazioni MVC (ed in qualsiasi tipo di applicazione) soprattutto se si hanno a disposizione containers come Unity Application Block di Microsoft.
Naturalmente novità non mancano neanche sul fronte WPF e sono rappresentate dalla possibilità di implementare il pattern Model-View-ViewModel nelle nostre applicazioni Windows. Vito affronterà proprio questo argomento.


Non mi resta che augurarvi una buona lettura del capitolo del libro di Simone, sperando di incontrare molti di voi il 15. Vi aspettiamo!

Asp.Net MVC 1.0 sotto licenza MS-PL

Ormai sono passate diversi giorni dal rilascio di Asp.Net MVC 1.0. La bella novità annunciata ieri da Scott Guthrie è che tale framework ora verrà distribuito con licenza MS-PL, ovvero free, open-source con possibilità di modificare il codice e ridistribuirlo così modificato.

"The Ms-PL contains no platform restrictions and provides broad rights to modify and redistribute the source code."


Infatti a differenza delle versioni precedenti alla 1.0 di Asp.Net MVC, per le quali potevo sempre scaricare il codice sorgente, si è aggiunta la possibilità di poter non solo "spulciare" il codice per vedere "come è fatto dentro(!)", ma anche poterlo estendere, personalizzare, stravolgere e soprattutto poterlo redistribuire liberamente Big Smile!!!!.

E proprio su Asp.Net MVC (e non solo), vi invito a seguire DotnetSide perchè le novità non mancheranno, e come dice spesso il nostro presidente....stay tuned!!!Big Smile

ASP.NET MVC 1.0

Finalmente è stata stata rilasciata la prima versione di Asp.Net MVC 1.0.
E' possibile scaricarlo a questo indirizzo.

Unica nota dolente, credo che per poter leggere il libro di Simone si deve aspettare ancora qualche mese, comunque materiale per studiare e approfondire l'argomento non manca. All'indirizzo http://www.asp.net/mvc ci sono quick starts, tutorials e tutte le info necessarie per cominciare a lavorare con l'implementazione di Microsoft di questo pattern.

[OT]..la sicurezza...che bella cosa!!!

Sto dando un'occhiata all'update history di Vista, ci sono un bel pò di aggiornamenti riguardanti la sicurezza del sistema operativo.
Niente di strano, viene scoperto un bug riguardante la sicurezza, si risolve o si cerca concretamente di risolverlo!!!!
Credo che la cosa sia ovvia!!!!
Se un sistema operativo ha falle di sicurezza, nessun programma, servizio o dato che vive in esso è sicuro.
Credo che la cosa sia ovvia!!
Quindi è normale che ci siano in Microsoft, come in Sun o Red Hat e così via delle persone il cui compito fondamentale è quello di occuparsi della sicurezza dei prodotti.
Credo che la cosa sia ovvia!!!!

Perchè in un paese sedicente civile questo non è ovvio? perchè non si prova concretamente a risolvere i bug di sicurezza di una nazione?

Perchè dove lavoro è potuto accadere questo??

Perchè esseri che compiono azioni di questo tipo dopo 12 ore sono liberi di andare a mangiare aragoste sulla spiaggia (come hanno scritto in uno dei commenti a questo articolo) "...alla faccia di chi li vuole male"???

Perchè dopo 12 ore il direttore responsabile dei giornali era ancora in ospedale per i traumi subiti?

Non voglio fare polemiche, non è questa la sede.
Sono solo un pò triste.Sad

Posted: Jul 21 2008, 12:24 AM by mario74 | with no comments
Filed under: ,
Un pò mi vergogno...

Lo ammetto, c'è un blog che durante la settimana cerco di evitare altrimenti rischio di rimanerci le ore a leggerlo, d'altronde quando a scrivere è un genio del male.....Stick out tongue
Ma oggi è sabato e posso incapparci tranquillamente, anche perchè ci sono le foto dell'ultimo evento .netSide.
Le foto sono bellissime anche se, devo ammetterlo, sono simili a TANTISSIME altre foto di eventi organizzati dalle varie COMMUNITIES: si vede IL SOLITO speaker che parla davanti ad alcune slides, la SOLITA TANTISSIMA gente che vi ha partecipato e che magari è tornata a casa o al lavoro con qualche piccolissima nozione in più, insomma le SOLITE FOTO!
E se queste foto non ci fossero? E se i siti delle Communities non ci fossero? SE QUESTI EVENTI NON CI FOSSERO?
Mi riferisco ad un altro post di Lorenzo, un post all'apparenza rassegnato, ma nei fatti un pò inc******.
Ho letto il forum a cui fa riferimento e mi vergogno, magari un pò, ma mi vergogno.
Mi vergogno perchè non ho mai (o ancora) fatto il bonifico per associarmi ad UGIDOTNET, parlo di UGI perchè avevo accarezzato l'idea di associarmi, ma non ho mai trovato il tempo...ecco per fare un bonifico, la coda ad uno sportello non c'è mai tempo, già ero impegnato, avevo una scadenza, il gomito che faceva contatto con il piede, il mio pesciolino rosso non stava tanto bene, e poi, e poi perchè dare dei soldi ad una community o ad una associazione che si dice "essere non a fini di lucro", non è che c'è qualcosa sotto?
E poi Ugi è lontana, mica fa eventi dalle nostre parti! Ah già,  qui abbiamo .netSide!!! ma che me ne frega! tanto .netSide gli eventi li organizza comunque!
Le Community esistono per questo, no?
LORO organizzano gli eventi, fanno i salti mortali per trovare la sala, gli sponsor, organizzare le sessioni, le slides, gli orari gestire tutti gli imprevisti che sono dietro un evento e IO ci vado!
LORO mettono a disposizione un portale magari condividendo le loro conoscenze con tutti, e IO sono contento se trovo la soluzione ad un MIO problema!
LORO mi danno un servizio e IO ne sono contento, punto!

Ma forse dimentico qualcosa, forse dimentico che IO sono COMMUNITY insieme a LORO, che NOI tutti siamo una community, e anche se i nomi o gli url sono diversi, c'è una cosa che mi fa sentire parte di DotNetSide, come parte di UgiDotNet, come parte di DotNetMarche e di tutte le altre dotnet-communities italiane, ed è quello che sta alla base di Community stessa: la condivisione di una passione.
Vi sembra poco? a me personalmente no!

scusatemi il piccolo sfogo.



Run IT on a Virtual Hard Disk
Microsoft ha reso disponibili per il download una serie di VHD (Virtual Hard Disk) per Virtual PC e Virtual Server (entrambi scaricabili gratuitamente):

"Using the power of virtual machines, you can now quickly evaluate Microsoft and partner solutions through a series of pre-configured Virtual Hard Disks (VHD). You can download the VHDs and evaluate them for free in your own environment without the need for dedicated servers or complex installations"

Sono disponibli:

Per un intero catalogo si può dare un'occhiata qui.

Posted: Apr 15 2007, 08:19 PM by mario74 | with no comments
Filed under:
La mia su .net Data Management

Manca veramente poco al prossimo evento .netSide e devo dire che non vedo l'ora che arrivi quel giorno.
Qualcuno ha scritto che partecipare ad un evento .netSide è sempre qualcosa di speciale e credo che questo evento lo sia davvero.
Perchè?
Prima di tutto per l'argomento principe trattato: ragazzi qui si parla di ADO.NET!!!!  Fra tutte le core technologies che compongono la piattaforma .net ADO.NET è sicuramente quella che occupa una posizione privilegiata ed è incredibile come essa possa adattarsi a qualsiasi ambiente (windows, web, winfx) in cui si opera. Vederlo in azione, apprendere nuove cose sull'accesso ai dati è una cosa che riguarda TUTTI gli sviluppatori .net qualsiasi sia il loro livello di conoscenze/competenze.
Ma ogni evento .netSide è speciale sopratutto per gli speakers che ogni volta vi prendono parte, competenza, chiarezza e mai freddezza fino ad ora hanno contraddistinto tutte le sessioni Live della Community.
Un mio amico/artista definiva le persone che mettono il Cuore (con la C maiuscola) nelle cose che fanno come Guerrieri d'Amore, ecco in questo evento, come in quelli passati, noi non avremo solo degli speakers, ma dei veri e propri Guerrieri d'Amore, che in quello che fanno ci mettono una passione incredibile, passione che nelle sessioni cercano di trasmettere anche a chi ascolta, e i feedback degli eventi passati, come tutto quello che sta avvenendo attorno a .netSide mostrano che tutto questo viene percepito e apprezzato!
Per finire, in ogni evento si cerca di portare qualche novità, e anche in questo caso non poteva mancare!

Per concludere, ci vediamo tutti il 20 Aprile a Bari, e se per distrazione non vi siete ancora registrati lo potete fare qui

Posted: Apr 14 2007, 11:28 AM by mario74 | with no comments
Filed under: ,
Rilasciate le Enterprise Library 3.0 April 2007

Rilasciata una nuova versione delle Enterprise Library.
Tra le novità ci sono nuovi Application Blocks, ovvero blocchi di codice e/o componenti riutilizzabili ed estendibili, tra questi spicca sicuramente il Validation Application Block, che permette di inserire delle regole di validazione in maniera programmatica o anche attraverso degli attributi, ad esempio:

[StringLenghtValidator(1,50,RuleSet="RuleSetA", MessageTemplate="LastName must be 1-50 characters")]
public string LastName
{
     set { return _lastname;}
     get { _lastname = value;}
}

Altre novità riguardano una maggiore integrazione con Visual Studio e con .net 3.0 (soprattutto WCF).

Personalmente non sono un grande fan delle Enterprise Library, mi è capitato più volte di utilizzare Data Application Block, però le 3.0 hanno funzionalità molto interessanti e sicuramente ad alcuni blocchi darò un'occhiata più approfondita.

Vista non supporta Sql Server 2000

Ormai è più di un mese che sto usando in maniera "seria" Vista, ovvero ci sto lavorando.
Come previsto, molte delle cose negative dette sul S.O. si sono rivelate assolutamente false e infondate e devo dire che ormai non riuscirei a fare a meno di tutte le nuove funzionalità offerte.
Però, e un però neanche piccolo non può assolutamente mancare, Vista non supporta Sql Server 2000, nel senso che si è rifiutato categoricamente di installarlo.
La spiegazione la fornisce la stessa Microsoft:

along with the fact SQL Server 2000 (including MSDE) is an aging product nearing the end of its support lifecycle Microsoft decided that its customers would be best served by focusing its resources to test and validate SQL Server 2005 on the new Windows Vista/”Longhorn” platform and provide a clear upgrade path for our SQL Server 2000 (including MSDE) customers to the new SQL Server 2005 platform, rather than invest on making very significant changes to SQL Server 2000 editions to run on Vista

Questo non mi trova assolutamente daccordo e non lo trovo giusto, prima di tutto per la definizione che sta alla base di sistema operativo, il quale tra le sue molteplici funzioni quella principle (credo) è di creare l'ambiente in cui eseguire ed utilizzare dei programmi e in NESSUN caso un sistema operativo mi deve imporre l'utilizzo di un programma piuttosto che un altro.
E' vero, ci sono software ancora incompatibili con Windows Vista, ma tutte le aziende madri di tali programmi stanno "correndo ai ripari", creando patch o versioni compatibili degli stessi (in alcuni casi distribuiti gratuitamente a chi possiede l'ultima versione non compatibile), questo non avverrà con Sql Server 2000, perchè Microsoft ha deciso che questo prodotto è "prossimo" alla fine del suo supporto, e si badi bene, prossimo non significa che il supporto per SS2000 è terminato!!!!

E' vero le soluzioni non mancano (Virtual Pc, o un altro Pc e/o Server di Sviluppo con installato Sql Server 2000 a cui collegarsi quando si lavora), ma il fatto che Vista in maniera nativa e VOLUTAMENTE non supporti Sql Server 2000, mi ha lasciato un poco deluso, soprattutto mi ha creato qualche problema e spero che venga creata qualche patch che risolvi questa cosa.

Le mie prime (dis)avventure con WCF su VISTA

Dopo aver sviluppato un mio primo piccolo servizio  in WCF ho provato a testarlo in IE aprendo il file svc, ma purtroppo ottenevo sempre il seguente errore:
HTTP 404.3 NOT FOUND


La soluzione è stata quella di eseguire (aprendo il command prompt) il comando:
ServiceModelReg.exe  -i

La spiegazione del perchè si debba agire in questa maniera si può trovare in questo post.
Problemi con l'installazione delle Visual Studio 2005 Extensions for Windows Workflow Foundation

Se durante l'installazione delle Visual Studio 2005 Extensions for Windows Workflow Foundation capita che si apra la finesta di installazione di Windows SDK proponendo di
a)riparare quanto installato (cioè Windows SDK), b)modificare i componenti installati dell'SDK, c)disinstallare Windows SDK Tongue Tied  senza comunque installare le extensions (!!!!)[:'(] allora la soluzione è molto sempliceCool:

  1. rinominare il file 'Visual Studio 2005 Extensions for Windows Workflow Foundation (EN).exe' in
    'Visual Studio 2005 Extensions for Windows Workflow Foundation (EN).zip'
  2. estrarre i files dall'archivio e far partire setup.exe
  3. le extensions vengono installate tranquillamente
[OT] Qualcuno placchi Microsoft

Chi segue blogs come quello di Scott Guthrie può già cominciare ad assaporare molte delle novità che arriveranno con la prossima versione di .net e con il prossimo Visual Studio (code name Orcas).
Sono tante sono belle (extension methods, Linq, Automatic Properties per citarne alcune) e non si vede l'ora di poterle provare e quindi lavorarci.
In ogni versione .net cresce, diventa qualcosa di paurosamente grosso e potente e non so se altre tecnologie o linguaggi o ibridi dell'uno e dell'altro stanno seguendo la stessa linea di evoluzione in così poco tempo.
Il problema, da qui il titolo scherzoso di questo post, è per chi si appresta ora ad affrontare lo studio di .net. Conosco colleghi, amici legati ancora ad ASP, VB 6 e all'ambiente COM che vorrebbero buttarsi a capofitto nel mondo gestito, ma sono spaventati, spaventati dal fatto che escono novità in tempi relativamente brevi, confusi da un mondo enorme fatto di release ma anche di prodotti in beta, e soprattutto "a corto di materiale per cominciare".
Già proprio così, il materiale per chi comincia è davvero poco, non perchè non esistono articoli, siti, libri, webcast che introducono all'una o l'altra tecnologia gestita, il problema è che quasi tutte le fonti cominciano a dare .net Framework per scontato, ergo nessuna fonte comincia più dalla definizione di .net, cos'è .net Framework, CLR e conseguente definizione di linguaggio gestito.
La cosa, se vogliamo, è abbastanza normale e naturale (se apro un libro introduttivo su Visual Basic 6 è difficile che trovo capitoli solo su COM) ma al contrario di COM che era percepita come parte fondamentale di TUTTO l'ambiente Windows, solo da poco si comincia veramente a percepire la necessità di .net e di migrare a tale ambiente............., e nel frattempo .net continua a crescere.

Qualcuno placchi Microsoft!!!!!Stick out tongue

Posted: Mar 20 2007, 09:32 AM by mario74 | with 1 comment(s)
Filed under: ,
Integrare il sistema di autenticazione Asp.Net con ASP 3.0

Segnalo questo post davvero interessante che spiega come integrare l'autenticazione di ASP.NET in pagine ASP 3.0.
Viene sfruttata una caratteristica di IIS 6, non presente nelle versioni precedenti (Wildcard Mappings), e devo dire che il processo è abbastanza semplice da implementare.

PS: visto che lo sto leggendo da poco, in base alle prime impressioni appoggio Scott Guthrie nel consigliare questo libro da cui è tratto l'esempio:
      ASP.NET 2.0 Security, Membership, and Role Management

Posted: Mar 08 2007, 10:27 AM by mario74 | with no comments
Filed under: ,
DataObjectAttribute
Chi sviluppa in ambiente gestito conosce bene l'importanza degli attributi e il largo uso che ne fanno le classi del Framework.
Gli attributi contribuiscono a fornire tutte quelle informazioni che costituiscono i Metadata di un’assembly. Inoltre possono influenzare il comportamento di un oggetto sia a run-time, quindi durante l'esecuzione di un programma o addirittura a design-time semplificando il processo di sviluppo.
In questo piccolo tip si può vedere come utilizzare l'attributo DataObject proprio per semplificarsi la vita in fase di sviluppo quando si utilizza l'ObjectDataSource.
IE 6 e IE 7 sullo stesso PC
Uno degli obbiettivi di chi sviluppa in ambiente Web è sicuramente quello di rendere la propria applicazione compatibile con il maggior numero di Browsers possibili, sicuramente con i più diffusi quali IE 6,  IE 7, FireFox e Opera (e questo è già un bel traguardo).
Internet Explorer 7 ha portato sicuramente molte migliorie rispetto a IE 6 anche per quanto riguarda il rispetto degli standard, per questo motivo non sempre una applicazione che "si vede bene" sul nuovo browser sia resa allo stesso modo sul suo predecessore. Allora come fare per poter testare il mio sito web su entrambi i browser e magari sulla stessa macchina?
Una soluzione (ma ce ne sono altre) è installare su una macchina virtuale con Windows Xp sp2 e IE 6 e a tal proposito Microsoft ha rilasciato già da diverso tempo un'immagine per Virtual Pc proprio con questa configurazione. Purtroppo questa immagine smette di funzionare il primo aprile 2007.
Un altra soluzione è installare questo tool che permette di avere sulla stessa macchina diverse versioni di IE dalla 3 in poi, importanti le note finali:

Important Notes:

  • Sometimes IE5, IE5.5 and IE6 crash unexpectedly. 
  • The address bar in Internet Explorer 4.01 does not work. This is due to a missing file "browseui.dll". If you have that file with version number "4.72.3612.1706" let me know. As a workaround, press CONTROL+O and enter the address you want to visit there.
  • Microsoft supplemental EULA says : IF YOU DO NOT HAVE A VALID EULA FOR ANY "OS PRODUCT", YOU ARE NOT AUTHORIZED TO INSTALL, COPY, OR OTHERWISE USE THE OS COMPONENTS AND YOU HAVE NO RIGHTS UNDER THIS SUPPLEMENTAL EULA.
Un consiglio prima di installare questo tool è quello di creare comunque un punto di ripristino del sistema e di tener conto comunque che IE è concepito per girare su una macchina in un'unica versione (io personalmente preferisco la soluzione delle macchine virtuali visto che si rivelano utili per molte altre cose).
Posted: Feb 24 2007, 11:44 AM by mario74 | with 1 comment(s)
Filed under:
More Posts Next page »