Déploiement flexible
Assurez-vous que le service Microsoft SharePoint foundation Sandboxed Code Service est bien démarré. Si ce n'est pas le cas, vous serez dans l'incapacité d'activer votre solution.
Avec
les solutions sandbox, vous pouvez exécuter du code personnalisé sur le
serveur de manière à en contrôler l'impact sur les autres utilisateurs.
Vous pouvez développer du code personnalisé dans Silverlight en
accédant à SharePoint à l'aide du modèle COM (Client Object Model) de
façon à éviter tout impact sur le serveur.
SharePoint 2010 : Présentation des Sandbox solutions
La version 2010 de SharePoint apporte son lot de nouveautés. Parmi les changements majeurs
figurent les sandbox solutions.
Cet article a pour but de vous présenter les avantages et l'importance de ce nouveau concept dans vos développements
Cet article a pour but de vous présenter les avantages et l'importance de ce nouveau concept dans vos développements
1. Introduction
Une des nouveautés majeure pour les développeurs dans SharePoint 2010 est
sans aucun doute la notion de sandbox solutions.
Elles permettent à votre code d'être exécuté dans un contexte isolé, c'est-à-dire que votre solution possède un quota de ressources défini par l'administrateur de la ferme. Si votre solution utilise plus de ressources qu'autorisé elle sera tout simplement stoppée par SharePoint.
L'intérêt est évident : éviter qu'une solution "gourmande" ne vienne mettre à mal toute une ferme.
Nous verrons dans cet article que les sandbox solutions présentent bien d'autres avantages.
Elles permettent à votre code d'être exécuté dans un contexte isolé, c'est-à-dire que votre solution possède un quota de ressources défini par l'administrateur de la ferme. Si votre solution utilise plus de ressources qu'autorisé elle sera tout simplement stoppée par SharePoint.
L'intérêt est évident : éviter qu'une solution "gourmande" ne vienne mettre à mal toute une ferme.
Nous verrons dans cet article que les sandbox solutions présentent bien d'autres avantages.
2. Les solutions dans SharePoint
Commençons par le début : qu'est-ce qu'une solution ?
Bien qu'étant la seule solution "professionnelle" de déploiement de projets pour SharePoint, les solutions sont encore parfois évitées par les développeurs
Or, l'objectif final de tout développeur SharePoint est bien de fournir des solutions. Rien de plus, et surtout rien de moins.
Le résultat de tout développement SharePoint doit être une solution. D'où l'importance de bien comprendre ce concept.
Lorsque vous installez une nouvelle application sur votre PC vous vous attendez à recevoir un fichier .exe ou .msi qui se chargera de toutes les opérations nécessaires au déploiement de l'application. Il vous est inconcevable de devoir commencer à faire des copies de fichiers dans des répertoires précis ou d'éditer votre base de registre manuellement.
C'est exactement la même chose pour les applications SharePoint, l'administrateur de la ferme s'attend à recevoir un fichier.wsp qui se chargera de toutes les opérations nécessaires.
Bien qu'étant la seule solution "professionnelle" de déploiement de projets pour SharePoint, les solutions sont encore parfois évitées par les développeurs
Or, l'objectif final de tout développeur SharePoint est bien de fournir des solutions. Rien de plus, et surtout rien de moins.
Le résultat de tout développement SharePoint doit être une solution. D'où l'importance de bien comprendre ce concept.
Lorsque vous installez une nouvelle application sur votre PC vous vous attendez à recevoir un fichier .exe ou .msi qui se chargera de toutes les opérations nécessaires au déploiement de l'application. Il vous est inconcevable de devoir commencer à faire des copies de fichiers dans des répertoires précis ou d'éditer votre base de registre manuellement.
C'est exactement la même chose pour les applications SharePoint, l'administrateur de la ferme s'attend à recevoir un fichier.wsp qui se chargera de toutes les opérations nécessaires.
3. Farm solution contre Sandbox solution
Dans SharePoint 2007 une seule catégorie de solutions existe,
ces solutions sont appelées Farm solution dans SharePoint 2010.
Les Farm solutions nécessitent une installation au niveau de la ferme, ce qui implique donc d'avoir accès à l'administration centrale de SharePoint.
L'approche est fondamentalement différente avec les Sandbox solutions : il "suffit" d'être administrateur de collection de sites pour pouvoir déployer et activer une solution.
Évidemment, comme toujours, il y a une contrepartie : le CAS (code access security) par défaut pose quelques limitations :
Les Farm solutions nécessitent une installation au niveau de la ferme, ce qui implique donc d'avoir accès à l'administration centrale de SharePoint.
L'approche est fondamentalement différente avec les Sandbox solutions : il "suffit" d'être administrateur de collection de sites pour pouvoir déployer et activer une solution.
Évidemment, comme toujours, il y a une contrepartie : le CAS (code access security) par défaut pose quelques limitations :
- pas de connexion avec un web service ;
- pas d'accès physique sur le disque ;
- un Object Model réduit ;
- ...
Autre limitation à garder à l'esprit :
les anciens Web parts (ceux héritant de Microsoft.SharePoint.WebPartPages.WebPart) ne sont
pas compatibles avec les Sandbox solutions.
Nous venons de parler des avantages liés au déploiement, voyons à présent les avantages des Sandbox solutions en termes de sécurité et de stabilité de votre ferme.
Comme dit précédemment, chaque Sandbox solution sera exécutée dans son propre service avec un quota de ressources prédéfini par l'administrateur de la ferme. Aucun débordement ne sera possible.
Prenez comme exemple l'utilisation d'une solution téléchargée sur le net. Dans ce cas, et avec une Farm solution, quelle est votre certitude que cette solution ne sera pas dangereuse pour la stabilité et les performances de votre ferme ?
L'intérêt des Sandbox solutions est donc encore plus grand dans le cas d'application tierce.
Nous venons de parler des avantages liés au déploiement, voyons à présent les avantages des Sandbox solutions en termes de sécurité et de stabilité de votre ferme.
Comme dit précédemment, chaque Sandbox solution sera exécutée dans son propre service avec un quota de ressources prédéfini par l'administrateur de la ferme. Aucun débordement ne sera possible.
Prenez comme exemple l'utilisation d'une solution téléchargée sur le net. Dans ce cas, et avec une Farm solution, quelle est votre certitude que cette solution ne sera pas dangereuse pour la stabilité et les performances de votre ferme ?
L'intérêt des Sandbox solutions est donc encore plus grand dans le cas d'application tierce.
4. Création d'une Sandbox solution
Pour illustrer la création d'une Sandbox solution nous allons développer un
Web part plus que basique. Cela nous permettra de voir la création d'une solution
étape par étape.
Créez un nouveau projet dans Visual Studio 2010, choisissez le template "Empty SharePoint Project".
Créez un nouveau projet dans Visual Studio 2010, choisissez le template "Empty SharePoint Project".

C'est à ce moment que Visual Studio 2010 vous demande de choisir le type de solution à
générer. Évidemment dans ce cas nous allons choisir Sandbox solution.

Bien que défini à la création du projet, le type de solution peut être modifié à tout
moment via les propriétés de celui-ci.

Voilà, la base de votre solution est construite par Visual Studio.
Ajoutez-y un Webpart de type "standard". Les Visual Web part ne sont pas
compatibles avec les Sandbox solutions

Le code de notre Web part sera extrêmement simple, il se contentera d'afficher
un texte :
|
Pour terminer, compilez et packagez votre solution. Le ficher wsp sera créé dans le
répertoire bin de votre solution.

5. Déploiement d'une Sandbox solution
Notre solution est donc créée et présente dans notre répertoire bin. Il
nous faut alors la déployer dans notre collection de sites.
Avant toute chose, nous devons vérifier que le service nécessaire à l'utilisation des Sandbox solutions est bien démarré sur notre ferme.
Ouvrez votre centrale d'administration et allez dans Applications management et Manage services on server.
Avant toute chose, nous devons vérifier que le service nécessaire à l'utilisation des Sandbox solutions est bien démarré sur notre ferme.
Ouvrez votre centrale d'administration et allez dans Applications management et Manage services on server.

Assurez-vous que le service Microsoft SharePoint foundation Sandboxed Code Service est bien démarré. Si ce n'est pas le cas, vous serez dans l'incapacité d'activer votre solution.

Voyons maintenant comment uploader votre solution. En tant qu'administrateur
de votre collection de sites, allez dans site settings.

Les solutions se trouvent dans le menu Solutions de la rubrique
Galleries.

Uploadez votre solution depuis l'onglet Solutions.

Sélectionnez votre solution. Pour rappel, elle se trouve dans le répertoire bin
de votre projet.
Une fois la solution uploadée, activez-la.
Une fois la solution uploadée, activez-la.

Voilà, c'est tout ! Votre Web part est prêt à être utilisé.

6. SharePoint dans les nuages
S'il est bien un concept à la mode et qui, j'en suis certain, continuera à prendre
de l'ampleur dans les années à venir, c'est le cloud computing.
Autrement dit l'hébergement à distance de votre plateforme avec délégation de sa maintenance.
Microsoft, et d'autres, offrent déjà ce type de service pour SharePoint 2007. Dans ce type d'infrastructure, il est évident que le fournisseur de services utilisera un même serveur pour plusieurs clients différents. Ce constat fait, il est totalement impossible d'imaginer venir déployer des solutions pouvant mettre en péril la stabilité de plusieurs fermes appartenant à différents clients.
C'est la raison pour laquelle ce type d'offres n'autorise pas le déploiement de solutions personnelles.
Les Sandbox solution vont changer la donne, il sera maintenant autorisé de déployer ses propres développements au niveau d'une collection de sites, et sans risque d'affecter la ferme d'un autre client.
Il est même possible de pousser l'idée un peu plus loin et d'offrir une librairie de solutions téléchargeables et installables automatiquement dans SharePoint. Dans la lignée de l'Apple Store pour l'IPhone, Microsoft fournira ce service sous Office.com.
Autrement dit l'hébergement à distance de votre plateforme avec délégation de sa maintenance.
Microsoft, et d'autres, offrent déjà ce type de service pour SharePoint 2007. Dans ce type d'infrastructure, il est évident que le fournisseur de services utilisera un même serveur pour plusieurs clients différents. Ce constat fait, il est totalement impossible d'imaginer venir déployer des solutions pouvant mettre en péril la stabilité de plusieurs fermes appartenant à différents clients.
C'est la raison pour laquelle ce type d'offres n'autorise pas le déploiement de solutions personnelles.
Les Sandbox solution vont changer la donne, il sera maintenant autorisé de déployer ses propres développements au niveau d'une collection de sites, et sans risque d'affecter la ferme d'un autre client.
Il est même possible de pousser l'idée un peu plus loin et d'offrir une librairie de solutions téléchargeables et installables automatiquement dans SharePoint. Dans la lignée de l'Apple Store pour l'IPhone, Microsoft fournira ce service sous Office.com.
ConversionConversion EmoticonEmoticon