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>

SharePoint & Office Conference 2013

  Si è conclusa da poco la SharePoint & Office Conference 2013 che mi ha dato l'opportunità di introdurre il nuovo modello delle app per la creazione di applicazioni per Office 2013, dove HTML5 e JavaScript giocano un ruolo importantissimo. Per i coraggiosi che mi hanno seguito dico grazie :), l'ultima sessione dell'ultimo giorno di Conf non è il massimo per quanto riguarda la concentrazione, sopratutto dopo tre giorni pieni di novità sulla nuova wave di Office 2013.L'organizzazione da parte di EventHandler  è stata come sempre eccellente, e la conferenza è stata la migliore degli ultimi anni, complimenti veramente. Il secondo giorno di conferenza è stato caratterizzato dalla presentazione ufficiale del nuovo Office 365, l'intervento di Kevin Turner COO di Microsoft è stato molto importante ai miei occhi, sopratutto quando ha illustrato la nuova visione di Microsoft ovvero:  Questo punto è molto importante, Microsoft ha attuato un cambio di strategia è sta diventando sempre di più una compagnia che offre e  offrirà Device e Servizi.In quest'ottica Office 365 è uno dei tanti tasselli di questo puzzle, che via via si sta sempre di più completando. Torando alla conferenza, che ho anche seguito come spettatore, non posso che non fare i complimenti a tutti gli speaker che hanno partecipato. Tutte le sessioni che ho visto sono state ottime sia dal punto di vista tecnico che di esposizione.  

Office 365 e SharePoint Online

Ieri mi sono ricordato della mail che mi era arrivata per l’attivazione dell’account per accedere alla beta pubblica di Office 365. Una volta attivato l’account ho potuto provare SharePoint 2010 in versione  on the Cloud!!

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