Panoramica delle soluzioni in modalità sandbox (SharePoint Foundation 2010)

SharePoint 2010
 

Si applica a: SharePoint Foundation 2010

Ultima modifica dell'argomento: 2016-11-30

È possibile distribuire una soluzione di Microsoft SharePoint Foundation 2010 direttamente nella farm di SharePoint Foundation oppure in una sandbox. Il termine sandbox indica un ambiente di esecuzione limitato che consente ai programmi di accedere solo a specifiche risorse e impedisce che gli eventuali problemi che si verificano nella sandbox influiscano sugli altri componenti dell'ambiente server.

Le soluzioni distribuite in una sandbox, note come soluzioni in modalità sandbox, non possono utilizzare particolari risorse del computer e della rete, oltre a non poter accedere a contenuto all'esterno della raccolta siti in cui sono distribuite. Per ulteriori informazioni sulle limitazioni applicate alle soluzioni in modalità sandbox, vedere Operazioni ed elementi consentiti o non consentiti per una soluzione in modalità sandbox.

Le soluzioni in modalità sandbox non possono produrre effetti estesi all'intera server farm, pertanto non è necessario che vengano distribuite da un amministratore di farm. Della distribuzione di queste soluzioni può occuparsi un amministratore di raccolta siti oppure, in casi particolari, un utente con diritti di controllo completo alla radice della raccolta siti. Solo un amministratore di farm è autorizzato ad alzare di livello una soluzione in modalità sandbox per consentirne l'esecuzione diretta nella farm all'esterno della sandbox.

L'utilizzo di soluzioni in modalità sandbox è particolarmente appropriato nei due casi seguenti:

  • Un'organizzazione desidera eseguire codice per i dipendenti in un sito di produzione di SharePoint Foundation e tale codice non è stato sottoposto a verifiche e test rigorosi.

  • Un hoster desidera consentire ai proprietari dei siti di SharePoint Foundation ospitati di caricare ed eseguire codice personalizzato.

In questo articolo vengono presentati i concetti correlati alle soluzioni in modalità sandbox, illustrate le differenze tra le soluzioni in modalità sandbox e le soluzioni distribuite nella farm, nonché riepilogate le modalità di distribuzione ed esecuzione delle soluzioni in modalità sandbox. L'articolo non include procedure dettagliate per la configurazione della modalità sandbox o per la distribuzione di soluzioni in tale modalità.

Contenuto dell'articolo:

Qualsiasi pagina di un'applicazione di SharePoint Foundation può contenere componenti eseguiti in una sandbox oltre a componenti eseguiti direttamente nella farm. I componenti distribuiti nella farm vengono eseguiti nel processo di lavoro Internet Information Services (IIS). I componenti distribuiti nella sandbox vengono invece eseguiti in un processo in modalità sandbox.

L'elenco seguente include alcuni dei componenti che è possibile distribuire in una sandbox:

  • Web part

  • Ricevitori di eventi

  • Ricevitori di caratteristiche

  • Attività di flusso di lavoro personalizzate di Microsoft SharePoint Designer

  • Regola business di Microsoft InfoPath

I passaggi seguenti descrivono la procedura per distribuire una soluzione in modalità sandbox:

  1. Un amministratore di farm esegue le attività seguenti che devono essere completate una sola volta.

    • Un amministratore di farm abilita la modalità sandbox e avvia il servizio sandbox in tutti i server in cui verranno eseguite soluzioni in modalità sandbox.

    • Un amministratore di farm determina lo schema di bilanciamento del carico da utilizzare. Tale schema viene applicato a tutte le soluzioni in modalità sandbox in tutte le raccolte siti nella farm.

    • Un amministratore di farm imposta le quote di risorse massime consentite per la combinazione di tutte le soluzioni in modalità sandbox in una raccolta siti.

  2. Un amministratore di raccolta siti o un utente con diritti di controllo completo alla radice della raccolta siti carica una soluzione dalla raccolta soluzioni della raccolta siti.

  3. Un amministratore di raccolta siti attiva la soluzione. Le soluzioni che non contengono assembly possono essere attivate anche da un utente con diritti di controllo completo alla radice della raccolta siti. Vengono eseguiti strumenti di convalida sulla soluzione. Se la convalida ha esito negativo, la soluzione non viene attivata.

Durante l'elaborazione di una richiesta di esecuzione di una soluzione in modalità sandbox, si verificano le attività seguenti:

  1. A seconda dello schema di bilanciamento del carico, SharePoint Foundation determina il server in cui eseguire la soluzione. Nel caso del bilanciamento del carico locale, la soluzione viene eseguita nello stesso server che gestisce la richiesta. Per il bilanciamento remoto, il server in cui eseguire la soluzione viene selezionato in base all'affinità delle soluzioni. In entrambi i casi è necessario che il server esegua il servizio sandbox.

  2. SharePoint Foundation seleziona un processo di lavoro sandbox in cui eseguire la soluzione, quindi carica una libreria di collegamento dinamico (DLL) “shim” nel processo e infine carica l'assembly della soluzione nel processo.

  3. Durante l'esecuzione, il codice della soluzione passa attraverso lo shim prima di essere eseguito da SharePoint Foundation. Se il codice della soluzione tenta di utilizzare API non consentite per le soluzioni in modalità sandbox, lo shim segnala un'eccezione anziché consentire il passaggio e l'esecuzione del codice.

  4. SharePoint Foundation esegue il monitoraggio delle risorse utilizzate dalle soluzioni in modalità sandbox. In caso di superamento di un limite rigido, ad esempio in caso di utilizzo di una quantità di tempo della CPU superiore alla soglia stabilita, il processo di lavoro sandbox viene terminato da SharePoint Foundation. Se tutte le soluzioni in modalità sandbox nella raccolta siti in combinazione comportano il superamento della quota di risorse della raccolta siti, queste verranno tutte disattivate da SharePoint Foundation per il resto della giornata.

  5. Un amministratore della raccolta siti può monitorare le risorse utilizzate dalle soluzioni in modalità sandbox e disattivare soluzioni nella raccolta siti.

Se necessario, un amministratore di farm può impedire l'esecuzione di una soluzione nella farm. Un amministratore di farm può inoltre rimuovere facoltativamente il requisito di esecuzione in una sandbox per una soluzione. Se tale requisito viene rimosso, la soluzione non verrà più eseguita in una sandbox in qualsiasi raccolta siti nella farm.

È possibile impostare vari livelli di isolamento per le soluzioni in modalità sandbox. Ogni livello aggiuntivo di isolamento aumenta le possibilità di protezione della parte principale del sito di SharePoint Foundation dall'esecuzione di codice che potrebbe consumare una quantità eccessiva di risorse. Al primo livello, il codice in modalità sandbox viene eseguito in un processo isolato con diritti limitati. Le operazioni eseguibili dal codice sono limitate tramite la sicurezza dall'accesso di codice. Per ottenere un maggiore isolamento, è possibile utilizzare il bilanciamento del carico remoto ed eseguire il servizio sandbox solo in server specifici. In ambiente di produzione, è consigliabile utilizzare il bilanciamento del carico remoto e un server separato dedicato per l'esecuzione delle soluzioni in modalità sandbox.

Una soluzione di SharePoint Foundation deve contenere il file di configurazione denominato manifest.xml e può inoltre includere ulteriori file di configurazione e assembly. Per le soluzioni eseguite in una sandbox sono previsti limiti per gli assembly e i file di configurazione che possono essere inclusi.

L'elenco seguente indica le operazioni più comuni non consentite per un assembly eseguito in una sandbox.

  • Connessione a risorse che non si trovano nel server locale.

  • Accesso a database.

  • Modifica del modello di threading.

  • Chiamata di codice non gestito.

  • Scrittura su disco.

  • Accesso a risorse in una diversa raccolta siti.

Il file manifest.xml fa riferimento a file di caratteristiche che a loro volta fanno riferimento a file di elementi contenenti elementi feature. Gli unici elementi feature consentiti in una soluzione in modalità sandbox sono i seguenti:

  • ContentType

  • Field

  • CustomAction

  • Module

  • ListInstance

  • ListTemplate

  • Receivers

  • WebTemplate

  • WorkflowAssociation

  • PropertyBag

  • WorkflowActions

Nella tabella seguente vengono confrontati alcuni aspetti per le soluzioni eseguite in una farm e quelle eseguite in una sandbox.

 

Aspetto Farm Sandbox

Processo di distribuzione

Aggiunta della soluzione e quindi distribuzione nella farm.

Caricamento della soluzione in una raccolta siti e quindi attivazione della soluzione nella raccolta.

Utenti autorizzati alla distribuzione

Amministratori di farm.

Se la soluzione contiene un assembly, può essere distribuita solo da un amministratore della raccolta siti. Se la soluzione non contiene un assembly, può essere distribuita da un utente con diritti di controllo completo alla radice della raccolta siti.

Accesso ai dati

Nessuna limitazione.

La soluzione può solamente accedere a contenuto dalla raccolta siti in cui è stata distribuita.

Processo in cui viene eseguita la soluzione

Processo di lavoro IIS senza limitazioni o qualsiasi processo in cui viene distribuita la soluzione.

Processo di lavoro separato con diritti limitati.

Sicurezza dall'accesso di codice

Lo sviluppatore della soluzione può impostare i criteri di sicurezza dall'accesso di codice in fase di creazione del pacchetto.

Con limitazioni. Per ulteriori informazioni, vedere Distribuzione di una soluzione in modalità sandbox (le informazioni potrebbero essere in lingua inglese) (http://go.microsoft.com/fwlink/?linkid=177369&clcid=0x410) (le informazioni potrebbero essere in lingua inglese).

Monitoraggio

Nessun monitoraggio.

Monitoraggio e limiti basati su quote impostate dall'amministratore della farm.

Bilanciamento del carico

Varia in base al tipo di soluzione.

Configurabile separatamente da soluzioni non in modalità sandbox.

Funzionalità della soluzione

Nessuna limitazione.

Con limitazioni, come descritto in Operazioni ed elementi consentiti o non consentiti per una soluzione in modalità sandbox.

I vantaggi principali dell'utilizzo di soluzioni in modalità sandbox sono i seguenti:

  • È possibile aggiungere le soluzioni in un ambiente SharePoint Foundation di produzione senza correre il rischio di influire su processi all'esterno della sandbox.

  • Le soluzioni in modalità sandbox possono essere distribuite dagli amministratori di raccolte siti, con conseguente riduzione del carico di lavoro per gli amministratori delle farm.

  • Maggiori scalabilità e flessibilità perché le sandbox vengono eseguite in processi separati limitabili tramite quote ed è possibile monitorarne gli effetti sulla farm.

  • Non è necessario modificare o ricompilare una soluzione se si passa dall'esecuzione in una sandbox all'esecuzione diretta nella farm.

Mostra: