SharePoint Hosted App Model #1

Fra i nuovi modelli con cui creare App per SharePoint, il modello SharePoint Hosted è il mio preferito.Questo modello prevede che l'applicazione venga sviluppata completamente in JavaScript (oppure TypeScript :)) e quindi l'esecuzione avvenga completamente nel browser dell'utente e l'iterazione con SharePoint avviene tramite il client object model oppure tramite le nuove api Rest. Perchè mi piace tanto questo modello?Semplicemente perchè nella maggior parte dei casi si riesce ad architetturare meglio l'applicazione, evitando di fare postback per esempio ogni volta che bisogna aggiornare un campo, ecc. In questo caso quindi, SharePoint oltre a fornire le api per accedere alle funzionalità che offre, diventa anche il sistema di hosting della nostra app, andando a  contenere in un appostito spweb, chiamato app web, creato all'installazione dell'app, tutti i file html, css, javascript ed eventualmente liste, library e altri artifacts di SharePoint che servono all'app stessa. Per isolare completamente ogni istanza di app (ogni installazione di app in questo caso) SharePoint va a creare appunto un spweb per ogni istanza, andando a definire un url univoco. Come è strutturato l'url di un spweb per app?Vediamo un esempio: Ipotiziamo che l'url del nostro sito SharePoint sia http://intranet.contoso.com e che vogliamo installare un'app che si chiami "Rubrica Telefonica" e dove l'url dell'app web sarà il seguente: http://app-ac453c3675cb0c.apps.contoso.com/RubricaTelefonica Questo vuol dire quindi che ogni app avrà un url univoco a livello di dominio, cosa che permette un isolamento anche dal punto di vista delle chiamate cross domain.SharePoint utilizza un pattern per creare questo url, la cui struttura è questa: http://tenant-APPUID.domain.com/APPNAME dove ogni parte dell'url corrisponde a: tenant: configurazione che viene settata a livello di Central Administration, di solito viene usato il valore app APPUID: valore che SharePoint autogenera per ogni istanza di app, rendendo il nome di dominio unico domain.com: nome del domino a cui è raggiungibile il sito di SharePoint APPNAME: nome dell'app installata.

Ignite Training - Resource library

Segnalo questo interessante link del sito Ignite che offre risolte gratuite su SharePoint, Office 365 e tutti i prodotti/servizi su cui vengono erogati i corsi Ignite!Buona visione!

Introduzione alle SharePoint e Office Apps

Sia SharePoint 2013 che Office 2013 introducono il concetto di App.L'idea è quella di creare delle vere e proprie applicazioni che possano funzionare nel caso di SharePoint all'interno del browser e nel caso Office all'interno dei rispettivi client (Desktop e Web). In entrambi in casi la cosa che bisogna sottolinare è l'introduzione di un nuovo paradigma che prevede il fatto di non andare più a estendere SharePoint (con tutta una serie di vantaggi e svantaggi) con delle feature o in Office con degli Addin, ma di creare delle entità a se stanti che sono appunto le App. La differenza è molto sottile, è vero, ma cerchiamo di spiegarla.Per esempio, cosa vuol dire creare una Solution con delle Features per SharePoint? Vuol dire creare un progetto in Visual Studio che permetta di creare una serie di item per inserire funzionalità all'interno di un sito di SharePoint (per esempio content type, list definitions, list instance, ecc, pagine, file css, immagini, ecc) e/o scrivere del codice che permetta di effettuare qualcosa lato server per esempio alla creazione o alla modifica di un item (Event Receiver) oppure creare una WebPart, una Application Page, ecc, ecc.Una volta che andiamo a installare una Solution, questa si fonde all'interno di SharePoint, magari andando a deployare qualcosa nel file sistem di SP oppure inserendo la dll (risultato della compilazione della solution) nella GAC del sistema.E' vero che l'utente (che ha i privilegi) può sempre andare ad amministrare una o più features (attivare o disattivare funzionalità) ma questo non è riconducibile al concetto di applicazione. Cos'è quindi un'applicazione?E' un'entità che può essere installata / disinstallata / aggiornata, che ha un set di permessi per poter accedere a delle funzionalità/dati, che ha un'interfaccia propria per poter essere utlizzata.Il paragone con le App per SmartPhone danza a pennello.Questo solo per capire quindi la differenza fra Solution/Feature e App per SharePoint. SharePoint Nel caso di SharePoint il nuovo modello di Sviluppo prevede il fatto che non ci sia più codice lato server (inteso nello stesso processo di SharePoint) che venga eseguito, bensi l'applicazione verrà eseguita completamente lato client oppure ospitata all'interno di qualche server web (dipende dal modello di sviluppo adottato) Le applicazioni per SharePoint potranno comunicare con SharePoint stesso esclusivamente utilizzando le API Rest che SharePoint 2013 mette a disposizione oppure utilizzando il CSOM (Client Object Model). Il vantaggio di questo modello, molto simile a quello che si ha nello sviluppo di App per Facebook, è quello che finalemente siamo slegati dalla tecnologia con cui è fatto SharePoint ovvero .NET nella versione 4.5.Possiamo quindi realizzare o portare applicazioni già realizzate e farle diventare App per SharePoint indipendentemente dalla tecnologia con cui SharePoint è fatto.Possiamo utilizzare semplicemente JavaScript oppure PHP oppure Java oppure qualsiasi stack web vogliamo utilizzare. Ad oggi abbiamo 3 modelli di Sviluppo per App di SharePoint riassunti in questa immagine: In post successivi andrò ad approfondire i 3 modelli, per diciamo che il modell SharePoint-hosted è quello che prevede di andare a realizzare l'App completamente in JavaScript, senza che ci sia del codice che venga eseguito lato server, mentre gli altri 2 modelli prevedono il fatto di eseguire codice lato server (in qualsiasi linguaggio) ma richiedono un servizio di hosting che nel caso del modello Autohosted è Windows Azure. Office Nel caso di Office 2013, il nuovo modello si sviluppo di App prevede la realizzazione di applicazioni che possano essere eseguire contestualmente al documento stesso e non al client in cui vengono eseguite.Questo permette di avere un'App che viene "installata" nel documento e non nel client di Office e questo permette di poter utilizzare quell'App su qualsiasi client Office 2013 in cui quel documento viene aperto. Le App per Office 2013 supportano, sia pur con delle limitazioni, sia le versioni Desktop che Web di Office 2013, permettendo quindi di poter lavorare con le app nei documenti da diversi dispositivi, non solo il classico Windows con Office installato.Per poter far funzionare questo scenario, le App per Office sono realizzare in modo molto simile a quanto abbiamo appena visto per SharePoint, ovvero utilizzando tecnologia Web. Esistono 3 tipi di App che si possono sviluppare per Office: Task Pane App, Content App e Mail App: Ognuna ha come targhet una tipologia di documento/client.Nei prossimi post analizzeremo meglio queste tipologie di App. Conclusioni Di seguito uno schema riassuntivo della nuova architettura delle App di SharePoint e di Office 2013 Ma perchè andare a creare App per SharePoint e Office?I motivi sono molteplici sia lato Dev che lato User: Il codice rimane "isolato" all'interno dell'App, la comunicazione avviene mediante API Client Non siamo più legati a una piattaforma specifica di sviluppo L'utente accederà alla logica applicativa attraverso l'interfaccia dell'App Gli utenti potranno installare le App che vorranno attraverso lo Store pubblico di Microsoft oppure atteaverso degli Store privati ecc... Vi lascio un video in inglese che riassume in modo simpatico quanto detto fino ad adesso, nei prossimi post andremo più nel dettaglio della nuova architettura. <a title="Imagine apps for Office 2013 and SharePoint 2013 in 90 seconds" href="http://www.microsoft.com/office/preview?videoid=61ce61c7-cb0b-4236-9d96-41b0094b0398&from=shareembed-syndication" target="_new" data-mce-href="http://www.microsoft.com/office/preview?videoid=61ce61c7-cb0b-4236-9d96-41b0094b0398&from=shareembed-syndication">MS_Office Imagine apps for Office 2013 and SharePoint 2013 in 90 seconds</a>

Video della session SPA and SharePoint al primo SPS Italy

Ecco finalmente la registrazione del video della mia sessione "SPA & SharePoint" al primo SharePoint Saturday Italy!Buona visione!

New Codeplex Project - SharePoint 2010 App Model

It a pleasure to announce the publication of my new project on Codeplex has just ended. The project is called SharePoint 2010 App Model and purpose is to emulate a subset of the functionality related to the new App Model in 2013 SharePoint SharePoint 2010 through the use of the SandBox Solution. Clearly the aim is not to create a true clone of new App Model in SharePoint 2010, also because it wouldn't even make sense, but to create a set of features that can enhance the future migrate applications developed today with this project from 2010 to 2013 version of SharePoint. At this early stage, the project contains a Project Template for Visual Studio 2012 to create one of three types of App that you can create in SharePoint that is SharePoint 2013 Hosted App. On the home page of the project on Codeplex you will find simple instructions in order to start using it right away. Enjoy!

Nuovo progetto Codeplex - SharePoint 2010 App Model

E’ con piacere che comunico che la pubblicazione del mio nuovo progetto su Codeplex si è appena conclusa. Il progetto si chiama SharePoint 2010 App Model è lo scopo è quello di emulare un subset delle funzionalità legate al nuovo App Model di SharePoint 2013 in SharePoint 2010 attraverso l’uso delle SandBox Solution. Chiaramente lo scopo non è quello di creare un vero clone dell nuovo App Model in SharePoint 2010, anche perchè non avrebbe neanche senso, ma di creare un set di funzionalità che possano un domani favorire la migrazione delle applicazioni sviluppate da oggi con questo progetto dalla versione 2010 alla versione 2013 di SharePoint. In questa prima fase il progetto contiene un Project Template per Visual Studio 2012 che permette di creare una delle tre tipologie di App che si possono creare in SharePoint 2013 ovvero le SharePoint Hosted App. Nella home page del progetto su Codeplex si trovano le semplici istruzioni per poter cominciare fin da subito a utilizzarlo. Enjoy!

WPC 2012

Anche quest’anno ho avuto il piacere e l’onore di partecipare come speaker a una delle conferenze più longeve e importanti d’italia nel settore IT ovvero WPC che quest’anno ha raggiunto il traguardo della 19° edizione. Per me è la 3 consecutiva e quest’anno ho contribuito con 2 sessioni, entrambe su SharePoint 2013, una da solo il cui tema è stato quello di illustrare le varie tecniche/tecnologie per estendere SharePoint 2013 e una in coppia con Patrick che parlava di come sfruttare i servizi Cloud in accoppiata a SharePoint. Quest’anno sono riuscito a seguire solo una sessione, quella che mi precedeva, tenuta da Marco Rizzi, il cui tema era lo sviluppo di App sia per SharePoint 2013 che per Office 2013 e di come pubblicarle nei vari store che sono a disposizione. I miei complimenti Marco, sia per i contenuti che per l’esposizione! :) L’organizzazione di WPC è come sempre impeccabile, il clima di Famigghia (come dice il mitico Leone ;) ) si respira ogni anno. Congratulazioni quindi a tutto il gruppo Overnet per aver organizzato anche questo WPC al meglio, è un piacere lavorare con voi. Mi congratulo anche con tutti gli altri speaker che hanno partecipato, veterani e non, ritrovare amici e persone conosciute a questi eventi è un plus di non poco conto. Saluto inoltre tutte che persone che mi hanno fermato nei vari corridoi per farmi domande oppure semplicemente per salutarmi, entrambe le cose mi danno un estrema soddisfazione! A tutti dico, ci si becca l’anno prossimo! :) P.S. Ti voglio bene Gianluca Maggio Cavallaro!! Hahahaha :D

SharePoint Conference 2012 – Las Vegas

Anche se sono passati un po di giorni, non posso non scrivere niente delle SharePoint Conference di quest'anno.In numeri sono stati qualcosa di impressionante, circa 10500 persone hanno partecipato come spettatori, una marea di sessioni, praticamente quasi impossibile vederle tutte anche il offline (sono state tutte registrate).Il live-blogging che volevo fare è stato impossibile in quanto la connettività wifi è stata pessima praticamente per quasi tutta la conferenza.Il fatto di aver partecipato al corso Ignite a Redmond in agosto a fatto si che molte novità su SharePoint 2013 le avessi già viste, e quindi ho potuto gustare meglio altre sessioni che probabilmente non serai andato a vedere. Se dovessi sintetizzare in poche righe la conferenza direi: Social, social, social!!! Con il Newsfeed sembra di aver di fronte un twitter fatto su misura per SharePoint. In più, trovo veramente interessante la possibilità di "seguire" persone, siti, documenti in modo da rimanere "aggiornati" su quello che succede. App, App, App!!! :) Il nuovo modello di sviluppo delle App, a me siceramente piace molto. Meno problemi nel migrare customizzazioni/app con le future versioni di SharePoint? Le premesse ci sono, staremo a vedere. Non ho paraticamente mai sentito le parole "SharePoint Foundation" a parte quando ho saputo che il nuovo modello delle App e i nuovi Workflow non sono supportati. :( La maggior parte delle demo delle varie sessioni sono state fatte utilizzando la preview (SharePoint 2013) di Office 365. Che questo sia una sorta di messaggio subbliminare? :) Sicuramente la tendenza è quella, sempre più palese, di affiancare alle versioni Server, le versioni Cloud di SharePoint, andando via via ad abbandonare la versione Foundation. Staremo a vedere. Il Search è stato completamente rifatto, il meglio di tutte le versioni precedenti di Search sono state fuse insieme in una nuova architettura completamente personalizzabile. Cambia pesantemente la parte di Licencing, in meglio. Ora non c'è più bisongo di licenze extra per un uso esterno, abbattendo così i costi per l'utilizzo di SharePoint anche al di fuori dell'azienda o per la creazione di siti pubblici. Forse una delle motivazioni che spingerà ancora di più l'adozione di questo prodotto. Conferenza a parte, due parole sulla Location.Questa è la mia prima volta a Las Vegas :) e sinceramente spero che le prossime SharePoint Conference vengano fatte ancora qui :DScherzi a parte, la città è un vero parco giochi per adulti, se non ci siete mai stati, programmate di andarci prima o poi! E' stato poi un piacere ritrovare amici come Marco Rizzi, Alberto Casu, Simone Malvassori, Francesco Sodano e Paolo Pialorsi! Alla prossima ragazzi! :) Stay tuned!

SharePoint 2013 Ignite, Redmond

In questa settimana ho avuto il piacere di partecipare al corso Ignite su SharePoint 2013 presso il Corporate Campus di Microsoft a Redmond, WA.Oggi è l'ultima giornata di 5 e scrivo questo post per raccontare brevemente la mia esperienza. Il campus di Microsoft a Redmond è una figata pazzesca!! ;)Girare fra i vari build dove nascono e crescono i prodotti che utilizziamo tutti i giorni nella nostra quotidianità è un'esterienza fantastica. L'aria che si respira è eccezionale e non intendo a quella brezza fresca che è presente nell'aria di Redmond, che di certo non mi fa rimpiangere il caldo lasciato alle spalle in Italia, ma al clima che si vive quì nel campus. Intraprendenza, collaborazione, amicizia, semplicità e casual style sono solo alcune delle cose che mi sento di dire del clima che si trova quì.Il posto è veramente fantastico, immerso nel verde, spazi giganteschi, aree di relax ovunque, vedere gente che lavora e fa meeting con altri colleghi sui divanetti sparsi per i vari corridoi è impressionante, come da noi in italia insomma (Microsoft Italia a parte) ;) Il corso è stato molto interessante in primis per i contenuti, e poi anche per il networking che si è creato.Ho avuto modo di conoscere dal vivo sia persone che prima conoscevo solo tramite blogs, e la cosa è fantastica, ma anche nuovi colleghi e questo è ancora meglio.Il mio inglese poi migliora ogni giorno che passa e questo è ancora più gratificante per me ;) 5 giornate di corso in inglese non sono cosa da poco, alla sera posso garantivi che si arriva distrutti ma la cosa bella è che non si vede l'ora di tornare alla mattina! Fantastico! Non scrivo nulla adesso su SharePoint 2013 e Office 2013 in quanto prossimamente, dopo aver pubblicato la nuova versione del mio blog, avrò modo di parlarne in modo approfondito. Sarà difficile riabbituarsi alla realtà italiana, ma bisogna pur tornare..

About the author


Fabio Franzini is Senior Consultant, Software Engineer and Trainer, specializing mainly on SharePoint, ASP.NET, web solutions and in general about everything that revolves around the Microsoft web platform. [more]

Translate

Month List

Page List