Vue d’ensemble des solutions en bac à sable (SharePoint Foundation 2010)

 

S’applique à : SharePoint Foundation 2010

Dernière rubrique modifiée : 2016-11-30

Vous pouvez déployer une solution Microsoft SharePoint Foundation 2010 directement sur votre batterie de serveurs SharePoint Foundation, ou dans un bac à sable. Un bac à sable est un environnement d’exécution restreint qui permet aux programmes d’accéder à certaines ressources uniquement et qui empêche les problèmes se produisant dans le bac à sable d’affecter le reste de l’environnement du serveur.

Les solutions que vous déployez dans un bac à sable, appelées solutions en mode bac à sable, ne peuvent pas utiliser certaines ressources d’ordinateurs ou réseau, ni accéder au contenu en dehors de la collection de sites sur laquelle elles sont déployées. Pour plus d’informations à propos des restrictions sur les solutions en bac à sable, voir Contenu non autorisé pour une solution en bac à sable.

Étant donné que les solutions en mode bac à sable ne peuvent pas affecter la batterie de serveurs entière, leur déploiement ne nécessite pas un administrateur de batterie de serveurs. Les solutions en mode bac à sable peuvent être déployées par un administrateur de collection de sites ou, dans certaines cas, par un utilisateur qui dispose du contrôle total sur la racine de la collection de sites. Seul un administrateur de batterie de serveurs peut promouvoir une solution en bac à sable afin qu’elle s’exécute directement sur la batterie de serveurs, en dehors de son bac à sable.

Les solutions en mode bac à sable sont particulièrement appropriées dans deux scénarios :

  • Lorsqu’une organisation souhaite exécuter du code destiné aux employés sur un site SharePoint Foundation de production et que ce code n’a pas été révisé et testé de façon stricte.

  • Lorsqu’un hébergeur souhaite laisser les propriétaires de sites SharePoint Foundation hébergés télécharger et exécuter du code personnalisé.

Cet article introduit les concepts liés aux solutions en mode bac à sable, explique les différences entre les solutions en bac à sable et celles qui sont déployées sur la batterie de serveurs et résume comment les solutions en mode bac à sable sont déployées et exécutées. Cet article ne contient pas de procédures détaillées pour configurer la mise en bac à sable ou pour déployer des solutions en mode bac à sable.

Dans cet article :

Déploiement et exécution d’une solution en mode bac à sable

N’importe quelle page d’une application SharePoint Foundation peut contenir des composants qui s’exécutent dans un bac à sable parallèlement aux composants qui s’exécutent directement sur la batterie de serveurs. Les composants qui sont déployés sur la batterie de serveurs s’exécutent dans le processus de travail IIS (Internet Information Services). Les composants qui sont déployés dans le bac à sable s’exécutent dans un processus en bac à sable.

La liste suivante identifie plusieurs des composants que vous pouvez déployer dans un bac à sable :

  • Composants WebPart

  • Récepteurs d’événements

  • Récepteurs de fonctionnalité

  • Activités de flux de travail Microsoft SharePoint Designer personnalisé

  • Logique métier Microsoft InfoPath

Les étapes suivantes décrivent comment déployer une solution en mode bac à sable :

  1. Un administrateur de batterie de serveurs exécute les tâches suivantes, qui doivent être effectuées une seule fois.

    • Un administrateur de batterie de serveurs active la mise en bac à sable et démarre le service de mise en bac à sable sur chaque serveur qui exécutera des solutions en mode bac à sable.

    • Un administrateur de batterie de serveurs détermine quel schéma d’équilibrage de charge utiliser. Ce schéma s’applique à toutes les solutions en bac à sable dans toutes les collections de sites sur la batterie de serveurs.

    • Un administrateur de batterie de serveurs définit les quotas de ressources à ne pas dépasser pour la combinaison de toutes les solutions en bac à sable dans une collection de sites.

  2. Un administrateur de collection de sites ou un utilisateur qui dispose du contrôle total sur la racine de la collection de sites télécharge une solution dans la galerie de solutions de la collection de sites.

  3. Un administrateur de collection de sites active la solution. Si la solution ne contient pas d’assembly, un utilisateur qui dispose du contrôle total sur la racine de la collection de sites peut également activer la solution. Des outils de validation s’exécutent sur la solution. Si la validation échoue, la solution n’est pas activée.

Lorsqu’une demande d’exécution d’une solution en mode bac à sable est traitée, les activités suivantes se produisent :

  1. Selon le schéma d’équilibrage de charge, SharePoint Foundation détermine sur quel serveur exécuter la solution. Si l’équilibrage de charge est local, la solution s’exécute sur le serveur qui traite la demande. Si l’équilibrage de charge est distant, le serveur qui exécute la solution est choisi en fonction de l’affinité de solution. Dans les deux cas, le serveur doit exécuter le service de mise en bac à sable.

  2. SharePoint Foundation sélectionne un processus de travail de bac à sable dans lequel exécuter la solution, charge une bibliothèque de liaison dynamique (dll) « shim » dans le processus, puis charge l’assembly de la solution dans le processus.

  3. Lors de l’exécution de la solution, son code passe par la bibliothèque shim avant d’être exécuté par SharePoint Foundation. Si le code de la solution essaie d’utiliser des API que les solutions en mode bac à sable ne sont pas autorisées à utiliser, la bibliothèque shim signale une exception au lieu de laisser le code passer et s’exécuter.

  4. SharePoint Foundation surveille les ressources utilisées par les solutions en bac à sable. Si la solution en bac à sable dépasse une limite absolue (par exemple, si elle utilise davantage de temps processeur que la quantité prédéfinie), SharePoint Foundation termine le processus de travail de bac à sable. Si la combinaison de toutes les solutions en bac à sable dans la collection de sites dépasse le quota de ressources de la collection de sites, SharePoint Foundation désactive toutes les solutions en bac à sable dans la collection de sites pour le reste de la journée.

  5. Un administrateur de collection de sites peut surveiller les ressources utilisées par les solutions en bac à sable et désactiver des solutions dans la collection de sites.

Si nécessaire, un administrateur de batterie de serveurs peut bloquer l’exécution d’une solution sur la batterie de serveurs. Éventuellement, un administrateur de batterie de serveurs peut également supprimer l’exigence d’exécuter en bac à sable une solution. Si l’exigence d’exécution en bac à sable est supprimée, lorsque la solution est exécutée sur n’importe quelle collection de sites dans la batterie de serveurs, son exécution n’est plus effectuée en bac à sable.

Isolation des solutions en bac à sable

Vous pouvez isoler les solutions en bac à sable à des degrés divers. Chaque niveau supplémentaire d’isolation augmente votre capacité à protéger la partie principale de votre site SharePoint Foundation du code qui pourrait consommer trop de ressources. Au premier niveau, le code en bac à sable s’exécute dans un processus isolé aux droits restreints. La sécurité d’accès au code (CAS) limite les opérations que le code peut effectuer. Vous pouvez renforcer l’isolation à l’aide de l’équilibrage de charge à distance et en exécutant le service de mise en bac à sable sur des serveurs spécifiques uniquement. Dans un environnement de production, nous vous recommandons d’utiliser l’équilibrage de charge à distance et de dédier un serveur distinct pour l’exécution des solutions en bac à sable.

Contenu non autorisé pour une solution en bac à sable

Une solution SharePoint Foundation doit contenir le fichier de configuration nommé manifest.xml et peut également contenir des fichiers de configuration supplémentaires et des assemblys. Si la solution s’exécute dans un bac à sable, l’assembly et les fichiers de configuration sont limités quant à leur contenu.

La liste suivante répertorie les opérations les plus courantes qu’un assembly qui s’exécute dans un bac à sable ne peut pas faire.

  • Se connecter aux ressources qui ne se trouvent pas sur le serveur local.

  • Accéder à une base de données.

  • Modifier le modèle de threading.

  • Appeler du code non managé.

  • Écrire sur disque.

  • Accéder aux ressources dans une autre collection de sites.

Le fichier manifest.xml fait référence aux fichiers de composant fonctionnel, lesquels font référence aux fichiers d’éléments, lesquels contiennent des éléments feature. Les seuls éléments feature autorisés dans une solution en bac à sable sont :

  • ContentType

  • Field

  • CustomAction

  • Module

  • ListInstance

  • ListTemplate

  • Receivers

  • WebTemplate

  • WorkflowAssociation

  • PropertyBag

  • WorkflowActions

Comparaison entre solution en bac à sable et solution de batterie de serveurs

Le tableau suivant dresse un comparatif entre les solutions qui s’exécutent dans une batterie de serveurs et celles qui s’exécutent dans un bac à sable.

Aspect Batterie de serveurs Bac à sable

Processus de déploiement

Ajouter la solution, puis la déployer sur la batterie de serveurs.

Télécharger la solution sur une collection de sites, puis l’activer dans la collection de sites.

Qui peut déployer

Administrateur de batterie

Si la solution contient un assembly, seul un administrateur de collection de sites peut la déployer. Si elle ne contient pas d’assembly, un utilisateur qui dispose du contrôle total sur la racine de la collection de sites peut la déployer.

Accès aux données

Non restreint

La solution peut accéder uniquement au contenu de la collection de sites sur laquelle elle a été déployée.

Processus dans lequel la solution s’exécute

Processus de travail IIS non restreint ou processus dans lequel la solution est déployée.

Processus de travail distinct ayant des droits restreints.

Sécurité d’accès au code

Les développeurs de solutions peuvent définir la stratégie de sécurité d’accès au code lors de l’empaquetage de la solution.

Restreinte. Pour plus d’informations, voir Déploiement d’une solution en mode bac à sable (éventuellement en anglais) (https://go.microsoft.com/fwlink/?linkid=177369&clcid=0x40C).

Surveillance

Non contrôlée

Contrôlée et limitée par les quotas définis par l’administrateur de batterie de serveurs.

Équilibrage de charge

Varie en fonction du type de solution.

Configurable séparément des solutions qui ne sont pas en bac à sable.

Fonctionnalité de la solution

Non restreinte

Limitée, comme décrit dans la section Contenu non autorisé pour une solution en bac à sable.

Avantages des solutions en mode bac à sable

Les principaux avantages des solutions en mode bac à sable sont notamment :

  • Ces solutions peuvent être ajoutées à un environnement SharePoint Foundation de production sans risque d’affecter les processus à l’extérieur du bac à sable.

  • Les administrateurs de collection de sites peuvent déployer des solutions en mode bac à sable, libérant ainsi les administrateurs de batterie de serveurs de cette tâche.

  • L’évolutivité et la flexibilité sont améliorées car le mode bac à sable s’exécute dans un processus distinct qui peut être limité par des quotas et dont l’effet sur la batterie de serveurs peut être surveillé.

  • Aucune modification ou recompilation n’est requise si la solution est transférée du bac à sable pour s’exécuter directement sur la batterie de serveurs.

See Also

Concepts

Planification de solutions en mode bac à sable (SharePoint Foundation 2010)

Other Resources

Administration de solutions en mode bac à sable (SharePoint Foundation 2010)
Architecture des solutions en mode bac à sable (https://go.microsoft.com/fwlink/?linkid=177368&clcid=0x40C) (éventuellement en anglais)
Déploiement d’une solution en mode bac à sable (https://go.microsoft.com/fwlink/?linkid=177369&clcid=0x40C) (éventuellement en anglais)