giovedì 1 luglio 2010

Supporto in ASP.NET per database embedded

Altra novità in arrivo in casa Microsoft dopo IIS Express.

A breve verrà rilasciato una nuova opzione per la scelta del database di una web application asp.net. Sql Server Compact Edition 4 infatti è la nuova scelta gratuita, embedded e compatibile con le API fin qui utilizzate per lavorare in ambiente web application.

Lavora con le API esistenti
SQL CE permette l'utilizzo delle libreria di accesso ai dati .Net attualmente esistenti, ovvero è possibile usare ADO.Net, ma anche Entity framework e NHibernate. Dal punto di vista dello sviluppatore quindi non cambia niente.

Non richiede installazione
E' sufficiente ccopiare la dll nella cartella bin e le pagine asp.net possono cominciare ad utilizzare l'engine del database. Non richiede setup o permessi extra, non è necessario essere amministratori della macchina.

I dati sono salvati in file sul disco
L'engine del database gira in ram insieme con l'applicazione, i dati sono salvati su file (.sdf) che possono essere messi nella cartella App_Data. Quando l'applicazione viene chiusa il datase automaticamente viene chiuso e scaricato.

Hosting condivisi
SQL CE 4 può funzionare in scenari "medium trust", senza che debba essere installato qualcosa sul server del provider. Quindi sarà possibile sviluppare applicazioni che oltre a contenere codice e dati conterranno anche il motore del database e il deployment sarà fatto tramite un trasferimento di file via ftp, nessun altro passaggio extra riguardante database o configurazioni. Niente più pagamenti extra per quote di sql server.

Stored Procedure
Non sono supportate dall'engine di SQL CE 4.

Sarà interessante studiare il comportamento dell'engine all'aumentare delle richieste sicuramente una opzione possibile per la maggior parte dei siti e delle applicazioni, per quelle ad alto volume rimane la necessità di passare a server maggiormente performanti.

Il rilascio della prima Beta pubblica è programmato per la prossima settimana insieme a IIS Express.

martedì 29 giugno 2010

IIS Express

Fino ad oggi lo sviluppo di pagine asp.net si concludeva con un build and run su uno dei due possibili web server:
Il server runtime di Visual Studio
IIS instalalto con Windows

Ogni opzione ha i suoi pro e contro. In conclusione il test avveniva su tutti e due i server, in prima istanza su quello installato da Visual Studio per la semplicità per poi passare a IIS per verificare il funzionamento in un ambiente più simile a quello di produzione.

In breve tempo sarà disponibile una nuova opzione IIS Express che cerca di combinare le caratteristiche migliori dei due. Funziona con VS2010 e con la Express edition, gira su Windows Xp o superiori e non ha bisogno di un account di livello administrator, permette di testare applicazioni asp.net con il set completo delle feature di IIS 7.

Vediamo le opzioni attualmente disponibili.

ASP.NET Development Server
Un tempo chiamato Cassini viene installato con Visual Studio in qualunque delle versioni disponibili. Viene lanciato automaticamnte eseguendo il run dell'applicazione.
E' leggero e veloce, non richiede una porta disponibile in quanto non è in ascolto, non richiede account amministrativi e non richiede un'installazione separata. Basta premere F5 è il server parte.
Nn supporta tutto ils et di feature di IIS ad esempio non supporta l'SSL e le regole di URL rewriting ed altre caratteristiche del server maggiore.

IIS Web Server
E' possibile configurare Visual Studio per utilizzare IIS per testare le applicazioni asp.net, è necessario configurare il singolo progetto in modo che venga tirato su IIS al posto di Cassini che è il web server di default. Per fare questa configurazione si clicca con il tasto destro sul web project, si ssceglie proprietà e quindi il tab web, si seleziona il checkbox "Use Local IIS web Server". IIS permette di usare tutte le possibilità che il web server rende disponibili nell'ambiente di produzione.
Non sempre è disponibile sui pc utilizzati per lo sviluppo, richiede account amministrativi, una certa esperienza per poterlo utilizzare, e infine ne esistono diverse versioni a seconda della versione di Windows di cui si dispone.

IIS Express
L'obiettivo è combinare i vantaggi delle due opzioni attualmente disponibili, quindi un web server leggero, veloce che non abbia bisogno di particolari configurazioni sulla amcchina ne di account amministrativi. Un web server che abbia tutto il set di capacità disponibili in ambiente di produzione, che possa essere instalalto insieme alla versione completa di IIS e a Cassini senza entrare in conflitto con essi. Comparabile con la versione 7.x di IIS. Integrato con Visual Studio 2010.

Non resta che aspettare che venga resa disponibile la prima Beta.

mercoledì 12 maggio 2010

Cucina futurista

* abolizione della pastasciutta, assurda religione gastronomica italiana in quanto antivirile perchè uno stomaco appesantito non è mai favorevole alla sanità, all'agilità e alla freschezza dell'intelletto e del fisico;
* abolizione del volume e del peso nel modo di concepire e valutare un alimento;
* abolizione delle tradizionali miscele per l'esperimento di tutte le nuove miscele, apparentemente assurde;
* abolizione del quotidianismo mediocrista nei piaceri del palato e di tutti gli altri sensi che comporta: abolizione delle posate per moltissimi dei piatti preparati, l'uso dei profumi per favorire la degustazione; l'uso della musica negli intervalli tra una vivanda ed un'altra per non distrarre il palato; l'abolizione del parlare a tavola; l'uso della poesia per accendere con la loro intensità sensuale i sapori di una vivanda, stimolare la curiosità la sorpresa e la fantasia con la presentazione delle diverse vivande; bocconi che contengano dieci- venti sapori diversi da gustare in pochi attimi; l'uso di strumenti scientifici (ozonizattori, apparecchi a raggi ultravioletti, ecc.) per esaltare il sapore dei cibi;
* abolizione delle parole, degli usi, delle consuetudini che ricordino, anche se pur vagamente, tutto ciò che non è italiano;
* abolizione delle dosi per preparare le vivande perchè la dosatura deve eccitare la fantasia inventiva del cuoco e perchè un errore del cuoco può suggerire delle nuove vivande.

mercoledì 14 aprile 2010

Un nuovo inizio

Un'applicazione Android è composta dai seguenti 6 blocchi fondamentali, non tutti sono sempre presenti.

Activities
E' possibile immaginarlo come il presentation layer dell'applicazione. Ogni screen dell'applicazione estende la classe Activity. Le Activities usano le View per costriuire l'interfaccia utente e rispondere alle azione dell'utente. L'Activity è l'equivalente della Windows Form per quanto riguarda lo sviluppo desktop.

Services
Sono componenti che girano in background. Vengono usati per compiere operazioni regolari necessarie anche nel caso non ci siano Activity visibili o attive

Content Providers
Componenti usati per gestire le fonti dei dati. Si possono utilizzare anche per scambiare dati tra applicazioni diverse. I Device espongono una serie di providers nativi tipo il media store o l'archivio dei contatti.

Intents
E' un framework per lo scambio di messaggi tra applicazioni. Si può utilizzare per segnalare l'intenzione di compiere operazioni ad un'activity o ad un service

Broadcast Receiver
Sono i consumatori di Intents. Creando e registrando un broadcast receiver l'applicazione può ascoltare per un intents che deve compiere un compito specifico. Possono attivare applicazioni e sono il componente principale nella realizzazioni di applicazioni event-driven

Widget
Componenti visuali che possono essere aggiunti alla home. ono particolari tipi di Broadcast receiver che eprmettono la realizzazione di applicazioni che gli utenti possono aggiungere alla loro home

Notifications
Le notifications permettono di segnalare agli utenti senza togliere il focus dell'applicazione corrente. Sono la tecnica migliore per prendere l'attenzione dell'utente in risposta a servizi o a broadcast receiver.

Dispenso dispense

Mi è capitato di tenere delle lezioni all'università, due sono già andate rimane da preparare la terza.

Questi gli argomenti presentati

Html base

Form e oggetti multimediali

mercoledì 10 febbraio 2010

Poi dici che è meglio Firefox

Il caso di oggi:

pagina perfetta e testata su Chrome, Firefox, Safari e Internet Explorer 7. Presentazione davanti al boss il quale tira fuori uno splendido Vaio nuovo con Internet Explorer 8 e Windows 7. La pagina non visualizza due iframe: "Il sistema deve funzionare con tutti i browser non solo quelli che decidete voi"... "Ha ragione" testa bassa e di nuovo in ufficio.

Dopo vari tentativi di capire il problema arriva il sospetto che sia un problema di impostazioni, avevamo trascurato una insignificante finestra, una di quelle che clicchi su Si in automatico.

Nel passaggio dalla versione 7 alla 8 la finestra con il messaggio: "This page contains both secure and nonsecure items" è cambiata. Nella versione 7 se desideravi vedere tutta la pagina sia i contenuti sicuri che quelli non sicuri bisognava cliccare su Si. Nella versione 8 invece bisogna cliccare su No. Grazie Microsoft.

Le soluzioni per evitare la finestra di avviso sono 3:

1) usare solo https se è possibile

2) cambiare i link da http://www a //www

3) usare solo link relativi