venerdì, marzo 14, 2008

Vincitori premio STAGE.IT di Confindustria Padova

Ieri, 13 Marzo 2008, la BEDIN Shop Systems srl e lo studente Eric Miotto sono stati premiati dall'ICT Lab di Confindustria Padova per lo stage a maggiore contenuto di innovazione realizzato nell'anno 2007, nel corso della 3a edizione del premio regionale STAGE.IT.

Ecco il link al comunicato stampa riportato sul sito di Confindustria Padova e su PadovaNews.

Il progetto di stage sviluppato da Eric Miotto in BEDIN Shop Systems srl ha riguardato l'integrazione del web service Amazon.com Simple Queue Service (SQS) in uno smart client basato su piattaforma Microsoft .Net, mediante l'utilizzo di Microsoft .Net Windows Communcation Foundation (WCF).
Oltre ad offrire una soluzione pratica per l'invio di dati in asincrono tramite web services ha avuto anche il pregio di dimostrare il valore aggiunto portato dall'aggregazione di diversi servizi web, basati su piattaforme eterogenee, accomunati dalla condivisione dei meccanismi di interoperazione.

Al completamento del corso di studi di specializzazione Eric Miotto entrerà a fare parte del team di sviluppo della BEDIN Shop Systems.

mercoledì, febbraio 13, 2008

Transaction Isolation

Riporto alcuni link ad articoli che spiegano in dettaglio i livelli di isolamento delle transazioni in SQL Server 2005 e li mettono a confronto:

Altri link utili su System.Transactions e l'interazione con il livello di isolamento:

venerdì, dicembre 07, 2007

PDC 2008

Dopo la cancellazione improvvisa di PDC 2007, Microsoft annuncia le date della prossima Professional Developer Conference 2008, a fine ottobre 2008 sempre a Los Angeles (non potevano cambiare, tipo San Francisco o New Orleans?).

Maggiori informazioni qui e qui. Quali tecnologie saranno al centro di questo PDC?

martedì, dicembre 04, 2007

Sharepoint 2007 ... a support nightmare

Usiamo Sharepoint internamente da sempre. La scorsa primavera decido che era ora di passare alla versione 2007, anche solo per la migliore integrazione con Office 2007.

La migrazione in-place non era un'opzione, era necessario passare ad un server diverso per esigenze hardware e l'idea di lanciare un setup complesso sul server che contiene tutti i dati dei progetti, offerte etc..  non mi rendeva sufficientemente tranquillo. Quindi opto per la database migration, dove qualcosa però va storto. Quindi apro una richiesta di supporto a Microsoft sull'argomento, meglio rivolgersi agli specialisti piuttosto che rischiare di sprecare ore preziose senza la certezze del risultato.

Il caso di supporto è stato aperto il 30 aprile 2007 ed è stato chiuso il 4 dicembre 2007... Già, sono passati 7 mesi.

Senza scendere in dettaglio, sicuramente è stata la più disastrosa esperienza di supporto che abbia vissuto in questi primi 11 anni di collaborazione con Microsoft ed ha inevitabilmente incrinato la mia fiducia nella piattaforma Sharepoint 2007, in quanto il supporto ne fa parte e non è un aspetto da sottovalutare.

giovedì, novembre 22, 2007

ONE-Day by XeDotNet.org

Il prossimo 17 gennaio XeDotNet.org organizza ONE-Day Web Development, un evento di una giornata intera dedicato alle tecnologie web.

Sono aperte le iscrizioni, invito tutti ad iscriversi al più presto.

ONE-Day Web Development (17 Gennaio 2008)

Technorati tags: , , ,

mercoledì, novembre 21, 2007

Multitargeting di Visual Studio 2008 in progetti VB.Net

Il multitargeting di Visual Studio 2008 permette di utilizzare un unico ambiente di sviluppo per realizzare progetti che utlizzano il Framework 2.0, 3.0 o 3.5. In questo modo si possono continuare a sviluppare progetti indirizzati a .Net 2.0 o 3.0 senza il rischio o la nessità di utilizzare nuove librerie ed istruzioni ma beneficiando comunque del nuovo ambiente di sviluppo.

Se, come il sottoscritto, avere perso diversi minuti a capire dove impostare la versione del Framework da puntare nelle proprietà di un progetto VB.Net troverete molto utile questo post di Stefano DeMiliani. In progetti C# questa opzione compare nella prima pagina delle proprietà di progetto, mentre in VB.Net è molto meno visibile, tra le Advanced Compile Options della pagina Compile.

Un interessante post di Corrado Cavalli mette in evidenza un possibile limite alla compatibilità tra l'ambiente di sviluppo Visual Studio 2008 e le diverse versioni del Framework .Net, che vengono corrette con la SP1 sia per 2.0 e 3.0. Da tenere a mente.

martedì, ottobre 02, 2007

SQL 2005: OUTPUT

Sapevate che SQL 2005 ci ha regalato una nuova clausola: OUTPUT.
OUTPUT ha accesso a tabelle con eventi di inserted e deleted (virtual tables) come i triggers.



giovedì, settembre 20, 2007

Cercare il testo all'interno di una Storeprocedure

Può tornare comodo:
DECLARE @StringToSearch varchar(100)
SET @StringToSearch = '%testo da cercare%'

SELECT Distinct SO.Name
FROM sysobjects SO (NOLOCK)
INNER JOIN syscomments SC (NOLOCK) on SO.Id = SC.ID
AND SO.Type = 'P'
AND SC.Text LIKE @stringtosearch
ORDER BY SO.Name



Oppure:
SELECT ROUTINE_NAME, ROUTINE_DEFINITION
FROM INFORMATION_SCHEMA.ROUTINES
WHERE ROUTINE_DEFINITION LIKE '%testo da cercare%'
AND ROUTINE_TYPE='PROCEDURE'

lunedì, settembre 10, 2007

Singleton Forms

Un altro modo per gestire il Singleton Pattern usando i generics:

martedì, agosto 21, 2007

Windows Forms Security

Un pò di info sulla Sicurezza in Windows Form:

Abstract Vs. Interface

Quali sono le differenze tra classi astratte e Interfacce?
Quando usare le prime o le seconde?

Forse questo ci aiuterà:

lunedì, giugno 18, 2007

Learning VB.Net

Raccolgo in questo post alcune risorse online utili per chi desidera iniziare il processo di apprendimento di Visual Basic .Net

Beginner Developer Learning Center, una guida introduttiva a .Net su MSDN
Introduction to VB.NET Object-Oriented Features
Learn VB.Net, interessante raccolta di lezioni su Vb.Net
VB.Net School

Per ora queste possono bastare.

Technorati tags: , ,

mercoledì, giugno 06, 2007

Port Sharing su WCF

In WCF è possibile condividere l'uso di una determinata porta TCP tra più servizi diversi, grazie al Port Sharing.

Questo servizio, denominato Net.Tcp Port Sharing Service è installato con il framework 3.0 ma di default l'avvio è manuale e l'account utente predefinito è LocalSystem. Dopo averlo avviato ed impostato l'avvio in automatico, si può procedere a configurare il resto.

Visto che il servizio Windows (o application pool di IIS) che ospita il nostro/vostro servizio WCF utilizza un account utente che non ha privilegi amministrativi, è necessario abilitare questo account all'accesso tramite Port Sharing.
Per questo è necessario ottenere il SID dell'account utente (ho usato il tool user2sid.exe) ed aggiungerlo alla configurazione del servizio Net.Tcp Port Sharing Service, il file SmSvcHost.exe.config che si trova nella cartella di sistema di WCF, qualcosa come  C:\windows\Microsoft.Net\v3.0\Windows Communication Foundation.
Attenzione!!! Se, come nel mio caso, il sistema operativo è a 64 bit e, di conseguenza, anche .Net 3.0 è a 64 bit, esiste un'altra cartella, del tipo C:\WINDOWS\Microsoft.NET\Framework64\v3.0\Windows Communication Foundation, dove si trova il servizio ed il file di configurazione che entrano in gioco.
Qui trovate le istruzioni per configurare il servizio Net.Tcp Port Sharing Service. Da tenere a mente che le configurazioni relative al canale Tcp presenti in questo file di configurazione hanno il sopravvento su quanto specificato nel file di configurazione del nostro servizio.

Una volta attivato il Net.Tcp Port Sharing Service e consentito l'accesso al nostro account, si può configurare il nostro servizio WCF perchè utilizzi la condivisione della porta. Per fare questo è sufficiente abilitare l'attributo portSharingEnabled della binding configuration:

<netTcpBinding>
<binding name="aTcpBindingName" portSharingEnabled="true">
</binding>
</netTcpBinding>

A questo punto tutto è a posto.

martedì, maggio 15, 2007

Pat Helland is back

Pat Helland è una delle personalità più influenti nel campo della gestione delle transazioni e dei database in Microsoft. Credo di avere letto per la prima volta qualcosa di suo ai tempi di MTS 1.0, molti anni fa.

Dopo avere lasciato Microsoft per due anni passando ad Amazon.com è tornato in Microsoft. Sicuramente una bella notizia in un periodo in cui sono frequenti le notizie della dipartita di personalità di rilievo da Microsoft.

martedì, aprile 10, 2007

WCF Post Action Report

Lo scorso venerdì 6 aprile ho avuto l'occasione di presentare Windows Communication Foundation all'interno del ciclo di meeting di XeDotNet.org sul framework .Net 3.0.

Una esperienza interessante anche se sono molto più felice ora che è passata. Grazie a tutti per l'incoraggiamento e sono soddisfatto di avere riscontrato l'apprezzamento dei presenti (almeno fino a quando non vedrò i risultati dei feedback).

Forse ripeterò l'esperienza in futuro, per ora sono contento di avere dato il mio piccolo contributo al gruppo XeDotNet.org che continua a crescere. Il ciclo di meeting su .Net 3.0 è molto interessante e vi consiglio di partecipare alle prossime riunioni.

venerdì, aprile 06, 2007

Una visita guidata a WPF

Windows Presentation Foundation con XAML (eXtensible Application Markup Language)  per la gestione delle nuove esperienze UI in WIndows:

WMI: Who am I?

Se non lo conoscete eccovi un paio di dritte per introdurvelo:

Reflection: esempi per capire

Ecco un paio di esempi di come usare le reflection nell'analizzare oggetti .NET:

Come usare i Property Grid

Articoletto veloce veloce per capire come utilizzare ed estendere i PropertyGrid (da CodeProject ).

martedì, marzo 20, 2007

Windows Communication Foundation a XeDotNet

Durante il prossimo meeting di XeDotNet.org del 6 aprile terrò una sessione su Windows Communication Foundation.

Se siete interessati ad una introduzione e qualche approfondimento su WCF, iscrivetevi.

L'evento si tiene a Mestre, nella sede ACLI di via Girolamo Ulloa. Se arrivate in treno, la sede si trova all'uscita del sottopassaggio della stazione che porta anche ai binari. 
Per la mappa per giungere al luogo dell'incontro cliccare qui.

L'iscrizione all'evento è gestita direttamente da Microsoft. Questo è il collegamento alla pagina di registrazione.