Se vi servisse di attivare un servizio WCF dinamicamente, da codice, e non da .config ... ecco qualche riga che può esservi utile:
System.ServiceModel.Activation.ServiceRoute serviceRoute =
new System.ServiceModel.Activation.ServiceRoute("SampleService.svc",
new System.ServiceModel.Activation.ServiceHostFactory(),
Type.GetType("SampleServiceActivations.WCF.SampleService, SampleServiceActivations.WCF", true));
System.Web.Routing.RouteTable.Routes.Add(serviceRoute);
Da eseguire per esempio in un HttpModule o nel global.asax. Se poi dovete rimuovere il servizio:
System.ServiceModel.Activation.ServiceRoute serviceRouteToRemove = System.Web.Routing.RouteTable.Routes.OfType<System.ServiceModel.Activation.ServiceRoute>()
.FirstOrDefault(r => ((System.ServiceModel.Activation.ServiceRoute)r).Url.Contains("SampleService.svc"));
if (serviceRouteToRemove != null) {
System.Web.Routing.RouteTable.Routes.Remove(serviceRouteToRemove);
}
Buon lavoro.
Da questa sera abbiamo spostato l’hosting del nostro blog su Windows Azure! 
Da pochi giorni sono disponibili in RTM gli Office Developer Tools for Visual Studio 2012.
Ho messo sul mio blog in inglese qualche considerazione, dopo averci lavorato per una decina di giorni.
http://www.sharepoint-reference.com/Blog/Lists/Posts/Post.aspx?ID=28
Buona lettura.
Grazie a tutti per aver partecipato alla mia sessione su Windows Azure ACS in .NET e Windows Store Apps, ieri ai Community Days 2013 in Microsoft Italia. Qui trovate le slide e le demo della mia sessione AZ01. Buon lavoro e buon divertimento.
Con grande piacere e soddisfazione annuncio che l’agenda della ormai imminente SharePoint & Office Conference 2013 (www.sharepointconference.it) si arricchisce ulteriormente!
Infatti in esclusiva il 6 marzo, durante la conferenza, vi sarà il lancio ufficiale di Microsoft Office 365 con la partecipazione di Executive Microsoft di livello internazionale e il nuovo Amministratore Delegato di Microsoft Italia!

Sia che siate aziende finali, sia che siate partner … approfittate di questa occasione e registratevi alla conferenza dell’anno!
Oggi alla Windows Developer Conference 2012, tra le questioni emerse sul tema della persistenza dei dati in una Windows Store App è sorta la questione di “cosa accade se eccedo il limite di 100KB” nel roaming storage?
Avrò una eccezione? Citando il blog su MSDN relativo allo sviluppo di Windows Store App:
<< So what happens if you exceed the RoamingStorageQuota? Nothing! More specifically, nothing roams. Your app will not break, and it can continue to read and write the data from the roaming locations. But until the total roaming data in the roaming locations is less than the RoamingStorageQuota, that data will not be synced to the cloud. >>
Inoltre qui si possono trovare ulteriori interessanti considerazioni.
Come potete leggere in questo post, Microsoft Office 2013 è arrivato alla versione RTM e da quanto scrivono … per metà novembre si parla di avere anche SharePoint 2013 per i clienti Volume Licensing! Ci siamo … venite tutti a scoprire il nuovo SharePoint 2013 alla ormai imminente SharePoint Future 2012!
Da oggi è completamente online su Channel9 un insieme di video che rappresentano un percorso formativo per sviluppatori che vogliano imparare a creare soluzioni per Microsoft SharePoint 2010.
I WebCast sono stati realizzati da me e da Giuseppe Marchi, e sviluppano i seguenti argomenti:
Spero li troverete utili e vi auguro quindi buona visione e buono studio.
Ringrazio Pietro Brambati per la collaborazione nella realizzazione di questi video.
Per approfondire le tematiche illustrate vi segnalo poi la presenza del mio libro “Microsoft SharePoint 2010 Developer Reference” e anche un evento formativo di 1g “DevCon Days 2012” che terremo il 13 marzo 2012 a Milano proprio a proposito di SharePoint, di quando usare e di come usare SharePoint 2010 nel modo migliore.
Ecco qualche nota che ritengo utile segnalare rispetto a quanto riferito da Jeff Teper durante la keynote di SharePoint Conference 2011.
Tra le novità più importanti annunciate c'è l'imminente rilascio (entro la fine dell'anno) del supporto a BCS verso web services (read/write) in Office365. Si tratta di una potenzialità molto interessante anche nell'ottica di fruire di servizi on-premises, in scenari ibridi, o di servizi su Windows Azure, basati ad esempio su SQL Azure.
È stata annunciata la certificazione di Microsoft Certified Architect for SharePoint.
A proposito di prestazioni, hanno mostrato una demo di soluzione SP2010 basata su un content database di 13TB con 100 milioni di documenti e la ricerca FAST che in 0.23 secondi era in grado di dare i risultati della ricerca all'utente! Impressionante!
Sotto c'era questa configurazione:
- 6 WFE
- 5 FAST Search & Index
- 2 FAST Service & Admin
- 2 CA
Dal punto di vista hardware si basava su una SAN EMC2 con 400TB di storage!
Con tanto di simulazione di failover clustering, durante uno stress-test con 7.500 richieste concorrenti per unità di tempo, staccando letteralmente la spina ad un nodo SQL per far entrare in funzione (in circa 5 secondi) il secondo nodo che era in stand-by.
Ovviamente la chiusa di questa demo è stato: tutti potete avere un'infrastruttura come questa, basta che vi spostiate su Office365! :-)
Ma soprattutto tenetevi pronti e liberi dal 12 al 15 novembre 2012 perché a Las Vegas, presso il Mandala Bay Hotel, ci sarà la SharePoint Conference 2012.
Questa mi era sfuggita … fino ad ora:

con WCF 4.5 hanno reso disponibile il WSDL in un file unico, come opzione. Si tratta di una modifica semplice ma importante, per andare a supportare meglio l’interoperabilità con piattaforme un po’ “rigide” (ad es. PHP) dove un WSDL su più file, benché tecnicamente valido e compatibile con WS-I BP 1.1a, non era supportato. Ottimo!
Tra le tante novità
c’è anche un nuovo BSOD. Sto provando ad usare una VM con VmWare 8 e ho messo i VmWare tools… è una preview… ci sta che i driver di VmWare non siano ancora “compatibili” però il BSOD è veramente carino!

La cosa importante da notare è che Windows 8 ha un sistema di restore che mi aiuta a risolvere il problema:

e che alla fine la mia VM è ritornata funzionante
.
Ieri c’è stato il primo giorno della Build Conference 2011. Ho deciso di “somatizzare” le novità e scrivere un unico post riepilogativo oggi, dopo averci dormito e riflettuto sopra, anziché buttarmi a caldo sulle novità. Avremo poi modo di ragionarci insieme a brevissimo tramite gli eventi e le attività che con DevLeap andremo ad organizzare.
Le notizie più importanti sono:
- Annuncio e presentazione del nuovo Windows 8: si sapeva e tutti lo aspettavano. Si tratta di una evoluzione veramente importante del sistema operativo. Le novità introdotte sono molte e non si può certo parlare di un refresh di Windows 7. Indubbiamente è un tentativo, che secondo me riuscirà nel suo intento, di recuperare una fetta di mercato che stava un po’ scappando. Parlo del mercato consumer, dove iPad, iPhone, Android, ecc. stavano iniziando a diventare “fastidiosi”. Di fatto è un salto avanti, rispetto a questi sistemi “concorrenti”, in termini di interfaccia, idee, fluidità e rapidità di utilizzo. Entro due o tre anni il touch sarà ovunque e forse il mouse sarà meno utile. L’interfaccia di Windows 8 è stata pensata per far sopravvivere il mouse, ma dare priorità all’approccio touch. Nella keynote hanno spiegato i ragionamenti e gli studi fatti per arrivare a questo risultato. Grazie al tablet con la beta di Windows 8 che ci hanno dato, abbiamo potuto sperimentare che lo sforzo è stato davvero enorme, ma il risultato è ottimo. Le novità del sistema operativo sono molte. A partire dall’interfaccia di start completamente rivista, basata sui tales, come in Windows Phone, con le charms a destra dello schermo per i comandi di sistema, sempre accessibili, e le funzioni dei singoli app in alto e in basso. La possibilità di avere applicazioni “full-screen” per la massima fruibilità dei contenuti e le guideline Metro-style per aiutarci (come sviluppatori) a produrre software consistenti e usabili in termini di interfaccia. Non ha senso che stia qua a fare l’elenco delle nuove funzionalità (la keynote è visibile in streaming su www.buildwindows.com), ma ha senso sottolineare che la svolta è davvero importante.
- Annuncio di Windows Runtime: questa è la novità più importante per chi come me è sviluppatore. Di fatto hanno rivisto il modello architetturale dello sviluppo su Windows 8. Sarà possibile sviluppare, oltre alle “solite” applicazioni che ovviamente per compatibilità gireranno tutte anche su Windows 8, nuove App secondo una nuova filosofia di sviluppo. L’interfaccia potrà essere definita con codice XAML o HTML5/CSS. Il controller dell’interfaccia potrà essere scritto in C/C++ nel caso siano necessarie alte prestazioni (gaming o similari), oppure in C#/VB nel caso si vogliano utilizzare linguaggi .NET. In entrambi i casi il presentation sarà XAML. Nel caso invece di HTML5/CSS si potrà scrivere il codice in JavaScript. In tutti i casi si sfrutteranno delle nuove librerie WinRT (i.e. Windows Runtime) che offrono a C/C++, C#/VB, JavaScript un set di funzioni comuni e basate su una infrastruttura che sarà la stessa. WinRT è scritto in codice nativo e fortemente ottimizzato per supportare al meglio le applicazioni. Le funzionalità chiave offerte da WinRT sono in ottica di:
- Communication & Media: servizi di comunicazione con l’esterno in ottica di App always connected e tra le App stesse, con un modello a contratti che vede WinRT come tramite della comunicazione tra N App che tra loro non si conoscono ma sfruttano WinRT come collante.
- Graphics & Media: servizi di interfaccia e gestione della grafica e del multimedia pensati per supportare gli sviluppatori nel “riuso” di interfacce comuni.
- Devices & Printing: classi di supporto alla interazione con device quali stampanti, videocamere, sensori vari di posizione, rotazione, ecc.
In questo modo gli sviluppatori C++ non dovranno più sudare sangue
per scrivere la UI e potranno sfruttare al massimo le prestazioni del loro linguaggio, dove serve. Gli sviluppatori HTML/CSS di oggi potranno diventare sviluppatori Windows 8 ad un costo contenuto di apprendimento, giusto quello di apprendere come chiamare le nuove librerire. Gli sviluppatori .NET di oggi dovranno solo imparare come usare le nuove librerie di WinRT e poi il resto del modello di programmazione resta uguale. Anche le applicazioni esisteni potranno essere “facilmente” convertite, se presentano un’architettura ben fatta e pulita basterà rivedere lo strato di presentation mantenendo il backend inalterato.
- Annuncio di Windows Store: anche questa è una novità attesa ma importante. Con Windows 8 le App che andremo a sviluppare potranno essere vendute tramite uno store specifico che aprirà letteralmente un nuovo mercato e un nuovo business. Ci sono milioni di utenti che usano Windows e ci saranno milioni di potenziali acquirenti per le nostre applicazioni. La vetrina tramite cui venderle sarà il Windows Store. Il paradigma di utilizzo è il “solito” ma il potenziale è enorme.
- Annuncio di Visual Studio 11 e Blend 5: per supportare WinRT e lo sviluppo in ottica di Windows 8 avremo anche una nuova versione di Visual Studio. Qui troveremo numerosi template già pronti, nei vari linguaggi, per sviluppare più in fretta le App. L’investimento da parte di Microsoft è consistente perché i tre mondi (C/C++, C#/VB, HTML5/CSS) sono stati equiparati e i template di codice sono presenti per tutti e tre gli ambienti indifferentemente. Inoltre a corollario ci sarà Blend 5 per il design di fino delle interfacce, anche qui sia XAML che HTML5/CSS. Finito di sviluppare una App con VS11 potremo direttamente pubblicarla sul Windows Store sfruttando apposite e nuove funzionalità di VS11 e un nuovo modello di packaging dei setup, pensato in ottica di manifest XML e non più di MSI, ClickOnce o altro.
Ci sono certamente mille altre novità (Windows Server 8, il supporto per processori ARM in .NET, i nuovi BIOS EUFI, Hyper-V Client su Windows 8, il nuovo Task Manager, il nuovo paradigma di programmazione asincrona, le App “sospendibili”, ecc.), ma queste sono quelle che mi hanno lasciato “il segno”. E da qui voglio partire con qualche considerazione e osservazione:
- Ormai .NET framework, quello che noi tutti conosciamo, resterà come strumento per sviluppare il backend e gli application server. I servizi WCF/REST restano come sono e sfruttano tutto l’attuale potenziale. Tra le tante cose è stato annunciato anche Windows 8 Server, che servirà proprio per ospitare con un sistema pensato in ottica IaaS gli application server che andremo a sviluppare.
- Lato presentation il modello è stato rivisto, la svolta è importante e si allarga il bacino di potenziale utenza. Resta da capire come reagiranno determinati settori. Mi viene in mente chi sviluppa il “software gestionale” - che spesso sono nostri clienti – e deve ora decidere se sia meglio tenere un modello applicativo “classico” basato su MDI, menu, ribbon, finestre modali. Oppure se non sia meglio fare un “FORMAT C:\”
della sola interfaccia utente, se il backend è già pensato bene, e riscrivere la UI dopo averla ripensata in ottica Metro-style. Forse ha senso rivedere almeno le interfacce per la forza vendita e/o per i clienti finali, perché certamente potrebbero fruire delle novità di Windows 8. Magari invece in prima istanza il modulo di inserimento fatture – tanto per fare un esempio - può restare in stile “old” … oppure qualcuno potrebbe scommettere completamente su Windows 8 e fare il grande salto di tutto. In fin dei conti anche il passaggio da main-frame a PC è stato “duro” ma c’è stato. Fra un po’ di anni gli utenti saranno quelli che oggi usano un device touch (iPhone, Android, WP7, iPad, ecc.) e quindi per loro sarà naturale usare le dita e non il mouse, forse anche per inserire una fattura. - Mi chiedo se Microsoft stessa ha intenzione di rivedere Office 20xx in quest’ottica, rifacendola in Metro-style, oppure se anche loro in realtà ci andranno cauti.
- Mi chiedo se SharePoint 20xx – di cui vedremo forse qualcosa fra 20/30gg sempre ad Anaheim (anche se non ci conto più di tanto di vedere già le prime beta) - avrà una UI in ottica Metro-style e Windows 8, oppure se anche lì dovremo uscire dal modello per andare in browsing con IE10 e basta. In ogni caso si apre certamente un mercato per sviluppare UI “on-top of SharePoint” basate su WinRT e con interfaccia Metro-style per fornire a utenti finali i contenuti di SharePoint 2010 o superiore, sfruttando i servizi WCF/REST e il Client Object Model di SP2010.
- In generale in un mondo che ragiona a servizi potrebbe aver senso sviluppare il “guscio” che li presenta come App e il resto – il backend – come insieme di servizi in hosting su Azure.
- In tutto questo credo che Microsoft abbia giocato molto bene le sue carte, perché offrirà Azure da un lato e il Windows Store dall’altro, di fatto facendo il mercato, traendo profitto da entrambi i lati dell’architettura (non sono noti i modelli di business del Windows Store, ma sono intuibili …) e offrendo una piattaforma matura e pronta per il futuro.
Adesso tocca a noi che ci occupiamo di tecnologia e innovazione tecnologica … diamoci dentro e facciamo sì che tutte queste novità diventino fonte di lavoro e innovazione anche per noi. La strada è segnata … dobbiamo solo percorrerla.
Se avete letto fin qui … complimenti per la pazienza
… ma l’evento è importante e merita delle riflessioni adeguate.
Sto per imbarcarmi alla volta di Anaheim per seguire, insieme a RoB, la Build Windows Conference.
Domattina in keynote scopriremo le novità più importanti che ci attendono per i prossimi anni. I rumors parlano di (tutto teorico, nulla di confermato/confermabile):
- Nuova versione di .NET Framework (forse la 5.0?) che “rimane” service-side
- Silverlight 5.0 (vabbé questo si sa) che va avanti per la sua strada in ottica di supporto a Windows Phone e forse al marketplace per Windows 8
- Nuovo ambiente di sviluppo per il presentation layer (aka Jupiter) per realizzare le nuove UI markup based e orientate sia a Windows Phone che a Windows 8
- Ovviamente … presentazione di Windows 8 e delle sue nuove funzionalità multi-touch-oriented e della nuova user experience che introduce
Mi aspetto comunque qualcosa di molto importante anche sul fronte hardware e/o dell’integrazione con l’hardware. Vediamo se – di nuovo – Microsoft riuscirà a stupirmi come ha fatto nel 2000 con NGW (Next Generation Windows –> .NET 1.0)
Da domani stiamo in contatto, abbiamo in arrivo anche noi di DevLeap delle novità importanti … ci risentiamo a breve!
Segnalo che settimana prossima a Roma ci sarà un incontro molto interessante sul tema dell'Agile Development: http://www.beyondagile.com/agile-alliance-in-rome/ .
Se siete in zona ... fateci un salto!
Chi mi conosce sa che non sono un sistemista … tuttavia questa settimana ho migrato il penultimo progetto SharePoint da 2007 a SharePoint 2010, ora ne resta ancora uno solo e poi potrò dimenticarmi
di MOSS2007!
Ebbene in questo progetto il cliente ha 3 domini in one-way trust. Così mi sono imbattuto in un aspetto decisamente sistemistico, che non avevo dovuto valutare sino ad oggi. Lascio traccia, per me e per gli altri, qui.
http://technet.microsoft.com/en-us/library/gg602068.aspx#forests
Per abilitare il PeoplePicker a cercare gli utenti anche nei domini non di appartenenza della farm SharePoint occorre eseguire il comando:
stsadm -o setproperty -propertyname peoplepicker-searchadforests –propertyvalue “domain:first.domain.local;domain:second.domain.net”
Trovo curioso che questo comando sia di STSADM e ancora risalente a MOSS2007, oltre che solo documentato per MOSS2007.
Immagino che uno dei miei amici sistemisti di SharePoint saprà indicarmi - con un commento - quale sia l’equivalente PowerShell. E gliene saremo tutti molto grati
.
Buon lavoro.
More Posts
Next page »