Home  |   Chi siamo  |   Soluzioni  |   Consulenza  |   Formazione  |   Clienti  |   Blog  |   Contatti  |  
 
Home      Blog      Il blog 
 

Blog

  • Il blog
 

 

Cerca


Calendario

<<  agosto 2008  >>
dolumamegivesa
272829303112
3456789
10111213141516
17181920212223
24252627282930
31123456


Blog

Code Architects - Sottoscrivi il nostro rss feed  blog RSS

Rule Editor per Windows Worfklow Foundation e Biztalk Server

clock marzo 2, 2008 16.58 di author Giuseppe Dimauro

In questi ultimi mesi sto "pasticciando" parecchio con Windows Workflow Foundation in modo molto spinto. Tra le varie feature che sto sfruttando ed implementando con estrema soddisfazione vi è la gestione delle regole attraverso le feature "built-in" di WWF. Giusto per capire di cosa stiamo parlando datevi una lettura qui: http://msdn2.microsoft.com/en-us/library/aa480193.asp

Inoltre L'ottimo esempio di utilizzo delle regole attingendo ad un proprio database esterno anzicchè ai file di risorse con estensioni ".rules" chiude egregiamente il cerchio. Lo trovate qui: http://wf.netfx3.com/files/folders/rules_samples/entry309.aspx



Tra l'altro l'esempio mostra come sfruttare alcune dialog box di edit delle regole direttamente dal proprio codice senza passare per Visual Studio. Le finestre di edit delle regole sono potenti e abbastanza complete ma pur sempre molto developer oriented. Per questa ragione mi sono messo al lavoro e ho iniziato a scrivermi qualcosa di custom fino a quando, cercando delle risorse su internet per effettuare il parsing di regole
 in stringhe, mi sono imbattuto nel tool della Acumen (http://www.acumenbusiness.com/Products.htm ). La grafica e la qualità del prodotto è impressionante. Tra le varie feature veramente interessanti troviamo:
- editor grafico assistito di regole di business
- simulazione delle regole con grafica animata
- verifica completezza delle regole inserite
- export delle regole verso biztalk e Windows Workflow Foundation
 ... e molte altre feature

Ecco una screenshot dell'editor con navigatore/simulatore animato:



Le regole vengono esportate come ".rules" e con lo stesso codice di esempio dell'external ruleset toolkit possono essere gestite direttamente dall'interno della propria applicazione dinamicamente.

Giuseppe 

Correntemente valutato 2.5 da 11 utenti

  • Currently 2,454545/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5


DinnerNow.Net su CodePlex per VS 2008 RTM

clock febbraio 10, 2008 06.46 di author Giuseppe Dimauro

DinnerNow è un ottimo esempio didattico che uso in molte conferenze e corsi per spiegare tecnologie come LINQ to SQL, integrazione WF/WCF ecc.
Finalmente la versione consolidata per la versione finale di VS2008 è disponibile al link:

http://www.codeplex.com/DinnerNow/Release/ProjectReleases.aspx?ReleaseId=10572

 è stata testata su Vista (compresa la SP1) e Windows Server 2008 RTM. Inoltre molti hands-on lab sono disponibili in un apposito training kit a questo indirizzo:

http://www.microsoft.com/downloads/details.aspx?familyid=8BDAA836-0BBA-4393-94DB-6C3C4A0C98A1&displaylang=en

 

Correntemente valutato 2.7 da 7 utenti

  • Currently 2,714286/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5


Problemi di indicizzazione con Outlook 2007 su Windows Vista ?

clock febbraio 8, 2008 10.55 di author Admin

Outlook non trova più le mail indicizzate ?

Ecco un validissimo Tip preso direttametne dal thread dei Regional Director suggerito dai colleghi del supporto di Microsoft. Per rimettere le cose a posto seguite la seguente procedura:

Fermare il servizio di ricerca di windows. Da linea di comando in modalità "elevated" eseguendo il seguente comando:

   net stop wsearch

Impostare a 0 la chiave di registry:

 HKLM\Software\Microsoft\Windows Search\SetupCompletedSuccessfully

Questo resetterà tutte le impostazioni. Riavviate Outlook per permettere l'indicizzazione completa.

Non ne ho avuto bisogno recentemente. Ma in passato ho avuto problemi simili e ho provveduto in modo molto più drastico non disponendo di questo TIP. 

 

Correntemente valutato 2.0 da 8 utenti

  • Currently 2/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5


Windows 2008 e Hyper-V

clock febbraio 7, 2008 03.04 di author Giuseppe Dimauro

Finalmente è disponibile da pochissimi giorni la versione RTM di Windows 2008 nell'area di download per i subscriber. E' inutile sottolineare il fatto che è veramente forte. Del resto il "ragazzo" :) ha dimostrato essere molto stabile sin dalle versioni Beta. La tecnologia di virtualizzazione Hyper-V è ancora in preview ma è comunque estremamente stabile per le funzionalità sin qui disponibili e visibili. Noi lo stiamo già testando a fondo su un bel serverino con 2 quad-processor, 16 giga di RAM e 1 tera di dischi in stripe-set. Le prestazioni sono veramente notevoli come del resto ci aspettavamo. E ora vengo alla ragione principlae di questo post: per provare la tecnologia Hyper-V è indispensabile lasciare inalterate durante l'installazione le informazioni di location (lingua, regione ecc..). Se lo fate Hyper-V non riuscirà a partire e terminerà con degli errori incomprensibili. Nel caso lo aveste già fatto è sempre possibile tornare indietro con l'apposita applet amministrativa "Regional and Language Options" nel pannello di controllo. Potrebbe essere necessario disabilitare il ruolo, rimettere tutto su English (United States). Più precisamente: sulla Tab Formats: English (United States), Tab Location: United States, Tab Keyboard: forse non è importante ma provate o lasciate solo quella americana come ho fatto io, Tab Administrative: Change System locale: English (United...), Copy to reserved accounts: checkando entrambe le checkbox, infine riabilitare il ruolo. Ovviamente - occhio alla accelerazione Hardware. Deve essere abilitata. Nel caso, andate dritto nel bios della macchina e dategli una occhiata e abilitate eventualmente.

Buon divertimento !

Giuseppe

Correntemente valutato 2.0 da 11 utenti

  • Currently 2/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5


Regional Director again!

clock gennaio 11, 2008 10.32 di author Francesco Balena
Microsoft Regional Director

Ecco una bella notizia che mi ha fatto cominciare l'anno nel migliore dei modi.
Microsoft Corp. ha confermato Giuseppe Dimauro e il sottoscritto come gli unici due Regional Director per l'Italia, per gli anni 2008-09. E' una grande soddisfazione far parte di una elite di soli 140 esperti in tutto il mondo - a differenza di altri gruppi come gli MVP, il numero degl RD è "contingentato", tipicamente 1 o 2 per ciascuna nazione e per ciascuno dei 50 stati degli USA. Negli ultimi tempi il Regional Director Program si è arricchito di un sito tutto nostro, che funge anche da aggregatore dei blog. Data la qualiltà del materiale che si può trovare, è quasi meglio di una rivista

Correntemente valutato 2.1 da 10 utenti

  • Currently 2,1/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5


Velocizzare le concatenazioni di stringhe nei programmi migrati da VB6

clock dicembre 16, 2007 10.40 di author Francesco Balena

In questo periodo sto facendo molta consulenza per aziende italiane alle prese con la migrazione da VB6, usando ovviamente la versione preliminare di VB Migration Partner. Oramai la beta è stabile e si comporta davvero molto bene. In un solo giorno, ad esempio, abbiamo migrato una applicazione di circa 20mila righe che lavora in modo intensivo con ADO in circa mezza giornata, e tutto funziona a meraviglia!

Anche se la migrazione sta andando bene, a volte i programmi migrati sono più lenti del codice VB6 originario. Per esperienza le cause sono principalmente due: (1) l'uso di COM Interop per accedere agli oggetti ADO, (2) un uso massiccio di concatenazione di stringhe. Per il primo problema non c'è molto da fare, purtroppo: occorre migrare il codice di accesso al database da ADO a ADO.NET, un compito più semplice a dirsi che a farsi. Per il secondo problema ci sarebbe invece una soluzione semplice: basterebbe sostituire la variabile stringa con una variabile StringBuilder, e le concatenazioni sarebbero automaticamente più veloci. Peccato che questa sostituzione comporti una revisione completa del codice, perchè richiede di trasformare tutti gli operatori & (concatenazione) con il metodo Append, per non parlare dei casi in cui la variabile stringa viene usata come argomento a funzioni come Trim o Left. Ad esempio, il seguente codice richiede ben 17 secondi sul mio sistema a 3GHz:

Dim s As String = ""
Dim sw As Stopwatch = Stopwatch.StartNew()
For i As Integer = 1 To 100000
    s = s + "*"
Next
MsgBox(sw.Elapsed.ToString)

Per fortuna la soluzione è davvero semplice: basta creare una classe che utilizzi internamente un oggetto StringBuilder, che ridefinisca gli operatori & e +, e che supporti la conversione implicita da-a stringa. Il codice di questa classe StringBuilder6 si scrive davvero in pochi minuti:

Imports System.Text

' a wrapper for the StringBuilder object, with support for + and & operators

Public Class StringBuilder6

    Private buffer As New StringBuilder

    ' return the inner string

    Public Overrides Function ToString() As String
       
Return buffer.ToString()
    End Function

    Public Shared Operator +(ByVal op1 As StringBuilder6, ByVal op2 As String) As StringBuilder6
        op1.buffer.Append(op2)
        Return op1
    End Operator

    Public Shared Operator &(ByVal op1 As StringBuilder6, ByVal op2 As String) As StringBuilder6
        op1.buffer.Append(op2)
        Return op1
    End Operator

    ' convert to string

    Public Shared Widening Operator CType(ByVal op As StringBuilder6) As String
       
Return op.ToString()
    End Operator

    ' convert from string

    Public Shared Widening Operator CType(ByVal str As String) As StringBuilder6
        Dim op As New StringBuilder6()
        op.buffer.Append(str)
        Return op
    End Operator

End Class

A questo punto per velocizzare il codice visto prima è sufficiente modificare UNA SOLA ISTRUZIONE, ovvero la dichiarazione della variabile stringa:

Dim s As StringBuilder6 = ""

Dopo questa sostituzione, il ciclo visto prima viene eseguito in 8 millesimi di secondo, ovvero circa 2000 volte più velocemente!!! Non male, per una fix così sempliceSmile

Indipendentemente dal fatto che state migrando codice da VB6 o se avete scritto codice VB.NET (o C#) da zero: se trovate dei punti in cui fate uso massiccio di concatenazione di stringhe e che pensate possano rallentare l'esecuzione, provate a sostituire la variabile stringa con un oggetto StringBuilder6: in alcuni casi il programma girerà molto ma molto più velocemente.

Correntemente valutato 3.0 da 8 utenti

  • Currently 3/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5


 

© Code Architects S.r.l. P.Iva 05831090724
Home  |   Chi siamo  |   Soluzioni  |   Consulenza  |   Formazione  |   Clienti  |   Blog  |   Contatti