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.
blog comments powered by Disqus

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