mercoledì, novembre 12, 2008

Windows Azure Storage <> SQL Data Services

Sto iniziando a capire e provare le tecnologie del mondo Azure e mi sono reso conto di avere frainteso alcune cose relative all'uso del database in the cloud.

servicesPlatform

SQL Data Services o SDS, prima conosciuto come SQL Server Data Services, è l'unico servizio presente al momento nei SQL Services. In un prossimo futuro si aggiungeranno Reporting ed Analysis Services.
SDS si basa sul concetto di Authority, Container ed Entity. L'accesso è via SOAP e REST ed al momento non mi sembra ci sia un provider LINQ per accedervi.

Windows Azure Storage è parte di Azure ed è quindi sempre disponibile per ogni applicazione ospitata nella cloud Azure. Comprende le funzionalità di gestione tabelle, blob e code.
L'accesso a table storage service (TSS) di Azure può essere effettuato con un provided LINQ.

Secondo la documentazione, la differenza tra i due è questa:

Windows Azure Storage Service is designed to be the lowest cost, most efficient solution for large scale data storage and retrieval in the cloud. It can store blobs, queues, and simple tables (non-relational). SQL Services is designed to bring the power of relational databases into the cloud and will provide rich querying over tables.

SDS è un servizio aggiuntivo, probabilmente basato ed integrato con Azure, mentre TSS è incluso in ogni applicazione Azure.

giovedì, ottobre 30, 2008

PDC2008 is over

L'edizione 2008  di PDC è volata via, anche troppo velocemente forse.

Il simposio sui cloud service di Gianpaolo Carraro ed Eugenio Pace di oggi ha aggiunto nuova chiarezza alla visione del cloud computing annunciata da Microsoft. Tutto è molto più chiaro ora, se solo fosse stato Carraro a tenere una keynote ...

Ora mi metto in viaggio per l'aereoporto, dove continuerò il mio viaggio americano.

mercoledì, ottobre 29, 2008

Ok, Azure è meraviglioso

Ci sono voluti due giorni per capire qualcosa di più dalle keynote meno intense della mia personale storia di PDC (2000, 2003 e 2005).
Nelle sessioni del pomeriggio del secondo giorno credo di avere finalmente compreso la maginificenza e complessità di Windows Azure, il sistema su cui vorrei iniziare subito a portare le mie applicazioni.

image

Non provo nemmeno a descrivere cosa è Azure, ci sono be altri blog che hanno ben commentato la scommessa sul futuro di Microsoft.

martedì, ottobre 28, 2008

Don Box to the rescue?

Secondo giorno di PDC.

Dopo l'annuncio di Windows Azure e lo spostamento di Microsoft verso il cloud, messaggio tanto importante quanto sommesso ed inadatto è stato il tono, la seconda giornata inizia con la presentazione di Windows 7 e di una serie di interessanti features, a patto che siate utenti home o ISV che hanno nel consumer il loro principale mercato.

Ora Don Box è l'unica speranza per ottenere chiarezza su Azure ed il futuro? Boh.

giovedì, ottobre 23, 2008

Domani si parte

Domani parto per Los Angeles per partecipare a PDC 2008 che inizia domenica i partecipanti alla PreConference. Io seguirò la PreCon su WPF.

Il rapido volo da Venezia - Francoforte - Los Angeles complessivamente durerà dalle 7:10 alle 24:00 circa. A Los Angeles saranno le 15 ma poco importa ...

giovedì, settembre 25, 2008

UserInstances after SQL Express 2008?

Non avevo colto questo dettaglio nella documentazione di SQL Express 2008 fino a quando un collega me lo ha fatto notare.

La versione 2008 di SQL Server Express Edition (SSEE) 2008 è l'ultima a supportare le UserInstances, funzionalità che consente l'uso di database locali in una instanza privata di SQL Server.
Il beneficio principale è di non richiedere privilegi amministrativi all'utente per creare e manipolare un database, privilegi altrimenti necessari per accedere alla instanza di default di SQL Express.

La funzionalità UserInstances è nota anche come Run As Normal User (RANU) e fa il paio con la tecnologia distributiva ClickOnce, che permette la distribuzione di applicazioni che vengono installate per l'utente corrente senza richiedere privilegi amministrativi. 
Nello sviluppo di uno smart client ClickOnce e SSEE 2008 via RANU affrontano coerentemente l'esigenza di un basso costo/complessità di deployment.

This feature will be removed in a future version of Microsoft SQL Server. Avoid using this feature in new development work, and plan to modify applications that currently use this feature.

Così recita la documentazione. Se si vuole usare un database engine più vicino possibile ad un comportamento "embedded", garantito fino ad ora dalla funzione RANU, bisogna iniziare a cercare un'alternativa. Di certo SQL Compact Edition non ci arriva nemmeno vicino.

La funzionalità verrà semplicemente rimossa eliminando degli scenari possibili e finora supportati o verrà sostituita con qualcos'altro?

Se ne parla in questo post nel MSDN forum di SQL Server Express.

martedì, settembre 09, 2008

Deployment di SSEE 2008 in Visual Studio 2008 SP1

Visual Studio 2008 SP1, tra le tante funzionalità, ha introdotto il supporto a SQL Server 2008, compresa la versione Express (SSEE). SSEE 2008 richiede la presenza di Windows Installer 4.5.

Ogni applicazione che vuole utilizzare SQL Express può includere SSEE 2008 e Windows Installer 4.5 in un programma di setup dei prerequisiti. Nel mio caso, un'applicazione distribuita via ClickOnce , ci si aspetterebbe di trovare i bootstrapper che ne consentono la distribuzione elencati tra i Prerequisites. Invece non ci sono, lo sviluppatore deve creare il package per il prerequisito autonomamente, con il Bootstrapper Manifest Generator, come discusso in questo thread su MSDN.

Il SP1 di Visual Studio 2008 è uscito (non a caso) in concomitanza con SQL Server 2008 e tendo a pensare che sia comune l'esigenza di utilizzare e distribuire SSEE 2008 con la propria applicazione. Quindi quanto sforzo doveva impiegare Microsoft per fornire nel SP1 il supporto alla distribuzione di questo servizio, invece di lasciare l'onere agli sviluppatori?

Il problema non si presenta agli utenti di Visual Studio 2008 Express che trovano il elenco i nuovi prerequisite packages in elenco con l'applicazione del SP1, tutte le altre versioni di Visual Studio 2008 invece ne sono sprovvisti.

Inoltre ci sono delle potenziali difficoltà nell'utilizzo del Prerequisites package di .Net Framework 3.5 SP1. Ma come? nella SP1 non hanno testato a fondo la distribuzione della SP1?

Questo ed altri elementi mi fanno pensare che Microsoft dedica scarsa attenzione alle esigenze di deployment, soprattutto nel mondo degli smart client.

Ho sottomesso una richiesta su Connect per chiedere una refresh di Visual Studio 2008 SP1 (non succederà mai) o almeno la distribuzione dei nuovi prerequistes per le tecnologie introdotte, una volta per tutti gli sviluppatori.
Se questo problema vi sembra rilevante, aumentate l'importanza della mia segnalazione, ecco il link:
https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=366818

UPDATE: Sul SQL Express WebLog è pubblicata una "soluzione" al problema che prevede di installare VS 2008 sP1 Express sulla propria macchina di sviluppo. La versione Express infatti aggiunge il bootstrapper per SSEE 2008. Sarò incontentabile, ma questo episodio proprio non mi è piaciuto.

venerdì, luglio 11, 2008

I'm going to PDC 2008

Blog Bling BrainAvrò la fortuna di partecipare al prossimo PDC 2008 e proprio oggi mi sono registrato.

Dopo i molti dubbi ed un insolito scetticismo mi sono convinto che l'utilità dell'evento sarà di gran lunga superiore al costo (non indifferente nonostante il cambio favorevole) sommato al rischio di partecipare ad un evento riparatore (PDC 2007).

Sapere che Don Box è coinvolto nella scelta di circa un quarto delle sessioni di questo PDC sicuramente mi ha convinto che la rilevanza di questa edizione, tanto attesa quanto travagliata, sarà eccezionale. Speriamo bene.

PDC parla al cervello dei partecipanti ma anche al cuore ed alla pancia (e non parlo del meraviglioso catering).  La componente emotiva ed irrazionale è presente e la grandiosità dell'evento la alimenta.
La keynote con Ray Ozzie sarà un grande cambiamento, già avvenuto nella realtà con la recente uscita di Bill Gates ma non ancora "ufficializzato" nella storia del più importante evento Microsoft rivolto agli sviluppatori .

mercoledì, maggio 28, 2008

PDC 2008, prime informazioni

Sono stati annunciati i primi dettagli riguardo alla Professional Developer Conference 2008, che si terrà a Los Angeles dal 26 al 30 Ottobre 2008.

Su http://www.microsoftpdc.com si può già vedere una lista preliminare delle sessioni previste per l'edizione 2008 della più importante conferenza per sviluppatori in ambiente Microsoft.

Gli argomenti sono invitanti, si parlerà di Windows 7 e dei servizi Live.
Però il mio crescente scetticismo (a mia discolpa faccio notare che sono tra chi si è appassionato a WinFS, ObjectSpaces, MBF, tutte vittime da PDC) mi porta a valutarne i contenuti soppesando la (remota) possibilità che si tratti di una PDC riparatrice per la rocambolesca cancellazione dell'edizione 2007 oppure che sia pensata con un intento più politico che un intrinseco contenuto tecnico. Aspetto di sentire qualche parere informato da parte degli MVP italiani.

Sarà anche la prima PDC di Microsoft 2.0 senza Bill Gates.

venerdì, aprile 18, 2008

Hosted Exchange E-Mail and Services

Questo episodio mi ha fatto riconsiderare il costo di gestione del mio server Exchange che serve meno di 10 utenti. Come Partner ne abbiamo la licenza come privilegio annuale ma consideriamo questi elementi:

Migrazione.
La migrazione all'ultima versione 2007 di Exchange è inesorabilmente all'orizzonte. Disponibile solo a 64bit e con discreti requisiti di memoria, obbliga a cambiare server nonostante l'impegno rimanga lo stesso.

Manutenzione.
L'applicazione di Service Pack ed hotfix richiede più o meno lo stesso tempo per un server che supporta una realtà piccola o grande. Lo stesso vale per il Windows Server su cui è operativo Exchange.

Impegno server.
Gestione di un server praticamente dedicato ad Exchange per minimizzare i side effect di hotfix e service pack che si possono verificare in presenza di altro software.

Spam e virus.
Il costo in termini di traffico di rete, occupazione CPU e canoni annuali di software antispam ed antivirus per il server (noi usiamo GFI). Considerando che circa il 98% del traffico di posta è costituito da SPAM questi sistemi sono necessari.

La soluzione a questi problemi potrebbe essere Exchange Hosted E-Mail e Exchange Hosted Services.
Alcuni Partner Microsoft sono in grado di offrire Exchange come servizio, per il quale si paga un canone proporzionale al numero di utenti ed al volume di posta gestita. 
Microsoft offre direttamente una serie di servizi agguntivi  tra cui il filtraggio (antispam, antivirus, filtro per contenuti), archiviazione e continuità del servizio, servizi utilizzabili con qualsiasi server di posta, sia in modalità hosted o gestito direttamente.

Credo che anche nel mio caso, in cui non ci sono i costi di licenza di Exchange da considerare, un servizio hosted potrebbe essere economicamente conveniente.

Notifiche da Sharepoint 2007 via Exchange 2003

Dopo avere vissuto diversi problemi nella migrazione da una installazione basilare di Sharepoint Portal 2003 a Sharepoint 2007, ho lasciato passare alcuni mesi ed ho ritentato la migrazione graduale (volendo cambiare server e database), che questa volta ha avuto successo ed è andata come previsto, più o meno.

Con l'uso di Sharepoint 2007 mi sono accorto che non sono in grado di aprire in Outlook 2007 i messaggi di notifica del server.

In un primo momento ho pensato si trattasse di un problema locale, infatti altri utenti non hanno riscontrato lo stesso problema. La prima ricerca su Google trova alcuni articoli che affrontano il problema.

KB 930807: You cannot open a SharePoint Server 2007 notification message in Outlook 2007 when your mailbox is on an Exchange 2003 server

Si tratta di una incompatibilità tra Sharepoint 2007 ed Exchange 2003 che ne rende illeggibili i messaggi quando il client Outlook 2007 opera in modalità cached, salvando in locale i messaggi. La soluzione è applicare una hotfix ad Exchange 2003, dopo avere aggiornato il server a SP2.

Chi usa un portatile tende ad utilizzare la modalità cached, oltre ad essere l'impostazione di default nell'installazione di Outlook 2007, e quindi non sembra uno scenario così raro da non essere contemplato.

Che dire, Sharepoint 2007 continua ad essere fonte di inaspettate sorprese ;-)

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: