Latest Posts
Chi non è potuto venire al workshop di settimana scorsa, o chi è venuto e vuole rivedere i LOLCats, sono state rese disponibili le slide e il codice degli Hands-on Labs: 6° - Testing & Asp.NET MVC.
Anche nel campo “creativo” del webdesign si sta iniziando a sentire la necessità di razionalizzare lo sviluppo e non reinventare sempre la ruota tutte le volte.
Ma non tutti i webdesigner concordano sull’utilità questi framework: Daniela ne ha analizzati un paio nelle settimane scorse(Dreamweaver CS3 e YUI) e ora tira le conclusioni sull’uso “reale” di questi framework CSS.
Technorati Tags:
CSS,
webdesign
Se anche a voi, come al sottoscritto, dopo aver installato il Service Pack 1 di Windows Vista, i Reporting Services non funzionano più, ovvero non si riesce più a connettersi nè con il browser, nè con il SQL Server Management Studio, sappiate che seguendo queste indicazioni riuscirete a ripristinare le funzionalità.
In pratica si tratta di riabilitare i permessi di Script sugli Handlers HTTP relativi alla Virtual Directory ReportServer utilizzando la MMC di IIS.
Nella pagina cercate il testo: Problem: Programmatically configuring a report server virtual directory
Dopo poco più di un mese alle prese con dei lavori piuttosto pesanti (notate la mia "assenza" dal mondo Community per il mese di Giugno), ritorno finalmente in questi giorni a respirare a pieni polmoni un po' di aria pulita.
Perchè è questa la sensazione che mi da quando mi "immergo" nel mio NetVibes e leggo vari feed dai blog, newsgroup, user group, ecc, ecc...
Anche se ho sempre la sensazione che, più aggiungo sorgenti e più mi sfuggono cose...
Forse non sono ancora così pronto a vivere tutta questo mondo Information Oriented.
Onde evitare, in futuro, assenze (o presenze :D) ingiustificate mi sono creato una serie di loghi che indicano un po' i miei stati "classici".
Per ora sono questi:
Logo | Stato |
 | Diviso equamente tra lavoro, community e altre attività |
| Principalmente su attività di Community |
| Letteralmente "sto annegando nel lavoro" |
| Preso dal lavoro, ma nel senso edificante del termine. Evidentemente sto scoprendo (o sconfiggendo :D) qualcosa... |
| Si commenta da sola... |
Nel caso mi serviranno altri loghi li produrrò man mano.
Lo stato corrente lo potete vedere direttamente sul mio blog, nella "amenities bar".
Forse tutti lo sanno, tranne io, ma il 30 giugno 2008 Microsoft ha terminato la vendita di Microsoft Windows XP (anche se leggendo le risposte alle domande presenti in questo documento, per System Builder il termine è fissato a gennaio 2009 mentre per la vendita di Ultra-Low Cost PC giugno 2010). Il supporto rimane garantito fino al 2014. E' giunta "la fine" di un "mito"? Penso proprio di si.
Qui il sito, pronto per il lancio del 16 Luglio, di cui ho già sottoscritto il feed rss.
E sono diventato anche un "fan" del magazine su FaceBook, come già tanti altri...
Direttamente dal blog originale, l'invito a far parte del magazine:
Want to be part of the magazine and shape its future? Follow us on the networks below:
 | Our main feed. In the future we will have separate feeds for different sections of the site, but this feed will be for ALL content. |
 | This is our FaceBook fan page. Become a fan and collaborate with other fans. |
 | This is our LinkedIn group. Join the group and network with like minded professionals |
 | Follow Magazine updates through Twitter. |
del.icio.us Tags:
Sharepoint 
Parlare di integrazione non è cosa semplice, è un argomento vastissimo e carico di sfaccettature, limitarlo ad una singola tecnologia sminuisce sicuramente la sua importanza.
Ad oggi è possibile utilizzare tantissime soluzioni diverse per integrare diversi sistemi, agnuno di loro ha i suoi vantaggi e svantaggi.
Microsoft presenta alternative quali Integration Service di SQL Server, Host Integration Server , BizTalk Adapter Pack, BizTalk, tutti molto diversi tra loro sia per architettura che per scopo.
Lo sappiamo tutti che è possibile fare qualsiasi cosa con ognuno di questi attori ma solo uno è migliore degli altri in una particolare soluzione.
Nell’ arco di quest’ anno parlerò tantissimo di integrazione e non mi limiterò solo a BizTalk, perchè ritengo che l’integrazione sia una filosofia e una scienza molto articolata.
L’altra sera stavo sul balcone e ho iniziato a ragionare su tutto questo iniziando a fare tantissime considerazioni e domande a me stesso, da lì ho deciso di iniziare a scrivere perchè voglio tenere traccia delle mie ricerche.
Chiaramente da buon MVP sono felice di condividerle con tutti le mie considerazioni sperando possano essere di aiuto.
Una cosa che mi fa sorridere è che ad oggi quando si parla di integrazione sembra si debba parlare obbligatoriamente di BizTalk.
Limitare BizTalk alla semplice integrazione tra sistemi è il segnale che identifica che non si è compreso esattamente cosa sia esattamente BizTalk.
Che dire..., partirei propio da questo.
Ma che cosa è BizTalk?
Direi che è la domanda principe, quella che solitamente mi sento fare per prima.
Credo che questa mancanza di vision non sia dovuta al fatto che manchi un sistema di informazione adeguato, ma alla natura stessa del prodotto, se di prodotto possiamo parlare.
BizTalk è un framework per l’integrazione e la gestione dei flussi tra diversi sistemi.
Si, quando parlo di flussi intendo workflow, ma attenzione ne esistono due principli diversi tipi, human e system workflow.
BizTalk è sicuramente la soluzione numero uno proposta da Microsoft per creare system workflow, non direi lo stesso per quello che riguarda l’aspetto human workflow.
A tal proposito esistono diverse soluzioni, quali Sharepoint e chiaramente Workflow Foundation (WF), è scontato che se dobbiamo arrivare ad ottenere architetture che necessitano di processi di tipo human piuttosto che system, la soluzione ottimale può essere utilizzare MOSS + WF + BizTalk, futura vision Microsoft di nome OSLO.
E gli adapter Pack?, ne parliamo un’ altra volta, ma sono certamente una validissima alternativa per integrare sistemi LOB.
Ok andiamo più sull’ amichevole e partiamo da zero, BizTalk è alla sua quinta versione, le versioni sono la 2000, 2002, 2004, 2006, 2006 R2, siamo in attesa della versione R3.
La versione 2004 rappresenta un vero salto epocale, infatti le architetture precedenti non hanno nulla a che vedere con essa, a tal proposito, infatti, non si può parlare nemmeno di migrazione dalla versione 2000 e 2002 ma di totale riscrittura e rivisitazione architetturale della soluzione.
A differenza di quello che si possa pensare BizTalk è molto diffuso ed utilizzato, chiaramente per correttezza non voglio fare nomi ma in Italia conta di oltre 180 installazioni delle quali 3 oltrepassano i 130 processori.
I diretti concorrenti coprono circa il 30% del mercato con tendenza a diminuire, quali sono i diretti concorrenti?, mmh ripeto non mi sembra corretto fare nomi.
La prima cosa che viene in mente pensando a BizTalk è ad un tool per integrare diversi flussi e che se serve ad eseguire trasformazioni, in sostanza viene paragonato ad un motore di ETL (Extract Transform Load), come Integration Service di SQL Server o T.... ops.
Ritengo che sia questo il più grave errore, un errore che porta solitamente ad una ingenua sottovalutazione della tecnologia in questione e, di conseguenza, ai relativi lasagne projects.
BizTalk non è stato creato per eseguire semplice ETL, anche se potrebbe farlo, ma ripeto non è stato progettato per questo, se dovessi decidere cosa utilizzare per replicare e trasformare i dati tra due tabelle SQL di un milione di records uilizzerei sicuramente Integration Service di SQL Server o altre tecnologie ma non certamente BizTalk.
A questo punto, di solito, la curiosità inizia a crescere e la domanda sorge spontanea.
Se non è un ETL, o perlomeno, non è tra i suoi targets primari, quali lo sono?
BizTalk è fondamentalmente un HUB Messaging Router, questa sua particolarità lo rende unico nel suo genere.
Sostanzialmente BizTalk riceve messaggi, questi messaggi possono arrivare da sistemi diversi ma al suo interno sono sempre e comunque messaggi.
A cosa è dovuta questa particolarità, è dovuta a un layer esterno chiamato adapter che lui stesso espone.
BizTalk ha tantissimi adapters a disposizione, ognuno di loro è specializzato a parlare con un diverso tipo di sistema, la cosa importante è che a prescindere da quale sia il tipo di sistema o il tipo di protocollo, quando l’adapter riceve qualcosa lo deserializza in una forma BizTalk standard, che corrisponde al famoso messaggio, tecnicamente farlando è un XML Document contenente puro XML.
BizTalk utilizza un pattern architetturale interno molto conosciuto che si chiama Publish/Subscriber.
Un volta entrato in BizTalk questo messaggio può essere sottoscritto a diversi Subscribers, questi possono essere processi molto complessi o semplicemente porte di invio su altri sistemi.
A differenza di quando si lavora su un classico ETL, nel quale esiste uno stretto legame tra un processo e l’altro, in BizTalk esiste solo la sottoscrizione e su questo si basa l’intero funzionamento.
Un messaggio può essere sottoscritto con tantissime regole, basandosi sul valore di uno o più campi, sul fatto che arrivi da un determinato partner, dal fatto che sia un determinato tipo di messaggio e tanto altro ancora.
Sostanzialmente il messaggio viene pubblicato al suo interno ed uno o più Subscriber possono riceverlo, questi Subscribers possono essere processi, porte e altro.
In BizTalk non si può parlare di soluzioni chiuse perchè una soluzione è composta da vari tipi di messaggi e processi che possono essere estesi in qualsiasi momento.
Per capire meglio prendiamo in esame alcune tipiche architetture nelle quali BizTalk può essere utilizzato.
Esistono vari tipi di possibili patterns sia architetturali che di sviluppo, è un discorso molto lungo, complicato e interessantissimo, a dire il vero è l’ argomento di un prossimo articolo.
Dovendo anticipare qualcosa e senza scendere nei particolari prendiamo le due più semplici e diffuse, HUB & Spoke e ESB.
HUB & Spoke Fig 1
FIG 1
In questo caso abbiamo i vari BizTalk dislocati sulle varie agenzie o reparti aziendali (SPOKES) e uno centralizzato (HUB)
I vari BizTalk decentralizzati si occupano di integrare le varie tecnologie in periferia e quello centrale “orchestra” i vari messaggi che arrivano dalle sedi.
In questo tipo di soluzione gli stessi BizTalk decentralizzati fungono da Subscribers, internamente all’ HUB centrale è possibile rappresentare i vari attori come “Partners” e creare politiche di smistamento dei messaggi e di comunicazione assolutamente uniche nel suo genere ma anche questo sarà argomento a parte di un futuro articolo.
La natura stessa di BizTalk porta a creare queste architetture in modo naturale.
ESB Fig 2
FIG 2
Enterprise Service BUS, questa è tra le più frequenti, a differenza della precedente sono le varie tecnologie ad essere interfacciate direttamente a BizTalk, ad essere sincero il concetto di ESB è molto più complicato e include concetti molto profondi , standard di interfaccia, di comunicazione, ma adesso quello che desidero è essere semplicemente chiaro.
Nell’ esempio in figura abbiamo un database SQL Server un SAP, un sistema AS/400 e un database Oracle.
Il compito di BizTalk può essere molteplice, dal permettere ai vari sistemi di interscambiarsi le informazioni al gestire un processo di workflow o di business prelevando o ricevendo le informazioni necessarie dai vari attori e nel caso utilizzarle congiuntamente per poi smistarle (Sottoscriverle).
Solitamente è una soluzione interna all’ azienda ed il focus è ottenere un layer assolutamente standard per comunicare con tutte le diverse tecnologie, certo, un layer assolutamente standard quali dei servizi Web come Web Services o WCF (Fig 3)
FIG 3
Questo discorso / percorso intrapreso mi porta a fare tantissime considerazioni, saranno sicuramente stimoli per prossimi articoli...
Vi prego di contattarmi e scrivere per eventuali considerazioni, che potranno sicuramente arricchire e stimolare a nuove discussioni.
Quanto mi diverte l' integrazione! 
Ebbene sì, dovrete sopportarvi questo matto che parla di integrazione,BPM, EAI e DDT
per un altro anno ancora.
Mi è arrivata la mail che mi riassegna l' MVP Award, che dire, non ho fatto il post immediatamente, ho voluto prima ripensare a quest' anno di lavoro.
E' stato il mio primo anno da MVP, una esperienza molto intensa e piena di tantissime soddisfazioni, a volte piena di sacrifici ma sacrifici sempre gratificanti grazie alle persone che mi hanno sempre seguito e che ringrazio.
Chi mi conosce sa che fondamentalmente sono una persona semplice e istintiva, per me è stato un anno nel quale ho imparato tantissimo cercando di seguire attentamente i colleghi ormai veterani, ho perso amici e poi ritrovati.
Non sono più la persona di un anno fa, questa esperienza mi ha cambiato molto, in meglio, e questo lo devo soprattutto agli amici MVP che mi sono stati più vicini e mi hanno aiutato a capire tante cose.
Di Lorenzo addirittura pensavo fosse un androide, perchè non gli scappava un mio post e se scrivevo una inesattezza di qualsiasi tipo mi bacchettava immediatamente
, sono certo stia leggendo anche questo
, da lui ho imparato veramente tanto, è una persona assolutamente eccezionale.
Di RAF ho cercato di carpire da dove derivasse quella immensa fonte di energia che sprigiona di continuo , ci sto ancora lavorando
Ho avuto occasione di conoscere nuovi amici veramente speciali come Alessandro , Davide, è un elenco molto lungo.
Ringrazio Alead, un amico sincero e leale, sempre presente nelle necessità e nei momenti difficili.
Quest' anno sarà un anno fantastico e pieno di nuovi propositi, rimbocchiamoci le maniche e mettiamoci al lavoro.
Fino ad oggi ho dovuto tenerlo "segreto" ... ma oggi, insieme (all'impagabile) segretaria / assistente (Anto sei mitica!), abbiamo "finalizzato" l'iscrizione: SARO' al TECHEDDDDD
.
L'albergo (da confermare) sara' il Bel Art (qualcuno c'e' stato? Com'e' ? )...
Bene ragazzi...chi si unisce a me (ed altri due colleghi) ? Su su ... c'e' il "Super-Early Bird" fino a fine Luglio!
Capisco che siamo un po' "indietro" con i tempi ... ma se convincete il Vs. Manager che si risparmia...
.
Ci si vede la'...anzi, prima ai Community Days ... e poi LA'!
VS2008 Web Server Here Shell Extension è un'estensione della shell di Windows che aggiunge un comando al menu contestuale visualizzato quando si fa clic con il tasto destro del mouse su una directory: esso consente di avviare immediatamente il web server integrato in Visual Studio (WebDev.WebServer.exe) caricando l'applicazione contenuta in quella cartella. Per maggiori informazioni e per il link al download è possibile fare riferimento a questo post.
Post a titolo di promemoria. Per abilitare da riga di comando "l'ibernazione" del sistema, è sufficiente digitare (avendo gli opportuni privilegi):
powercfg /hibernate on
Altre opzioni di powercfg e approfondimenti qui
Ho un router ADSL della 3COM, ai suoi tempi era un buon router e debbo dire che si comporta bene, ma ci sono delle piccolezze che mi infastidiscono, una delle quali è la necessità di riavviare il router ogni volta che si fanno piccole modifiche.
Una su tutte, l'attivazione della wirless. Normalmente io sono connesso con il cavo, ma talvolta voglio usare il portatile in sala. La situazione standard è quella di attivare la wirless, attivare la cifratura e lasciare sempre acceso, la cosa però non mi sconfinfera al 100%. Dato che oramai l'etere è saturo di onde elettromagnetiche, mi piacerebbe tenere spento il wireless ed attivarlo solo quando necessario.
Problema numero 1: Il settaggio per l'attivazione è fatto via software, questo mi costringe ad avere o acceso il pc fisso, o a connettere via cavo il portatile, accedere al router, e poi andare in sala. Avrei gradito un bottoncino che abilita/disabilita (tra l'altro oramai quasi tutti i portatili lo hanno)
Problema numero 2: Quando disattivo/attivo il wireless la lucina del wireless si spegne subito....poi dopo 4/5 secondi il router si resetta e sta tipo 30 secondi prima di riavviarsi. Ora 30 sec non sono molti, ma non si saerebbe potuto evitare il reset del router?
Firmware nuovi non se ne trovano, ma talvolta viene pensato che basterebbe poco per rendere le periferiche più user friendly :D
alk.
Problema:
Se da codice imposto una proprietà di tipo data+ora di un documento contenuto in una Document Library di SharePoint mi ritrovo un valore diverso da quallo impostato. In particolare ho uno sfasamento di un'ora o due.
Soluzione:
Certo, direte voi, devi usare le date in formato UTC.
Allora vediamo coda succede in 2 casi, cioè se il file esiste e modifico la sua proprietà, oppure se il file è creato nuovo e la proprietà assegnata all'upload.
L'esempio suppone che:
- ci sia un documento all'url http://myServer/mySite/myDocLib
- la document library che contiene quel documento abbia una proprietà di nome myDateTimeProp
Il codice di esempio (inserito in un qualche button click) esegue l'update della proprietà del documento esistente, poi crea un nuovo documento (con il contenuto del precedente) assegnandogli un certo valore della proprietà di tipo Data.
Si noti che nel primo caso (update) si deve usare la data nel suo formato normale, nel secondo la si deve convertire in formato UTC.
Ogni altra combinazione non sembra funzionare.
1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
2 ' Esegue l'update della data:
3 Dim urlDoc As String = "http://myServer/mySite/myDocLib/myDoc1.tif"
4 Dim objSite As SPSite = Nothing
5 Dim objWeb As SPWeb = Nothing
6 Try
7 Me.Cursor = Cursors.WaitCursor
8 ' Crea gli oggetti SPSite ed SPWeb
9 objSite = New SPSite(urlDoc)
10 objWeb = objSite.OpenWeb
11 '' Cerca la document library
12 Dim objItem As SPListItem = objWeb.GetListItem(urlDoc)
13 objItem.Item("myDateTimeProp") = Now
14 objItem.Update()
15 Dim stream As IO.Stream = objItem.File.OpenBinaryStream()
16 Dim props As New Hashtable
17 props.Add("myDateTimePro