Recent Comments.
Recent Posts

Siamo bravi, giovani e...geek!!! L'area Microsoft di ObjectWay è in espansione...

IMAG0031

In foto Janky consegna la chiave del successo a Tiziana: il suo numero di cellulare....No, no, scherzo :)

Comunque il merito dell'ingresso di Tiziana nel gruppo è tutto del Genio del Male che l'ha scelta dopo una oculata selezione. (Grazie GdM, tu che sei sapiente, saggio ma soprattutto di palato fino...)

Benvenuta di cuore!!!!

LINQ to SQL, LINQ to Entities, cosa sono? Come si usano? Quando conviene usarli? Queste sono le prime domande che mi sono saltate il mente subito dopo il corso su ORM tenuto da Giancarlo.

Navingando un po' per approfondire le mie conoscenze su LINQ, leggo nel blog di Pietro Brambati:

LINQ to SQL è una delle implementazioni di LINQ che verranno rilasciate con Visual Studio 2008. LINQ to SQL è il modo più semplice per poter lavorare con SQL Server usando un nuovo modello di programmazione in C# 3.0 e Visual Basic 9. In questo modo nel nostro linguaggio .NET preferito scriviamo del codice che si avvicina ad una sintassi SQL rendendo di fatto meno complicato far "parlare" le nostre applicazioni fatte di classi, clicli e quant'altro con SQL Server, un DBMS relazionale in cui "vediamo" tabelle.

LINQ to Entities è un'altra implementazione di LINQ fatta per parlare con l' ADO.NET Entity Framework (EF), sia l'EF che LINQ to Entities verranno rilasciati dopo Visual Studio 2008, l' EF è infatti attualmente in Beta 2. L'EF è un framework che consentirà agli sviluppatori di lavorare con un maggior livello di astrazione, cioè uno sviluppatore si concentrerà solo sul modello concettuale proprio del modello Entità-Relazione, in maniera indipendente dallo storage sottostante sia esso SQL Server o un altro database. Ad esempio potrò lavorare con un' entità Cliente che potrà mapparsi su uno storage relazione anche su più di una tabella. Se volete saperne di più sulla Beta 2 dell' ADO.NET Entity Frameowrk, seguite pure questo link, in cui trovate una breve introduzione all' EF e a LINQ to Entites.

Una sintetica e schematica, ma molto utile, "miniguida" introduttiva per cominciare a muovere i primi passi con LINQ la potete trovare qui: Pietro ci guida passo passo con un esempio di utilizzo e implementazione.

Sono incappato in questo errore disinstallando SQL Server Reporting Service. Non sono certo se il problema dipenda dal fatto che io abbia Vista come sistema operativo e non ho prova che ciò avvenga anche su altri s.o. di casa Microsoft, in ogni caso la soluzione è molto semplice:

  • stop del servizio IIS
  • rieseguire la disinstallazione

Questo problema è causato dalla mancanza della virtual directory di Reporting Services sotto IIS.

Questo bug è documentato a questo indirizzo.

A questo indirizzo avete la possibilità di scaricare gratuitamente i seguenti libri:

  • Introducing Microsoft LINQ by Paolo Pialorsi and Marco Russo
  • Introducing Microsoft ASP.NET AJAX by Dino Esposito
  • Introducing Microsoft Silverlight 1.0 by Laurence Moroney

Oggi ho avuto la fortuna di partecipare al corso su ORM tenuto da Giancarlo, sotto lo si può vedere in azione in una concitata spiegazione sulle Query Expression di LINQ.

IMAG0027

Oltre a LINQ è stato introdotto anche l'Entity Framework e il concetto di Domain Model. Seppur l'EF (Entity Framework) mi è risultato un po' più complicato, Giancarlo è stato molto chiaro e coinvolgente nelle spiegazioni e gli esempi pratici hanno chiarito quei pochi dubbi che si erano creati.

A questo indirizzo trovate l'articolo di Giancarlo pubblicato su MSDN in cui vengono trattati con particolare attenzione aspetti relativi al Runtime e al DataContext.

Devo dire che LINQ mi ha gasato molto e non vedo l'ora di metterlo in pratica...

Domani parleremo di NHibernate....

Per chi si sta avvicindando a Workflow Foundation, volevo consigliare questo articolo che introduce a concetti molto interessanti di questo runtime. In particolare vorrei segnalare la sezione servizi e loro integrazione in cui vengono introdotti in modo abbastanza chiaro il servizio di persistenza e quello di tracking.

Developers, if you're interested in participating in the exam development process for WPF, WCF, or Workflow (and taking a cert exam/earning a certification for free in the process)

...per maggiori seguire il link.

E' un'opportunità da cogliere al volo!!!

Faxator è uno dei servizi più efficienti per poter inviare un classico fax gratuitamente, in Italia: occorre solamente inviare un’email contenente il documento che volete spedire (per esempio, in formato Microsoft Word) e il sistema, automaticamente, provvederà ad inoltrarlo al numero di fax indicato nell’oggetto della vostra email.

faxator

L’utilizzazione del servizio necessita di una registrazione semplice e gratuita al sito Faxator, e potrete inziare da subito ad inviare i vostri fax. Ecco un elenco delle principali caratteristiche:

  • Formati degli allegati supportati: Word, Excel, Microsoft Works, RTF e PDF (anche multipagina); sono compatibili anche immagini con estensione JPG e GIF. Ove possibile, però, si raccomanda l’invio di files in formato Microsoft Word e PDF.
  • Utilizzo del Certificato di Sicurezza personale (va allegato all’email assieme al documento).
  • Per utenti Mac: è disponibile un widget per controllare tutti gli invii.
  • Essendo il sito in italiano, per scoprire come inviare un fax, potete visitare la guida dettagliata disponibile nella sezione Domande frequenti. Preciso che ci sono dei limiti di invio, ovvero massimo 10 fax al giorno oppure 100 fax al mese: i fax in eccesso non verranno spediti; il servizio è attivo dalle 8 alle 20, dal lunedì al venerdì. Ricordatevi di allegare sempre, assieme al documento che volete spedire, anche il Certificato di sicurezza personale che avete ricevuto per email durante la procedura di registrazione al sito, altrimenti il sistema rifiuterà la vostra richiesta.

    Una ParallelActivity è un'actività che contiene due o più SequenceActivity figlie. La SequenceActivity è l'unica activity che può essere figlia di una ParallelActivity. (Fonte MSDN)

    La ParallelActivity prevede che diverse attività tra loro NON correlate, vengano eseguite "contemporaneamente". Come il grande Michele insegna, questo non è del tutto vero, vediamo perchè...

    L'architettura del Windows Workflow Foundation prevede che un workflow sia ospitato all'interno di un'applicazione, la quale istanzierà opportunamente questo oggetto ne invocherà il metodo Start() ma sarà il WF Runtime Engine che provvederà alla sua esecuzione in un thread distinto.

     image

    Ed ecco il punto...Come può un singolo thread portare avanti ben 3 attività contemporaneamente? La risposta è semplice: NON può.

    Lo si può facilmente dimostrare creando un workflow semplice come quello illustrato le cui CodeActivity eseguiranno tutte lo stesso codice: se le attività verranno eseguite contemporaneamente avranno tutte ora inizio e ora fine attività pressochè idetentici. Proviamo:

    parallel_act

    Il codice eseguito da ogni CodeActivity è banalmente una conta da 0 a un numero grande a piacere. Di seguito la routine che ha come unico parametro il nome del chiamante ad esempio:

    private void ExecuteActivity(string ca)
    {
        int x = 0;
        Console.WriteLine("START (" + ca + "): " + DateTime.Now.ToString("H:mm:ss:fff"));
        for (int i = 0; i < maxValue; i++)
        {
            x = i;
        }
        Console.WriteLine("END (" + ca + ")  : " + DateTime.Now.ToString("H:mm:ss:fff"));
        Console.WriteLine("-----------------------------");
    }

    Ogni CodeActivity stamperà a video l'ora, con precisione fino ai millisecondi, di inizio e fine attività. Ecco il risultato:

    exeParallel

    START WF e END WF sono data e inizio della ParallelActivity, tra questi due valori troviamo gli orari di esecuzioe delle singole SequenceActivity: come possiamo notare non engono eseguite in parallelo, bensì in modo sequenziale e rispettando un certo ordine di esecuzione delle singole CodeActivity che risulterà molto chiaro aggiungendo altre 3 CodeActivity e analizzando gli orari.

    parallel_act_3 exeParallel_2

    L'ordine di esecuzione va da sinistra verso destra e (ovviamente) dall'alto verso il basso: 1, 2, 3, 4, 5, 6. E' evidente che il termine "esecuzione parallela" in questo caso è da intendersi che l'attività è totalmente eseguita se e soltanto se TUTTE le SequenceActivity sono giunte al termine della loro esecuzione.

    Ma quindi, quando è più opportuno usare questa "parallel che non è una parallel"? A voi i suggerimenti...

    Sei una persona dinamica, interessata alle tecnologie e vuoi far parte di un team di lavoro giovane e soprattutto molto capace e proiettato verso il futuro?

    ObjectWay ricerca personale, sul blog di Lorenzo i dettagli...

    Ho scritto un articolo su come personalizzare i colori di una una textbox quando viene disabilitata. Mi sono scontrato con questo problema in questi giorni e ho pensato di scrivere quelle che sono le mie conclusioni, ovviamente non ho la presunzione di affermare che quanto ho scritto è LA soluzione, quindi ogni consiglio e/o suggerimento e molto ben accetto.

    matto1

    Ricordo a tutti che 28 e 29 febbraio a Milano si svolgera' l'evento di lancio di Windows Server 2008, SQL Server 2008 e Visual Studio 2008.

    Ci sara' anche lo stand di ObjectWay, spero di incontrare e conoscere molti di voi.

    Devo dire che gente che ne sa ce n'è davvero tanta...
    Oggi ho avuto modo di seguire il corso per "principianti" su WF tenuto da Michele Locuratolo:

    • Senior .NET Developer and Counsultant
    • Microsoft MVP Visual Developer - Devices Application Development
    • Socio fondatore di www.ugimobile.org

    a cui faccio i complimenti per la sua simpatia e per la semplicità con cui è riuscito a esporre i concetti base di WF.

    Ma parliamo di WF....Le caratteristiche che mi hanno colpito di più di questa tecnologia (traggo dalle slides) sono state:

    • Trasparenza: per l’applicazione che lo usa, il Worflow è “trasparente”
    • Flessibilità: possiamo modificarlo, riorganizzarlo in modo semplice e veloce.
    • Estensibilità: custom activity

    Ma ancora di più la possibilità di serializzare un wf e memorizzare una sua foto in un determinato istante su un database (si parla di reidratazione di un wf), e risvegliarlo succesivamente per i seguenti motivi:

    • L’istanza di un workflow “vive” in memoria
    • Una singola istanza può durare a lungo (anche mesi)
    • In caso di long running workflow, non è pensabile che essa resti in memoria
    • Deve poter sopravvivere a riavvii di macchina

    Approfondirò i miei studi su WF e sulla base dei miei sviluppi cercherò di esporre casi pratici e spero di poter scambiare con voi idee e pareri per la risoluzione di eventuali problematiche.

    Ciao a tutti, mi chiamo Francesco e sono un neo-blogger, ho 29 anni e da 5 circa sono nel mondo del lavoro come sviluppatore. Molto presto ho avuto a che fare con .NET nella versione 1.0 e devo dire che da subito mi ha appassionato. Purtroppo, o per fortuna, la formazione me la sono dovuta fare da solo e non sono mai riuscito a stare al passo con le tecnologie come avrei voluto. Un grande stimolo mi è sempre arrivato da Lorenzo, che ho sempre stimato e che mi ha sempre dato consigli più che validi, ma altrettanto aiuto mi è giunto dalle varie community e forum sparsi per il web e ricchissimi di risorse e notizie, quindi ho pensato che dare il mio, se pur piccolo, contributo non può far altro che bene...spero...

    Un megagigantesco ringraziamento va a Marinella, che mi è sempre vicina e senza la quale mi sentirei "a scala di grigi"....TQM

    Adesso vado a smanettare un po' con Windows Live Writer...

    Ciao e a presto