Roberto Brunetti

ASP.NET - Mobility
Team System

SharePoint Conference

.NET Programming

Corsi

SharePoint

maggio 2007 - Posts

SQL Server Conference 2007

Chiusa una conferenza se ne apre un'altra: SQL Server Conference 2007 ci vedrà coinvolti come speaker in varie sessioni.

Per chi non ha partecipato all'edizioni 2006 ecco un breve testo di introduzione alla filosofia dell'evento.

 

SQL Server Conference 2007 è un evento di approfondimento su Microsoft® SQL Server 2005 che si terrà dal 12 al 14 giugno 2007 presso il centro congressi di Microsoft a Segrate (MI). Giunto alla seconda edizione, l’evento di quest’anno passa da 2 a 3 giornate e può così offrire una proposta più ampia di sessioni completamente tecniche.

Il sito della conferenza è http://www.sqlconference.it: vi si trovano agenda, descrizione sessioni e contenuti, biografie degli speaker, logistica e istruzioni per l’iscrizione.

Non ci saranno introduzioni o presentazioni marketing ma esclusivamente trasferimento di esperienza e conoscenza sul prodotto. Gli speaker sono professionisti che usano SQL Server 2005 fin dalle prime versioni beta e hanno già acquisito una solida esperienza di uso sul campo.

La conferenza è organizzata in due track parallele nelle prime due giornate e un track unico con 4 sessioni nella terza giornata, per un totale di 24 sessioni tutte di livello medio e avanzato, senza sessioni introduttive.

Durante la terza giornata ci sarà un’occasione unica di interazione con alcuni tecnici di Microsoft: oltre a persone del team di supporto ai prodotti (SQL Server e Analysis Services), interverrà Stefano Stefani, membro del team di sviluppo di SQL Server a Redmond. Stefano verrà in Italia appositamente per questo evento parlando di ottimizzazione delle query e partecipando a un panel di discussione sul prodotto ricco di domande e risposte con il pubblico.

Iscrivendosi entro il 15 maggio 2007 è possibile usufruire di una tariffa scontata.

Argomenti trattati

  • SQL Server “core”
    • motore relazionale
    • supporto a CLR
    • supporto a XML
  • SQL Server Compact Edition
  • Data Warehouse
  • Data Mining
  • Analysis Services
  • Integration Services
  • Reporting Services
  • Service Broker
  • Notification Services
  • Visual Studio Team System DB Pro
Longhorn -> Windows Server 2008

Longhorn perde il suo codename e diventa Windows Server 2008. Disponibile la Beta 3 in Evaluation:

http://msdn2.microsoft.com/en-us/evalcenter/bb383571.aspx

VSTS 2005 for DB Professional update

Il 5/5 è uscita la CTP2 della Service Release 1 (fra un po' faremo dei corsi sui nomi delle versioni dei prodotti :-)) di VSTS for DB Pro.

In questa CTP:

 

1) Cross-database references: nei progetti si possono referenziare oggetti di database differenti rispetto al DB Project. L'obiettivo è ridurre i warning durante il salvataggio e il deploy del DB Project.

2) Supporto per file e file group come proprietà del database. Questo evita la gestione di queste informazioni dagli script di pre-deployment che creano un po' di "casini" nella versione attuale.

3) Variabili: è possibile utilizzare SETVAR negli script di deployment per definire variabili agganciate alle proprietà del progetto.

4) Supporto per Windows Vista e SQL 2005 SP2.

 

Il download: http://www.microsoft.com/downloads/details.aspx?familyid=E6E941E8-AA74-48ED-9252-82E7F142F3EA&mg_id=10120&displaylang=en

 

Per l'installazione prima disinstallare la SR1 (se l'avete installata"), poi reinstallare la versione orifinale (senza SR1) e poi questa versione.

[OT] I traduttori automatici...

Stavamo facendo gli ultimi modifiche al sito per chiudere le iscrizioni a DevCon 2007 e per sbaglio ho premuto il pulsante di traduzione della pagina da Google.

Volete sapere le sessioni più interessanti :-)

 

DBS02 Può lo SQL comprimere l'edizione effettua una singola occhiata record con le file 100K in 0.01 sec? Sicuro!

TEC02 Nozze 2007 di SharePoint con il fondamento di Workflow

LAN01 Che cosa è la fila di destra per LINQ?

Ma questa non ha eguali:

Il grippaggio del fondamento di presentazione di Windows ha rivelato

Anche questa non è male

Generics di potenza d'una leva oggi, lambda-espressioni e metodi di estensione domani

E ovviamente tutte le sessioni saranno tenute dagli altoparlanti :-) 

 

Se volete la traduzione completa: http://translate.google.com/translate?sourceid=navclient&hl=it&u=http%3a%2f%2fdevcon%2edevleap%2ecom%2fagenda%2easpx

Visual Studio Orcas for Mobile Dev

Prime  impressioni sulla Beta1 di Orcas.

Ho installato il tutto su una macchina VMWare dedicando 1.4 GB alla Virtual Machine memore della quantità di memoria che "ciucciava" la CTP di Marzo.

Dalle prime prove mi sembra molto più snello e non supero quasi mai il primo GB di memoria: non c'è paragone neanche sulla velocità.

Nella mia installazione non appariva la toolbox e neanche la tollbat Standard: basta ovviamente attivarle e appaiono.

Nella virtual machine VPC scaricabile (ho preso la versione con VSTS e TFS) non c'è ActiveSync, quindi ho montato la 4.5. Manca anche il Windows Mobile 6.0 SDK come segnalato nei post precedenti: a MEDC hanno confermato che non ci sarà neanche nella versione finale e va installato a parte.

Il .NET CF 3.5 adesso installa le stringhe di risorse sul device/emulatore tramite un nuovo cab denominato NETCFv35.Messages.EN.CAB che si trova sotto x:\program files\Microsoft.NET\SDK\CompactFramework\v3.5\windowsce\Diagnostics.

 

La creazione di un nuovo progetto presenta una nuova maschera, simile a quanto avveniva in VS 2003: non si sceglie il progetto dall'alberino delle varie solution disponibili, ma è sufficiente scegliere Smart Device: una volta scelto il tipo di progetto in una seconda maschera si sceglie la tipologia di piattaforma e poi la versione del .NET CF da utilizzare per le reference e per la distribuzione del runtime sul device. Si può optare per .NET CF 2.0 o per .NET CF 3.5.

N.B. le immagini incluse sono ridotte come dimensione: accanto ad ognuna il link verso la dimensione reale.

 

Questa la prima maschera:

Come si nota le piattaforme per cui è installato nativamente l'SDK sono Pocket PC 2003, Windows CE, Windows Mobile 5.0 for Pocket PC e SmartPhone.

Una volta scelta la piattaforma si sceglie la versione del .NET CF da utilizzare:

 

 Dopo la scelta della versione del .NET CF, come sempre scegliere Device Application, Class Library e così via per creare il tipo di progetto.

 

Il designer delle Windows Form (visto che WPF non è disponibile sul .NET CF 3.5) si presenta molto simile al precedente: si può scegliere il form factor da assegnare ad ogni form e ruotare lo schermo del designer come nella versione 2005 di VS.

 

Anche la toolbox si presenta più o meno identica. Questo l'elenco dei controlli:

 

 

La configurazione dell'emulatore da Visual Studio prevede quanto conosciamo con l'attuale Device Emulator 2.0 e consente la gestione del livello della batteria: questa funzione risulta molto comoda per testare un'applicativo power-aware (come dovrebbero essere tutti): è inutile lanciare una operazione lunga di analisi sui dati, ad esempio, se resta il 2% di batteria.

 

 

Molto interessante il nuovo Device Configuration Manager, primo fra gli strumenti per facilitare la configurazione di device e emulatori: ad oggi è necessario comporre i file .xml di provisioning e "installarli" tramite rapiconfig.exe. Con questo nuovo strumento risulta molto semplice leggere la configurazione, modificarla e vedere le differenze fra la configurazione desiderata e quella attuale. Si possono importare anche i nostri file di provisioning esistenti per una facile migrazione al nuovo strumento.

 

 

Risulta molto semplice così testare l'applicazione firmata o non firmata sulle varie configurazioni dei device One-Tier, Two-Tier, Locked, Prompt e così via.

Tramite questo strumento è possibile visualizzare i certificati digitali installati su device e emulatori, installarne di nuovi e verificarne i dettagli. Una nota, i nomi dei certificate store sono cambiati: non abbiamo più il privileged e unprivileged, ma Privileged Store e Standard Store, dove il secondo rappresenta lo store per i certificati con cui le applicazioni possono girare in normal-mode su device two-tier.

 

 

Il .NET CF Remote Performance Monitor consente, nella nuova versione di fare un "attach to process" rendendo più semplice l'analisi di una porzioni di applicazione: la versione attuale deve lanciare l'applicazione e quindi ci costringe a visualizzare i dati complessivi di tutta l'applicazione fino a raggiungere il punto in cui si desidera effettuare le verifiche. La parte device-side viene installata in automatico dallo strumento senza bisogno di copiare manualmente i file nella directory \Windows: qualche problemino sulla mia Beta non consente di eseguire questa operazione in automatico e quindi ho dovuto comunque copiare i file a mano. I nuovi file device-side hanno nomi diversi dai precedenti e più precisamente sono: rtf3_5.dll e rtfhost3_5.exe. Tali file si trovano sempre nella directory dell'SDK del .NET CF 3.5 x:\program files\Microsoft.NET\SDK\CompactFramework\v3.5: ricordatevi di scegliere poi la directory corretta in base al processore del device; per gli emulatori si utilizza sempre la versione ARM.

Nella prossima immagine la directory con gli strumenti lato PC di sviluppo. Oltre al .NET CF RPM, troviamo LogViewer, già presente nella versione 2.0 SP1/SP2 e due nuovi strumenti:

 

 

Il primo NETCFCLRProfiler è una versione ridotta (e per la verità anche diversa) del Profiler del Framework completo. Consente di analizzare nel dettaglio un'applicazione in esecuzione: anche in questo caso ci si può "attaccare" ad un processo già avviato e l'installazione delle dll lato device è automatica (come sempre sono sfigato e ho dovuto copiare a mano clrpro3_5.dll sul device). Lo strumento visualizza anche sotto forma di flusso grafico le chiamate fra i vari metodi consentendo una semplice (si fa per dire quando si parla di profiling in generale) individuazione dei punti della call stack che possono dare problemi.

Il compact frameowrk 3.5 arriva con qualche dll in più per supportare LINQ e WCF (sempre in versione ridotta: entrambi sono c.a. 250KB come obiettivo nella versione finale) e i nomi dei cab sono stati leggermente rivisti.

 

 Nella System.ServiceModel si trovano le "porzioni" del motore di WCF e il binding basicHttpBinding, mentre in Microroft.ServiceModel.Channels.Mail.* il nuovo canale (non disponibile in WCF su desktop) WindowsMobileMailBinding che consente lo scambio di messaggi SOA sfruttando il canale della posta elettronica fra device (Pocket Outlook) e  Exchange 2007; ricordo che Exchange 2007 supporta il push dei messaggi verso il device.

Come sempre le sottodirectory wce400 e wce500 contengono i cab per l'installazione reale su device o emulatore in base alla versione del sistema operativo. Ricordo che Windows Mobile 6.0 si basa sempre su Windows CE 5, per precisione sulla 5.2.

System.Data.Entities contiene invece le parti applicative dell'entitiy framework, mentre il provider è contenuto sotto System.Data.SqlServerCe.Entitiy.dll che arriva con l'installazione di Sql Server Compact Edition 3.5.

SQL CE 3.5 arriva con qualche piccola novità per i device e con grandi novità su utilizzato su desktop, Tablet o UMPC.

La directory di installazione sul pc di sviluppo è x:\program files\Microsoft SQL server Compact Edition\v3.5 e si presenta così:

 

Come accennato, entity framework viene reso disponibile tramite System.Data.SqlServerCe.Entity, ma solo se utilizzato su PC, Tablet o UMPC: non è quindi disponibile per Windows Mobile.

L'installazione prevede diversi componenti:

1) SSCEVSTools-ENU.msi: installa i componenti design-time in Orcas sotto la classica directory x:\program files\microsoft visual studio 9\Common7\IDE. Questi componenti non devono essere distribuiti

2) SSCERuntime-ENU.msi: installa i componenti di runtime per desktop, tablet e UMPC. Sono indispensabili sia a runtime che a design time. Questo MSI installa anche i nuovi componenti per la versione desktop di SQCE 3.5: Microsoft Synchronization Services for ADO.NET (OCS) e la già citata System.Data.SqlServerCe.Entity.dll.

3) SSCEDeviceRuntime.msi: installa i componenti destinati ai device e emulatori sulla macchina. Questi componenti sono necessari per l'integrazione con VS Orcas anche sulla macchina di sviluppo.

Le novità che abbiamo bollato come minori (rispetto appunto a EntityFramework e OCS) riguardano soprattutto il query processor :

- data type di tipo timestamp

- nested query

- CROSS apply e OUTER APPLY

- CAST

- TOP (finalmente !!!!!) diventa così più semplice paginare i dati per la loro visualizzazione nei minuscoli schermi

Oltre a OCS e Entity Framework, SQL CE 3.5, se utilizzato sul desktop, fornisce la possibilità di rientrare in una transazione creata con la System.Transaction 2.0: in due parole una operazione su SQL CE 3.5 può essere inserita all'interno del TransactionScope.

I Book On Line non sono ancora disponibili.

Abbiamo accennato nei post precedenti come in Visual Studio Orcas sia possibile effettura Unit Testing su device (o emulatore): credo che questa funzionalità, affiancata dal nuovo .NET CF RPM e dal profiler, siano le novità più importanti e utili della nuova versione.

Tra l'latro in Orcas gli strumenti di Unit Testing non sono più all'interno di Team System, ma disponibili nella versione Professional, almeno a quanto ci è dato sapere oggi.

Ecco le maschere di crezione di uno unit test, praticamente identiche (tranne un settaggio) a quanto oggi disponibile in VSTS:

 

 

 

Nella seconda immagine, come si può notare, la configurazione degli host prevede il tipo Smart Device con relativa piattaforma e scelta fra device e emulatore.

Se si crea una performance session su uno Unit Test il codice viene fatto girare sul desktop.

Anche senza l'automatismo in VS Orcas, oggi è possibile eseguire unit test su codice mobile, creando un progetto desktop con i sorgenti mobile linkati al suo interno e oppure compilazioni condizionali nel caso in cui il codice faccia uso di dispositivi, tipo lettore di codice a barre ad esempio, non disponibili sul desktop. Fra qualche giorno posso postare un mio articolo, scritto per Infomedia, proprio su questo argomento. La demo allegata all'articolo è già disponibile sul mio sito Think Mobile all'indirizzo http://thinkmobile.it/files/folders/mmdcii/entry5896.aspx.

Il nuovo Device Emulator 3.0 si presenta così:

 

 

A parte la user interface pressochè identica, è possibile salvare la configurazione degli emulatori con Save As e riconfigurare l'emulatore. Il file di configurazione (.defcfg) è anche molto semplice da modificare a mano per cambiare al volo qualcosa senza ricorre alla user interface e soprattutto per poter scambiare la configurazione degli emulatori fra i membri di un team di sviluppo senza doverla ricreare su ogni PC di sviluppo.

 

 

Dopo la nostra DevCon 2007 proseguiamo con SQL CE 3.5 e soprattutto con LINQ e WCF su mobile.

Alla prossima.

Posted: mag 11 2007, 12.15 by rob | with no comments |
Orcas Beta 1 for Mobile Developers Screenshot

Ho pubblicato sotto http://thinkmobile.it/photos/orcas/default.aspx gli screenshot di alcuni nuovi strumenti (o di alcune modifiche alla UI rispetto a VS 2005) di Visual Studio Orcas Beta 1 che riguardano lo sviluppo mobile.

Seguirà un post più dettagliato con la spiegazione di ogni immagine, dopo la nostra conferenza.

Upgrade to Orcas Beta 1

In preda al fuso orario dopo la trasferta a Las Vegas, ho tentato l'impossibile...che alla fine è invece risultato possibile.

Sulla VM con Orcas Beta1 appena installata ho provato l'upgrade della nostra applicazione multi-layer (71 progetti nella stessa solution con dentro tutto: WPF, WCF, BIZ, DAL, Factory, MSMQ, Broker, Mobile, UI Layer, etc etc).

Tutto è venuto su senza problemi !!!!

La testimonianza quì: http://devlab.devleap.it/RobertoB/EstatesManagement30/upgradelog.xml. E' l'upgrade log di VS Orcas. Ci sono solo due errori di conversione su 2 progetti. Qualcuno dirà...vedi che non viene su tutto....la colpa però è mia: i due progetti in questione sono stati creati per Windows Mobile 6.0, e sulla macchina Orcas non ho ancora montato il relativo SDK.

E incredibile è che compila, i diagrammi di VSTS completi funzionano e mi sembra anche leggermente più veloce la loro visualizzazione. 

Non ci avrei scomesso una Lira :-)

Windows Mobile 6.0 e AJAX

Molti sono i miglioramenti in Internet Explorer su Windows Mobile 6.0, primo fra tutti il supporto per AJAX che si può riassumere in:

1) Supporto per prototype (method/value) anche conosciuto come "expando"

2) document.createElement

3) Aggiunta e rimozione di elementi dal document tree

4) Feature detection dei metodi esposti dagli script

IE Mobile 6 (6.12 per esattezza) supporta anche molte delle feature di ASP.NET AJAX. Il problema è che se provate anche la pagina più semplice con ASP.NET AJAX su IE 6 Mobile non funziona nessuna delle caratteristiche :-)

L'arcano è semplice da spiegare: ASP.NET 2.0 non conosce IE 6 Mobile e quindi lo tratta come un browser dalle scarse caratteristiche (questo vale anche per i validation control e altre feature client side). Il sistema è lo stesso di sempre: aggiornare il browserCaps. Nella versione 2.0 si può agire sui file .browser globali oppure aggiungendo un file .browser nella directory app_browsers dell'applicazione. In entrambi i casi la definizione da aggiungere è la seguente:

<browsers>

<browser id="IEMobile" parentID="WinCE">

<identification>

<userAgent match="IEMobile (?'version'\d+\.\d+)" />

</identification>

<capabilities>

<capability name="browser" value="IEMobile" />

<capability name="version" value="${version}" />

<capability name="w3cdomversion" value="1.0" />

</capabilities>

</browser>

<browser id="IEMobileNotAtlasCapable" parentID="IEMobile">

<identification>

<capability name="version" match="6\.8" />

</identification>

<capabilities>

<capability name="w3cdomversion" value="0.0" />

</capabilities>

</browser>

</browsers>

Posted: mag 08 2007, 07.57 by rob | with no comments
Filed under:
Device Emulator 3.0

Vi riepilogo gli appunti sparsi. 

Aumentano sermpre i form factory e quindi le immagini per gli emulatori.
Con il Platform Builder si possono creare le immagini per Windows CE: ma questo si poteva fare anche prima.
E' scaricabile separatamente per consentire a chi non ha VS di fare i test delle applicazioni e demo delle applicazioni: ma questo anche prima.

Il 2.0 è dentro Windows Mobile 6 AK e Developer SDK, dentro Windows Embedded CE / Platform Builder 6.0. E' anche disponibile come download separato.
Ogni release è un upgrade del precedente: non possono girare side-by-side da sempre: le immagini precedenti restano compatibili.
Device Emulator 3.0 dovrebbe uscire insieme a Visual Studio Orcas
il 4.0 insieme alla nuova versione del sistema operativo

Come la 2.0 è uscito per Windows Mobile 6.0, e la 1 era uscita insieme a Visual Studio 2005.

In V2 (uscita a Marzo 2007) supporta

Battery control (src\drivers\battdrvr)

Backlight (src\drivers\backlight)

Constrast

Notification LED (src\drivers\nleddrvr)

DMA per default per il Platform Builder

Tablet PC

Hi-Res ink input al posto del mouse

FuncKey: nella 2.0 funziona

Networking

in V2 si può scegliere il binding della scheda a cui agganciarsi (e funziona bene adesso)

Windows CE 6.0 è la prima versione che include nativamente DeviceEmulator (integrato con il Platform Builder)

inoltre il Systema Operativo può essere spostato in NOR Flash per risparmiare RAM da fornire alle applicazioni

In V3

Interfaccia automatizzabile da codice

enum dei device

connessione a device

Save State, Shut Down etc

Interfaccia COM (IDEMVirtualMachineManager)

accesso alle infterfacce anche da VBScript

Configurazione via XML (comodo per passarre la configurazione fra PC)
formato .decfg
Save As anche con emulatore attivo salva la configurazione
    non salva lo stato della memoria, solo la configurazione

una volta salvato viene elencato fra gli emulatori disponibili
nuova directory My Emulator per salvare le configurazioni

 

Altre info domani...notte

Posted: mag 02 2007, 04.03 by rob | with no comments
Filed under:
Siamo 10 anni indietro :-(

Il badge della conferenza contiene un tag RFID all'interno.

All'entrata di ogni sessioni viene registrata la presenza nella sessione: questo succedeva anche 2 anni fa).

La cosa che mi ha lasciato basito è che non si possono valutare le sessioni a cui non si è partecipato !!!!

Se ci si pensa è normale: dicesi sistema informativo :-), e la tecnologia per farlo esiste da anni, ma comunque sono rimasto ancora una volta piacevolmente colpito dall'organizzazione.

Posted: mag 02 2007, 03.57 by rob | with no comments
Filed under:
LINQ in .NET CF 3.5
 

Tutte le sessioni sull'acceso ai "dati" iniziano sempre nello stesso modo dal 1997, anno della mia prima conferenza in USA (PDC 1997 San Diego); è un po' come La storia infinita.
da OLE-DB si cerca di unificare l'accesso ai dati con le stesse metodologie/classi. Poi ADO.NET ha segnato un cambio di direzione fornendo classi specifiche per ogni tipo di "store".

Quindi ad oggi ogni data store (source) a diverse API per l'accesso alle informazioni: ad esempio lettura di un file XML e un DB hanno API completamente diverse.

Non c'è un qualcosa che consenta di fare query su uno store generico.

LINQ
General Purpose query processor
Flexible
Extensible
Sintassi simile a SQL
Type safe
Syntax Check
Intellisense

Si definisce cosa fare, non come farlo

Unisce data source diversi

Per una overview consiglio il libro di Paolo e Marco, la nostra conferenza DevCon 2007, il nostro corso su LINQ. Tutte le info a partire da questo LINQ :-)...ehm...link: http://blogs.devleap.com/paolo/archive/2007/04/25/nuovo-libro-introducing-linq.aspx

Una nota: per alzata di mano a "quanti usano VB.NET"...su 600 persone almeno...NESSUNO !!!

LINQ Completo comprende

LINQ to Objects
Per type di dato base (Stringhe ad esempio), Collection e Custom Entity

LINQ to XML
Query su documenti xml
Creazione di documenti xml

Per i dati relazionali
LINQ to DataSet
LINQ to SQL
Linq to Entities

Supportati da .NET CF (200KB goal size)

LINQ to Objects

LINQ to XML
lavora in memoria esattamente come il DOM

LINQ to DataSet

Non dipsponibile quindi

LINQ to Entities

LINQ to SQL

Expression Trees

In media performance comparabile anche se un attimo più lento: in 400 test interni a MS su dimensioni di Object o XML diversi la media è il 10%.

E' un peccato che non sia previsto nella prima release LINQ to SQL visto che poteva essere un modo per uniformance il codice di accesso ai dati fra Desktop e Mobile.
Per i prossimi due anni almeno quindi continueremo con i nostri Base Table Cursor (dove possibile) e con metodologie classiche.

Altra nota importante

Il numero di partecipanti di sesso femminile è decisamente più alto rispetto a tutte le conferenze in USA che abbia mai visto e non possiamo far altro che sperare che anche in Italia accada la stessa cosa: vi assicuro che è un piacere non avere intorno solo persone curve sul portatile e poter scambiare due chiacchere sentendo voci che non assomigliano soltanto a Pavarotti.

Questa è sicuramente il miglior "take-away", come dicono quì, di tutta la conferenza.

Posted: mag 02 2007, 03.15 by rob | with no comments
Filed under:
MEDC Plenaria: appunti

Vi allego gli appunti presi al volo durante la plenaria di stamani:

Connected Experience

prima lavoro e tempo libero erano due cose separate
adesso l'idea è avere gli stessi device : for life e for work

Utilizzo pesante di Live Services e servizi di terze parti.

I formati sono ancora diversi per soddisfare le differenti esigenze, il 30% preferisce un telefono senza tastiera, piccolo e leggero, il 30% vuole un device che faccia tutto (quindi Pocket + telefono + Wi-Fi), il restante varia fra semplice telefono e PDA separato o solo 1 dei due

Il nome ufficiale per SQLCE 3.1 è SQL 2005 Compact Edition...ma 2005 non lo dicono mentre parlano...:-)

Annuncio

VeriSign ha siglato un accordo per la firma degli assembly sui device.

Orcas e Devtools

E' uscito il Windows Mobile 6.0 SDK Refresh, più aggiornato rispetto a quanto uscito qualche mese fa.

.NET CF 3.5

LINQ anche sui file di configurazione

Unit Test come VSTS Test anche per mobile (vi garantisco che è uno spettacolo: lo uso da gennaio anche su progetti .NET CF 2.0 visto che Orcas può lavorare tranquillamente con progetti 2.0).

store & forward con WCF e direct push (vedi post su WCF)
passa da Exchange 2007 per il push (è trasparente)

Silverligth

C'è un runtime per device per far girare quello che conosciamo con il nome di WPF/E
anche con immagini e video dentro le applicazioni che vengono scaled-down per device

Quindi non c'è WPF in .NET CF 3.5, ma il runtime di WPF/E.

Piattaforma Embedded 2007-2008

  • Embedded CE 6.0 (sembra uscito)
  • XP Embedded: gira anche .NET 3.0
  • Windows Embedded for Point of Service

Futuro

  • CE Next in 2009
  • Vista per gli altri 2 sempre nel 2009

Slogan

Learn, Build, Succeed: la morale dello sviluppo moderno è che senza formazione e competenza non si va da nessuna parte

Microsoft Robotics Studio

1.0 rilasciato a fine 2006

1.5 in CTP per supporto a Windows CE 6.0 e Windows Mobile device

Visual Programming Language - C'è anche il simulatore che sente gravità etc

Sono 10 anni avanti rispetto a noi come divisione dei compiti in azienda e diventa sempre più importante la specializzazione.

Sono c.a. 2.500 partecipanti

WSD

Web Service on Device
Ho fatto qualche post su thinkmobile nel passato

 

Posted: mag 02 2007, 01.43 by rob | with no comments
Filed under:
WCF in .NET CF 3.5

Ho appena seguito una sessione sull'argomento: su circa 500 persone nella sala nessuno ha avuto mai la necessità di fare comunicazioni peer to peer; la maggioranza ha il problema di tutti: recuperare informazioni dal campo per inviarle al server centrale.

WCF in .NET CF 3.5 cerca di risolvere entrambe le problematiche con l'obiettivo di semplificare la scrittura del codice per eseguire queste operazioni, consentire comunicazioni server-to-device e non solo device-server. Il tutto con 250KB come obiettivo: nella Beta1 di Orcas, rilasciata in questi giorni la dimensione è c.a. 450KB.

Il subset delle funzionalità attuali (non dovrebbero essere ne tagliate ne aggiunte nuove funzionalità fino alla versione finale) sono

Transport
HTTPTransport e MailTransport.
Il primo viene usato tramite il classico BasicHttpBinding, mentre il secondo sfrutta un transport non esistente nella versione completa di WCF su .NET 3.0 attuale.

Il trasporto via mail viene utilizzato per inviare il messaggio SOAP via Exchange Server 2007 e consente lo store and forward sul device e su Exchange. In pratica si sfrutta il canale della posta elettronica (che con WM 6.0 e Exchange 2007 ha subito notevoli miglioramenti sulla sincronizzazione) che offre nativamente la memorizzazione del messaggio per il tempo in cui il device non è connesso.
Per comunicazioni peer to peer, tramite la tecnologia Push il server Exchange informa altri device (basta avere indirizzi email diversi per ogni device) dei messaggi a loro destinati.

WS-*
Per quanto riguarda le varie specifiche WS-*, questa prima versione di WCF "mobile" supporta un subset di WS-Security e WS-Addressing.
E' possibile aggiungere moduli custom

Encoding
Disponibile solo Text o encoding custom

Generale
Non sono supportati Service Model e Contract Model, quindi il tutto è message-oriented.
Tutto quello che non ho citato non è supportato.

Sviluppo
Lo sviluppo di codice è abbastanza manuale e non può appoggiarsi alla classica configurazione tramite app.config (visto che non esiste su .NET CF).
L'utilizzo è comunque semplice via Http:

  1. Si crea il messaggio su una classe definita
  2. Tramite XmlSerializerWrapper si serializza il tutto
  3. Si crea il channel con BasicHttpBinding e l'interfaccia IChannelFactory
  4. Si apre il channel
  5. Si spedisce il messaggio e si aspetta la risposta
  6. Si deserializza la risposta
  7. Si chiude channel e factory rilasciando poi il WCF Runtime Mobile

Per quanto riguarda il trasporto via email si utilizza WindowsMobileMailBinding.
In questa Beta c'è un bug conosciuto su WindowsMobileMailBinding ed è necessario aspettare un paio di settimane quando verrà rilasciata la fix....non provate quindi a inviare un messaggio verso Exchange: non è colpa della configurazione, del codice, di Exchange; semplicemente non funziona ! :-)

SvcUtil

Non è previsto insieme ad Orcas, quindi per adesso si fa tutto a mano. Dopo il rilascio di Orcas ci sarà un aggiornamento sotto forma di Power Toy che appunto conterrà SvcUtil: questo signore esite e l'ho visto funzionare ma per adesso non si può creare il proxy e occorre lavorare più manualmente.

 

Posted: mag 02 2007, 01.26 by rob | with 2 comment(s) |
Filed under:
Windows Mobile 6.0 per tutti

Dopo qualche post più da developer su Device Emulator 2.0 e API, ecco qualche info per l'utente finale sulle nuove caratteristiche di Windows Mobile 6.0.

Alcune info sono ripetizioni di quanto già scritto: prima fra tutte la nuova naming convention...che è bene ribadire :-)

Nuova Naming Convention

Windows Mobile 6.0 Classic

è quanto veniva chiamato Pocket PC, quindi touch screen, stylus senza supporto dello stack Radio per la telefonia

Windows Mobile 6.0 Standard

è quanto veniva chiamato SmartPhone. Niente touch screen e stylus. Supporto alla telefonia

Windows Mobile 6.0 Professional

è quanto veniva chiamato Pockect PC Phone Edition: in pratica telefonia, touch screen e stylus.

In pratica adesso si fa riferimento a SmartPhone per qualunque "coso" che telefona :-) e PDA per qualunque cosa abbia senza possiblità di fare chiamate.

Lo SmartPhone con Windows Mobile 6.0 Standard non ha touch screen, mentre con Windows Mobile 6.0 Professional ha touch screen.

Produttori

HTC va alla grande e ha presentato molti nuovi device fra cui l'Advantage che offre un disco da 8 GB.

Dell invece dismette la produzione degli Axim e venderà HW prodotto da terzi.

User Interface

La nuova user interface è abbastanza simile alla precedente, ma con un look più vicino a Windows Vista.

E' più semplice da usare nelle funzioni più comuni come la schermata Today/Home, soprattutto sulla versione Standard e offre l'accesso ai servizi Windows Live nativamente.

Messaging e Phone

Sulle versioni con lo stack radio premendo qualunque numero si l'accesso al Phone Dialer.

E' possibile ricevere (e scrivere) mail in formato HTML.

Molto utile la possibilità di marcare una mail con "Follow-up". Sembra una str.... ma se sincronizzate la posta con il PC, questo evita il fastiodioso problema di avere mail marcate come "già lette" difficile da rintracciare su Outlook.

Si possono creare fino a 8 account per email e tramite la funzione di Smartfiler diventa più semplice rintracciare i messaggi.

Si possono firmale le mail e utilizzare in generale S-Mime.

Se si utilizza Exchange 2007 si ha il controllo dell'Out of Office, della Global Address List e si possono scaricare documenti SharePoint sotto forma di mail o link (via URL). Si possono inviare mail con IRM.

Office

Le versioni pocket di Word, Excel e Powerpoint consentono adesso di editare i documenti anche su Windows Mobile 6.0 Standard.

Il calendario offre funzioni di visualizzazione migliori e la maschera Contacts consente di aggregare i contatti da più fonti come Contacts, SIM card, Windows Live Contacts.

Purtroppo, per adesso, non si possono utilizzare i formati di Office 2007, ma presto dovrebbe essere rilasciato un aggiornamento.

Inoltre non è possibile creare nuovi documenti su Windows Mobile 6.0 Standard...ma un workaround molto semplice e tenere sempre un file vuoto da aprire, modificare e salvare con un altro nome :-)

Windows Live

I servizi accessibile da "mobile" sono

Windows Live Messenger

Windows Live Hotmail (con supporto push)

Windows Live Search

Windows Live Contacts

Windows Live Spaces

Internet Explorer

Risulta molto più veloce e con l'aggiunta di Zero Configuration diventa un attimo più semplice da configurare rispetto alle connessioni Wi-Fi.

Windows Mobile Update (finalmente) è stato integrato anche sui device e consente di applicare (come per la versione desktop) patch e aggiornamenti al sistema operativo.

Importante, a prescindere da come la pensiate su Web 2.0, è il supporto per AJAX e XML DOM.

Lo user agent utilizzato è Mozilla/4.0 (compatibile; MSIE 6.0; Windows CE; IEMobile 6.9): aggiornate il browser cap di conseguenza per applicazione ASP.NET che sfruttano i mobile controls.

Encryption

Si possono criptare i dati sulla storage card (SD o CF). Ovviamente l'accesso risulta un attimo più lento. Ricordo che SQLCE ha già un suo motore di encryption (anche se basato solo su password).

E' possibile installare certificati CER, P7B, PFX e eseguire l'enroll direttamente da ActiveSync (4.5). Interessante il fatto che non serva più un software firmato (con priviledge certificate) per eseguire l'enroll: questo perchè i certificati stanno sotto HKCU (Current User).

Cache

Windows Mobile 6.0 risulta più veloce della versione 5.0 soprattutto per l'aggiunta di una cache al File System: questo consente di avere anche più memoria disponibile per far girare i programmi.

ROM

In ROM si trovano .NET Compact Framework 2.0 e SQL 2005 Compact Edition. Come sempre, visto che sono usciti service pack e aggiornamenti (ne abbiamo parlato in altri post) è bene eseguire comunque l'installazione/aggiornamento di entrambi per utilizzare le ultime versioni e soprattutto le patch rilasciate.

 

 

Posted: mag 01 2007, 04.31 by rob | with no comments
Filed under: